Description of problem: Version-Release number of selected component (if applicable): How reproducible: Create a MachineConfig for the Masters that require a different node role, e.g. master-0 and try to apply it to the masters. Steps to Reproduce: 1. Create a Machine Config and Machine Config Pools for the master that are different from "master". Possible Use Case: Add a fixed IP to a new network card to one of the masters. E.g. MachineConfigPool: 01-Master-mcp, MachineConfig: 01-Master-mc oc create -f 01-Master-mcp.yaml oc create -f 01-Master-mc.yaml 2. Label the MachineConfigPool with the respective new label. oc label machineconfigpool master 0-master="" 3. Add the tag to the master node with a new role that belongs to the new Machine Config Pools. E.g. 0-master oc label node <node_name> node-role.kubernetes.io/0-master="" Actual results: The configuration is never applied to the masters. Expected results: The node receives the configuration from the MachineConfig Additional info: One possible use case is to have network cards that have fixed IPs that are added post install to the masters, for example, when you are using a Storage Solution like Solidfire and the trident driver requires to reach it from the masters too.
Did you follow https://github.com/openshift/machine-config-operator/blob/master/docs/custom-pools.md ?
Yes, this does not work with the masters for some unknown reason. It works flawlessly with the workers, but not the masters.
(In reply to Jose Kaz C R from comment #2) > Yes, this does not work with the masters for some unknown reason. It works > flawlessly with the workers, but not the masters. uhm, we can take a look at it I guess and see what's happening - and asses if masters can be assigned a custom pool at all (I see the use case tho)
When a node has both master and custom role (say 0-master), MCC would be logging error message: E0207 08:02:20.931403 1 node_controller.go:415] error finding pool for node: node <node> has both master role and custom role 01-master By looking at https://github.com/cgwalters/machine-config-operator/blob/b9d6c62de34d1fe01aa3b98a3559339c73c09d57/pkg/controller/node/node_controller.go#L301 it seems MCO currently doesn't support custom role being applied on master. @Colin @Antonio Any idea if there is a reason behind not supporting custom pool for master node?
I think what you really want for this is machine-specific machineconfigs (which makes sense when written that way ;) ) This would be an RFE for the MCO, and actually the CNTO https://github.com/openshift/cluster-node-tuning-operator needs it too.
Verified documentation in github now has warnings about custom pools with master nodes.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:2409