Vendor and run performance-addon-operator as part of the controller-runtime NTO manager#314
Vendor and run performance-addon-operator as part of the controller-runtime NTO manager#314cynepco3hahue wants to merge 3 commits intoopenshift:masterfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: cynepco3hahue The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/cc @jmencak |
|
/uncc @ArangoGutierrez |
cb945d0 to
8d15fc6
Compare
dee875d to
de53168
Compare
|
/retest |
1 similar comment
|
/retest |
|
@dagrayvid we can start testing the performance of this combination of PAO and NTO with this PR (based on #316) |
de53168 to
d78df03
Compare
| @@ -0,0 +1,55 @@ | |||
| --- | |||
There was a problem hiding this comment.
We should probably increase the prefix number for this and the following files by 10. Or perhaps use 45-webhook-configuration.yaml if changing the name of the other manifests could cause problems?
There was a problem hiding this comment.
yee, I wanted to avoid the renaming, 45 will work for me
|
This PR performs very similarly to the current implementation of NTO. As we expected, the addition of the PAO control loop has no impact when there are no PerformanceProfiles to reconcile.
|
I haven't looked at memory usage yet. I can probably gather some data on this today if needed. Is memory usage as much a concern as CPU usage for core OCP operators? |
Not as much as CPU usage, but it would be nice to know. |
|
I ran the first and third test cases to get an idea of the memory usage before / after these changes. It's probably easiest to just share it with a graph of memory usage over time. There is a line for fully idle, and then a line for memory over time while creating 1000 pods using pod-label matching, and then deleting them to see if the usage goes back down to where it was before creating any pods. One note: In case you wonder why the idle memory usage is lower than the memory usage at the start of the pod creation case. I created the custom profile before starting the second test case, without creating any matching pods. This jump was seen in both the new and old implementations (corrected from previous comment) |
d78df03 to
f9b3284
Compare
|
/retest |
1 similar comment
|
/retest |
Signed-off-by: Artyom Lukianov <alukiano@redhat.com>
f9b3284 to
59ad9ae
Compare
jmencak
left a comment
There was a problem hiding this comment.
Thank you Artyom! Untested (yet), but the changes look good to me. Only nits right now.
| Scheme: mgr.GetScheme(), | ||
| Recorder: mgr.GetEventRecorderFor("performance-profile-controller"), | ||
| }).SetupWithManager(mgr); err != nil { | ||
| klog.Exitf("unable to create PerformanceProfile controller : %v", err) |
There was a problem hiding this comment.
Consistency. Not sure about PAO, but in NTO, we don't have spaces after text in text: %v. Can we keep it that way? Also, I notice you don't have a space in a similar message above.
| webHookServer.KeyName = webhookKeyName | ||
|
|
||
| if err = (&performancev2.PerformanceProfile{}).SetupWebhookWithManager(mgr); err != nil { | ||
| klog.Exitf("unable to create PerformanceProfile v2 webhook : %v", err) |
| - apiGroups: ["coordination.k8s.io"] | ||
| resources: ["leases"] | ||
| verbs: ["create","get","update","patch"] | ||
| - apiGroups: ["node.k8s.io"] |
There was a problem hiding this comment.
In the past, I was asked by ProdSec to review RBAC. After the review, I added a few comments here. Can we also do this for PAO? Especially here for runtimeclasses. performance.openshift.io should be clear to all.
| controller, err := operator.NewController() | ||
| if err != nil { | ||
| klog.Fatal(err) | ||
| klog.Fatalf("failed to create new controller %v", err) |
There was a problem hiding this comment.
Consistency. s/controller %v/controller: %v/ ?
| klog.Fatalf("failed to create new controller %v", err) | ||
| } | ||
|
|
||
| if err := mgr.Add(controller); err != nil { |
There was a problem hiding this comment.
Thank you for doing this, we missed this in the earlier review. :/
|
@cynepco3hahue in the current vendoring PAO still uses If we will keep it that way we also need to add the namespace to the manifests. |
Signed-off-by: Artyom Lukianov <alukiano@redhat.com>
Signed-off-by: Artyom Lukianov <alukiano@redhat.com>
59ad9ae to
d4fd838
Compare
It should not affect us, it is used only to generate correct manifests automatically. We are adding manifests manually so all kube builder thing is not relevant for us. |
|
/hold waiting for upgrade handling under the PAO. |
|
@cynepco3hahue: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
@cynepco3hahue: PR needs rebase. DetailsInstructions 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. |
|
not relevant anymore |

No description provided.