cyclades: Add 'disk_template' to Volumes
Also check GANETI_CLONE_PROVIDERS
cyclades: volume-modify and various fixes
cyclades: Create servers with volumes
Extend Cyclades POST /servers API endpoint to support specifying volumeswhen creating a server. The call is extended with the'block_device_mapping_v2' field that contains a list of dictionaries,each of which contains the following information about the devices that...
cyclades: Implement volume-import command
Implement management command to import an existing Ganeti disk (that hasbeen created directly in the Ganeti backend) to Cyclades, as a newCyclades Volume.
cyclades: Implement server actions for volumes
Implement 'attach_volume' and 'detach_volume' server actions. Also, add'GANETI_MAX_DISKS_PER_INSTANCE' setting, to force a hard limit on themaximum number of disks a server can have.
cyclades: Update tests
cyclades: Add management commands for volumes
cyclades: Make snf-dispatcher handle volumes
Update snf-dispatcher to handle messages from snf-ganeti-eventd aboutthe instance disks(volumes). Handling of disks is done almost exactly aswith NICs.
cyclades: Implement reconciliation for volumes
Extend 'reconcile-servers' management command, to reconcile the state ofCyclades Volumes with the corresponding disks of instances in the Ganetibackends.
cyclades: Various fixes relative for volumes
cyclades: Handle keybord interrupt in dispatcher
cyclades: Add SnapshotInstance RAPI method
cyclades: Delete volumes together with the instance
cyclades: Check that image fits into disk
Check that the disk size is big enough to fit the image.
cyclades: Various fixes for volumes and snapshots
cyclades: Implementat volumes and snapshots
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.
Refs #4979
cyclades: Detach serial from resource when resolved
cyclades: Fix typo
cyclades: Extend flavors with 'allow_create' field
cyclades: Update snf-manage subnet-* commands
cyclades: Fix broken tests
Fix tests that were broken by commit #7ef05bd.
cyclades: Fix quota bug in snf-dispatcher
Clear the 'vm.serial' field after processing a job that was notexpected. When processing such a job, we reject the pending commissionand issue a new one that reflects the unexpected job. However, since wereject the commission that is associated with the 'vm.task_job_id' job,...
cyclades: Fix corner case in reconciliation
Do not perform reconciliation for building servers that theOP_INSTANCE_CREATE job is completed after quering Ganeti about the stateof servers.
cyclades: Display IPs in stats-cyclades
Display free and total public IPv4 addresses when pretty-printingCyclades stats.
cyclades: Fix passing arg shutdown_timeout in logic
cyclades: Add shutdown_timeout to server commands
Add support for specifying a timeout when stopping, rebooting ordestroying a server.
cyclades: Fix a bug in subnet creation
Since commit ba6ad3460931223d262badebcecbb4124ac136d8 subnets werealways created with an empty name field due to a bug.
cyclades: Fix a bug in check_name_length
Function check_name_length would crash if the input was a unicodestring.
cyclades: Lock objects in reconciliation
Make reconciliation mechanism take an exclusive lock on objects beforeissuing messages for reconciliation events. This will makereconciliation mechanism more slow, but will ensure correct quotas whenreconciliation is run while the service is online.
cyclades: Fixes causing unsynced quotas
cyclades: Add 'userid' and 'public' to subnets
Extend 'Subnet' model with 'userid' and 'public' attributes. This isrequired in order to avoid an expensive join when listing subnets. Thiscommit also includes a database migration for existing subnets.
cyclades: Add 'ipversion' to IPAddress model
cyclades: Optimize dispatcher DB queries
cyclades: Properly handle subnet/floating_ip IDs
cyclades: Update help msg on snf-manage commands
cyclades: Allow deletion of ports from deleted VMs
Fix corner case where a port seems to be still attached to a VM althoughthe VM has already been deleted.
cyclades: Do not prefetch related in get()
cyclades: Optimize network related DB queries
Use 'prefetch_related' and 'select_related' to optimize DB queries.
cyclades: Add a function to check name legnth
cyclades: Fix typo in stats-cyclades cmd
cyclades: Update backend only when needed
Make dispatcher ask Ganeti about the enabled/ipolicy disk templates onlyafter an OP_CLUSTER_SET_PARAMS. Otherwise, dispatcher will beoverwhelmed by gnt-cluster verify jobs.
cyclades: Fix bug in network link validation
cyclades: Include port in floating-ip-list command
cyclades: Fix error msg when deleting floating IPs
cyclades: Disable conflict checks for IPv6 nets
Vocabulary fixes: Dettach -> Detach
cyclades: Add setting for Ganeti clone providers
Add new 'GANETI_CLONE_PROVIDERS' setting to containg the list ofExtStorage providers that support cloning. For these providers thehashmap of the image is passed as an ExtStorage parameter('origin').Also, since the disk is already filled with data, snf-image performs...
cyclades: Setting for max NICs per Ganeti instance
Add new 'GANETI_MAX_NICS_PER_INSTANCE' setting which represents themaximum number of NICs that is allowed for each Ganeti instance. Thevalue of this setting must be less than 'max:nic-count` option ofGaneti's ipolicy.
cyclades: Pass arbitrary params to ext providers
Add 'GANETI_DISK_PROVIDER_KWARGS' setting, which contains a dictionaryof arbitrary parameters for each of Ganeti's ExtStorage providers andwhich will be passed to the 'disks' option of CreateInstance Ganeti job.
cyclades: Ignore messages about deleted resources
Ignore messages from Ganeti about servers and networks that have alreadybeen marked as deleted in the Cyclades DB. Processing of these messagesmay asynchronize Cyclades with Astakos quotas.
cyclades: Order pools by id
cyclades: Remove testing try/exception statement
cyclades: Fix deadlock when releasing floating IPs
cyclades: Fix bug in getting a free floating IP
Fix wrong query which resulted in getting non-floating IPs.
cyclades: Fix division by zero bug
Ganeti reports zero available and total disk if no vg is set. Thiscaused a division by zero error in the default backend allocator.
cyclades: Fix DB locking issues causing deadlocks
Fix deadlock issues that is caused by Postgresql's locks on foreignkeys. For example, creation of a BackendNetwork row will result in ashared lock in the 'backend_id' rows. Because updating a VM's NICsacquired an exclusive lock on the backend that the VM lived, this...
cyclades: Fix typo in log msg
cyclades: Require subnet for IP_LESS_ROUTED nets
cyclades: Remove DEFAULT_ROUTING_TABLE setting
Do not have a default value from 'link' attribute of IP_LESS_ROUTEDnetworks. Instead if the admin does not specify a value innetwork-create command, uniquely name the networks by with theBACKEND_PREFIX_ID and network id, e.g. snf-link-42.
cyclades: Add --drained option to network-create
cyclades: Some verbla fixes to snf-manage commands
cyclades: Optimize server-list command
Optimize server-list command by prefetching related fields if needed.
Add support for snf-vncauthproxy >= 1.5
cyclades: Fix wrong state of deleted networks
Before deleting a network, the network is marked as drained to beexcluded from automatic IP allocation. The state of the network that isexposed in the API is always 'SNF:DRAINED' if the drained flag is set....
cyclades: Fix broken unittest
cyclades: Lock objects in modifying commands
cyclades: Move all management commands to logic
Move all management commands from 'api/management/commands' to'logic/management/commands'.
Add some missing Copyright notices
Also add 2013 in package COPYRIGHT files.
cyclades: Change logging level to error
cyclades: Fix bug by wrong indentation
cyclades: Improve messages for default networks
Improve log and exception messages when failing to connect new server todefault and forced server networks.
cyclades: Include 'vlmc' and 'archipelago'
Fix image ID for both 'vlmc' and 'archipelago' ext providers.
Merge branch 'master' into develop
Conflicts: ci/schemas/one_node_wheezy/wheezy.conf docs/admin-guide.rst snf-cyclades-app/synnefo/api/actions.py snf-cyclades-app/synnefo/api/servers.py snf-cyclades-app/synnefo/logic/backend.py snf-cyclades-app/synnefo/logic/callbacks.py...
cyclades: Fix a bug in logic/subnets.py
cyclades: Rename hotplug to hotplug_if_possible
Use 'hotplug_if_possible' option when adding/removing NICs frominstances. 'hotplug' option will fail if the instance is alreadystopped. Also, pass 'hotplug' option only if it is enabled.
cyclades: Update some snf-manage commands
cyclades: Better handling of deleted subnets
cyclades: Add shutdown_timeout to RAPI client
Add missing 'shutdown_timeout' option to reboot, shutdown and destroymethods of Ganeti RAPI client. The Ganeti RAPI daemon will ignore thisoptions until Ganeti 2.10.
cyclades: Map reboot type to shutdown timeout
Fix handling of reboot type option. If 'hard' reboot type is specifiedthis is mapped to zero shutdown timeout of OP_INSTANCE_REBOOT Ganetijob. This is only supported from Ganeti>=2.10 and snf-ganeti. In other...
cyclades: Remove duplicate constants
cyclades: Fix removal of stale NICs in BUILD state
Until now, NICs that did not exist in the Ganeti backend and were inBUILD state were removed after a timeout (BUILDING_NIC_TIMEOUT). Thiswas dangerous, because if an OP_INSTANCE_CONNECT job had been "stuck"...
cyclades: Add name to Ganeti NICs
Add 'name' attribute to newly created NICs. Currently, the name of theNICs will not be used to refer to NICs, as it will be in Synnefo 0.15.Names are added only to ease the migration to version 0.15. Also, thiscommit updates snf-dispatcher to preserve the name of the NIC, if any,...
cyclades: Command to export Cyclades statistics
Add new 'snf-manage stats-cyclades' management command to export basicstatistics about Cyclades, like number of servers, network and resourceutilization. The command can either export the statistics either in JSON...
cyclades: Export Cyclades detailed stats from API
Add '/admin/stats/detail' API endpoint to export basic statistics aboutCyclades. Access to this view is only allowed to the users that belongto specific Astakos groups, as specified in the new setting'ADMIN_STATS_PERMITTED_GROUPS.' Also, added the new 'user_in_groups' API...
cyclades: Fix bugs relative with quotas
cyclades: Do not retry all Ganeti failed creations
Make snf-dispatcher retry only the OP_INSTANCE_CREATE jobs that faileddue to opportunistic locking. Such jobs include the 'ECODE_TEMP_NORES'error code in the opcode result. This commit makes snf-ganeti-eventd...
gtools: Fix Ganeti allocation parameters
When retrying a failed job, remove 'pnode' and 'snode' fields if theywere implicitly set by Ganeti iallocator. Ganeti will fail if bothiallocator and node are specified in the job.
cyclades: Generalize issue_and_accept_commission
Use issue_and_accept_commission for any action where one needs toautomatically accept the commission after issuing and committing.
cyclades: Issue commission based on action
Make issue_commission() the single point where provisions are computedand the appropriate astakosclient call is issued.
cyclades: Resolve undecided serial in force mode
Reject a serial with pending=True only when we need to force a newcommission on a given resource.
Also improve handling of serial state: make sure pending is set to Falsewhen we decide whether to accept or reject a serial. Mark a serial to...
cyclades: Pass action params in server_command
Commission to be issued depends on extra parameters for some actions,e.g., on the flavor when resizing a vm.
cyclades: Allow deletion of ports from public nets
Move check about deleting a port from a public network. This check isonly enforced in the API, but is allowed in logic layer, e.g. snf-managecommands.
Merge branch 'hotfix-0.14.10' into develop
Conflicts: Changelog snf-cyclades-app/synnefo/api/servers.py snf-cyclades-app/synnefo/logic/backend.py snf-cyclades-app/synnefo/logic/callbacks.py snf-cyclades-app/synnefo/logic/management/commands/reconcile-networks.py...
cyclades: Update disk_templates if empty
Make backend_allocator to refresh the available disk templates of abackend if there are empty.
cyclades: Check drained only if not destroying
Check drained flag only if network actions is not destroy. When networkis being destroyed the network is automatically marked as drained toexclude it from IP allocations.
cyclades: Check for all finalized states