Skip to content

Commit

Permalink
Document foreman_resource_quota plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
maximiliankolb committed Dec 5, 2024
1 parent 1216d20 commit 99a62b9
Show file tree
Hide file tree
Showing 12 changed files with 131 additions and 0 deletions.
19 changes: 19 additions & 0 deletions guides/common/assembly_limiting-host-resources.adoc
Original file line number Diff line number Diff line change
@@ -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]
Original file line number Diff line number Diff line change
@@ -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.
20 changes: 20 additions & 0 deletions guides/common/modules/con_limiting-host-resources.adoc
Original file line number Diff line number Diff line change
@@ -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[].
5 changes: 5 additions & 0 deletions guides/common/modules/con_managing-resource-quotas.adoc
Original file line number Diff line number Diff line change
@@ -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*.
Original file line number Diff line number Diff line change
@@ -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.
Original file line number Diff line number Diff line change
@@ -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.
10 changes: 10 additions & 0 deletions guides/common/modules/proc_creating-a-resource-quota.adoc
Original file line number Diff line number Diff line change
@@ -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}.
8 changes: 8 additions & 0 deletions guides/common/modules/proc_deleting-a-resource-quota.adoc
Original file line number Diff line number Diff line change
@@ -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.
10 changes: 10 additions & 0 deletions guides/common/modules/proc_editing-a-resource-quota.adoc
Original file line number Diff line number Diff line change
@@ -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}.
Original file line number Diff line number Diff line change
@@ -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
----
13 changes: 13 additions & 0 deletions guides/common/modules/ref_resource-quota-settings.adoc
Original file line number Diff line number Diff line change
@@ -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*.
2 changes: 2 additions & 0 deletions guides/doc-Administering_Project/master.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down

0 comments on commit 99a62b9

Please sign in to comment.