Implement network reconciliation
New management commands to inspect network/server
Common functions for instance/network backend name
Fix use of network name prefix
Modification in logic for new-style networks
Synchronize networks when adding a new backend
Rename backend_create to backend_add
Implement BackendNetwork model
Create a new model, to represent the state of each network in eachbackend.
Create network queues and refactor dispatcher
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.
Remove stale pid lockfiles on daemon invocation
Rename management command
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)...
Refactor AMQP client
Remove messages that can not be handled from queue
Temprory fix for removing accumulated messages from RabbitMQ. Currentlysnf-ganeti-eventd produces messages that can not be handled fromsnf-dispatcher (e.g messages not concering an instance). These messages...
Add management command to inspect queue messages
Refactor common code in dispatcher's callbacks
Minor fixes
Remove unused code
Remove old code used for reconciliation, as the reconciliation mechanism haschanged
Add prefix to debug queue
Small refactoring in getting vm id
Clean up dead code
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...
Minor change in rapi call
Ganeti 2.5 needs a tupple of length 3 for nics modifications.So in ModifyInstance rapi call we pass (add, -1, {..}) for nis.
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Take advantage of ganeti hotplug
No race condition. No need for ther NetworkInterface to have anoperstate. Hook runs during instance-modify and depicts the currentlyexisting nics. No reboot needed modification to take place.
Later in mutliple backend mac prefix handling should be done by synnefo....
Delete VM nics on update path
Delete VM nics when a message of type OP_INSTANCE_REMOVE has been receivedfrom ganeti, and not when doing the RAPI call.
Simplify disconnecting vm from network
Use the new option of Ganeti, to remove a specific nic.
Use 'network' instead of 'link'
- Rename GANETI_PUBLIC_LINK to GANETI_PUBLIC_NETWORK- modify create_instance of backend module
Remove --detect-orphan-{servers,networks}
They have to depend on Astakos, move their functionality externally.
Remove unused imports
Add --detect-orphan-{servers,networks}
Switch to the logging middleware
Remove email queues from dispatcher
Remove legacy code from dispatcher
Remove obsolete files that were restored due to merge
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