History | View | Annotate | Download (11.3 kB)
Update Copyright for project-related changes
Update Copyright for files merged into develop in 2014 concerning the newprojects mechanism.
Replace set_path with defaultdict in quota handling
astakos: A bit of refactoring of projects views
- Update project views to work with the updated projects logic- Use api.projects methods when applicable- Common project view decorator- Common view for app/project details
astakos: Get service related project quota
Add API call for a service to request the project quota for its ownresources.
astakos: Sync project-based quota
Update quota code to take into account the differentiated sources.There is no more need to lock the user when updating quota; lockingthe project is now adequate.
Update quota listing in management commands; introduce option --quota in...
astakos: Improve printing in quota-verify
Also add option to delete project and user holdings that do not correspondto actual astakos entities.
astakos: Disable setting user base quota
Remove functionality from management commands `quota' and `user-modify'for setting base quota. They will now be handled through projects.
astakos: Adapt to new project/app scheme
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: Make limits possibly infinite
Register new resources with unlimited 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: 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.
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: Handle quota for accepted users
A user is accepted if moderated=True and is_rejected=False. Onlyaccepted users have entries in the quotaholder.
astakos: Remove custom ForUpdateManager
Remove custom manager that implemented select_for_update(), since thisis already implemented in Django 1.4.
astakos: Handle quota for moderated users only
At some points, verified users where mistakenly assumed.
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: Record the service originating a resource
Add field service_origin in model Resource as well as in theresource definitions, indicating the service where the resourcecomes from. It is not a foreign key, in order to allow deletinga component/service, without affecting registered resources and...
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: Remove some unused imports
Also add a missing import in quotas.py
astakos: Lock chain for projects, user for syncing
Lock project's chain for every operation affecting either a project oran application. Subsequently, lock user when needing to sync or to issuecommission to update pending_app quota.
In views, replace locking qh_add_pending_app with check_pending_app_quota,...
astakos: Let qh errors through when issuing commission
When registering pending apps, catch only NoCapacityError. No otherQuotaholderError is expected and should not be treated here.
astakos: Force query eval when used in __in filter
Related to commit aee9a38
Also fix call of qh_sync_users in migration script.
astakos: Improve quota syncing
- Split code that lists and syncs quotas - Merge the latter with qh_sync_users - Move qh_sync_projects in quotas.py; sync only active members - Add missing select for update in project suspend - Clean up quotas.py
astakos: Return empty dict when no user quotas found
astakos: Remove command user-set-initial-quota
To change base quota for a specified user: snf-manage user-modify user --set-base-quota resource limit
To import base quota in batch from a file: snf-manage astakos-quota --import-base-quota filename
Rename `initial' to `base quota' in command output....
astakos: accept commission immediately after issue
Unify these operations when registering a pending application,in order to make sure no commission can be left pending.
Revert quotaholder's name to quotaholder_app
In order to facilitate migrations.
quotaholder: Rename counters to usage_min, usage_max
quotaholder: Impose non-null commission name
Default to empty string
astakos: Rename get_service_quotas to service_get_quotas
So that it follows the naming scheme of other astakosclient calls.
Handle max pending applications as a quotable resource
Assume a resource `astakos.pending_app' related to service `astakos'.On submitting an application, issue a commission that will update therelated counter if possible, and accept the commission on success....
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: Reintroduce foreign key from Resource to Service
Also merge all migrations from 0026 to 0032.
astakos: Move helper function from qh to quotas.py
astakos: Move get_resources in resources.py
Rename users_quotas to astakos_users_quotas
astakos: Move quota syncing code in quotas.py
astakos: Decouple listing from syncing quotas code
Respect user-specific quota when changing resource default
Do not update holding limit if there exist user-specific base quotafor the particular resource.
astakos: Change response for API call `quotas'
The following indicators are returned for each holding:"limit": the quota limit (as before)"usage": the current usage (pessimistically, includes any pending allocations)"pending": the difference of max and min allocation, indicates...
astakos: Add user parameter in service_quotas API call
Using this parameter, the service can query the quotas of a specificuser.
astakos: Handle source correctly in initial_quotas
Sync quotas efficiently when importing resources
When changing the default base quota (uplimit) for a preexisting resource,do a bulk update of the related holdings.When importing a new resource, create the new related holdings.
Prompt the admin for the uplimit in the management command, if a config...
New call astakos/api/service_quotas
Returns quotas for all resources associated with the service that makesthe call.
API call for resources
New quota functions in astakos
Handle quotas as nested dictionaries indexed by:user uuid, source, resource name
Move quota-related code out of models.py
Intention is to collect all quota-related code to a single file.