cyclades: Create network in all backends
Add option in snf-manage network-create command to create network in allbackends.
cyclades: Add network to multiple backends
Update snf-manage network-create command to take a list of commaseperated backend IDs to create the network to.
cyclades: Fixes in network management commands
Merge code from logic/networks.py and network management commands.
cyclades: Exclude FIP pools from IP allocation
Do not include the floating IP pools, to the available public networkswhen allocating an IPv4 address, when 'SNF:ANY_PUBLIC' option is used.
cyclades: Set firewall profile per NIC
Set firewall profile per NIC, because since Floating IPs an instance canhave more than one NICs in a public network. Extend the API call to takethe NIC index as argument, and modify the Ganeti instance tags to beformated with the NIC index.
cyclades: Fix bug in network-modify command
Fix bug caused by wrong identation level. Modification of network inGaneti should be performed only if 'add_reserved_ips' or'remove_reserved_ips' options are used.
cyclades: Convert network to floating IP pool
Add '--floating-ip-pool' option to network-modify management command, inorder to convert a network to a floating IP pool. Conversation of anetwork to a floating IP pool requires the creation of the network to...
cyclades: Display task and task_job_id
Make 'server-show' and 'server-inspect' management command to displaythe 'task' and 'task_job_id' fields of the vm.
cyclades: Minor improvements in manage commands
cyclades: Simple code refactoring
cyclades: Support IPv6 only networks
Make Cyclades support IPv6 only networks. Such networks will havethe 'subnet' attribute set to None, in the same way that IPv4 onlynetworks have the 'subnet6' attribute set to None.
Because currently Ganeti does not support IPv6 only networks, we create the...
cyclades: Refactor code relative to networks
Move code checks from network-create management command tologic/networks.py.
Also create common decorator for management commands to convert apifaults to command errors.
Merge branch 'hotfix-0.14.2' into develop
Conflicts: Changelog snf-astakos-app/astakos/im/messages.py snf-astakos-app/astakos/im/views/target/__init__.py snf-cyclades-app/synnefo/logic/backend.py snf-cyclades-app/synnefo/logic/management/commands/reconcile-servers.py...
cyclades: Move tests in tests directory
cyclades: Add size and free to floating-ip-pools
cyclades: Fix typo bug in management command
PEP8 fixes
cyclades: Common filtering based on changes-since
Add 'filter_modified_since' function in snf_django api utils, forparsing 'changes-since' HTTP parameter and filter the DB objects thatare updated after that date. Otherwise the deleted objects are returned.
cyclades: Fix type bug in network-create cmd
cyclades: Fix misleading message in network-remove
cyclades: Rename "public" to "SNF:ANY_PUBLIC"
Rename reserved work for automatically choosing a public network from"public" to "SNF:ANY_PUBLIC". Also add the setting description to conffiles.
cyclades: Remove PUBLIC_USE_POOL setting
Remove PUBLIC_USE_POOL setting, since in order to use floating IPs, thecyclades must be responsible for managing all IP pools.
cyclades: Fix bug in server-create command
Function for creating a server have been moved from api to logic.
cyclades: Check if a NIC is a floating IP.
Extend NetworkInterface model with a property showing if the IPv4address of the NIC is a floating IP or not. Also, simplify somerelevant code.
cyclades: Export OS-EXT-IPS:type for floating IPs.
Cyclades API should return "floating" for the OS-EXT-IPS:type attribute.
cyclades: Allowed serializations for floating IPs
cyclades: Choose floating-ips when creating server
Extend POST /servers API call, to take an optional attribute'floating_ips', which is a list of floating IP addresses. The serverwill have one NIC for each of this addresses after the'DEFAULT_INSTANCE_NETWORKS' and before any private networks that the...
Distinquish between networks and Floating IP pools
Extend Network model with the 'floating_ip_pool' boolean field, toindicate whether a Network can be a floating IP pool or not. Networksthat are floating IP pools must exist in all Backends, and so'snf-manage backend-add' should try to add them....
cyclades: Add ip pool option to network-create cmd
Add '--floating-ip-pool' option to 'network-create' management command.Networks that have this option set must be created to all Ganetibackends.
cyclades: Various fixes regarding floating IPs
Fix some issues regarding floating ips introduced by rebasing branch.
Fixes to tests
cyclades: Separate logic for networks from API
Remove code handling networks from network API views to logic.networks
cyclades: Do not delete networks with floating IPs
Forbid network deletion in case the network has allocated floating IPs,no matter whether they are used by instances or not. Update'allocate_floating_ip' API method, to take exclusive lock on networkbefore reserving a floating IP, to avoid race condition between deleting...
cyclades: Auto allocate a floating IP
Make 'pool' attribute of POST /os-floating-ips request optional. Ifattribute is missing, the server will allocate a floating IP from one ofthe available public networks.
cyclades: Add network policy at server create
Add 'DEFAULT_INSTANCE_NETWORKS' setting that can be used by theadministrator to define the list of networks that each server that iscreated must be connected to. Each created VM will have a NIC connectedto each of these networks. This settings can include a list of network...
cyclades: Add tests for add/remove Floating IP
cyclades: Reserve a specific floating IP
Add extra optional 'address' attribute, in POST /os-floating-ips/request, to allow a user to reserve a specific floating IP. This requestwill fail if the user tries to allocate an IP address that is used byanothers user VM (it will succeed if they address is already used by...
cyclades: Do not release floating IPs
Update 'release_instance_nics' backend function which is called toprocess NIC modifications in the Ganeti backend, to not return aIPv4 address back to pool if this address is a floating IP.
cyclades: Add and remove networks from backends
Extend 'snf-manage network-modify' command with '--add-to-backend' and'--remove-from-backend' options, to create and remove an already createdpublic network from a Ganeti backend.
cyclades: Make Floating IPs a quotable resource
Add 'cyclades.floating_ip' to quotable resources. Update helperfunctions and tests to include this resource.
cyclades: Implement /os-floating-ips API
Extend Cyclades API with /os-floating-ips endpoint. The API implementsthe following calls:
cyclades: Add tests for floating-ips API
cyclades: Implement /floating-ip-pools API
Add Compute OS API extension /floating-ip-pools. This API implementsonly the GET /floating-ip-pools, which returns the list of availableFloating IP pools. Currently, these pools are the public networks.
cyclades: Extend /servers with floating IP actions
Extend '/servers/action' API endpoint, to support 'addFloatingIP'and 'removeFloatingIP' actions.
cyclades: Major refactor to api and logic apps
Major refactor to cyclades api and logic apps that removes most codefrom the api views and moves it to logic app, so that the same logiccode can be used by different apps (e.g. EC2 API). Code is moved into...
cyclades: Handle 'EmptyPool' in util method
Refactor cyclades code to handle 'EmptyPool' exception in'get_network_free_address' function.
cyclades: Implement resize action API call
Implement resize API call, which is a POST at/servers/<server_id>/action' with body: {"resize": {"flavorRef": <flavor_id>}}
The resize can only be performed if the disk size and disk template ofthe new flavor are the same with the old one, and if the VM is in...
cyclades: Fix --image-name option in server-list
Fix regressions in snf-manage list commands
cyclades: Fix deadlock when creating servers
Fix deadlock between snf-dispatcher and backend allocator, by makingsnf-dispatcher take an exclusive lock to the backend which hosts the vm,before trying to get the exclusive locks to the IP pools in order to...
cyclades: Implement show extension API endpoint
Dummy implementation of /extensions/<alias> endpoint that always returns404.
cyclades: Implement /extensions API endpoint
cyclades: api_method_not_allowed typo's
cyclades: Test invalid http method endpoint calls
cyclades: Sync API tests with latest API changes
cyclades: Fix typo in links
cyclades: Add 'links' to images API
cyclades: Add 'links' to compute endpoints
Add 'links' attribute to API responses for servers, networks, flavorsand images endpoints.
cyclades: Add 'user_id' and 'tenant_id' to API
Add 'user_id' to API responses, and add a dummy 'tenant_id' to be equalwith the 'user_id'. Also always include metadata.
cyclades: Add 'addresses' to servers API response
cyclades: Make servers response compatible with OS
cyclades: Pass disk origin for all 'ext' flavors
cyclades: Implement /admin/stats API call
Implement API call to server statistics about servers and networks.
cyclades: add tests for 400 on wrong Compute paths
Ensure we return cloud faults under any API prefix
cyclades: fix URLs in compute/servers tests
cyclades: fix URLs in compute/networks tests
cyclades: fix URLs in compute/images tests
cyclades: fix URLs in compute/flavors tests
cyclades: fix compute api /versions
cyclades: Rename service token
Rename CYCLADES_ASTAKOS_SERVICE_TOKEN to CYCLADES_SERVICE_TOKEN foruniformity.
cyclades: rename type 'cyclades_vmapi' to 'vmapi'
cyclades: compute version v1.1 -> v2.0 in URLs
cyclades: fix syntax error in service list
cyclades: Fix syntax errors in resource definition
Incorporate all resources into service definitions
- Add 'service_origin' key in resources, as the normative name of the service that exported it.- Keep resources backwards compatible, export-resource-service reads resources from the service list.
cyclades: plankton/image version 'v1' -> 'v1.0'
cyclades: Remove obsolete delegate
Also remove setting UI_ACCOUNTS_API_URL
common: Export only services specified as public
Employ helper function `filter_public' in service-export-* commands.Also set `pithos_ui' service to non-public and clear version of`astakos_ui'.
cyclades: add service-export-cyclades command
service catalogs: autofill endpoints from BASE_URL
cyclades: add service catalog module
cyclades: initialize settings from service catalog
cyclades: Remove userdata api from ui prefix
- Individualize userdata api by placing module under synnefo namespace and urs under it's own USERDATA_PREFIX
make synnefo URLs consistent and configurable
https://service.deployment.vendor.tld/service-base/api-prefix/hard/path |___________________________________| |__________| |________| |_______| BASE_HOST BASE_PATH PREFIX Hardcoded...
cyclades: remove all csrf_exempt usage.
The csrf middleware is not to be installed with cyclades,therefore there is no need to use csrf_exempt.
cyclades: Add 'drained' flag to Network
Extend Network model with the 'drained' attribute, to indicate whether anetwork should be used in public IP allocation when creating servers.This option is only useful for public networks.
cyclades: Rename meta to metadata at Cyclades URLs
For compatibility with OpenStack Compute API v2, rename 'meta' to'metadata' to Cyclades API URLs. Specifically, to the following ones:
cyclades: Remove "values" term from API
For compatibility with OpenStack Compute API v2, we remove theterm 'values' from all JSON requests and responses.
Refs #3768
cyclades: Remove 'Ref' suffix from servers API
Rename 'flavorRef' to 'flavor' and 'imageRef' to 'image', to responses of/servers API. 'flavorRef' and 'imageRef' are still preserved to to requestparameters of POST /servers.
cyclades: Update tests
Update tests to use OpenStack Compute API v2.
cyclades: Rename 'cpu' to 'vcpus' to flavor API
Rename attribute of GET /flavors response, from 'cpu' to 'vcpus'.
cyclades: Always add attachments to server info
Update /servers API, to include attachments to /servers responses,even if the server has no NICs.
cyclades: Fix bug in network test
cyclades: Fix bug in network-modify management cmd
Use 'parse_bool' function to parse '--dhcp' option. Also, include'dhcp' to default columnds of 'network-list' command.
cyclades: Move common code to seperate function
Move common between API method and management command for creating aserver to a separate function.
cyclades: Fix bug in flavor-modify command
Fix bug in flavor-modify command, which resulted in flavors being alwaysdeleted. Deleted option must be parsed to bool, otherwise is alwaysTrue.
Use custom method for joining urls
Implement 'join_urls' method for joining a base URL with a path,without worrying about redundant or missing "/". Do not use'urlparse.urljoin', since it has different semantics.