Update astakos client to use user.uuid
New add_quota API to handle infinity
Separately handle subtractions and additions of quotasAdapt get_diff_quota plus various bug fixes
Do not record arguments of add_quota.Add call query_serials separate from ack_serials.
Record arguments of add_quota and return them in ack_serial
Add a serial in the add_quota API call
add_quota API call
Make side-effecting quotaholder API calls fail completely,if part of the request is rejected.
If such a call returns a non-empty list, this means thatthe entire call failed due to the actions mentioned in the list.
Better version of the bug fix 39cefb25
fix obscure bug in callpoint class that triggered db integrity errors
Callpoint class had a placeholder attribute original_callswhich was initialized as an empty dictionary,and thus was usable. Class init() code did not initializeoriginal_calls as it should but because the placeholder was...
remove obsolete import get_callpoint
add list_holdings quotaholder api call
list_holdings() to be used to get all holdings for multiple resourceswithout having to call list_resources/get_holding for each entity/holding.
First unpack, then consider options, while checking canonicals
Implement reset_holding API call
Avoid negative indexing, not supported by django lists
Disallow empty names in _random_choice
fix auto-generation in get_doc()
remove stub docstrings to allow their generation from canonicals
auto-generate missing api call docstrings
provide random Name
fixes in canonical randoms
Separate concerns of unpack and check in Args
Move implementation details to argmap.py
allow '-' in quotaholder entity names
Raise AssertionError when exhausted
Add missing import
Remove parse and _parse from canonicals
Fixes in unpack
Show input canonical
integrate Args and argmap, change argmap magic pos
rename betteron to argmap, add manipulation methods
Fix utf8 header
move it to the top of the file
Rename set_full_holding to init_holding
Implement release_holding
API call to set the whole holding.
Do not create entity in issue_commission.
Do not allow duplicate provisions in a commission.
Add copyright.
Delete unused files.
Move commissioning into snf-common.
Merge quotaholder into synnefo
Make amqp_puka get logger as argument
Merge branch 'cleanse-settings' into devel-0.12
Fix dispatcher logging
Proper exception representation
Merge remote-tracking branch 'origin/devel-0.12' into ui-0.11
Minor changes
Cleanse sensitive settings in debug output
In case of server errors prevent django from printing or emailing sensitivesettings.
Merge branch 'master' into devel-0.12
Conflicts: snf-cyclades-app/setup.py
Do not import logging in common default settings
Move LOGGING_SETUP from common to webproject
Merge branch 'devel-0.12' into ui-0.11
Add support for dead-letter-exchange to amqp_puka
Also add support for custom headers when publishing messages.
Implement basic_nack and basic_reject AMQP methods
Basic_nack method is not support by puka. We are implementingbasic_nack as basic_ack since they have the same effect whenmultiple and requeue options are not used.
Reconnect to different Broker if idle for too long
Modify snf-dispatcher and add a timeout option to basic_wait method. Iftimeout is reached, the connection to the current RabbitMQ broker isclosed and dispatcher tries to connect to a different one.
This commit is supplementary of 6d27ead, which detects connection...
Detect and handle connection problems in amqp_puka
Use the TCP keepalive feature in amqp_puka in order to detect connectionerrors to the RabbitMQ broker, and retry to a different one. Also setupthe keepalive parameters to relative small values, to detect failures...
Merge branch 'devel-0.11'
Bail out if any settings file is unreadable
Log an error to stderr and die immediately if any settings fileunder SYNNEFO_SETTINGS_DIR (/etc/synnefo by default) is unreadable.
Also remove use of braindead Python glob(), which ignores access failureerrors, and fails silenty....
Increase snf-manage logging level to warning
Various fixes about logging
Fix logging from snf-manage commands. Modify snf-manage implementationin order to setup the loggers for all snf-manage commands. Configurationis based on SNF_MANAGE_LOGGING_SETUP setting from snf-common or onbasicConfig if that setting is missing....
Merge branch 'master' into ui-0.11
Fix duplicate return of HTTP connection into pool
Fix duplicate return of HTTP connection into pool on duplicateinvocation of conn.close().
Revert commit b9c834003, and make sure a connection object's _poolattribute is re-initialized whenever it is retrieved from the pool....
Merge branch 'devel-0.11' into ui-0.11
Conflicts: snf-cyclades-app/synnefo/db/models.py snf-cyclades-app/synnefo/logic/backend.py snf-cyclades-app/synnefo/ui/static/snf/js/models.js
Change eventd and dispatcher AMQP retries
Set unlimited connection retries to AMQP hosts for snf-ganeti-eventd,since death of snf-ganeti-eventd results in loss of events.Also increase retries of snf-dispatcher.
Fix bug in amqp_puka
Make AMQPConnectionError an exception
Restore Ganeti RAPI client to snf-common
Temporary commit in order to restore Ganeti RAPI client to snf-commonuntil snf-cyclades-app 0.11 is released.
Pool Ganeti RAPI clients
- Move Ganeti RAPI client from snf-common to snf-cyclades-app/logic.- Create GanetiRapiClientPool for pooling GanetiRapiClient objects- Create context manager in db.models for pool handling- Update code using the RAPI client
Fix cleanup of DB pooled connections
Fix bug in cleanup of DB pooled connections before putting them back tothe pool. The way the connection was cleaned, resulted in mishandling ofthe transactions.
Accoring to psycopg2 docs, in case of a READ COMMITED isolation level:...
Fix broken logging
Rename LOGGING setup to LOGGING_SETUP, as this name is required bythe LoggingConfigMiddleware. Django's default LOGGING setting canbe used with Django>=1.3
Also change default handler to 'console' and add a more verbose format.
don't take mutex for cleanup
Enhance pooling API, implementation, and tests
- Verify objects (new and old) with a hook _pool_verify. Discard objects from the pool that fail verification. A newly created object failing verification is fatal.
- Remove all hooks from the pool set access critical section....
complete some functionality
port pooled psycopg2 to new pool api
remove obsolete kwarg verify
Fix bug in http connection pool
Do not reset connetion _pool attribute, since it is not (yet?)initialized when getting the object from the pool.
Enhange logging in db and http pools
Conflicts: snf-common/synnefo/lib/astakos.py snf-cyclades-app/synnefo/ui/static/snf/js/models.js
Remove add_reserved_ips from rapi client
In order to be compatible with grnet and upstream ganeti
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Update rapi to reflect to the upstream ganeti
reserved_ips->add_reserved_ipsRemove Network*All()
Move pooling psycopg2 wrapper to synnefo.lib.db
Move pooling psycopg2 wrapper to synnefo.lib.db,please see commit e83ed1fb8fb4d0d19c2d3f86152fde60b3cadfd9 for all thedetails on how to use the pooling wrapper for psycopg2.
Pool HTTP connections to the astakos service
Have the astakos client use pooled HTTP connections to the astakosservice, uses facilities from synnefo/lib/pool/http.py.
simple http_request objects over connection pools
Define UserEvent
Do not send reserved_ips argument
In rapi CreateNetwork method
Make pool more robust on obj creation failure
Make ObjectPool handle failures during object creation more robustly,and release the pool semaphore.
Extend ObjectPool functionality, tests
Rename ObjectPool methods to pool_{put(), get()}
Merge branch 'devel-0.11' into ui-helpdesk
Include common date utc formatting methods
Support timeout in ObjectPool.get(), fix tests
Support optional timeout argument in ObjectPool.get(),if supported by the underlying Semaphore implementation.
Implement command-line argument for ObjectPool unit tests to runinside gevent monkey-patched environment.
Make minor fixes to Singleton class unit tests
Add ObjectPool class in synnefo.lib
Add ObjectPool class in synnefo.lib.The ObjectPool class is an abstract pool of objects,based on Semaphore locks, as provided by the threadingpackage.
Tested to work with a gevent-monkey-patched threading package.Uncomment the relevant lines in pool/tests.py to test with greenlet...
Merge branch 'master' into ui-helpdesk
Conflicts: snf-common/Changelog
Merge branch 'master' into devel-0.11
Conflicts: snf-cyclades-gtools/synnefo/ganeti/eventd.py
Implement Singleton pattern
Implement Singleton pattern inside synnefo.lib.singleton.
Whenever a class inherits from ArgBasedSingleton,attempts to call the class do not always create a newclass instance, but return pre-existing, already made objects....
Fix bug in RAPI
None tags in gnt-network create does not validate.
Pass tags to ganeti CreateNetwork RAPI call
Fix bug in puka client
Merge branch 'simplequotas' into queues+minor_net