pithos: Revert pep8 changes from sqlalchemy ClauseElements
pep8 complains for comparison with boolean in sqlalchemy.sql.expression.ClauseElementwith "E712 comparison to True should be 'if cond is True:' or 'if cond:'" but sqlalchemy does not understand it otherwise.
pithos: Update/extend tests
pithos: Fix migrations
Some data migrations require to import pithos app settings.These migrations used to fail in nodes where snf-pithos-appis not installed.Disable these migrations if they fail to import the necessary settings.
pithos backend: Introduce debug_method decorator
Substitute debug statements with a backend method decoratorwhich registers the method execution arguments, the return valuesand the exceptions occured.
pithos: pep8 fixes
Merge branch 'hotfix-0.14.2' into develop
Conflicts: Changelog snf-astakos-app/astakos/im/messages.py snf-astakos-app/astakos/im/views/target/__init__.py snf-cyclades-app/synnefo/logic/backend.py snf-cyclades-app/synnefo/logic/management/commands/reconcile-servers.py...
pithos: Fix attribute copy
The newly created attributed used to point in the source nodeinstead of the destination
Refs: 3510
pithos: fix typo
pithos backend: Extend list domain objects method
This method optionally accepts a user paramter and used to returnthe objects shared to the user and having a specific domain.This commit extends this functionality and returns also the objectsowned by the user and having the specific domain...
pithos: Update get objects in a specific domain
Improve performance
Refs: #3510
pithos: improve performance of get_domain_list
Before it used to query the databasefor all the objects having the specific domainand finally filtered out the objects to which the user had no access.Now gets first the allowed_paths for the user and then...
pithos: Handle backend transaction management
In commit 9f135224edf6e50386dc29e0a35806a92c56a50cthe transaction management has been movedfrom the pithos backend to pithos frontend.This commit updates all modules use pithos backendto handle transactions manually.
pithos: don't crash in sqlite backend pools
pithos: backend.util pep8 fixes
pithos: Cleanup api_method code
pithos: Restore sqlite backend module
pithos: fix syntax in sqlite backend
Merge branch 'tmp-pithos-tests' into feature-pithos-atomic-api
Conflicts: snf-pithos-app/pithos/api/util.py
pithos: return always etag
Refs: #3554
If update md5 is deactivated Pithos does not return an etag header.Pithos in that case should return the merkle hash as etag
pithos: Change block size by configuration
This is useful for testing corner cases efficiently.
pithos: move transaction managment and quotaholder sync in frontend
Remove backend_method decorator and move logic in the pithos api method
Conflicts: snf-astakos-app/astakos/im/views/projects.py snf-cyclades-app/synnefo/logic/backend.py snf-django-lib/snf_django/lib/astakos.py version
pithos: fix empty account usage computation
Usage computation for empty accounts used to fail with:TypeError: 'NoneType' object is unsubscriptable
pithos: introduce lock_container_path api_method argument
pithos: conditional select for update in lookup account
pithos: enable api calls to lock explicitly the path
pithos: update pithos statistics computation
Compute account statistics instead of storing them in the databaseFix container statistics computationRelated commit: 3a9f1f113c1e2c853b7ae223fbcbb843d19f7f95
pithos: enforce transaction isolation level
Refs: #3582 #3585
pithos: update recursively statistics up to the container level
To achieve atomicity we lock the container path.However, the write operations update the statistics for the ancestornodes (container/account).Therefore, the backend restricts the recursion up to the container...
pithos: Fix ASTAKOS_BASE_URL import in migration
pithos-backend: disable AstakosClient if no URL given
If the backend is initialized with astakos_url=None,or AstakosClient cannot be imported,a fake AstakosClient is instantiated which will raisean AssertionError on any attempt to access it.
Read-only uses of pithos backend, as in pithcat,...
pithos: change resource usage retrieval
Replace ``astakosclient.get_info()`` with ``astakosclient.get_quotas()``
pithos: remove dependency from synnefo.lib.queue.Receipt
Merge branch 'feature-quotas' into develop
Conflicts: docs/dev-guide.rst
Merge branch 'tmp-pithos-db-escape-warning' into develop
pithos: Remove unnecessary logging in public url unset
pithos: Remove obsolete settings from database migrations
Use astakosclient to retrieve user information
pithos: Update merged code
pithos: Update pithos management commands
Refs: #3625
pithos: Rename backend quotaholder properties
Refer to astakosclient instead of quotaholder
WIP astakosclient for quotas in pithos
pithos: Utilize astakosclient for quota handling
Refs: #3625, #3650
pithos:Ensure serial registration before commission
Commit transaction before accepting the commissionand delete registered serials after successful commission.
Refs: #3594
pithos: extend sqlite library for commission reconciliation
pithos: use other db escape string literal character
Refs: #3645
Add database migration
Provide an alembic migration to add an indexon the attributes.domain field
pithos backend: update get_domain_objects method
Rename and change it to backend method(add the backend_method decorator)
Pithos backend: Return objects in a specific domain
Fix trasactionless query in pithos sqlite backend init
Refs: #3580
fix trasactionless query in pithos backend init
The query was submitted for execution without any prior transactionsetup, which caused:
1. psycopg2 to implicitly start a transaction2. the new transaction to remain unknown to the sqlalchemy layer since it was implicit...
pithos: Fix container quota violation control
Pithos backend before performing the quota violation checkscreates a new version of object and updates theusage of the ancestor nodes (the container).
In Postgresql SELECT does see the effectsof previous updates executed within its own transaction...
Change pithos default container policy quota to unlimited
Refs: #3543
Fix pithos-reconcile-commissions command
Get pending commissions specifically for pithos
pithos: Register commission serials to allow for recoery
Move astakos lib from snf-common to snf-django-lib
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
Change pithos backend DEFAULT_PUBLIC_URL_SECURITY
Change value from 8 to 16, to conform with the defaultPITHOS_PUBLIC_URL_SECURITY setting.
Change pithos public URL implementation
Refs: commit: 56f3c759
Do not include encoded serial in the public URL.
Change PITHOS_PUBLIC_URL_MIN_LENGTH setting toPITHOS_PUBLIC_URL_SECURITY.
Log public set/unset functions.
Change pithos public implementation
Public URLs should consist of a random part.A public URL should be unique and should not beequal to any deleted public URL.Finally publishing a public object has no effect.Therefore, to generate a new public URL for an...
Eliminate mutable default arguments
Fix pithos purging accounting
Refs: #3442Refs: #1733
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 UUID bug breaking image list and VM creation
latest_uuid(uuid) returned the latest version with the given uuid.This is called from pithos backend method get_uuid(),which is called from plankton backend method get_image().
For the use in get_image() the uuid alone is not enough,...
Fix serious inefficiency in pithos 0.13 migration
As was run on production during migration.
The migration looped over all rows (node, muser) from versions,and update muser in each one.
However, the tuples (node, muser) are not unique in the table,and more important, the muser values are much fewer than the nodes...
set DJANGO_SETTINGS_MODULE for pithos-migrate
Explicitly enabled/disable pithos quotaholder component
Use PITHOS_USE_QUOTAHOLDER setting
Update pithos migration
Display progress
Improve pithos migrate
Cache also non existing accounts.
Pithos stop unnecessary contacts with quotaholder
Do not issue commission if there is not size change
Fix pithos purging
Error if there were no objects to purge
Provide command for managing pithos duplicate accounts
Migrate pithos object modification user
Merge branch 'feature-rados' into develop
Conflicts: snf-pithos-app/README
Remove automatic RADOS pool creation.
If a specified RADOS pool does not exist, do not try and create it. Throw anexception instead.
Merge branch 'feature-projects' into develop
Pithos: handle quotaholder exception errors
Change error handling in uuid to displayname pithos path migration.
Stop migraton if it fails to retrieve a uuid/displayname.
Remove trailing space
Expose /user_catalogs service api call
Change migration scripts to use this instead of the user api call
Change feedback & user_catalogs astakos && pithos api calls
Fix exception handling in RADOS blocker/mapper
Handle only KeyError exception in blocker/mapper initialization, and propagateall other, as they indicate errors.
snf-pithos-backend: Fix backend.meesages attribute
backend.messages attribute was not initialized correctly, resulting inan AttributeError exception in _pool_cleanup.
Restore container policy check
Debit pithos object owner not the request user
Optionally import rados
fix radosblocker merge, fix some tabs/whitespace
Merge branch 'radosblocker' of https://code.grnet.gr/git/pithos into latest-quota
Conflicts: snf-pithos-app/pithos/api/util.py snf-pithos-backend/pithos/backends/modular.py snf-pithos-backend/pithos/backends/util.py
Fix pithos backend external_quota argument initialization
Return quotaholder holding in pithos backend
Fix pithos get_account_meta.
Do now show usage if request user is other than the owner
Merge branch 'latest-quota' of https://code.grnet.gr/git/synnefo into latest-quota
Conflicts: snf-astakos-app/astakos/im/forms.py snf-astakos-app/astakos/im/functions.py
Fix pithos versioning
Do not remove previous object version in case of free versioning policy
Fix pithos versioning (better implementation)
Change pithos sharing to work with account uuids
Migrate username to uuid in pithos permissions
fix indentation in pithos.backend.modular