Make RAPI CreateInstance() arguments configurable
Make RAPI CreateInstance() arguments deployment-specific.Add the GANETI_CREATEINSTANCE_KWARGS setting, which allows the administratorto set arbitrary arguments to RAPI CreateInstance().
Also add initial version of README.Upgrade, detailing...
Improve user support
Refs #827
Merge branch 'api-current'
Add unit tests for process_op_status()
Add unit tests for all supported code paths inlogic/backend.py:process_op_status(), for the various notificationsof type 'ganeti-op-status'.
Also catch the exception raised when a ganeti-op-status notificationcontains an opcode not handled by Synnefo.
Handle removing machines in ERROR properly
Set the VM deleted flag when receiving a failure notification for a GanetiOP_INSTANCE_REMOVE operation, if the server is in ERROR state, since nocorresponding Ganeti instance backend exists in this case. Fixes #799.
Only receive OP messages for the specific BACKEND_PREFIX
Also a minor correction in the debugging queue output
Update yet again README.deploy for vncauthproxy
Include complete information on installing vncauthproxy andbuilding Debian packages.
Conflicts: invitations/invitations.py
Merge branch 'faidon/misc-fixes'
Conflicts: settings.d/50-invitations.conf
Don't start the DEBUG queue when DEBUG mode is off
Merge branch 'api-current' of https://code.grnet.gr/git/synnefo into api-current
Use log.exception to report exceptions
Progress reporting on queue draining
Default log configuration: syslog on Linux
Refs: #779
Make Ganeti disk template a configurable setting
Make the disk template to use for Ganeti instances (e.g., 'plain'or 'drbd') a configurable setting in settings.d/20-api.conf,fixes #777.
Set hv parameter serial_console=False explicitly
Be explicit about Synnefo-controlled instances havinghypervisor parameter serial_console set to False, so that theRAPI GetInstanceConsole() call returns consoles of kind 'vnc',fixes #785.
Remove RAPI GetInstanceConsole() call
Remove RAPI GetInstanceConsole() call, because it returns apotentially unusable endpoint based on cluster-wide vnc_bind_address,usually 0.0.0.0 or 127.0.0.1. Until this is fixed on the Ganeti side,we construct a console info reply based on the primary node and network...
logic: import settings properly
Instead of importing synnefo.settings directly, import settings fromdjango.conf as it should.
Handle and log system exceptions on invitation send
Make server deletion complete asynchronously
Make server deletion complete asynchronously, by only settingthe deleted flag for an instance of the VirtualMachine model whenan OP_INSTANCE_REMOVE operation completes successfully at the backend.
This means that DELETE /servers/id returns HTTP 204, the server...
Enforce flavor-specified disk size for new VMs
Enforce the flavor-specified disk size when creating a new VM.Introduce the new IGNORE_FLAVOR_DISK_SIZES setting, which makes the API alwayscreate VMs with 4GB or 14GB disks.This is useful in development deployments where disk space is scarce.
More robust email sending
-Synchronous send message function returns Boolean to indicate success or failure-Queued emails that were not sent are not removed from the queue
Configurable number of invitations per invitation level
Refs: #439
Fix minor error in variable naming
Dispatcher support for draining queues
Refs: #719
Introduce queue mgmt functions
Introduces the following three commands to the dispatcher, used to process queue declarations and stale messages
--purge-queues--purge-exchanges--drain-queue (not fully implemented yet)
Development: Allocate a 14GB disk for Windows VMs
Merge branch 'ui-0.5'
Merge branch 'api-current' into helpdesk-gui
Merge branch 'api-current' into ui-0.5
Make the dispatcher refresh on tag updates
Make a dummy ModifyInstance call when changing instancetags in order to force process_net_status to be called onthe dispatcher.
Logging configuration for the rapi logger
Conflicts: logic/dispatcher.py
Conflicts: aai/shibboleth.py
Fix problem with python-daemon incompatibilities
python-daemon 1.6 changed the way it handles pidfile imports so goingback to 1.5.5 (included in Debian squeeze) breaks the dispatcher.Document the exact dependencies in deployment and ci files.
Correct import from pidlockfile
Merge remote-tracking branch 'origin/api-current' into ui-0.5
Conflicts: api/util.py logic/backend.py
Use a default firewall profile on public networks
Uses settings.DEFAULT_FIREWALL_PROFILE in case an instance has no firewall tags defined.
Refs #659
License headers for various files
refs #581
Make pid file setting work for real
Create a pid file outside the daemon context, make sure it is deleted onshutdown, offer option to set it from the cmdline
Move logging configuration to a module
Configuration for syslog, app-wide logging
Change configuration to print logs to the console
Take care of pidfile generation
Daemonization + externally configured logging
Conflicts: logic/backend.py
Merge branch 'logging' into api-current
Update firewall profile in the callback
Refs #527
Extend net notifications to include IPv6 addresses
Include support for autogenerated public IPv6 addresses,extend the logic layer accordingly:
Use iallocator for CreateInstance() RAPI call
Do not specify the Ganeti node in CreateInstance() RAPI calls,allow Ganeti to use an iallocator to determine instance placement.Also make minor PEP8-related fixes to logic/callbacks.py.
Per user invitation limits
refs: #705
Conflicts: settings.py.dist
Add a PROTECTED firewall profile
Replace custom email send code with Django's mailer
Thanks to [faidon] for the tip
Merge branch 'master' of https://code.grnet.gr/git/synnefo into api-current
Conflicts: api/images.py api/networks.py contrib/ganeti-hooks/kvm-vif-bridge db/fixtures/images.json db/models.py logic/backend.py logic/tests.py settings.py.dist tools/cloud
Add initial support for firewall profiles
Add proper license headers
Support for creating one-off user tokens
Merge branches api-current and ui-0.4, minor fixes
Merge branches api-current and ui-0.4: * Fix merge conflicts * Fix minor bug in reconciliation mgmt command * Add comments in settings.py.dist * minor PEP8 fixes
Merge branch 'images-0.4'
Merge branch 'reconcilation'
Improve handling of ganeti-net-status messages
Improve construction and processing of ganeti-net-status notifications.Fail with an informative exception if an invalid link value is specifiedin a ganeti-net-status notification.
This shouldn't happen normally. It is usually the result of an administrator...
Reconciliation command documentation + config options
Resolve forgoten conflict, some documentation
Use snf_null as the default link
Use the simpler amqp_connection mechanism
License header and a bit of documentation
Merge branch 'invitations' into reconcilation
Conflicts: logic/dispatcher_callbacks.py settings.py.dist
Optimize disconnect to be performed in one action
Make Network and NetworkLink relation explicit
DB migration needed.
Fix typo
Network improvements
Connect networks API with the Ganeti
A database migration is needed....
Skip deleted and suspended VMs from reconciliation
Simulate Ganeti events to update VM status on reconciliation
Wrap JSON deconding to provide error msg in case of failure
Lots of backfixes in status reconciliation code
Better handling of Unicode emails, catch SMTP connection errors
waitpid() accepts two arguments by default
Survive server restarts
Proper debug mode, correct channel shutdown sequence
Minor fix to make it connect to Rabbit
s/reconciliate/reconcile/ :-) + license headers
Various small bugs
-Print vm_ids as strings, not numbers-Filter top X VMs to update
Refactor networks