cyclades: Forbid new ports no deleting network
Do not allow creation of new ports and reservation of floating IPs onnetwork that are being deleted. Currently the state of the networkchanges only when the network gets deleted from all backends. So wecheck if a network is being deleted by checking if the action of the...
cyclades: Series of fixes regarding networks & ips
cyclades: Register url for ports detail view
cyclades: Fix permissions when looking up ports
Look up of ports should check the port userid and not the networkuserid.
cyclades: Choose networks in server-create cmd
cyclades: Create server with existing ports
Extend POST /servers API call to support creation of servers that willbe using existing ports. Networking of the instance is defined via the'networks' attribute which can contain either network UUIDs or portUUIDs. In case of network UUIDs, the user can also request for a...
cyclades: Create ports without 'device_id'
Allow creation of ports that are not connected to any instance. Suchports will be in 'DOWN' state. To allow this, 'machine' attribute ofNetworkInterface model has been made to allow null values. Finally, the'logic.ports' module has been remove, and the corresponding code has...
cyclades: Specify IPv4 address in port-create cmd
cyclades: Add 'SNF:floating_ip_pool' to networks
Extend network API methods to include the 'SNF:floating_ip_pool'attribute which indicates whether floating IP can be allocated from thenetwork or not. Trying to allocate a floating IP from a network which is...
cyclades: Create port with specified IPv4 Address
Extend POST /ports API method to respsect 'fixed_ips' attribute. If thisattribute contains a valid IPv4 address, the new port will get thisaddress instead of trying to allocate one from the available IP pools of...
cyclades: Fix bugs relative to pool allocation
Fix bug when trying to allocate a specified IPv4 address. Only one ofthe IP pools will contain this address, so you must bypass InvalidValueexceptions until searching all pools.
Also PoolManager raised 'EmptyPool' exception when trying to allocate from an...
cyclades: Fix bug in port-create
Check if floating-ip belongs to the given network
cyclades: Fix bug in snf-manage network-remove
Add decorator to convert api faults
cyclades: Get floating IP without specifying pools
Extend GET /floatingips API method, to allow requests that do notspecify the 'floating_network_id' attribute. In this case it will tryto allocate a floating IP address from one of the available floating IP...
cyclades: Fix server-create and server-inspect
Fix output of server-inspect command. Also, add --wait option toserver-create command and pretty-print the newly created server.
cyclades: --wait option to port-{create,remove}
cyclades: Mock Ganeti in ports tests
cyclades: Mock GANETI_USE_HOTPLUG on ports tests
Test that you can not create or delete a port on a machinethat is started if GANETI_USE_HOTPLUG is set to False.
cyclades: Fix bugs in floating-ip tests
cyclades: Fix typo
cyclades: Various refactors in subnets
cyclades: Get VM for update when creating port
cyclades: Fix floating ips API response
Return 'floatingips' instead of 'floating_ips'.
cyclades: Do not allow updating a floating IP
Do not allow attaching and detaching floating IPs to instance withNeutron floating IP API. Instead floating IPs will be attached/detach toinstances using the /ports API, by specifying the address of thefloating IP in the 'fixed_ips' attribute.
cyclades: Fix bug in floating-ips api tests
cyclades: Fix bug in network test
cyclades: Rename Port state from BUILDING to BUILD
Neutron API defines the 'BUILD' status. This commit renames BUILDING state of NIC to BUILD.
cyclades: Update floating-ips api
Make changes to the floating-ips ip so that it complies with theOpenstack Quantum API.
cyclades: Common module for pretty-printing
Create common module for pretty-printing database objects. Currently itcontains only functions for pretty-printing networks and ports.
cyclades: Fix default values for IP pool
Temporary commit to change default offset and size of IPPoolTablefactory.
cyclades: Fix tests for ports
cyclades: Improve subnet-list management command
Remove unnecessary functions.
cyclades: Fix subnet-list management command
Remove stale imports
cyclades: Fix output of port-inspect command
cyclades: Add snf-manage subnet-update
cyclades: Small bug fixes in logic/subnets.py
cyclades: Add snf-manage subnet-create command
cyclades: Bug fixes in snf-manage subnet-list
cyclades: Update docstrings, remove old functions
cyclades: Update snf-manage subnet-create
Update snf-manage subnet-create. Previous version was pushed withoutbeing tested, thus it wasn't working at all.
cyclades: Fix some bugs in subnets
cyclades: Remove stale references to vm.router
Revert "cyclades: Add /routers api"
This reverts commit 69dadbe4e3223dc4d8cbaa5b09dde755c15679ed. Temporaryremove the /routers API.
cyclades: Fix POST /ports
Modify port create api call. If the user gives a public networkhe has to give a valid floating ip as well.
cyclades: Use existing IP when creating port
Extend port creation with the option to use an existing IPAddress. Thiswill be used to create a port with an existing Floating IP. Also, extendport-creata management command with the '--floating-ip' option.
cyclades: Fixes to port-create command
Verbal and code-style fixes to port-create command.
cyclades: snf-manage floating-ip-attach
snf-manage floating-ip-attach <address> --machine <server_id/router_id>
cyclades: snf-manage floating-ip-dettach <address>
cyclades: Fix bug in snf-manage network-modify
There was no field floating_ips, ips instead.
cyclades: Add /routers api
cyclades: snf-manage floating-ip-release <address>
cyclades: Add a port deletion test
cyclades: Fix snf-manage port-create command
In order to create a new port on a server you give --server <server_id>In order to create a new port on a router you give --router <router_id>
cyclades: Start the snf-manage floating-ip commands
cyclades: Add snf-manage subnet-list command
cyclades: Bug fixes in subnets
cyclades: Update api/subnets.py to use logic files
cyclades: Fix bug in port-inspect command
cyclades: Add backend code to Ports API/logic
Add backend code to create and remove ports from Ganeti backends. Alsoadd some imporovements and fixes to logic, API code and managementcommands.
cyclades: PEP8 fixes
cyclades: Update subnet tests
cyclades: s/slac/enable_slac in api/subnets.py
cyclades: Fix a typo in api/subnets.py
cyclades: Various fixes in api/subnets.py
cyclades: Fully support ip pools in subnets
cyclades: Add snf-manage port-inspect command
This command will provide info about the port concerning the DB andthe Ganeti state. For now, it provides only DB info.
cyclades: Add snf-manage port-remove command
cyclades: Add logic ports.py
Created a new file for ports in logic directory. This will havethe code about port manipulation in the backend. For now it is justused for db filling.Use the new function 'create' in the ports API.
cyclades: snf-manage port-create
cyclades: Fix some network management commands
cyclades: Add two functions to validate IP Pools
cyclades: Neutron API, update tests for IP Pools
cyclades: Update subnets.py to support IP Pools
Update subnets.py to use the two functions introduced in commit 2a1e6fb
cyclades: Update subnets.py to support slac
IPv6 subnets now support a boolean attribute called slac.If a request for a subnet contains both a slac field and an enable_dhcpfield, only the slac one will be used. If no slac field is found for anIPv6 subnet, the field enable_dhcp will be used instead....
cyclades: Fix the os-floating-ips API
Rewrite the of-floating-ips API to match with the new DB schema.
cyclades: Fix getting value from pool
If an address is specified, check that the value belong to the pool,else raise InvalidValue.
cyclades: Refactor code for allocating IPs
Refactor code that was used for allocating IP addresses and creatingNetworkInterfaces. The new code is more suitable to the new DB schemawhere each network may have many IPv4 subnets and each subnet mayhave many IP pools. Also, the new functions are using prefetch related...
cyclades: snf-manage port-list
cyclades: Modify snf-manage network commands
Modifications according to the new API
cyclades: Add more port tests
cyclades: Fix typo and tests
cyclades: Optimize DB queries of /servers API
Use 'prefetch_related' attribute of Django queryset to prefetch theNetworkInterface and IPaddress objects that are related with aVirtualMachine object. Also, modify functions that operate on serverNICs and IPs, to to use only the prefetched objects, which means that...
cyclades: Syntactic refactor ports
cyclades: Fix code for networks logic and API
cyclades: Fix and add new tests for /networks
Also, delete tests for old networks.
cyclades: Update api/subnets.py and tests
Commit 4e3a667 introduced a new model for Subnets, this commit containsthe following changes:
cyclades: Fix indentation, PEP8 and wrong imports
Integrate /networks API call
cyclades: Add /ports api call
cyclades: Make API server tests pass
Refactor Cyclades code so that it follows the new models for Networks,Subnets and IPAddresses. This refactor is not complete. Instead is thenecessary refactor for making tests for server API calls succeed.
cyclades: Add api/subnets.py
cyclades: Replace FloatingIP with IPAddress
This commit just replaces all references to FloatingIP objects withreferences to IPAddress object, in order to be able to just load thecode. But the code is left unchanged, so all tests will fail.
cyclades: Use NIC UUID in firewall tags
Use NICs UUID instead of index to generate firewall tags. Make the'set_firewall_profile' action to take the NICs ID as argument. Also,update the firewall settings.
cyclades: Change format of 'attachment' attribute
Change the format of the 'attachment' attribute. Until now, eachattachment had an identifier of the form 'nic-$vm_id-$nic_id'. Thiscommit changes the identifier to just '$nic_id', since from now onis unique for the lifetime of a NIC.
cyclades: Add 'ip_type' attribute to NIC
Extend NetworkInterface model with the 'ip_type' attribute to showwhether the IP is a floating or fixed.
Signed-off-by: Christos Stavrakakis <cstavr@grnet.gr>
cyclades: Use Ganeti NIC UUIDs
Since Ganeti 2.8, it is supported to refer to devices (NICs and Disks)not only by their index but also by their name or UUID. This commitupdates Synnefo to refer to devices by their name. Synnefo will set thename of the devices which will be a UUID. We do not use Ganeti's UUIDs...
cyclades: Fix bug in floating IP test
cyclades: Refactor network-modify command
Refactor snf-manage network-modify command. Remove options that modifiedlink, mac_prefix, mode, enable_dhcp or state of the network. Thisoptions modified only the network in DB and resulted in incosistenciesbetween Cyclades DB and Ganeti.
cyclades: Add --action option in server-modify cmd
Add --action option in server modify command, to start, stop or rebootan instance.