-
Notifications
You must be signed in to change notification settings - Fork 112
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
[Test-operator] Set resource limits #2617
Conversation
Skipping CI for Draft Pull Request. |
The test pods spawned by the test operator prior to this change were executed without any resource limits. This ultimately meant that the pods could consume an unlimited amount of resources until the limit for a worker node was reached. This commit introduces default resource limits for each test pod spawned by the test operator (tempest, tobiko, ansibletest, horizontest pod). The default value can be overridden using .Spec.Resources parameter which is introduced as part of this commit as well [1]: spec: resources: requests: memory: 1Gi cpu: 250m limits: memory: 2Gi cpu: 500M [1] https://pkg.go.dev/k8s.io/api/core/v1#ResourceRequirements Depends-On: openstack-k8s-operators/ci-framework#2617
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/fc5f70affacb4ec580c48b2da4f76f7d ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 58m 22s |
This PR exposes the resources parameter in for all test-operator related CRs (Tempest, Tobiko, AnsibleTest, HorizonTest). This parameter can be used to specify amount of resources the test pods spawned by the test-operator should consume [1]. This commit intentionally unsets the value for Tempest test pods as the propagation of the fix for Tempest memory leak bug [1] did not reach the upstream openstack-tempest-all image yet. Once the fix is in place the default value of cifmw_test_operator_tempest_resources can be changed to {}. [1] openstack-k8s-operators/test-operator#253
cdcfd6c
to
356c19b
Compare
The test pods spawned by the test operator prior to this change were executed without any resource limits. This ultimately meant that the pods could consume an unlimited amount of resources until the limit for a worker node was reached. This commit introduces default resource limits for each test pod spawned by the test operator (tempest, tobiko, ansibletest, horizontest pod). The default value can be overridden using .Spec.Resources parameter which is introduced as part of this commit as well [1]: spec: resources: requests: memory: 1Gi cpu: 250m limits: memory: 2Gi cpu: 500M [1] https://pkg.go.dev/k8s.io/api/core/v1#ResourceRequirements Depends-On: openstack-k8s-operators/ci-framework#2617
The test pods spawned by the test operator prior to this change were executed without any resource limits. This ultimately meant that the pods could consume an unlimited amount of resources until the limit for a worker node was reached. This commit introduces default resource limits for each test pod spawned by the test operator (tempest, tobiko, ansibletest, horizontest pod). The default value can be overridden using .Spec.Resources parameter which is introduced as part of this commit as well [1]: spec: resources: requests: memory: 1Gi cpu: 250m limits: memory: 2Gi cpu: 500M [1] https://pkg.go.dev/k8s.io/api/core/v1#ResourceRequirements Depends-On: openstack-k8s-operators/ci-framework#2617
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/181fda8a469f465cb893859277aeed63 ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 53m 28s |
recheck |
This PR is stale because it has been for over 15 days with no activity. |
The test pods spawned by the test operator prior to this change were executed without any resource limits. This ultimately meant that the pods could consume an unlimited amount of resources until the limit for a worker node was reached. This commit introduces default resource limits for each test pod spawned by the test operator (tempest, tobiko, ansibletest, horizontest pod). The default value can be overridden using .Spec.Resources parameter which is introduced as part of this commit as well [1]: spec: resources: requests: memory: 1Gi cpu: 250m limits: memory: 2Gi cpu: 500M [1] https://pkg.go.dev/k8s.io/api/core/v1#ResourceRequirements Depends-On: openstack-k8s-operators/ci-framework#2617
recheck Let's see that nothing got broken since the PR's creation. |
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.
One non-blocking minor suggestion. LGTM in general.
@@ -65,6 +65,7 @@ cifmw_test_operator_stages: | |||
* `cifmw_test_operator_tempest_extra_rpms`: (List) . A list of URLs that point to RPMs that should be installed before the execution of tempest. Note that this parameter has no effect when `cifmw_test_operator_tempest_external_plugin` is used. Default value: `[]` | |||
* `cifmw_test_operator_tempest_extra_configmaps_mounts`: (List) A list of configmaps that should be mounted into the tempest test pods. Default value: `[]` | |||
* `cifmw_test_operator_tempest_debug`: (Bool) Run Tempest in debug mode, it keeps the operator pod sleeping infinity (it must only set to `true`only for debugging purposes). Default value: `false` | |||
* `cifmw_test_operator_tempest_resources`: (Dict) A dictionary that specifies resources (cpu, memory) for the test pods. When untouched it clears the default values set on the test-operator side. This means that the tempest test pods run with unspecified resource limits. Default value: `{requests: {}, limits: {}}` |
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.
(non-blocking) suggestion: WDYT about adding the service before "test pods": operator test pods, tobiko test pods....
/lgtm |
/lgtm |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: pablintino The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
The test pods spawned by the test operator prior to this change were executed without any resource limits. This ultimately meant that the pods could consume an unlimited amount of resources until the limit for a worker node was reached. This commit introduces default resource limits for each test pod spawned by the test operator (tempest, tobiko, ansibletest, horizontest pod). The default value can be overridden using .Spec.Resources parameter which is introduced as part of this commit as well [1]: spec: resources: requests: memory: 1Gi cpu: 250m limits: memory: 2Gi cpu: 500M [1] https://pkg.go.dev/k8s.io/api/core/v1#ResourceRequirements Depends-On: openstack-k8s-operators/ci-framework#2617
This PR exposes the resources parameter in for all test-operator related CRs (Tempest, Tobiko, AnsibleTest, HorizonTest). This parameter can be used to specify amount of resources the test pods spawned by the test-operator should consume [1].
This commit intentionally unsets the value for Tempest test pods as the propagation of the fix for Tempest memory leak bug [1] did not reach the upstream openstack-tempest-all image yet. Once the fix is in place the default value of cifmw_test_operator_tempest_resources can be changed to {}.
[1] openstack-k8s-operators/test-operator#253