-
Notifications
You must be signed in to change notification settings - Fork 51
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
Changing SMT level based on node label #46
Comments
Fixes: ocp-power-automation#46 Signed-off-by: Sebastien Chabrolles <[email protected]>
First draft to discuss about it. |
Another Idea would be to add this functionality into the rsct container (used for DLPAR) as it as the real But for that, we need to add |
@mkumatag do you foresee any issues with using |
I'm just wondering if we can make use of the Machine Config Operator concept of OCP to make changes to the OS. |
@mkumatag eventually this uses MCO itself. However what the machine config uses is the script above for every node where it uses |
In MCO flow, we can directly feed the configs to the machines in the machinepool, and the same information is passed directly to the respective host hence no need to worry about the node list and the labels associated. Meanwhile, we can try oc way of doing things to read the node labels with having very strict roles and role bindings and service account tied to the pod so that it can talk to required APIs. I personally prefer MCO way of doing it where we can avoid some of these extra steps required. |
@mkumatag, MCO, this is what is implemented in #47 could you please have a look ? The best would be to have all this ppc64_utils packages inside coreOS. |
Fixes: ocp-power-automation#46 Signed-off-by: Sebastien Chabrolles <[email protected]>
So today we have two machineconfigpools - master and worker. In order to correctly set SMT we can use a machineconfig and let MCO take care of the node reboot (using rolling update). This is safest and controlled. The drawback is ofcourse we can't have different SMT settings for a group of nodes. The other approach (described in this issue) of using the script which will keep checking for node label and set the SMT is non-deterministic and can have unintended consequence for the overall cluster stability. I'm also not sure if setting of node labels is a privileged operation or not and if not then this also has the risk of being misused or incorrectly used with unintended consequence. Given these I'm personally not in favour of the approach. For now, my suggestion will be to go with the approach of machineconfig with the limitation of same SMT setting for all the worker nodes. In parallel we continue to explore better alternatives to handle mix of SMT settings and more flexibility. |
@dancasali @bpradipt, I saw your recommendation regarding that we should set these values using different ymal files. I agree that we should test out these changes separately, but for this to work for customers may be it is easier for them to be in the same file? |
@theresax For testing internally it is easier to have on the same file but even on CP4D Knowledge Center they are shown as different implementation places because crio.conf might differ on futures releases and we might need that to be controlled differently. |
Adding @CharlieW to the ticket as he will also test this out under his OCP cluster |
Thanks @dancasali @CharlieW .. .. this is very helpful. We'll start integrating this in the code.. |
Hi all,
I just read the following optimization document for CP4D. https://www.ibm.com/support/producthub/icpdata/docs/content/SSQNUZ_current/cpd/install/node-settings.html
There is a session about SMT configuration implementation with openshift.
It deploy a shell script and service on the nodes in order to control the SMT level of each node via Labels.
=> This switch the node to SMT4...
I find this pretty handy and think it could be deployed via this ansible playbook during the customization section.
the shell script:
The text was updated successfully, but these errors were encountered: