Fix bugs in migration files
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,...
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
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
Print warning about subnet value during migration
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...
New migrations for cyclades-app
Fixes some flavor constrains issues
Fix the data migration
Use the uniq field instead of the id.
Renumber the migrations
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.
Remove obsolete files that were restored due to merge
Move migrations to new location
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