Skip to content

explain multi-project quota #2596

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 16, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions _build_cfg.yml
Original file line number Diff line number Diff line change
@@ -399,6 +399,8 @@ Topics:
Distros: openshift-*
- Name: Setting Quotas
File: quota
- Name: Setting Multi-Project Quotas
File: multiproject_quota
- Name: Setting Limit Ranges
File: limits
- Name: Pruning Objects
105 changes: 105 additions & 0 deletions admin_guide/multiproject_quota.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
[[admin-guide-muliproject-quota]]
= Multi-Project Quotas
{product-author}
{product-version}
:data-uri:
:icons:
:experimental:
:toc: macro
:toc-title:
:prewrap!:

toc::[]

== Overview

A multi-project quota, defined by a `*ClusterResourceQuota*` object, allows xref:../admin_guide/quota.adoc#admin-guide-quota[quota]
to be shared across multiple projects. Resources used in each selected project
will be aggregated and that aggregate will be used to limit resources across
all the selected projects.

Copy link
Contributor

@ahardin-rh ahardin-rh Aug 16, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add an anchor just above the heading:
[[multi-project-quotas-selecting-projects]]

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add an anchor just above the heading:
[[multi-project-quotas-selecting-projects]]

done

[[multi-project-quotas-selecting-projects]]
=== Selecting Projects

Projects can be selected based on either annotation selection, label selection, or both.
For example, `oc create clusterquota for-user --project-annotation-selector openshift.io/requester=<user-name> --hard pods=10 --hard secrets=20`
creates:

====
[source,yaml]
----
apiVersion: v1
kind: ClusterResourceQuota
metadata:
name: for-user
spec:
quota: <1>
hard:
pods: "10"
secrets: "20"
selector:
annotations: <2>
openshift.io/requester: <user-name>
labels: null <3>
status:
namespaces: <4>
- namespace: ns-one
status:
hard:
pods: "10"
secrets: "20"
used:
pods: "1"
secrets: "9"
total: <5>
hard:
pods: "10"
secrets: "20"
used:
pods: "1"
secrets: "9"
----
<1> The ResourceQuotaSpec object that will be enforced over the selected projects
<2> A simple key/value selector for annotations
<3> A label selector that can be used to select projects
<4> A per-namespace map that describes current quota usage in each selected project
<5> The aggregate usage across all selected projects
====

This multi-project quota document will control all projects requested by `"<user-name>"` using the default
project request endpoint. He will be limited to ten pods and twenty secrets.


[[multi-project-quotas-viewing-applicable-clusterresourcequotas]]
=== Viewing Applicable ClusterResourceQuotas

A project-admin is not allowed to create or modify the multi-project quota that limits
him, but he is allowed to view the multi-project quota documents are applied to his project.
He can do this via the `*AppliedClusterResourceQuota*` resource.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

write doc gender neutral


`oc describe AppliedClusterResourceQuota` produces:

====
----
Name: for-user
Namespace: <none>
Created: 19 hours ago
Labels: <none>
Annotations: <none>
Label Selector: <null>
AnnotationSelector: map[openshift.io/requester:<user-name>]
Resource Used Hard
-------- ---- ----
pods 1 10
secrets 9 20
----
====


[[multi-project-quotas-selection-granularity]]
=== Selection Granularity

Because of the locking consideration when claiming quota allocations, the
number of active projects selected by a multi-project quota is an important consideration.
Selecting more than 100 projects under a single multi-project quota may have
deleterious effects on API server responsiveness in those projects.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deterious?