History | View | Annotate | Download (25.6 kB)
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....
Unique mac-prefix only for mac-filtered networks
Add logging to synefo.db.models
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...
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.
Revert "Start pool indexing from 0"
This reverts commit 2f998a3756c6fc7ddce9e0f83dea738e473320b8.
Start pool indexing from 0
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...
Release resources of Network only on deletion
Assert that this is an 'real' deletion of a Network before releasingit's resources. Without this patch, a resource used by an other Networkcould be released, if someone called the Network.update_state function...
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...
Increase the size of backend password_hash
Use ForUpdateManager to Pool objects
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,...
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
Encrypt Backend password
Use cipher to encrypt the passwords of the Ganeti backends in the DB.Encryption/decryption is based on a configurable key, defined by theENCRYPTION_KEY setting. After modifying this setting, synnefo will beunable to decrypt already stored passwords, and passwords must be...
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...
Common functions for instance/network backend name
Release resources when deleting network
Set as available in the pool the bridge and mac prefix that wasused by the deleted network.
Bug fixes concerning networks
Set index of NetworkInterface model to not null
Major modifications to Network model
Since Ganeti version 2.6, Ganeti is aware of private networks. We takeadvantage of this by propagating network handling to Ganeti. Networkmodel is expanded to include information about the type of network(public routed, physical vlan, private filtered), subnet, gateway, dhcp,...
Implement BackendNetwork model
Create a new model, to represent the state of each network in eachbackend.
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.
Create Backend model to represent a ganeti backend
- Create Backend model holding info about credentials, status and resources- Add Backend as foreign key to VirtualMachine- Create a cache of Backend clients (RAPI) for better performance
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.
Fix white space and PEP8
Merge branch 'simplequotas' into queues+minor_net
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)...
Update modules interacting with AMQP
Update all modules which are interacting with the RabbitMQ messaging system touse the AMQPClient in order to use highly available queues in active/activemode.
Extend messages to include a unique identifier in order to handle...
Merge remote-tracking branch 'origin/master' into astakos-integration
Conflicts: snf-cyclades-app/synnefo/api/util.py
Update the Flavor's unique_together constraint
A DB migration is required.
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