diff --git a/guides/common/assembly_limiting-host-resources.adoc b/guides/common/assembly_limiting-host-resources.adoc new file mode 100644 index 00000000000..4e690463ad3 --- /dev/null +++ b/guides/common/assembly_limiting-host-resources.adoc @@ -0,0 +1,19 @@ +include::modules/con_limiting-host-resources.adoc[] + +include::modules/proc_installing-the-resource-quota-plugin.adoc[leveloffset=+1] + +include::modules/con_managing-resource-quotas.adoc[leveloffset=+1] + +include::modules/proc_creating-a-resource-quota.adoc[leveloffset=+2] + +include::modules/proc_editing-a-resource-quota.adoc[leveloffset=+2] + +include::modules/proc_deleting-a-resource-quota.adoc[leveloffset=+2] + +include::modules/con_assigning-resource-quotas-to-users.adoc[leveloffset=+1] + +include::modules/proc_assigning-resource-quotas-to-a-user.adoc[leveloffset=+2] + +include::modules/proc_assigning-resource-quotas-to-a-user-group.adoc[leveloffset=+2] + +include::modules/ref_resource-quota-settings.adoc[leveloffset=+1] diff --git a/guides/common/modules/con_assigning-resource-quotas-to-users.adoc b/guides/common/modules/con_assigning-resource-quotas-to-users.adoc new file mode 100644 index 00000000000..7ea09259ee3 --- /dev/null +++ b/guides/common/modules/con_assigning-resource-quotas-to-users.adoc @@ -0,0 +1,9 @@ +[id="assigning-resource-quotas-to-users"] += Assigning resource quotas to users + +You can assign resource quotas to users or user groups. +A user can select one of their assigned resource quotas during host provisioning. +If `Resource Quota optional assignment` is set to *No*, a user does not have to assign a resource quota. +You can use the `resource_quota` filter in the {ProjectWebUI} to view users or user groups with assigned resource quotas. + +If you want to introduce resource quotas to your organization, set `Global Resource Quota no action` to *Yes* to allow users to provision hosts even if they exceed their resource quotas. diff --git a/guides/common/modules/con_limiting-host-resources.adoc b/guides/common/modules/con_limiting-host-resources.adoc new file mode 100644 index 00000000000..659a404814c --- /dev/null +++ b/guides/common/modules/con_limiting-host-resources.adoc @@ -0,0 +1,20 @@ +[id="limiting-host-resources"] += Limiting host resources + +You can use the Resource Quota plugin to limit users' access to host resources during host provisioning. + +In a typical usage scenario, {Project} manages multiple compute resources for multiple departments. +To share managed resources in a fair and predictable way, administrators can assign resource quotas to users and user groups. + +// ordered like shown in the WebUI +Supported resource types:: +* CPU cores +* Memory +* Disk space + +Supported compute resources:: +* VMware +* libvirt + +.Additional resources +* For more information, see xref:resource-quota-settings[]. diff --git a/guides/common/modules/con_managing-resource-quotas.adoc b/guides/common/modules/con_managing-resource-quotas.adoc new file mode 100644 index 00000000000..a59d1cb1dd1 --- /dev/null +++ b/guides/common/modules/con_managing-resource-quotas.adoc @@ -0,0 +1,5 @@ +[id="managing-resource-quotas"] += Managing resource quotas + +You can create, edit, and delete resource quotas in {ProjectWebUI}. +All resource quotas are listed on *Configure* > *Resource Quotas*. diff --git a/guides/common/modules/proc_assigning-resource-quotas-to-a-user-group.adoc b/guides/common/modules/proc_assigning-resource-quotas-to-a-user-group.adoc new file mode 100644 index 00000000000..34dc49d78fb --- /dev/null +++ b/guides/common/modules/proc_assigning-resource-quotas-to-a-user-group.adoc @@ -0,0 +1,10 @@ +[id="assigning-resource-quotas-to-a-user-group"] += Assigning resource quotas to a user group + +You can assign resource quotas to a user group to limit the resource consumption of that {Project} user group. +All users of the user group share the pool of resources. + +.Procedure +. In the {ProjectWebUI}, navigate to *Administer* > *User Groups*. +. On the *Resource Quota* tab, assign resource quotas to the user group. +. Click *Submit* to assign resource quotas to a user group. diff --git a/guides/common/modules/proc_assigning-resource-quotas-to-a-user.adoc b/guides/common/modules/proc_assigning-resource-quotas-to-a-user.adoc new file mode 100644 index 00000000000..3c50c91b7bd --- /dev/null +++ b/guides/common/modules/proc_assigning-resource-quotas-to-a-user.adoc @@ -0,0 +1,13 @@ +[id="assigning-resource-quotas-to-a-user"] += Assigning resource quotas to a user + +You can assign resource quotas to a user to limit the resource consumption of that {Project} user. + +.Procedure +. In the {ProjectWebUI}, navigate to *Administer* > *Users*. +. Select a user. +. On the *Resource Quota* tab, assign resource quotas to the user. +. If you want to make the usage of resource quotas optional, select the *Optional Assignment* checkbox. ++ +This means that {Project} will not prevent users from consuming more resources than their assigned quota. +. Click *Submit* to assign resource quotas to a user. diff --git a/guides/common/modules/proc_creating-a-resource-quota.adoc b/guides/common/modules/proc_creating-a-resource-quota.adoc new file mode 100644 index 00000000000..8dceafb2c5c --- /dev/null +++ b/guides/common/modules/proc_creating-a-resource-quota.adoc @@ -0,0 +1,10 @@ +[id="creating-a-resource-quota"] += Creating a resource quota + +Create a resource quota to limit the resource consumption of {Project} users. + +.Procedure +. In the {ProjectWebUI}, navigate to *Configure* > *Resource Quotas*. +. Click *Create resource quota*. +. Specify the name, CPU cores, memory, and disk space. +. Click *Create resource quota* to submit the resource quota to {Project}. diff --git a/guides/common/modules/proc_deleting-a-resource-quota.adoc b/guides/common/modules/proc_deleting-a-resource-quota.adoc new file mode 100644 index 00000000000..5edd00b9cdb --- /dev/null +++ b/guides/common/modules/proc_deleting-a-resource-quota.adoc @@ -0,0 +1,8 @@ +[id="deleting-a-resource-quota"] += Deleting a resource quota + +You can delete a resource quota from {Project}. + +.Procedure +. In the {ProjectWebUI}, navigate to *Configure* > *Resource Quotas*. +. In the *Actions* column, click *Delete* for your resource quota. diff --git a/guides/common/modules/proc_editing-a-resource-quota.adoc b/guides/common/modules/proc_editing-a-resource-quota.adoc new file mode 100644 index 00000000000..a98fc075e85 --- /dev/null +++ b/guides/common/modules/proc_editing-a-resource-quota.adoc @@ -0,0 +1,10 @@ +[id="editing-a-resource-quota"] += Editing a resource quota + +You can edit a resource quota to adjust available resources to {Project} users. + +.Procedure +. In the {ProjectWebUI}, navigate to *Configure* > *Resource Quotas*. +. Select your resource quota. +. Adjust the *CPU cores*, *Memory*, or *Disk space* and click *Apply* to submit your changes to {Project}. +. Click *Create resource quota* to submit the resource quota to {Project}. diff --git a/guides/common/modules/proc_installing-the-resource-quota-plugin.adoc b/guides/common/modules/proc_installing-the-resource-quota-plugin.adoc new file mode 100644 index 00000000000..99e07d3f828 --- /dev/null +++ b/guides/common/modules/proc_installing-the-resource-quota-plugin.adoc @@ -0,0 +1,12 @@ +[id="installing-the-resource-quota-plugin"] += Installing the Resource Quota plugin + +To limit host resources for your {Project} users, install the Resource Quota plugin. + +.Procedure +* Install the plugin on your {ProjectServer}: ++ +[options="nowrap", subs="+quotes,verbatim,attributes"] +---- +# {foreman-installer} --enable-foreman-plugin-resource-quota +---- diff --git a/guides/common/modules/ref_resource-quota-settings.adoc b/guides/common/modules/ref_resource-quota-settings.adoc new file mode 100644 index 00000000000..1317baca77b --- /dev/null +++ b/guides/common/modules/ref_resource-quota-settings.adoc @@ -0,0 +1,13 @@ +[id="resource-quota-settings"] += Resource Quota settings + +You can configure the following global {Project} settings for the Resource Quota plugin: + +Global Resource Quota no action:: +{Project} will not limit the resource consumption if a resource quota is exceeded. + +Resource Quota optional assignment:: +{Project} will not enforce selecting a resource quota during host provisioning. +The global setting overwrites user-specific and user group-specific configuration options. + +You can find the Resource Quota settings by navigating to *Administer* > *Settings* > *Provisioning*. diff --git a/guides/doc-Administering_Project/master.adoc b/guides/doc-Administering_Project/master.adoc index 70fb383e490..db799395cc7 100644 --- a/guides/doc-Administering_Project/master.adoc +++ b/guides/doc-Administering_Project/master.adoc @@ -60,6 +60,8 @@ include::common/assembly_logging-and-reporting-problems.adoc[leveloffset=+1] include::common/assembly_monitoring-resources.adoc[leveloffset=+1] +include::common/assembly_limiting-host-resources.adoc[leveloffset=+1] + include::common/assembly_using-foreman-webhooks.adoc[leveloffset=+1] include::common/assembly_searching-and-bookmarking.adoc[leveloffset=+1]