quotaholder: Revert holding deletion
Revert deletion of holdings for non accepted users, introduced in cfc934f.
astakos: List quota for accepted users only
Don't attempt to show quota for non-accepted users, since they don't haveany.
astakos oa2: Handle failures due to too long redirect urls
Change database field to TextField in order to avoid restrictions on theredirect url lengthsUpdate tests
This fix introduces a database migration of the oa2 app
Refs: #4804
astakos: fix tests after verbal message changes
astakos: 'activation' -> 'verification'
Change all Astakos messages to reflect the new sign up procedure:
astakos: Update astakos tests
astakos: Handle third party unverified user change password form submition
astakos: Update snf-manage oauth2-client-list command
Remove the name field
astakos: Improved email validator
Custom EmailValidator class backported from django 1.6
astakos: Existing third party identifier handling in signup
remove both existing third party authentication and unverified user entrieswhen the third party identifier gets used.
astakos: Prerender password input value in profile form
astakos: Improve invalid activation code handling
display error message instead of returning a 404 response
astakos: Auth provider presentation fix
prevent encoding errors
astakos: Fix view requests for objects whose name contains /
Astakos erroneously made assumptions about the requested redirect_uri format.This is not anyway desirable and it was also responsible for view failuresunder certain circumstances.This fix implements a clearer check for the requested redirect_uri without...
quotaholder: Delete holdings of non-accepted users
Users would previously acquire quotas on email verification; this is nowdone on user acceptance. We delete holdings for non-moderated and forrejected users.
astakos: style fix for sortable tables thead
astakos: More logging fixes
astakos: Fix logging issue
pithos: Fix view issue with unicode paths
astakos: Fix POST /tokens (authenticate) api call
The call should return a string value for the user role id.
astakos: Hide empty project list in view
astakos oa2: Use common test code to make a user
astakos: Set initial signup values if available
prefill third party signup form with initial values (first name, last name,email) if available in the third party provider response.
Conflicts:
snf-astakos-app/astakos/im/views/target/shibboleth.py
astakos: Shibboleth EPPN migration functionality
Prior to this commit astakos used the mod_shib2 EPPN header value as theunique identifier for associating shibboleth idp users to astakos user entries.
This commit alters this behaviour and from now on astakos resloves unique...
astakos: Log shibboleth exception and merge fixes
snf_ci: Add oa2 app tests
astakos: Fix test
docs: Update Changelog, upgrade notes and guides
astakos oa2: Add copyright notes
astakos: Fix oauth2-client-delete command
Delete related authorization codes and tokens before deleting the client
astakos oa2: Add access_token field
Distinguise offline and online token use
astakos: Revoke access granted to resource
astakos oa2: rename settings and url prefixes
Change setting and url prefixes from `oa2` to`oauth2`
astakos: Minor improvements in validate token api call
Add tests for validate access token endpoint
astakos: Additional tests for validating access token
astakos: Configure oa2 app
astakos: Minor changes in oa2 app
astakos: Provide additional tests for oa2 app
astakos: oa2 app
astakos: Extend oa2 app
astakos: Introduce CRUD management commands for oa2 clients
astakos: Initiate (south) db migrations for oa2 app
astakos: Introduce api call for validating a temporary oa2 token
snf_django: Change error status code if request method is not valid
Return 405 (NotAllowed) instead of 400 (BadRequest)Add Allow header in the response containing the list of valid methods
astakos: Ensure computed result gets returned
Relying on cache.get is not always safe
Add some missing Copyright notices
Also add 2013 in package COPYRIGHT files.
astakos: Cache endpoints in POST /tokens
Since endpoints are rarely altered, we speed up POST /tokens by cachingthem.
astakos: Cache visible resources in GET /quotas
Speed up GET /quotas by caching the list of API visible resources.For consistency, apply the cache in GET /resources, too.
quotaholder: Reuse holding IDs in set_quota
For efficiency reasons, commit 20c6de3 deletes and recreates holdingsinstead of updating them one by one. In order not to exhaust the IDs, wereuse the deleted ones.
astakos: Associate only accepted users with projects
Allow project enrollment and ownership only for users that are accepted,not just email_verified.
Also change base quota only for accepted users.
astakos: Refactor user creation
Provide auth.make_user() as the single way to create a new user. Thisfunction is responsible to set all automatically generated fields, such asusername, uuid, and token. Clean up AstakosUser.save(), that used toupdate these fields, and remove AstakosUser.__init__(). Remove trigger...
astakos: Make user uuid field non-null
Set a uuid to any user missing one and set the field null=False.
astakos: Lock user in im views
Make sure that views modifying users run in a transaction and lock usersbefore updating.
astakos: Reset user sign flags when adding new terms
When new terms are added, set has_signed_terms=False for all users, forcingthem to accept the new terms. If there are no terms, a new user is createdwith has_signed_terms=True.
With this change we can skip querying the terms when authenticating a user,...
astakos: Use TestCase instead of TransactionTestCase
We need to be sure that code runs in a transaction (provided by TestCase).If we need in some case to test the transactional behavior itself,we could there use TransactionTestCase.
astakos: Remove unused user creation forms
InvitedLocalUserCreationForm, InvitedThirdPartyUserCreationForm,ShibbolethUserCreationForm, and InvitedShibbolethUserCreationFormwere not used.
astakos: Correct realname splitting
If a realname splits in more than two parts, store the whole valueas last_name. Also use the util function rather than initializinga temporary AstakosUser, where needed.
astakos: Remove stack traceback
astakos: Preserve visibility flags on register
When re-registering an existing resource, do not override the visibilityflags. They may have been modified by the administrator.
Also fix field naming in resource-list.
astakos: Enhance quota listing
Enable filtering quota by resource, over limit status, usage andlimit values.
astakos: Modify base quota in bulk
Add option `--all' in command user-modify to support setting base quotafor all users. Exceptions can be specified with `--exclude'.
Also select user for update in user-modify.
astakos: Speed up setting quota for one resource
When registering a new resource or updating base quota for a singleresource, compute and set holdings just for this resource.
astakos: Speed up computing initial_quota
Restructure code to avoid an extra join and dict manipulations.
astakos: Revert moderation of non-verified users
Migration 0031 accepted users to whom activation email had been sent, evenif their email had not been verified. This is an inconsistent state. Weset moderated = False for inactive users. If there are any active users in...
astakos: Make limits possibly infinite
Register new resources with unlimited quota.
astakos: Rename --limit to --default-quota
Use a more descriptive name for this resource-modify option. Also changeresource-list column `limit' to `default_quota'.
astakos: Preserve existing quota on default change
View the resource defaults as a skeleton to be consulted when acceptinga new user. All users keep their quota in AstakosUserQuota.
Operate resource-modify in bulk, in order to avoiding updating thequotaholder separately for each resource.
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.
astakos: Split quota commands
Introduce quota-list and quota-verify.
Remove resource import/export commands
They have been subsumed by the respective service import/export commands.
astakos: Avoid multiple user lookups in quota sync
Also, remove unneeded param of astakos_users_quotas.
quotaholder: Speed up set_quota with bulk_create
Instead of updating every single holding, delete all after loading them,then reinsert them updated with bulk_create.
astakos: Recompute quota when updating a resource
Avoid stateful update of holdings when a resource limit changes; ratherrecompute and set all affected users' quota.
astakos: Replace decimal field with bigint
Any values that happen to be greater than the new max (2**63-1)are reduced to this value.
astakos: pep8 fixes
astakos: Include astakos_admin in helper script
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: Command to export Astakos statistics
Add new 'snf-manage stats-astakos' management command to export basicstatistics about Astakos, like number of total, active and verified users perauthentication mechanism, together with resource usage for each resource. The...
Rename 'cpu' and 'ram' resources
Rename CPU and RAM relative resources to avoid data migrations.Specifically, the resources that are renamed are the following:
astakos: Speed up POST /tokens
Prefetch endpoint entries to avoid multiple queries.
Merge branch 'feature-cyclades-networks' into develop
Conflicts: snf-cyclades-app/synnefo/api/management/commands/server-inspect.py snf-cyclades-app/synnefo/app_settings/urls.py snf-cyclades-app/synnefo/logic/backend.py snf-cyclades-app/synnefo/logic/backend_allocator.py...
astakos: Fix user status in project test
Set users as moderated, so that they have proper quota.
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...
astakos: Fix logging issues
astakos: Relax checks in resource registration
Allow registering a resource for a different service, if it originatesfrom the same component.
astakos: Update resource definitions in script
astakos: Add presentational data for new resources
Define how resources cyclades.active_ram, cyclades.active_cpu, andcyclades.floating_ip will be viewed on Usage and project creation pages.
astakos: Fix resource_catalog cleanup
Do not use list index for deleting list elements; it is unstable.
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: Consider no base url in service register
Check whether component's base_url is None before assuming a string.
astakos: Fix system setup in stress test
astakos: Activation view improvements
Reject empty activation code requests
astakos: Add missing save in reject_user
astakos: Handle quota for accepted users
A user is accepted if moderated=True and is_rejected=False. Onlyaccepted users have entries in the quotaholder.
astakos: Update project-list help text
Cleanup project status description in management command project-list.
astakos: Use bulk_create in migrations
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...