-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
api: support NodeSelector for NodeGroup
As a preparation step for supporting TAS on HCP (hosted control planes) known as Hypershift, this PR introduces a new API for selecting nodes on which the RTE will be running, exposing the nodes' topologies. On OCP: The way that cluster nodes are grouped is by using Machine Config Pools (MCPs); On the operator side, umaresourcesoperator CR defines an MCP selector that, deep down, uses the node selector on the corresponding MCP and sets it under the RTE daemonset's node selector. On HCP: The MCP term does not exist on hypershift, but instead, the hypershift platform has a node-pool, which essentially groups the nodes based on a specific node-pool label that is added under the nodes' labels. This PR proposes to enable additional options for selecting node groups to run the RTE pods that will work on both OCP and HCP platforms. The new API does not change how MCP selector works, so it is backward compatible, as it only adds a NodeSelector option under the NodeGroup which will be reflected in the numaresourcesoperator spec. Values for this field are valid node labels. Restrictions and limitations: - Only one selector should be specified per node group; more than one will not be accepted and will cause a degraded state. - No extra validations are applied whether nodes of one node group that specifies MCP Selector correlate with nodes from another that specifies NodeSelector. The user takes responsibility for providing nonconflicting nodes per selector group. - Like was for MCP selectors, there is no validation on the selected nodes whether or not they have the correct machine configuration needed for TAS to be operational. Signed-off-by: Shereen Haj <[email protected]>
- Loading branch information
Showing
16 changed files
with
572 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.