Fix dispatcher logging
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'
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
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:...
Conflicts: snf-common/synnefo/lib/astakos.py snf-cyclades-app/synnefo/ui/static/snf/js/models.js
Enhange logging in db and http pools
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.
remove obsolete kwarg verify
port pooled psycopg2 to new pool api
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
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
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
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
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 puka client
Merge branch 'simplequotas' into queues+minor_net
Redeclare exchanges when reconnecting
Fix authenticate
Differentiate Unauthorized astakos response from other error responses
Refactor AMQP client
Additional astakos client lib helper
to extract token from astakos cookies
Minor fixes
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...
Client for interaction with a RabbitMQ broker
Introduce a client implementing connection and communication with a RabbitMQbroker.
This client silently handles connection failures an tries to connect to adifferent node. Also uses publisher-confirms to guarantee delivery to the...
Add instance to Aquarium receipt.
Provide a fallback token to user library.
Merge branch 'master' into astakos-integration
RemoteAddr middleware
reusable middleware that sets the REMOTE_ADDR meta in request, if notalready set.
Reusable cloudbar context processor
Common synnefo lib
Includes the following helpers to be used by synnefo django apps
- logging config initialization middlware- astakos authentication helpers- parse_http_date compat helper- rabbitmq client using pika