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: Make NIC representation more verbose
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 'floating-ip-list' management cmd
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: Update reconcilliation for floating IPs
Update network reconcilliation to consider floating IPs reconcilling IPpools. Floating IPs that are reserved and usused, will appear asasynced. This commit fixes this, by considering unused floating IPs as...
cyclades: Check if network exists in backend
Raise 503 if a user tries to add a floating IP to a VM that resides in aGaneti backend that the coressponding network does not exist.
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: Support many NICs when creating vms
Support arbitraty number of NICs when creating Ganeti instances.
cyclades: Add FloatingIP model
Add Floating IP model to represent a floating IP that has been reservedby a user. Each FloatingIP has an owner(UUID), an IPv4 address, thenetwork(pool) that has reserved from and the date is was reserved. Also,it may be related to a VirtualMachine, if there is some VM that uses...
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: refactor reconciliation
Refactor reconciliation code to use namedtuples and improve performancefor retrieving info from database.
cyclades: reconciliation for resizing VMs
cyclades: Mark serial as resolved if auto_accept
Modify 'issue_commission' function to mark the QuotaHolderSerial objectas resolved, if auto_accept option is used.
cyclades: Remove custom init method from VM model
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: Add backend function for resizing vm
Add 'resize_instance' backend function for resizing a vm. This commandissues an OP_INSTANCE_MODIFY job with the specified beparams, whichcurrently are vcpus, minmem and maxmem.
Refs #3870
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: Handle Ganeti msgs for resized VMs
Handle 'OP_INSTANCE_SET_PARAMS' notifications from Ganeti that have'beparams' attribute, which corresponds to resized VMs. In suchcase, the corresponding flavor is found an the VM in DB is updated tohave this flavor....
cyclades: Make flavor representation more verbose
cyclades: Fix assertion on mocked client
cyclades: Fix bug in testcase
Merge branch 'hotfix-0.14.2' into develop
Conflicts: snf-astakos-app/astakos/im/views/projects.py snf-cyclades-app/synnefo/logic/backend.py snf-django-lib/snf_django/lib/astakos.py version
Merge branch 'release-0.14' into develop
Conflicts: snf-astakos-app/astakos/im/views/target/redirect.py snf-cyclades-app/synnefo/logic/backend.py version
cyclades: Fixes relative to reconciliation
Get available backends once and work only with them, since availablebackends may change during reconciliation. Also temporary remove supportfor communicating with each backend in a separate process.
cyclades: Fix --image-name option in server-list
Fix regressions in snf-manage list commands
Revert "cyclades: Speed up reconciliation"
This reverts commit cf2241c45a22dac71e31dbf32f4700c475804c12.
cyclades: Fix bug in setup.py
muliprocessing is included in python 2.6
cyclades: Speed up reconciliation
Speed up reconciliation by using mulitprocessing to get in parallelthe instances from all Ganeti backends.
cyclades: Fix bug in allocating archipelago VMs
This commit fixes a bug that caused backend allocator to sendarchipelago VMs backends to backends not in ARCHIPELAGO_BACKENDSsetting. The flavor disk template is parsed before the backendallocation, so the disk_template at this point is ext and not ext_vlmc,...
cyclades: Handle errors when using multiprocessing
Check the process exitcode to determine if a process finishedsuccessfully.
cyclades: Fix VMs console incorrect background
cyclades: remove VMAPI_BASE_URL references
vmapi: Return cloud faults from vmapi endpoint
vmapi skippede from commit 269ac8d.
cyclades: Speed up server reconciliation
Speed up reconciliation, by increasing the time interval to get Ganetijob status for VMs in building state.
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...
helpdesk: Typo fix
cyclades: Set supported serialization in stats view
cyclades: Implement show extension API endpoint
Dummy implementation of /extensions/<alias> endpoint that always returns404.
cyclades: Implement /extensions API endpoint
cyclades: Validate MAC prefix in pool-create cmd
cyclades: api_method_not_allowed typo's
cyclades: Test invalid http method endpoint calls
cyclades: Sync API tests with latest API changes
helpdesk: Include UI_MEDIA_URL in template context
variable used as prefix for vm os icon urls
helpdesk: Detect existing accounts with no active vms
cyclades: Fix typo in links
cyclades ui: In sync with latest API changes
Handle updated servers/detail response format.
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
plankton: Handle case of images without name
cyclades: Remove obsolete settings
Remove obsolete GANETI_DISK_TEMPLATES and DEFAULT_GANETI_DISK_TEMPLATEsettings.
cyclades: Rename poolsize settings for uniformity
Rename ASTAKOS_POOLSIZE to CYCLADES_ASTAKOSCLIENT_POOLIZE;expose it to the conf file.
cyclades: Pass disk origin for all 'ext' flavors
cyclades: remove API_ROOT_URL from conf
cyclades: Enable jsonp response in admin stats api
cyclades: Remove "help" url in empty vms page
Include snf-webproject in snf-*-app required packages
webproject contains django command line utils which are imported from synnefoapps packages.
webproject: Disable APPEND_SLASH setting by default
cyclades: Implement /admin/stats API call
Implement API call to server statistics about servers and networks.
cyclades: add test for 400 in wrong Plankton paths
cyclades: add tests for 400 on wrong Compute paths
cyclades ui: Invalid statement fix
Ensure we return cloud faults under any API prefix
cyclades ui: Fix endpoint urls
remove trailing slashes
cyclades: fix variable name in plankton tests
cyclades: fix URLs in cyclades/vmapi tests
cyclades: fix URLs in cyclades/image tests
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
Fix compatibility issues with factory_boy
Update models_factory to use factory.DjangoModelFactory instead offactory.Factory.
cyclades: fix compute api /versions
cyclades: Retry requests to quotaholder
Cyclades UI: minor textual change in networks
cyclades: Rename service token
Rename CYCLADES_ASTAKOS_SERVICE_TOKEN to CYCLADES_SERVICE_TOKEN foruniformity.
cyclades: Use api_patterns to register API urls
cloudbar: Automatic active service detection
automatically detect which cloudbar menu is active by matching the currentwindow location with the registered service url.
cyclades: Sensible root url redirects
Rename astakos_keystone to astakos_identity
cyclades: rename type 'cyclades_vmapi' to 'vmapi'