cyclades: Move code for validating network values
Move code for network parameters validation from 'api' module to 'logic'.
Fix stale import statements
Commit 7cfc0ce moved code from webproject to snf_django. This commitfixes some stale imports that skipped renaming.
cyclades: Remove assumptions from tests
Remove some hard-coded IDs from tests.
snf-django: Move ListCommand to snf-django
snf-webproject contained the generic ListCommand, and because of this ithad a dependency from snf-django-lib. This commit moves this command fromsnf-webproject to snf-django-lib and removes this dependency. Also,...
cyclades: Create network in all backends
Add option in snf-manage network-create command to create network in allbackends.
cyclades: More verbose models representation
Make unicode method of VirtualMachine, Network and FloatingIP models moreverbose.
cyclades: Add 'name' to all commissions.
Make all quotaholder commissions to have a name. Since, Cyclades doesnot store the association of a commission with a resource, we includethe resource in the commission name.
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.
Merge branch 'hotfix-0.14.3' into develop
Conflicts: Changelog snf-astakos-app/astakos/im/messages.py snf-pithos-app/pithos/api/manage_accounts/__init__.py snf-pithos-app/pithos/api/management/commands/reconcile-resources-pithos.py snf-pithos-app/pithos/api/settings.py...
cyclades: Add check for link during network create
Add a check when creating IP_LESS_ROUTED networks, that the connectivitylink is not already used by another network.
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-rapi: Add bulk option to GetJobs
cyclades: Reconciliation for pending vm tasks
Extend reconciliation mechanism, to detect instances with stale pendingtasks, by looking if the corresponding job, 'vm.task_job_id', is stillrunning in the Ganeti backend.
Also refactor code that performed reconciliation for buildign vms, to...
cyclades: Remove wrong model attribute
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: Add migration file for IPv6 networks
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: Fix import of renamed settings
cyclades ui: Enable RDP clipboard sharing by default
in default RDP connection profile served by synnefo
cyclades: No commission for public networks
Do not issue commission for public networks, since they do not have anowner.
cyclades: Fix exception message
cyclades: Consider IPv6 only networks in allocator
Backend allocator excludes backends that do not have a free IPv4address. Since, from now on, not all instances are connected to a publicnetwork, this check is only needed when 'SNF:ANY_PUBIC' network is used.
cyclades: Implement NetworkReconciler class
Refactory network reconciliation. Implement NetworkReconciler class tohold all reconciliation functions.
cyclades: Move NetworkReconciler to reconciliation
Move NetworkReconciler class from network-create command toreconciliation module.
cyclades: Add tests for network reconciliation
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: Add tests for IPv6 only networks
Add tests to check creation and usage of IPv6 only networks. Tests alsocover creation of other type of networks.
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.
cyclades: Refactor logic tests
Create tests module to hold all tests for logic.
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 ui: Prefer os meta to identify connection user
How vm connection user gets resolved:
- Use the last user in `users` vm metadata if exists- Use the last user in `users` vm image metadata if exists- Use root if vm's image osfamily metadata is Linux...
cyclades: Move tests in tests directory
cyclades ui: Update OS images names
use libguestfs naming convention
redhat -> rhelsuse -> opensuse (also cloned as sles)
plankton: Make pithos backend pool size a setting
Make the pool size of the pithos backends a configurable setting,namely PITHOS_BACKEND_POOL_SIZE.
cyclades: pep8 fixes
cyclades: Add size and free to floating-ip-pools
cyclades: Fix reconciliation of building vms
When reconciling a building vm, you first have to reconciliation it'screation and then it's operstate. Otherwise it is possible to end uphaving wrong quotas.
pep8 changes
Merge branch 'develop' into feature-floating_ips_ui
Conflicts: snf-cyclades-app/synnefo/plankton/backend.py
cyclades ui: Allow destroy action on all vm states
cycaldes ui: Locally reserve IP address assigned to created vm
in order to avoid conflict errors on repetitive vm creates
Revert "Fixed Image:Remove"
This reverts commit a111b19aa011304f624d649d994086310400fada.
cyclades ui: IP addresses vm creation step fix
Filter out ip addresses which pending for machine connection.
cyclades ui: Conditionally disable connect to vm IP actions
when IP's popup is opened from the vm create view.
cyclades ui: IP addresses overlay improvements
- Wording improvements- Icon for the connect to machine action
cyclades: Fix corner case in snf-dispatcher
Same as commit 0514662, but for servers.
cyclades: Fix typo bug in management command
cyclades: Add disk template to flavors fixture
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
Merge branch 'feature-pithos-atomic-api' into develop
cyclades: update plankton to commit pithos backend
The Pithos backend no longer auto-commits after each method invocation,therefore plankton needs to handle transactions itself with withpre_exec() and post_exec() methods.
cyclades: fix omitted plankton image properties
cyclades: Fix type error
Create network may return a list of job IDs.
cyclades: Fix wrong unit of ram
Fixed Image:Remove
cyclades: Parallel server reconciliation
Major refactor to reconcile-servers management command to make it workin parallel for each backend. Also, removed all --detect options, anddetect all incosistencies by default.
cyclades: Add tests for server reconciliation
Delete network from DB when job fails but the action of network isDESTROY. This case appears when someone tries to remove a network thathas been deleted from Ganeti backend, but not yet from DB.
cyclades: Fix misleading message in network-remove
cyclades: Fix typo in reconciliation
reconciliation: Strip Ganeti IP addresses
Strip spaces from Ganeti IP addresses, since they are not automaticallyignored in newer versions of ipaddr.
plankton: Add 'created_at' when registering image
Add 'PLANKTON:created_at' metadata to Pithos files when registering themas images to plankton.
reconciliation: Get servers from DB ater ganeti
Change server reconciliation, to get the instances from DB after gettinginstances from Ganeti, to decrease the possibility for races.
cyclades ui: Remove development statements
cyclades: Networking step in machine create view
Introduce an additional `machine network setup` step in machine createoverlay. Through this step user can select ip addresses/private networksthe machine will be assigned/connected to.
cyclades ui: Static files cache invalidation
include current synnefo version as a parameter to all static files urls to avoidbrowsers from using cached content between different synnefo versions.
cyclades: Public IP's overlay in UI
- Introduce a new overlay for IP addresses management (create, remove, connect, disconnect).- The overlay is accessible from the UI's options menu.
cyclades: Handle introduced ``SNF:task_state`` field
- Use it to identify if machine is in a transitioning state (a previously executed task is pending to be completed).- Disable all actions when field.- Backwards compatible. If no field is set the UI falls back into predicting...
cyclades: Integrate machine resize action in UI
- Action gets triggered from edit links which appear next to the cpu/memory details icon/single machine views.- Handle inability to perform resize action based on vm state by displaying a warning when machine is in running state....
cyclades: Add migration file
Add migration file for floating IPs and VM task state.
Fix exception message when trying to connect an instance to a non-activepublic network.
plankton: Modular plankton backend class
Enable configurable plankton backend using setting ``PLANKTON_BACKEND_MODULE``.
Add ``synnefo.plankton.backend.JSONFileBackend`` which uses a json file asthe store of returned images. The backend should only be used in development...
cyclades: Wrap diagnostic creation in transaction
Fix bug in snf-dispatcher causing wrong updates of VMs from ganeti.Creation if instance diagnostics must run inside a transaction, becauseotherwise, the lock of the vm (select_for_update) is released too early....
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: 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: Support many NICs when creating vms
Support arbitraty number of NICs when creating Ganeti instances.