Return the VM!
Display VM build percentage in management commands
Do not allow any API action on suspended VMs
Do not allow any modification of any administratively suspended VM through theAPI.
Merge branch 'ui-0.11' into devel-0.12
Include deleted networks in get_flavor_info
Do not allow actions to deleted networks
Allow custom link, mac_prefix in network-create
Add extra command line arguments, to allow the user specify thelink and mac_prefix of the new network if needed.
Return ServiceUnavailable when pools are depleted
Return ServiceUnavailable, instead of OverLimit, when pools of bridges,mac-prefixes or IPs run out of resources.
Make management commands list non-deleted entries
Modify snf-manage {server, network, flavor}-list to list by default onlynon-deleted entries. The `--deleted` flag can be used to also includedeleted ones.
Merge branch 'devel-0.12' into ui-0.11
Cache images in server-list
Use cache in order to speed-up the output of server-list
Reverse --deleted option in server-list
Handle every exception in manually transactions
Fix typo
Do not give IPs to networks without dhcp
Block create instance api call with deleted flavor
Do not allow creation of instances with deleted flavorsRefs #2481
Fix GET networks API response for public networks
Log 5xx API faults
Improve exception message when no backends
Catch OverLimit error in network create
Merge branch 'devel-0.11' into ui-0.11
Conflicts: snf-cyclades-app/synnefo/db/models.py snf-cyclades-app/synnefo/logic/backend.py snf-cyclades-app/synnefo/ui/static/snf/js/models.js
Fix bug when not using pool for public networks
Change logging levels
Add extra logging
Perform allocations in separate transactions
Add ForUpdateManager to the Backend model, in order to guaranteeexclusive order when allocating a VM.
Use manual transactions when allocating Backend and public IP for a newVM, since these allocations need exclusive access (SELECT..FOR UPDATE)...
Merge branch 'public_networks' into devel-0.11
Conflicts: snf-cyclades-app/synnefo/logic/dispatcher.py
Remove unnecessary locking
Selecting FOR_UPDATE on network object is not any more required, sincethe IP Pool have been moved to the IPPoolTable. Selecting FOR_UPDATE isneeded there.
Fix race conditions when updating network objects
Use for_update() object manager in order to exclude race conditionswhen updating network objects.
Rename Cyclades management commands for uniformity
Rename Cyclades management commands for uniformity.
Refactor IP pools
Treat IP pool the same way as bridge and mac-prefix pools. The pool isremoved from the Network table and moved to an IPPoolTable containing theIP pools for all networks. Also added support for external reservations.
Migration files for transfering the pool to the new tables are included....
Catch error in removing nic
Unique mac-prefix only for mac-filtered networks
Refactor bridge and mac-prefix pool tables
Redesign the implementation of pools and map mac-prefix and bridge poolsto that design.
Each pool type is mapped to a table in the database, and each row ofthat table is a pool of that type. All pool tables must contain the...
Fix bug in snf-manage network-remove
Wrap network-create command in transaction
Support multiple public networks in UI
Encapsulate in nic dict a public flag (network.public) andremove twisted oldstyle identification way (network_id == 'public')for retrieving public interfaces.All network references are done via their network_id....
Allow connecting a VM to a network only if active
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
New method for creating BackendNetwork entries
Create a new method to the Network model, in order to create theBackendNetwork entries tha correspond to this network. Also removethe custom save method, since when multiple public network will besupported, we want them to be correlated with specific backends.
Implement multiple public networks
Implement multiple public networks in order to support:- different public networks per backend- non-consecutive IP ranges in each backend
To support this, public networks are treated different from privateones. Namely, they are correlated with one backend (and so have...
Do not allow creation of two big/small networks
- Networks smaller than /29 are not supported in Ganeti.- Big networks will result in degraded performance in Ganetiand DB due to the big reservation map.
Api changes, additions for vm diagnostics
- Change /servers/detail to include the last diagnostic message for each vm in the api response.- Add new /<vm_id>/diagnostics api endpoint which returns the list of the specified virtual machine diagnostic messages.
Networks list api response fix
include deleted networks in reponse if changes-since parameter is set. Thisenables ui application to identify deleted networks and remove them fromuser interface.
Fix servers api list response
filter out deleted vms !!!!!!!
Fix servers api response
do not filter out deleted vms if valid changes-since parameter is set onthe request. This allows ui application to be able to identify and removedeleted vms.
Fix bug in creating network
Exclude deleted networks.
Limit allowed private networks per user
Store action when creating a network
Implement MAC Prefix Management
In order to guarantee uniqueness of MAC address accross all backends,synnefo assignes a unique mac prefix to each network in each backend.
A mac-prefix of 20 bits, which is picked from the MacPrefixPool, isassigned to each Network. The mac-prefix of the network in each...
Limit allowed network size
Limit the size of networks that users can create, since big IPpools can have negative impact on performance. Allowed networksize is controled by 'MAX_CIDR_BLOCK' setting.
Implement model manager using row-level db locking
Implement ForUpdateManager that uses SELECT .. FOR UPDATE statement inorder to acquire row-level exclusive locks to DB. Essentially thismanager backports the select_for_update() method that is implemented in...
Add transaction control to API methods
Specially for create_instance and create_network methods, since aVirtualMachine, Network object is created before sending the requestto the backend.
Add support for IPv6
- Extend the Network model with fields for holding the IPv6 subnet and gateway.- Update network API methods.- Modify ganeti hooks to return IPv6 address for all network interfaces. IPv6 is now derived from the IPv6 subnet of the network in Ganeti,...
New management command for creating a network
Create a management command for creating networks. Also removethe initial_data.json, since it is currently not necessary.
Implement IP management
Delegate IP management to synnefo, in order to be able to allocate IPaddresses accross multiple Ganeti backends. This is achieved by creating aPool of IPs for each Network, in the form of a bitarray, which is storedin the DB as a base64 string....
Update network settings
Filter deleted entries when changes-since is used
Modify list_networks and list_servers to filter deleted entries whenif-modified-since HTTP header is used, because deleted entries can beupdated after deletion through the reconciliation mechanism.
Handle bridge/mac-prefix pool exhaustion
Raise Overlimit exception when either bridge or mac-prefix poolis exhausted. Also prohibit public network creation.
Add dirty bit to NetworkInterface
Extend NetworkInterface model with a dirty bit, indicating whetherthe index of the NIC is consistent with the one in Ganeti. This flag isset when deleting a NIC, and is switched off after processing thenotification from Ganeti. Removing a NIC with the dirty bit on is not...
Update servers/networks responses for new API
- Reponses for servers and netowrks details (list or solo) are nowconsistent to recent backend changes.- Methods get_nic_from_index and construct_nic_id have been created- Syntax for nic removal from network/vm has been adjusted
When creating network, the label subnet can now be cdir in the json request
Fix modifynetwork management command
check available network status options based on Network.OPER_STATES
Update management commands for new-style networks
Fix bug in networks api
Temporary API modification for new style networks
Remove stale save's in db
Implement backend allocator and management command
New module implementing instance allocation to one of the availablebackends. Allocation is performed based on memory and disk utilization.Statistics for each backend are stored in DB and updated periodically....
Fix issues concerning reconciliation
Use the Backend client instead of global RAPI
Replace use of global RAPI client, with the cached client from theVirtualMachine or Backend model.
Dispatch network actions to all backends.
New management commands concerning backends
- Create command to create a backend (snf-manage backend_create)- Create command to modify a backend (snf-manage backend_list)- Create command to list backends (snf-manage backend_modify)- Modify listservers command to display the backend that hosts the VM
Rename backend_id to backend_vm_id
Rename backend_id field of VirtualMachine model to avoid conflict between thebackend that hosts the VM and the id that the VM will have on the backend.
Simple per user quota mechanism for networks/vms
- New dict setting VMS_USER_QUOTA to allow setting per user quota (overrides MAX_VMS_PER_USER setting)- Private networks quota mechanism (based on MAX_NETWORKS_PER_USER and NETWORKS_USER_QUOTA settings)...
Try to decode the server name before printing it
Fallback to displaying the image id if it can not resolve it
Verify VNC server settings in get_console
After vncauthproxy responds that it has successfully connected to thebackend server, we need to make sure that the VNC server settingshaven't changed (due to VM migration, or a malicious user destroying aVM to exploit the VNC ports reuse).
Add list networks and modify network commands
Add flavor management commands
Add management commands
Use lib.astakos instead of our own middleware
Switch to the logging middleware
Fix metadata rendering
Merge remote-tracking branch 'origin/master' into astakos-integration
Conflicts: runtests.sh snf-cyclades-app/synnefo/aai/__init__.py snf-cyclades-app/synnefo/aai/fixtures/auth_test_data.json snf-cyclades-app/synnefo/aai/middleware.py snf-cyclades-app/synnefo/aai/models.py...
Renamed snf-app to snf-cyclades-app