astakos: Add resource visibility flags
Rename flag `allow_in_projects' to `ui_visible'. Add flag `api_visible'.The former entails the latter.
astakos: Restrict resource access in API
Make available in the API only resources with api_visible=True.
cyclades: Export Astakos detailed stats from API
Add new 'astakos_admin' service to export basic statistics about Astakosservice. The stats are exported via the '/admin/stats/detail' API endpoint.Access to this view is only allowed to the users that belong to specific...
astakos: Speed up POST /tokens
Prefetch endpoint entries to avoid multiple queries.
astakos: Remove call GET /authenticate
Use POST /tokens to authenticate. Delete AstakosClient.get_user_info()and replace its uses by AstakosClient.authenticate().
astakos: Move astakos_services from astakosclient
Move astakos_services from astakosclient to astakos.api.services.
astakos: Remove custom commit_on_success decorator
Prior to 1.3, django wouldn't set the transaction dirty upon a DBexception and thus wouldn't trigger a rollback, resulting in a danglingaborted DB exception. See https://code.djangoproject.com/ticket/9964...
Request Django=>1.4, <1.5
Drop support for Django 1.2. Remove compatibility code that were used inorder to support Django 1.2 and 1.4. Finally update django documentationlink in the docs.
wheezy: Rename depricated HttpRequest attribute
From django docs:""" HttpRequest.raw_post_data renamed to HttpRequest.body
This attribute was confusingly named HttpRequest.raw_post_data, but itactually provided the body of the HTTP request. It’s been renamed to...
Merge branch 'hotfix-0.14.8' into develop
Merge hotfix-0.14.8 which ports Synnefo to wheezy and Django 1.4.5
Conflicts: ci/ci_squeeze.conf ci/ci_wheezy.conf ci/schemas/one_node_squeeze/packages.conf ci/schemas/one_node_squeeze/squeeze.conf ci/schemas/one_node_squeeze/wheezy.conf...
Revert "wheezy: Rename depricated HttpRequest attribute"
This reverts commit cfc4b87c301504627e6a75ab2e4d32c8cd7a6e15. Thiscommit is reverted because it breaks compatibility with Django 1.2. Thisshould be applied for Synnefo 0.15.
wheezy: urls module doesn't export defaults
astakos: Force a members limit in project applications
astakos: Restrict project naming in API call
Use the same regex as in the UI, which matches domain-name-like strings.
astakos: Describe and implement API for projects
astakos: Fix some issues pointed out by pyflakes
astakos: Catch unexpected request body in user_catalogs
The request expects a json formatted dictionary.Raise 400 (BadRequest) otherwise.
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...
astakos: Use api_method_not_allowed in quota API
astakos: Add region value in POST /tokens
Add hardcoded 'default' value in region attribute.
Refs #4086
astakos: Change default region value in POST /tokens
Refs: 4086
astakos: Rename Region to region
astakos: Return default region in POST /tokens
Update api call to return a default region for compatibilitywith the keystone api.
astakos: pep8 fixes
astakos: allow empty tenantName in POST /tokens
astakos: slight change in POST /tokens
tenantName is options in the request input.Howver, if it is provided, the call should check whetherit conforms with the token holder.
Ensure we return cloud faults under any API prefix
Return the web login url also in the custom ``SNF:webloginURL``attribute
pithos: change POST /tokens
move SNF:uiURL under each endpoint
astakos: fix POST /tokens in case of missing content length
Catch this case and reply with the non authentication protectedinformation (public mode)
astakos: change authenticate keystone api call
If no request body is provided (no request content length),the response returns only non authentication protected information(before it used to return BadRequest)
astakos: Set tokens api endpoint name in urls
in order to be able to use django reverse mechanism to resolve the endpointpath.
astakos: Prepend version to service/user_catalogs URL
astakos: Move all api urls under v1.0
feedback/user_catalogs/autenticate endpoints moved under /v1.0/ prefix
astakos: correct keystone version v2.0
astakos: add version v1.0 in account API URLs
astakos: remove get_endpoints keystone api call
astakos: modifications in authenticate keystone api call
Merge remote branch 'origin/feature-services-endpoints' into feature-reconfigure-urls
astakos: put keystone API in a separate prefix
astakos: Lift old-style services to components
Add model Component and migrate services along with their tokenand UI URL to this new model. Rename service to component whereneeded.
Add field service_type in Resource and fill it based on the nameof the service that used to own the resource.
astakos: Import new-style services and resources
astakos: modifications in POST /tokens (authenticate) api call
astakos: provide authenticate keystone token api call
snf-django-lib: Fix proxy issue
The ``X-Forwarded-Host`` header should not be forwared to the targetbecause django appends its value to the Host header andresults in validate_host() failure.
astakos: Handle datetime in API json response
Automatically convert a datetime to string using isoformat fromsnf_django.lib.api.utils
astakos: provide get_endpoints api call
astakos: move get_services back to astakos im services
astakos: Strengthen authentication in user_from_token
All user-related API calls make use of this decorator to authenticatethe user. Previously it used to check only for the existence of the token;now it makes all checks previously found in the `authenticate' API call....
astakos: move get_menu service under astakos im services
get_menu is used only by astakos cloudbar:it should not be under astakos api services
astakos: unified settings handling
Import astakos settings module instead of importing specific settings
astakos: Remove some unused imports
Also add a missing import in quotas.py
astakos: check that request.user is a 'User'
Update astakos 'get_menu' API method, to check if request.user is aninstance of django User model. This view function called by astakoscontext processor. However, if astakos and helpdesk are installedtogether, the request.user will not hold an AnonymousUser, but a...
astakos: change authenticate api call
``/astakos/api/authenticate`` calldoes not include any more resource usage in the reply.(``usage`` request parameter has become obsolete)The services in order to get the resource usage should call``/astakos/api/quotas`` instead.
astakos: Fix call to util function send_feedback
astakos: include resource presentation info in authenticate response
If option parameter ``usage`` is passed then the response shouldcontain also the resource presentation information(as it used to be in the past)
astakos: remove astakos.im.api module
Replace all AstakosCallpoint references
astakos: remove user argument from the api methods
User request.user field (set by user_for_token decorator)
astakos: WIP move all api calls under ``/astakos/api``
Refs: #3340
astakos: Change user_for_token decorator
user_for_token after successful user authenticationsets the request user attributeThe wrapped methods no more need the ``user`` argument:they can get the token holder by the request object
astakos: rename api utility methods
astakos: fix user api utility calls
astakos: Proper string type check
using basestring also handles unicode objects
Revert quotaholder's name to quotaholder_app
In order to facilitate migrations.
astakos: Set and return commission names in API calls
Support issue_commission's `name' parameter for an optional descriptionof the commission. Include this field in the dict returned byget_commission.
Change astakosclient accordingly.
astakos: Correct qh call to auto accept commissions
astakos: Further validate input in quota API calls
astakos: Validate input of quota-related API calls
astakos: Rename get_service_quotas to service_get_quotas
So that it follows the naming scheme of other astakosclient calls.
quotaholder: Change provisions argument to list
It is the API code's task to transform the input dict to list.
Turn callpoint into a module of functions
Class structure is no more needed; there is no need for initialization,since the code is used internally.
astakos: Move get_resources in resources.py
Update astakos usage view
Update view to use the introduced astakos quotas api.
astakos: Add user parameter in service_quotas API call
Using this parameter, the service can query the quotas of a specificuser.
Move transaction.py to snf_django package
New call astakos/api/service_quotas
Returns quotas for all resources associated with the service that makesthe call.
quotaholder: Unify accept and reject commission code
Incorporate accept/reject functions in resolve_pending_commissions,in order to enforce a total ordering on locking holdings.Add a wrapper (resolve_pending_commission) that operates on a singleserial.
Merge branch 'develop' into feature-quotas
Conflicts: snf-astakos-app/astakos/im/api/service.py snf-quotaholder-app/quotaholder_django/quotaholder_app/callpoint.py
Remove client_key parameter from quotas API
It is not necessary, since the service token in used for authorization.The api_method decorator is modified so that it passes to the methodthe service data through the request object.
API call for resources
API calls for quotas and commissions