Change error handling in uuid to displayname pithos path migration.
Stop migraton if it fails to retrieve a uuid/displayname.
uenc: utility function for encoding unicode to str
1. Motivation.
Too often a programmer outputs an object that can either be str orunicode. The default python encoding of 'ascii' cannot handle all ofunicode text, but this will not crash until such a text is encountered....
strbigdec: smart big decimal number-to-string
Cleanup transaction context
Cleanse middleware fix
patch only once
Remove a debugging print
Custom transaction context
A context which can be used as a decorator;it commits the transaction if no exception was raised andthe rollback flag was not checked.Executes customizable code after committing.
Change feedback & user_catalogs astakos && pithos api calls
Merge 'develop' into feature-projects
Needed for building devflow packages from feature-projects.
Remove devflow form build dependency
Remove devtools and rename to devflow
Cloudbar flickering fix
prepend body placeholder (using border-top) to avoid flickering causeddue to late rendering of the cloudbar element
Merge branch 'latest-quota' into develop
bring quotas, projects, astakos logins, pithos/RADOSinto the new synnefo development workflow
WIP commit for the devtools build system
Additional parameters in the field constructor
Provide pithos call for getting account name from uuid
Additional common helper methodt
make str(CallError) force unicode to utf8
Merge branch 'devel-0.13' into develop
Conflicts: snf-cyclades-app/synnefo/api/servers.py snf-cyclades-app/synnefo/logic/backend.py
Redefine IntDecimalField to allow support for south migration;apply the new field to astakos.im.ProjectResourceGrant
wip Use decimals to store quota values; infinite quotas no more supported
Define custom integer field that is stored in the DB as decimal
User usage enhancement in astakos client helpers
`get_user`, `user_for_token` and `authenticate` methods now accept a `usage`parameter which requests user usage quotas to be returned along withauthenticated user information. Server side handling has also been...
Changes in common astakos library.
Provide error feedback during pithos database path migration to container uuid instead of email
Update Astakos API to provider calls for retrieving uuid from the username and vice versa, extend astakos client library (snf-common) and update pithos to use uuids instead of email for account identification
Register keyword args in CallError
Add details in exceptions raised in issue_commission
Exceptions regarding limit violations now carry detailsas specified in CommissionValueException
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
Fix test settings
LOGGING has been renamed to LOGGING_SETUP
Merge branch 'devel-0.13' into latest-quota
add_quota API call
Migrate default settings to files under conf/
Migrate default settings to files under conf/ for everySynnefo component.
TODO: Obliterate snf-cyclades-app/synnefo/appt_settings/default/*and similar files. Make import of synnefo settings common throughout...
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
Update Changelogs
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:...