-
Notifications
You must be signed in to change notification settings - Fork 153
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
Introduce Applications Aware Quota #2748
Conversation
4bbd9c2
to
32e235e
Compare
Pull Request Test Coverage Report for Build 7641243961
💛 - Coveralls |
controllers/operands/aaq.go
Outdated
func NewAAQ(hc *hcov1beta1.HyperConverged) *aaqv1alpha1.AAQ { | ||
spec := aaqv1alpha1.AAQSpec{ | ||
PriorityClass: ptr.To[aaqv1alpha1.AAQPriorityClass](kvPriorityClass), | ||
ImagePullPolicy: corev1.PullIfNotPresent, | ||
CertConfig: &aaqv1alpha1.AAQCertConfig{ | ||
CA: &aaqv1alpha1.CertConfig{ | ||
Duration: hc.Spec.CertConfig.CA.Duration, | ||
RenewBefore: hc.Spec.CertConfig.CA.RenewBefore, | ||
}, | ||
Server: &aaqv1alpha1.CertConfig{ | ||
Duration: hc.Spec.CertConfig.Server.Duration, | ||
RenewBefore: hc.Spec.CertConfig.Server.RenewBefore, | ||
}, | ||
}, | ||
} | ||
|
||
if hc.Spec.Infra.NodePlacement != nil { | ||
hc.Spec.Infra.NodePlacement.DeepCopyInto(&spec.Infra) | ||
} | ||
|
||
if hc.Spec.Workloads.NodePlacement != nil { | ||
hc.Spec.Workloads.NodePlacement.DeepCopyInto(&spec.Workloads) | ||
} | ||
|
||
if config := hc.Spec.ApplicationAwareConfig; config != nil { | ||
if config.VmiCalcConfigName != nil { | ||
spec.Configuration.VmiCalculatorConfiguration.ConfigName = *config.VmiCalcConfigName | ||
} | ||
|
||
if config.NamespaceSelector != nil { | ||
spec.NamespaceSelector = config.NamespaceSelector.DeepCopy() | ||
} | ||
|
||
spec.Configuration.EnableClusterAppsResourceQuota = config.EnableClusterAppsResourceQuota | ||
} | ||
|
||
aaq := NewAAQWithNameOnly(hc) | ||
aaq.Spec = spec | ||
return aaq | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AAQ initialization looks good to me :)
@nunnatsa
to deploy/deploy.sh like with mtq: |
0cf8826
to
5546cf5
Compare
api/v1beta1/hyperconverged_types.go
Outdated
// NamespaceSelector determines in which namespaces scheduling gate will be added to pods, and it's very likely that | ||
// to allow skipping scheduling gates in some namespaces. | ||
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// NamespaceSelector determines in which namespaces scheduling gate will be added to pods, and it's very likely that
// to allow skipping scheduling gates in some namespaces.
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
Maybe something like:
// NamespaceSelector determines in which namespaces scheduling gate will be added to pods.
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
docs/cluster-configuration.md
Outdated
To configure AAQ, add the `applicationAwareConfig` object to the HyperConverged resource's spec. The | ||
`applicationAwareConfig` object contains several fields: | ||
* `vmiCalcConfigName` - determine how resource allocation will be done with ApplicationsResourceQuota. | ||
allowed values are: | ||
* `VmiPodUsage` - Calculate usage of launcher like any other pod but hide migration additional resources | ||
* `VirtualResources` - Calculate usage of launcher like any other pod but hide migration additional resources | ||
* `DedicatedVirtualResources` (default) - Calculate vmi.requests.memory as the vmi's ram size and vmi.requests.cpu as | ||
number of threads of vmi in this configuration no memory.request/limits and cpu.request/limits won't be included | ||
* `IgnoreVmiCalculator` - in this configuration no memory.request/limits and cpu.request/limits won't be included | ||
* `namespaceSelector` - determines in which namespaces scheduling gate will be added to pods. This field is a standard | ||
kubernetes selector. | ||
* `enableClusterAppsResourceQuota` (default = false) - set to true, to allows creation and management of ClusterAppsResourceQuota | ||
|
||
**note**: this setting cause some performance cost. Only set to true if there is a good reason. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VmiPodUsage calculates pod usage for VM-associated pods while concealing migration-specific resources.
VirtualResources allocates resources for VM-associated pods, using the VM's RAM size for memory and CPU threads for processing.
DedicatedVirtualResources (default) allocates resources for VM-associated pods, appending a /vm suffix to requests/limits.cpu and requests/limits.memory, derived from the VM's RAM size and CPU threads. Notably, it does not allocate resources for the standard requests/limits.cpu and requests/limits.memory .
IgnoreVmiCalculator avoids allocating VM-associated pods differently from normal pods, maintaining uniform resource allocation.
0014de0
to
645fe37
Compare
hco-e2e-operator-sdk-sno-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-operator-sdk-sno-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
hco-e2e-upgrade-prev-operator-sdk-sno-azure lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-operator-sdk-aws, ci/prow/hco-e2e-upgrade-prev-operator-sdk-sno-aws, ci/prow/okd-hco-e2e-upgrade-operator-sdk-aws In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
hco-e2e-operator-sdk-gcp lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-operator-sdk-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
okd-hco-e2e-operator-sdk-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/okd-hco-e2e-operator-sdk-gcp In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
okd-hco-e2e-upgrade-operator-sdk-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/okd-hco-e2e-upgrade-operator-sdk-gcp In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/retest |
hco-e2e-upgrade-prev-operator-sdk-sno-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-upgrade-prev-operator-sdk-sno-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
hco-e2e-operator-sdk-sno-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-operator-sdk-sno-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
hco-e2e-upgrade-prev-operator-sdk-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-upgrade-prev-operator-sdk-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/retest |
hco-e2e-kv-smoke-gcp lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-kv-smoke-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
hco-e2e-upgrade-operator-sdk-sno-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-upgrade-operator-sdk-sno-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
hco-e2e-consecutive-operator-sdk-upgrades-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-consecutive-operator-sdk-upgrades-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
hco-e2e-consecutive-operator-sdk-upgrades-aws lane succeeded. |
@hco-bot: Overrode contexts on behalf of hco-bot: ci/prow/hco-e2e-consecutive-operator-sdk-upgrades-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/retest |
@nunnatsa: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
hco-e2e-operator-sdk-aws and hco-e2e-operator-sdk-gcp lane passed co-e2e-upgrade-operator-sdk-aws lane passed hco-e2e-upgrade-prev-operator-sdk-sno-aws lane passed |
@nunnatsa: Overrode contexts on behalf of nunnatsa: ci/prow/hco-e2e-operator-sdk-azure, ci/prow/hco-e2e-upgrade-operator-sdk-azure, ci/prow/hco-e2e-upgrade-prev-operator-sdk-sno-azure In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
What this PR does / why we need it
Add the AAQ deployment and custom resource.
Jira Ticket:
Release note: