pithos: Add snf-image support
pithos: Add default Archipelago config file
Add new constant ArchipelagoConfFile for the default Archipelagoconfig file. Set ArchipelagoConfFile after calling setupXsegPoolfunction.
pithos: Use new ArchipelagoConfFile constant
Remove BACKEND_ARCHIPELAGO_CONF and use the new ArchipelagoConfFileintroduced in WorkerGlue class.
pithos: New constants in ModularBackend class
Introduce new constants archipelago_conf_file and xseg_pool_sizein ModularBackend class. The new constant DEFAULT_ARCHIPELAGO_CONF_FILEis set in the default path '/etc/archipelago/archipelago.conf'.
Create the XSEG Object Pool while initializing ModularBackend class.
pithos: Move Xseg Pool initialization
Move Xseg Object Pool initialization to hashfiler module
pithos: Use synnefo.settings in backend/__init__.py
pithos: Introduce new register_object_map function
Register an object without providing any data. Cyclades canuse this function to register a newly created VM snapshot
pithos: pep8 fixes
pithos: Change relative import "base"
Relative import "base" should be "pithos.backends.base"
pithos: Remove unused import objpool
pithos: Do not put xseg request before map retrieval
During map_retr_archipelago, we should not put the xseg request which fetchedthe map data, before actually retrieving them.
The ctypes "from_address" method, does not copy the data where the pointerpoints. It simply creates a ctypes instance using the given memory. Ctypes...
pithos: Add glue code for Archipelago XSEG Object Pool and Gunicorn
pithos: Add monkey patch for making XSEG Request go green
pithos: Add configuration file for Gunicorn
Make workers delegate only one XSEG port pool
pithos: Add Archipelago Blocker and Mapper
pithos: Remove File - RADOS Blocker and Mapper
Add new constant for Archipelago configuration file in pithos API,PITHOS_BACKEND_ARCHIPELAGO_CONF
pithos: Add support for recognizing Archipelago Volumes
Fix mapfile support the new snapshot naming
Introduce new IllegalOperationError exception
Add access control to Archipelago Volume hashmaps and blocks.Raise an IllegalOperationError exception when trying to update an...
pithos: Add Gevent Gunicorn Worker for Archipelago
Merge branch 'release-0.15' into develop
Conflicts: ci/utils.py version
pithos: Simplify code for applying listing limits
Use a decorator instead
pithos: Further code refactoring in _list_objects()
pithos: Reduce astakosclient instances
Use backend astakosclient instance to query the account quotas.
pithos: Reduce interaction with the database
pithos: Fix ordering in detailed listing of public objects
Refs: #4727
pithos: Slight modifications in file-show command
pithos: Fix unbound reference
Merge branch 'master' into develop
Conflicts: Changelog astakosclient/astakosclient/keypath.py ci/utils.py docs/admin-guide.rst snf-astakos-app/astakos/im/cookie.py snf-astakos-app/astakos/im/functions.py snf-astakos-app/astakos/im/quotas.py snf-astakos-app/astakos/im/views/projects.py...
pithos: Decorate backend methods for transaction management
The decorator checks whetherthe frontend has initiated a database transactionand if not it wraps the backend method inside a new transactionand handles the failures.
Conflicts: snf-pithos-backend/pithos/backends/modular.py
snf-pithos-app: Use the new AstakosClient
pithos: Handle database errors during permission updates
Refs: #4502
pithos: Fix permission listing for objects containing / in their name
Add tests
pithos: Update/fix sqlite backend module
pithos: Do not report size change in move folder operation
Refs: #4154
pithos: Delete rejected quotaholder serials
Resolve some undefined names
Add missing imports; remove call to sqlite3_changes; set key and valin render_meta.
pithos: Fix typo in _get_permissions_path_bulk function
pithos: Fix latest version list with specific timestamp
Return the sorted list of the latest attributes keys
pithos: Fix timestamps
pithos: Remove unused variable.
pithos: Optimize latest_attribute_keys
pep8 fixes
pithos: Optimize xfeature_get_bulk query
Merge branch 'feature-pithos-performance-optimizations-develop' into feature-pithos-performance-optimizations-perf
pithos: Further optimize latest_version_list query
pithos: Optimize latest_version_list query
pithos: Optimize statistics_latest subquery
Merge branch 'hotfix-0.14.6' into develop
Conflicts: Changelog docs/admin-guide.rst snf-cyclades-app/synnefo/api/management/commands/network-remove.py snf-cyclades-app/synnefo/api/servers.py snf-cyclades-app/synnefo/api/tests/servers.py snf-cyclades-app/synnefo/logic/backend.py...
pithos: Fixed missing _get_permissions_path function.
pithos: Add missing locks
_lookup_container() locks the container pathbut it was not called from some write backend methodsthat expect the container path to be locked.
In such cases optionally _lookup_object() callsthe _lookup_container() in order to lock the container path.
pithos: Performance Optimizations in Object Listing.
pithos: Acquire locks in alphabetical path order in copy object
Revert "pithos: Use pithos backend as context manager"
This reverts commit 23b41f6fefa1a066748810c4642e58e18a4b83f9.
pithos: Use pithos backend as context manager
Substitue pre_exec() and post_exec()
_lookup_container() locks the container pathbut it was not called by some write backend methodswhich expected the container path to be locked.
In those cases optionally _lookup_object() callsthe _lookup_container() in order to lock the container path....
Revert "pithos: conditional select for update in lookup account"
This reverts commit 8a7ddfb0545348849d99fb686fec51659cbead58.
Select for update is not useful in case of account creation.If there is no such account, 0 rows are returnedso there are no rows locked.
Pithos: Catch invalid hashmap input
Refs: #3745
pithos: Remove obsolete backend method
pithos: Set attr lock_container_path during backend initialization
pithos: Destroy test database after test execution:Pithos uses a pool for the backend objects.Pooled backend objects override the default close behaviorand return the object to the pool instead.Therefore, django was unable to destroy the databasesince there were active connections....
pithos: Fix shared listing for implicitly shared objects
Provide also the appropriate tests
Refs: #4131
pithos: Fix delete deleted object
Delete object used to create a new object version flagged as deletedregarless of the status of the previous version.However, delete requests of a deleted objectshould return 404 (NOT FOUND) response.
pithos: Fix backend logging.
Merge branch 'hotfix-0.14.5' into develop
Conflicts: snf-pithos-backend/pithos/backends/modular.py version
pithos: Fix access object version data/metadata
pithos: Fix TypeError when trying to retrieve invalid object version
Merge branch 'hotfix-0.14.3' into develop
Conflicts: Changelog snf-astakos-app/astakos/im/messages.py snf-pithos-app/pithos/api/manage_accounts/__init__.py snf-pithos-app/pithos/api/management/commands/reconcile-resources-pithos.py snf-pithos-app/pithos/api/settings.py...
pithos: Do not report size change in move object operation
pithos: Fix line continuation format
pithos: Fix reconcile-resource-pithos command
Conflicts: snf-pithos-app/pithos/api/management/commands/reconcile-resources-pithos.py snf-pithos-backend/pithos/backends/lib/sqlite/node.py
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: Add missing blocksize attribute to blocker.
Blocksize was undefined for the blocker that combines files and rados objecsts.Define it, according to the block parameters.
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