diff --git a/docs/upgrade/upgrade-0.16.rst b/docs/upgrade/upgrade-0.16.rst index aca08bfa78c77c2e6a4e7267101d9ea04cc7582a..2fa23ab1d54c12905c09ec39d706d4ebacf431bd 100644 --- a/docs/upgrade/upgrade-0.16.rst +++ b/docs/upgrade/upgrade-0.16.rst @@ -11,7 +11,7 @@ The upgrade to v0.16 consists in the following steps: 2. Upgrade packages, migrate the databases and configure settings. -3. __placeholder__ +3. Inspect and adjust resource limits. 4. Bring up all services. @@ -108,9 +108,56 @@ The upgrade to v0.16 consists in the following steps: pithos-host$ pithos-migrate upgrade head -3. __placeholder__ -================== +3. Inspect and adjust resource limits +===================================== +Synnefo 0.16 brings significant changes at the project mechanism. Projects +are now viewed as a source of finite resources, instead of a means to +accumulate quota. They are the single source of resources, and quota are now +managed at a project/member level. + +System-provided base quota are now handled through special purpose +user-specific *base projects*, identified with the same UUID as the user. +These have been created during the database migration process. They are +included in the project listing with:: + + snf-manage project-list --base-projects + +All projects must specify quota limits for all registered resources. Default +values have been set for all resources, listed with:: + + astakos-host$ snf-manage resource-list + +Column `base_default` (previously known as `default_quota`) provides the +skeleton for the quota limits of user-specific base projects. Column +`project_default` is new and acts as skeleton for `applied` (non-base) +projects (i.e., for resources not specified in a project application). +Project defaults have been initialized during migration based on the base +default values: they have been set to `inf` if `base_default` is also `inf`, +otherwise set to zero. + +This default, affecting all future projects, can be modified with:: + + astakos-host$ snf-manage resource-modify <name> --project-default <value> + +Till now a project definition contained one quota limit per resource: the +maximum that a member can get from the project. A new limit is introduced: +the grand maximum a project can provide to its members. This new project +limit is initialized during migration as `max members * member limit` (if +`max members` is not set, the double of current active members is assumed). + +Existing projects can now be modified directly through the command line. In +order to change a project's resource limits, run:: + + astakos-host$ snf-manage project-modify <project_uuid> --limit <resource_name> <member_limit> <project_limit> + +With the new mechanism, when a new resource is allocated (e.g., a VM or a +Pithos container is created), it is also associated with a project besides +its owner. The migration process has associated existing resources with +their owner's base project. Note that users who had made use of projects to +increase their quota may end up overlimit on some resources of their base +projects and will need to *reassign* some of their reserved resources to +another project in order to overcome this restriction. 4. Bring all services up ========================