Remove synnefo.lib.quotaholder
Use astakosclient to access the quotaholder instead.
common: Recursive dictionary merge helper method
Merge branch 'develop' into feature-quotas
Conflicts: astakosclient/astakosclient/__init__.py astakosclient/astakosclient/errors.py astakosclient/astakosclient/tests.py docs/index.rst
common: Fix resolving of SOUTH_TESTS_MIGRATE
in synnefo.settings.test
common: Test settings improvements
- Avoid settings overrides from conf files inside SYNNEFO_SETTINGS_DIR Tests are expected to succeed with exact setting values defined either in tests modules/cases or in the default synnefo setting modules. To ensure this we temporarily set SYNNEFO_SETTINGS_DIR environmental variable...
amqp_puka: Fix wrong import of ordereddict
Move transaction.py to snf_django package
Move intdecimalfield.py to snf_django package
Rename it to fields.py and update all migrations that reference the field.
Move managers.py to snf_django package
Conflicts: snf-astakos-app/astakos/im/api/service.py snf-quotaholder-app/quotaholder_django/quotaholder_app/callpoint.py
Move astakos lib from snf-common to snf-django-lib
Move code and PEP8 fixes
Use 'python-objpool' instead of 'synnefo.lib.pool'
Use the python-objpool package for pooling resources as object, insteadof the pooling code that existed in snf-common ('synnefo.lib.pool')
Refs #3524
Remove override_users option from astakos options
Remove obsolete Ganeti RAPI client from snf-common
This Ganeti RAPI client has been moved to snf-cyclades-app.
Move parsedate module to snf_django
Move common test code to snf_django.lib.testing
wip Restructure astakos views
Replace custom transaction context with:
- decorator `commit_on_success_strict', which uses transaction.commit_manually and ensures that the transaction rolls back on any exception
- context ExceptionHandler, which logs and...
Merge branch 'release-0.13' into develop
Conflicts: snf-astakos-app/astakos/im/messages.py snf-astakos-app/astakos/im/views.py version
Merge branch 'tmp-common-email-recipients' into develop
Merge branch 'feature-astakos-authpolicies' into develop
Conflicts: snf-cyclades-app/synnefo/api/management/commands/flavor-create.py version
Pep8 fixes
Introduce CONTACT_EMAIL setting
applications can use the setting as to point users in which emailaddress they should get in contact for support.
Provide additional user lists in common settings
To be used as recipients in applications notification messages
pool context manager, http pool AssertionError fix
Refs #3492
- Introduce a generic PooledObject class to act both as a context manager for getting and putting back an object from a pool.
- Implement a class PooledHTTPConnection(PooledObject) as a sublcass of the one in (1)...
remove obsolete example code module http_request
Merge branch 'release-0.13' into feature-astakos-authpolicies
Fix deref before None check in http pool
Return EmptyQuerySet on an EmptyResultSet
Refs #3489
Call to as_sql() raises EmptyResultSet in a couple of occasions,more importantly when filtering based on an empty list: filter(field__in=[]).
Move managers.py in synnefo.lib.db
This makes it easier to maintain, since it is used in multiple applications(astakos.im and quotaholder_app).
Move UserCache from cyclades.common to lib.astakos
Move UserCache from synnefo.management.common to synnefo.lib.astakos.Also, update ListCommand with 'astakos_url' and 'astakos_token' classattributes, which must be declared only when 'user_uuid_field' is used.
Common synnefo testing utils lib
New synnefo.util.testing lib added. Currently including helper decorator andcontext processor to override django settings.
Fix inadvertent use of shared objects
Fix inadvertent use of shared objects in synnefo/lib/astakos.py andpithos/api/delegate.py, since current use is racy when running multiplerequests under gunicorn. Create a private, per-request copy instead.
Fix+move HTTP quotaholder client in synnefo.lib
Allow per-service configuration of the (http) quotaholder client.Kamaki is no longer needed in service (or ganeti) nodes,because the client has been moved to snf-common.
Also fix the default quotaholder settings for pithos backend to be disabled...
fix quotaholder nested exception JSON failure
also, log http 500 on server side
pep8 fixes and copyright notice
udec: decode an object into a unicode object
Simplify handler's call
Remove mac2eui64 dependency
Import mac2eui64 code which is already shipped under util/mac2eui64 insteadof shipping it as a seperate script.
pep8 fixes to snf-common
Rollback, even if transaction is not dirty
This is a temporary bug fix forhttps://code.djangoproject.com/ticket/9964 .Django prior to 1.3 does not set a transactiondirty when the DB throws an exception, and thusdoes not trigger rollback, resulting in a...
Grammar fix
uenc: convert to repr(utf8) if encoding fails.
Do not postprocess if it's marked for rollback
Run postprocess in a transaction context too
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
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
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
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
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