cyclades: Major refactor to plankton backend
cyclades: Expose user and tenant ID of floating IPs
Include user_id and tenant_id in the API details of a floating IP.
cyclades: Fix typo in tests/networks.py
cyclades: Update api/networks.py and typo fixes
Refs #4979
cyclades: Validate fields of API requests
Make sure that all fields of a request (user input) have a valid type.This commit validates 'ports', 'servers' and 'floating_ips' APIs.
cyclades: Detach serial from resource when resolved
cyclades: Extend flavors with 'allow_create' field
cyclades: Add deleted attribute for changes-since
Extend API response for servers, networks, subnets and floating IPs,to support HTTP 'changes-since' queries.
cyclades: Comment out unused tests
Security groups are not working yet. Comment out relevant tests.
cyclades: Change behaviour of servers fqdn
Change behaviour of 'CYCLADES_SERVERS_FQDN' setting: * If this setting is set to 'None', do not fall back to the public IP address of the machine. * Return the value of the setting even if the machine has no public...
cyclades: Typo fixes
cyclades: Fix a bug in logic/subnets.py
Add a new function to assert success code 201
cyclades: Fix broken tests
Fix some tests that broke because of recent changes in astakosclient.The 'token' argument has been removed, so all mocking arguments areshifted by one.
cyclades: Fix some broking tests
cyclades: Create 'cyclades_network' service
Create 'cyclades_network' service which is part of Cyclades, of 'network'type and with 'network' prefix to hold all API endpoints that arerelative with networks. So, for example, the endpoint for networks will...
cyclades: Fix bug in tests
Fix bug in port tests that were introduced by latest changes in IPPoolmanager.
Cyclades: Rename 'Can not' to 'Cannot' to all msgs
cyclades: Add a test for subnet creation
cyclades: Fix default/forced server networking
Fix the default behaviour for networking of servers that are beingcreated. There are two settings controlling this behaviour:
cyclades: Create server in public net with FIP
Remove 'floating_ips' extension attribute to POST /servers API call.Instead use the 'fixed_ip' attribute of 'networks' attribute to specifythe IPv4 address of a floating IP. So in order to create a serverconnected to a private network and a public network, the 'networks'...
cyclades: Fix permissions when looking up ports
Look up of ports should check the port userid and not the networkuserid.
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: 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: 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: 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: Various refactors in subnets
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: Fix default values for IP pool
Temporary commit to change default offset and size of IPPoolTablefactory.
cyclades: Fix tests for ports
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: Add /routers api
cyclades: Add a port deletion test
cyclades: Update subnet tests
cyclades: s/slac/enable_slac in api/subnets.py
cyclades: Various fixes in api/subnets.py
cyclades: Neutron API, update tests for IP Pools
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: 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: 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 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:
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: 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: 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: Handle errors during vm creation
Commit #f2080d1 mocked an OP_INSTANCE_REMOVE when enqueuing anOP_INSTANCE_CREATE job to Ganeti failed. However, this may result inreleasing IPs that may get reserved in Ganeti, because we can neverreally know if the job has reached Ganeti or not (e.g. timeout). For...
cyclades: Apply old commits to moved files
Code from file 'api/servers.py' has been moved to 'logic/servers.py'.During the merge of hotfix-0.14.6 the develop, this code was lost. Thiscommit applies commits #f2080d1, #ea9b0fb, #32a0b85 to the new file.
Merge branch 'hotfix-0.14.6' into develop
Conflicts: Changelog docs/admin-guide.rst snf-cyclades-app/synnefo/api/management/commands/network-remove.py snf-cyclades-app/synnefo/api/servers.py snf-cyclades-app/synnefo/api/tests/servers.py snf-cyclades-app/synnefo/logic/backend.py...
cyclades: Fix broken tests from commit #c172f4a
Commit #c172f4a used the "size" attribute of images. This commitfixes mocked images of tests to contain this attribute.
cyclades: PEP8 fixes to tests module
cyclades: extend VM info with 'port_forwarding'
Extend servers info API response with 'SNF:port_forwarding' attribute,describing port fowarding rules (DNAT) that are applied to vms. Thedescription of such rules is done via the new CYCLADES_PORT_FORWARDING...
cyclades: add tests for 'fqdn'
cyclades: Remove assumptions from tests
Remove some hard-coded IDs from tests.
cyclades: Move tests in tests directory