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: 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.
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
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:
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: 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: 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: pep8 fix
astakos: Remove custom ForUpdateManager
Remove custom manager that implemented select_for_update(), since thisis already implemented in Django 1.4.
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...
astakos: Separate templates in project creation
instead of including application form summary template in the application formview, render it from scratch. This resolves a bug caused when using django>1.2since block tags within the included templates are not supported....
astakos: Additional login form test
test empty POST dict form submition
astakos: Cache cleanup for recaptcha tests to work
astakos: user-modify command enhancements
New option ``--delete`` to permanently delete a user entry.New option ``--set-email`` to change user's email address.
astakos: Test ratelimit/recaptcha functionality
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.
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...
instead of including application form summary template in the application formview, render it from scratch. This resolves a bug caused when using django>1.2since block tags within the included templates are not supported.
astakos: Store arbitrary shibboleth headers
additionally to common shibboleth headers, append any arbitrary shibbolethheaders (SHIB_*) set from the IdP.
astakos: Correctly set user password in user-add
password field contains the user password in hashed format. The proper wayto populate the field is by using the set_password method of the user object.
astakos: Handle quota for moderated users only
At some points, verified users where mistakenly assumed.
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.
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...
astakos: Avoid spaces in field names
Rename fields in component-list management command so that they do notcontain spaces.
astakos: Fix service update
When registering a service that already exists, update its attributes.
astakos: Store base URL in component
Deployer should provide it when adding a new component. Service endpointsoriginating from a component are expected to match its base URL; otherwise,a warning is issued during service registration. Re-registration with...
astakos: Show component details
Introduce management command `component-show', which lists componentattributes, including a list with the related registered services.
Fix a python syntax error
In python 2 we cannot have keyword-only arguments (PEP 3102).And even if we could, this was not the right way todeclare a python function.
astakos: Replace commit_manually decorator
Replace commit_manually decorator with commit_on_success, since thefunctions that were using this decorator did not really needed it.
astakos: Fix `save() got unexpected argument'
From Django documentation:""" It’s also important that you pass through the arguments that can bepassed to the model method – that’s what the *args, **kwargs bit does.Django will, from time to time, extend the capabilities of built-in...
astakos: Don't use `user.__dict__'
In Django 1.4 the `request.user' returns a SimpleLazyObject insteadof a LazyUser. The equivalent of `user.__dict__' is now`user._wrapped.__dict__'. In order to be backward compatiblewe are requesting explicitely the attributes we want and not...
astakos: Fix project identification in test
Test was mistakenly using application id rather than project id insome occasions.
astakos: Fix quota API test
Sort list before comparing, since ordering in the response data isnot specified. Triggered when run with postgres.
wheezy: urls module doesn't export defaults
astakos: Remove duplicate project query
Enrolling a user in a project now returns 409 if the project doesnot exist, rather than 404.
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...
branding: new setting FOOTER_EXTRA_MESSAGE
FOOTER_EXTRA_MESSAGE setting appears above Copyright message at theCompute templates and the Dashboard UI. Accepts html tags.
astakos: fix verification message
The new registration process of Astakos allows to verify the newuser's email before actually activating the user:
1. User signs up providing an email2. A verification email is sent to the user (with verification link)...
astakos: Fix approval_terms view
Fix crash when request user is not logged in.Add tests
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: Style for resource:ip (Dashboard->Usage)
astakos: Correct padding auth methods headers
astakos: Disable pagination and ordering in project tables
Prepare the tables for client-side ordering.
astakos: project table client-side sorting
Client-side sorting and pagination for project-list tables
astakos: Fix enroll when already requested
Enrolling a user sets its membership state directly to ACCEPTED, alsoin case of REQUESTED.
astakos: Describe and implement API for projects
astakos: Simplify project schema
Applications now point to a project (rather than an extra model Chain).A Project is created upon submitting an application; it always points toa single `reference' application.
Model Chain is kept as a sequence to generate project ids.
astakos: Remove precursor_application field
Submit a project modification by specifying a project id rather thanan application
astakos: Change project membership schema
Replace ProjectMembershipHistory with ProjectMembershipLog, whichrecords every state transition. Never delete any ProjectMembershipentry; set it instead to an appropriate state.
astakos: Adapt UI to new project schema
Base tables on projects rather than applications; update templates.
astakos: Omit project_id in membership operations
Identify a membership by its id only.
astakos: Lock project rather than chain
astakos: Cleanup checks for membership actions
astakos: Set project-wise resource limit in new app
astakos: Return membership when joining project
astakos: Catch exceptions in submit app views
Ignore exceptions in custom _create_object and _update_object;let the views handle exceptions and specify commit strategy.
astakos: Raise project-specific exceptions on failure
Replace IOError and PermissionDenied with project-specific exceptions.
astakos: Define permission levels for project actions
astakos: Refactor membership checks for conciseness
astakos: Add log info in membership actions
Record user who performed the action and optional reason.
astakos: Adapt tests to the new project schema
astakos: Fix sqlite-related migration issues
As per 63bcab0, do not attempt to delete index when run on sqlite.
astakos: Improve logging for Projects and Applications
Introduce model ProjectLog as well as fields in ProjectApplicationin order to record all actions.
astakos: Lock globally when approving application
We need to make sure that the name to be approved is uniqueamong all non-terminated projects. We thus acquire a globallock before approving.
astakos: Allow re-activation of terminated projects
Define function `reinstate' to re-activate a terminated project. If itsname is taken by another active project, it fails.
astakos: Remove unused ExtendedManager
astakos: Use units common code in the UI
astakos: Fix some issues pointed out by pyflakes
astakos: Update the project stress test
astakos: Enhance project tables rendering
Prefetch data in bulk queries in order to avoid continuously queryingthe database.
Fix stale import statements
Commit 7cfc0ce moved code from webproject to snf_django. This commitfixes some stale imports that skipped renaming.
snf-django: Move ListCommand to snf-django
snf-webproject contained the generic ListCommand, and because of this ithad a dependency from snf-django-lib. This commit moves this command fromsnf-webproject to snf-django-lib and removes this dependency. Also,...