- 23 Jul, 2012 40 commits
-
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
Specially for create_instance and create_network methods, since a VirtualMachine, Network object is created before sending the request to the backend.
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
Implement ForUpdateManager that uses SELECT .. FOR UPDATE statement in order to acquire row-level exclusive locks to DB. Essentially this manager backports the select_for_update() method that is implemented in Django >= 1.4. Non-blocking reads are not implemented, and each query including a row that is locked by another transaction will block until the lock is released. Also care must be taken in order to avoid deadlocks or retry transactions that abort due to deadlocks. Also, update Network object to use this manager, in order to guarantee consistency of the IP pool of each Network.
-
Christos Stavrakakis authored
Reconcile the contents of each networks IP pool by comparing it with combination of IP pools of all ganeti backends. Add extra option for detecting conflicting IPs.
-
Christos Stavrakakis authored
Limit the size of networks that users can create, since big IP pools can have negative impact on performance. Allowed network size is controled by 'MAX_CIDR_BLOCK' setting.
-
Christos Stavrakakis authored
Delegate IP management to synnefo, in order to be able to allocate IP addresses accross multiple Ganeti backends. This is achieved by creating a Pool of IPs for each Network, in the form of a bitarray, which is stored in the DB as a base64 string. Reservation of IPs is done beforing creating the NIC in Ganeti, unlike releasing which is only done after the notification from Ganeti(hook) is received. Reservation and release of address must be performed inside a transaction, and with the use of select_for_update() statement in order to guarantee atomic and isolated access to the pool.
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
Create a management command for creating networks. Also remove the initial_data.json, since it is currently not necessary.
-
Christos Stavrakakis authored
- 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, instead of the old setting (PUBLIC_IPV6_PREFIX) - Remove obsolete setting (`PUBLIC_IPV6_PREFIX`) - Update management commands for IPv6
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
Use cipher to encrypt the passwords of the Ganeti backends in the DB. Encryption/decryption is based on a configurable key, defined by the ENCRYPTION_KEY setting. After modifying this setting, synnefo will be unable to decrypt already stored passwords, and passwords must be re-entered, using 'snf-manage backend-modify' command and restaring the server. A migration file is responsible for initially encrypting already stored passwords.
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
Modify list_networks and list_servers to filter deleted entries when if-modified-since HTTP header is used, because deleted entries can be updated after deletion through the reconciliation mechanism.
-
Christos Stavrakakis authored
Extend NetworkInterface model with a dirty bit, indicating whether the index of the NIC is consistent with the one in Ganeti. This flag is set when deleting a NIC, and is switched off after processing the notification from Ganeti. Removing a NIC with the dirty bit on is not allowed.
-
Christos Stavrakakis authored
Raise Overlimit exception when either bridge or mac-prefix pool is exhausted. Also prohibit public network creation.
-
Kostas Papadimitriou authored
-
Kostas Papadimitriou authored
- Handles nic connections instead of vms. New NIC model and NICs collections created to handle the NIC api logic. NIC models get updated on each vms/networks api call. - New private network creation form. - Display additional fields on private networks list (cidr, nic ip) - New cyclades ui settings introduced. UI_NETWORK_AVAILABLE_NETWORK_TYPES, UI_NETWORK_AVAILABLE_SUBNETS, UI_NETWORK_ALLOW_DUPLICATE_VM_NICS, UI_NETWORK_STRICT_DESTROY.
-
Kostas Papadimitriou authored
check available network status options based on Network.OPER_STATES
-
Christos Stavrakakis authored
Set the VM deleted flag when receiving a failure notification for a Ganeti OP_INSTANCE_REMOVE operation, even if the VM operstate is not ERROR. The server may not exist in the backend not only because the creation failed, but also because a remove notification was lost.
-
Christos Stavrakakis authored
This reverts commit 5d40a128fb593ed641400c462f0e00a1b457f76e.
-
Stavros Sachtouris authored
-
Stavros Sachtouris authored
-
Stavros Sachtouris authored
- Reponses for servers and netowrks details (list or solo) are now consistent 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
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
During handling of ganeti-op-status messages, state was set to error only if the the opcode was OP_INSTANCE_CREATE. This resulted to vm's never being deleted, if they did not exist in Ganeti.
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
- Fix bug in backend_add - Display backend_name in network_inspect command
-
Christos Stavrakakis authored
None tags in gnt-network create does not validate.
-
Christos Stavrakakis authored
-