pithos-app: Set supported serializations in api views
pithos: rename prefix pithos_public to public
After all, the prefix is visible to users as part of the public urlthey pass around, therefore 'public' is much more presentable thanpithos_public.
pithos: api_method_not_allowed typo's
pithos: HEAD object request returned erroneous content type
According to commit: b698d39dd6cbe4bf47b63ed0d6a98b9b126ca40eviews defining their response 'Content-Type' should set the'override_serialization' attribute of response to 'True'.However, this was missing in the specific view....
pithos: fix another typo in reconcile-commissions-pithos command
pithos: fix typo in reconcile-commissions-pithos command
Ensure we return cloud faults under any API prefix
pithos: change pithos_public service
- Do not export an endpoint, since clients get public urls from our pithos API, there is no need for them to know an endpoint.
- Rename its type to pithos_public, since public is too generic and there is actually no API specification, since noone needs it yet.
pithos: Fix X-Object-Public object header
Utilize settings.PITHOS_BASE_HOST instead of settings.PITHOS_BASE_URLto construct the header value
pithos: refine error handling in object_read view
pithos: Url patterns fix
avoid double slash in ui service
pithos: Prefix for pithos object read view endpoint
pithos: change reconcile-resources-pithos command
This command syncronizes the astakos quota with the pithos db.However, if there was an account in the astakos database but therewas not the relative path in the pithos db (new pithos database)the account quotas were not synced....
pithos: Updated ui service urls
removed version from path
pithos: create view for reading an object's content
Use cookie for retrieving the authentication token
pithos: fix public api
Pithos public api was broken since the pithos api decoratorused to call the common api decorator without passing the``token_required`` optional argument (default to True).As a result, all the requests failed with 401 Unauthorized status....
pithos: change X-Object-Public header
The header value should contain the absolute public url
pithos: fix UnboundLocalError in object read
snf_django: Optionally use other default serialization than json
Pithos api default serialization for listing is text insted of json.However the common api decorator if not specified otherwise used tojson as the default serialization.So we introduced a new optional argument (defaults to json) to override...
pithos: Use api_patterns to register API urls
webproject: common 404, 500 handling
- Move 404, 500 templates from astakos to webproject- Remove 404, 500 templates from pithos-app- Webproject now includes static files to serve jquery as an asset in 404, 500 pages.- Custom 500 handler. Use RequestContext if possible.
Merge branch 'feature-reconfigure-urls' into develop
Conflicts: docs/pithos-api-guide.rst
Rename astakos_keystone to astakos_identity
pithos: Weaken X-Object-Public exposure requirement
8a0c7040367761cd5d5383ac53dfe1c0161c1d02has restricted the X-Object-Public exposurein container detailed list requestsonly to the object owner and if public parameter is supplied.Now we have weaken this requirement so this information...
pithos: Fill endpoints to astakos_services object
Incorporate all resources into service definitions
- Add 'service_origin' key in resources, as the normative name of the service that exported it.- Keep resources backwards compatible, export-resource-service reads resources from the service list.
cyclades, pithos: Update resource definitions
Include service_type in each resource dict.
common: Export only services specified as public
Employ helper function `filter_public' in service-export-* commands.Also set `pithos_ui' service to non-public and clear version of`astakos_ui'.
pithos: Include additional prefixes settings
- Include settings for astakos accounts/views/keystone prefixes- Renamed ASTAKOS_ACCOUNT_PREFIX > ASTAKOS_ACCOUNTS_PREFIX Prepend BASE_ASTAKOS_PROXY_PATH with BASE_PATH by default
pithos: initialize prefixes from service catalog
service catalogs: autofill endpoints from BASE_URL
pithos: add service-export-pithos command
make synnefo URLs consistent and configurable
https://service.deployment.vendor.tld/service-base/api-prefix/hard/path |___________________________________| |__________| |________| |_______| BASE_HOST BASE_PATH PREFIX Hardcoded...
docs: Update list of pithos commands
Also list in a separate section the pithos-manage-accounts commands
Catch QuotaLimit exception when reconciling resources
This can happen, if the actual usage registered by a service exceedsthe quota limit.Advise the user to try the --force option.
pithos: fix tests
Change erroneous import
Use custom method for joining urls
Implement 'join_urls' method for joining a base URL with a path,without worrying about redundant or missing "/". Do not use'urlparse.urljoin', since it has different semantics.
pithos: use common proxy functionality for astakos services
Remove pithos.api.delegate moduleKeep top level api urls for this version
pithos: change resource usage retrieval
Replace ``astakosclient.get_info()`` with ``astakosclient.get_quotas()``
astakos: WIP move all api calls under ``/astakos/api``
Refs: #3340
pithos: use AstakosClient to delegate user services to astakos
pithos, cyclades: Name reconciling commissions
Use commission name "RECONCILE" to distinguish such operationsin the quotaholder provision log.
pithos: Change reconcile-resources-pithos command
in order to conform with the respective Cycladescommand
pithos: Define and export resources in json format
Provide management command resource-export-pithos.
pithos: Add name in reconciling commission
Merge branch 'feature-quotas-pithos' into feature-quotas
Conflicts: snf-cyclades-app/synnefo/plankton/backend.py snf-pithos-app/README snf-pithos-app/pithos/api/util.py
pithos: Update merged code
pithos: Update pithos management commands
Refs: #3625
pithos: manage_accounts support for both sqlalchemy and sqlite
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
snf-pithos-app: Use astakosclient
pithos: remove redundant settings
Remove 'PITHOS_USER_CATALOG_URL' and 'PITHOS_USER_FEEDBACK_URL' and'PITHOS_USER_LOGIN_URL' settings, since all of them can be derived from'ASTAKOS_URL' setting.
PEP8 style fixes
pithos: Change default container quota policy
Set PITHOS_BACKEND_CONTAINER_QUOTA to 0(to disable by default the container quota check)instead of setting to something big
Refs: #3543
pithos dispatcher: change erroneous import
Change pithos default container policy quota to unlimited
pithos: Change conflict handling in object write
Pithos in case of missing blocks during smart object write(using hashmap) used to raise an api fault with payloadthe list with the missing blocks serialized in json format.
However, the common api_method decorator in case of api fault...
Fix API decorator response Content-Type
Remove check for response Content-Type, since 'django.http.HttpResponse'has always a default Content-Type of 'text/html; charset=utf-8'. Viewsdefining their response 'Content-Type' should set the'override_serialization' attribute of response to 'True'.
pithos: optionally fix unresolved commissions
provide --fix option for the pithos-reconcile-commissions command
Refs: #3594
Fix pithos-usage command help
Refs: #3591
Update pithos-usage command to list/reset diverging quotas
Fix pithos-reconcile-commissions command
Get pending commissions specifically for pithos
Provide a pithos-reconcile-commissions command
Make 'api_method' to take astakos_url as argument
Add ASTAKOS_URL to pithos.api.settings
Improve settings related to ASTAKOS url
Rename 'PITHOS_AUTHENTICATION_URL' setting to 'ASTAKOS_URL'. Also remove'PITHOS_AUTHENTICATION_USERS' from docs (it was removed from code incommit 8df4fae).
Modify 'ASTAKOS_URL' to point to the node hosting the Astakos service...
Improve pithos-usage command performance
Merge branch 'feature-snf-django' into develop
Conflicts: docs/older/Changelog.pithos-app snf-astakos-app/astakos/im/api/__init__.py snf-pithos-app/pithos/api/util.py
Deactivate pithos md5 update by default
Refs: #3554
Make pithos backend pool size configurable
Refs: #3561
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
Move parsedate module to snf_django
Add ASTAKOS_URL setting to PITHOS
Common 'api_method' decorator, needs the ASTAKOS_URL setting toauthenticate with Astakos. Create this setting for Pithos basedon PITHOS_AUTHENTICATION_URL.
Remove PITHOS_AUTHENTICATION_USERS setting
Remove this setting as it introduces unnecessary complexity. Also,it will need to be supported by snf-astakos-client. If needed bytests to bypass communication with astakos, a mocking library shouldbe used.
Use common 'api_method' decorator in pithos api
Add fault.xml template to pithos and astakos
Move cloud faults to 'snf_django.lib.api.faults'
Gather all faults from all synnefo projects into common'snf_django.lib.api.faults'.
minor refactor object_list for clarity
Change pithos api public object handling
Expose public URL information only to the object owners.
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.
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)...
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
Integrate Pithos usage listing and reseting,globally and per-user.
Refs: #3309
Substitute pithos-reset-usage withpithos-usage management commandand extend it to list also account usage.
Fix pithos get object metadata response headers
X-Object-Modified-By header was accidentallyeliminated in the response
Remove pithos logger from pithos settings
Loggers for all synnefo components should be configured insnf-webproject setting file '10-snf-webproject-logging.conf'.
Clear pithos InternalServerError response
Do not include in the InternalServerError responsethe actual error.
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 and better document quota export/import
Rename synnefo.local -> example.synnefo.org
As determined by a spontaneous committee, based on
- .local is used
- 'example' strongly hints to configuration action
- synnefo.org is under control.
Bug fixing
cleanup astakos settings
cleanup pithos settings
Explicitly enabled/disable pithos quotaholder component
Use PITHOS_USE_QUOTAHOLDER setting