astakos: Support changing resource's allow_in_projects
astakos: Support units in resource-related commands
Add library synnefo.util.units for parsing numerical valueswith an optional unit suffix and printing integer values basedon a given style.
Styles `b', `kb', `mb', etc allow printing in the respective multiples...
astakos: unified settings handling
Import astakos settings module instead of importing specific settings
astakos: Include project membership info in commands
`user-show --projects': Memberships and ownerships for a given user in separate tables `project-show --members': Members of the given project
astakos: Improve output of quota commands
astakos: Filter project listing by name or owner
Use a custom way to retrieve and filter project data; ListCommand isnot suitable when multiple tables must be consulted.
astakos: service-remove change to accept service id
instead of name
astakos: Add AstakosUser status_display property
the property provides a status outline of the current user status.
astakos: Remove code handling UserSetting
Keep UserSetting model; to be removed in a future version.
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: do not catch send mail errors
The user should not be informed if for any reasonthe server can not send an email.
Revert "astakos: fix send mail error handling"
This reverts commit 903ce7dccb44db3d3e5fd280a7683747dfa37d7f.
astakos: fix send mail error handling
Restore SendMailError, ChangeEmailError and SendFeedbackError exceptions(deleted by previous commit) since they are still used.
astakos: Clean up user-list filter options
removed deprecated options `-p` and `-n`. Admins should use`--pending-moderation` and `--pending-verification` instead.
astakos: Allow admin to verify user from command line
using the new option `--verify` added in `user-modify` command
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.
astakos: Do not show obsolete user settings
Also fix printing user quota.
astakos: User activation flow improvements
Major refactoring on user email verification/activation process---------------------------------------------------------------Activation logic moved from dispersed code in functions/view modules toActivationBackend methods. All user activation handling code in astakos views...
astakos: Remove obsolete keyword argument ctx
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: Remove two options from resource-import
--service: We do not support automatic importing of resources--conf: Use resource-modify to configure resource limit
astakos: Rename astakos-quota command to quota
Also replace `quotas' with `quota' in strings and command line options.
astakos: Return resource object upon creation
astakos: Indent json output of resource export
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: remove obsolete code
astakos: List quotas in user-show with `--quotas'
Refs #3530
Use the same utility function as astakos-quota. Update the latterto a SynnefoCommand.
astakos: remove astakos.im.api module
Replace all AstakosCallpoint references
astakos: Visually separate apps in project-show
astakos: Remove unneeded import of a constant
astakos: Control exposing resources in projects
Add attribute `allow_in_projects' in Resource model (True by default).Set this flag for astakos.pending_app to False in the descriptionof astakos resources.
astakos: Reconcile resources
Sync number of pending applications to quotaholder.
Merge branch 'feature-change-astakos-commands' into feature-quotas
Conflicts: snf-astakos-app/astakos/im/management/commands/resource-list.py snf-astakos-app/astakos/im/management/commands/service-list.py snf-astakos-app/astakos/im/management/commands/service-modify.py...
astakos: Separate importing resources from setting limits
`snf-manage resource-import' does not provide a way to change thedefault base quota any more. When importing a resource for the firsttime, it sets the limit to zero.
Use `snf-manage resource-modify' to change limits. It supports both...
astakos: Define and export local resources
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....
astakos: Use `with' to open file in management command
astakos: Sync users when importing base quotas from file
astakos: Standardize arguments of project calls
All calls take a request_user (of type AstakosUser) argument.
Rename users_quotas to astakos_users_quotas
astakos: Move quota syncing code in quotas.py
astakos: Decouple listing from syncing quotas code
Sync user after changing base quota
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...
Store service access url in database
Move transaction.py to snf_django package
astakos: Remove obsolete fields of AstakosUserQuota
Remove quantity, import_limit, export_limit.Update user-set-initial-quota management command.
Move resource data away from astakos settings
UI-related presentation data go to presentation.py.Remove load_service_resources call and related astakos-initmanagement command.
Import resources from definition and config files
Register a service's resources giving option --json <file>.The json file is expected to represent a dictionary with keys"service" and "resources".
Currently the default base quota (uplimit) for each resource is read...
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...
Remove resource/service model dependencies
- Remove foreign key dependency between Service/Resource model. Replace it with a service CharField to keep track of the service identifier that the resource was registered from.- Remove all references to resource service name in resource lookups
Update resource-list management command
Modify resource limit from the command line
Services api/presentation logic cleanup
- Remove presentation information from Service model (order, icon)- To access the list of services filled with both presentation and api data use Service.catalog(). The method fills a dict with service identifiers and service metadata through the following steps...
astakos: update service-add and service-list
Make astakos-quota robust on missing base quotas
Merge branch 'develop' into feature-quotas
Conflicts: snf-astakos-app/astakos/im/api/service.py snf-quotaholder-app/quotaholder_django/quotaholder_app/callpoint.py
Merge branch 'release-0.13' into develop
Conflicts: snf-astakos-app/astakos/im/messages.py
Minor changes in astakos commands
Update astakos user-modify command
Permit also to lookup user using the UUID
Update astakos listing commands
Refs: #3346
Make pending project options more descriptive
Change astakos listing commands
Listing commands extend`synnefo.webproject.management.commands.ListCommand`
Delete service-token-renew command
This command is equivalent to`service-modiy --renew-token`
Change service-modify command option names
Change `--renew-auth-token` option to`--renew-token` and `--auth-token` to`--token` to conform the respective optionsof user-modify command
Change astakos show commands
Adjust astakos to new holding design
Simplifications due to removal of quantity and merging capacity into holding.Also make sure that holders and resources are represented as strings inquotaholder calls.
Compute and show quotas by source
Adjust astakos code to the new nested dict structure of quotas.
Move quota-related code out of models.py
Intention is to collect all quota-related code to a single file.
wip Update astakos.im to use local quotaholder
Import directly quotaholder.callpoint in endpoint/qh.pyinstead of an HTTP client.Remove code related to entities, such as registering users and services.Remove sync_projects logic.
wip Update astakos.im to simplified quotaholder policy
wip Restructure astakos views
Replace custom transaction context with:
- decorator `commit_on_success_strict', which uses transaction.commit_manually and ensures that the transaction rolls back on any exception
- context ExceptionHandler, which logs and...
Execute astakos-init and user-update in a transaction
Rename astakos modification commands
Rename to conform with the rest synnefomodification commands
Conflicts: snf-astakos-app/astakos/im/messages.py snf-astakos-app/astakos/im/views.py version
Merge branch 'tmp-common-email-recipients' into develop
Fix user-set-initial-quota command
Do not display unnecessary message:"Please use either `--from-file' or `--set-capacity' options" while importing quotas from file.
Preserve owner info when modifying project
An admin can modify a project, i.e. create an application based ona previous application. We distinguish the initial applicant, calledthe `owner', from the user who submitted the current application,called the `applicant'....
Merge branch 'release-0.13' into feature-astakos-authpolicies
Specify reason when denying project application
Add field `response' in ProjectApplication model.Add option `-m' in project-control command.
Refs #3493
Change helper function to allow multiple arguments
Change output of astakos-quota --sync
Inform specifically which users, if any, have been synced, instead oflisting the whole diff. The latter can be recovered by giving theoption --verify.
Authentication providers improvements
Major authentication provider refactoring to support
- Modular and easily configurable messages with common context- Fine grained provider policies to support appling specific policies to users and/or groups
Key points:...
Inform user we are working in the background
Print a message about astakos-quota calculating all user quotas,which on a big system takes some time.
astakos-quota: allow syncing with --user
Add 'default' capacity to user-set-initial-quota
pep8 fixes
List quotas for a specified user
Refs #3389
Rename option --force to --no-confirm for clarity
Set initial user quota from the command line
Refs #3373
Add option --set-capacity in user-set-initial-quota that setsinitial quota for a specified user/resource pair.
Importing from a file requires option --from-file.
Add display options in user-list
Refs #3374
Add options --uuid, --displayname, --active, and --filter-by.filter_results() is copied locally to avoid importing from cyclades.
Improve performance of user-list
Prefetch auth providers for all users and store themin a per-user dictionary.
fix and better document quota export/import
Fix some messages
Add per-user limit on pending applications
Add UserSettings model for storing integer-valued settings.If an entry is missing, a default synnefo setting is consulted.
The limit can be set/unset with snf-manage user-update.
Display name of terminated projects
Unify and rename project management commands
Reorder fields in user-show
pep8 improvements
Encode unicode strings in str