Chapter 21. MachineConfiguration [operator.openshift.io/v1]


Description
MachineConfiguration provides information to configure an operator to manage Machine Configuration. Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
Type
object
Required
  • spec

21.1. Specification

PropertyTypeDescription

apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

spec is the specification of the desired behavior of the Machine Config Operator

status

object

status is the most recently observed status of the Machine Config Operator

21.1.1. .spec

Description
spec is the specification of the desired behavior of the Machine Config Operator
Type
object
PropertyTypeDescription

failedRevisionLimit

integer

failedRevisionLimit is the number of failed static pod installer revisions to keep on disk and in the api -1 = unlimited, 0 or unset = 5 (default)

forceRedeploymentReason

string

forceRedeploymentReason can be used to force the redeployment of the operand by providing a unique string. This provides a mechanism to kick a previously failed deployment and provide a reason why you think it will work this time instead of failing again on the same config.

logLevel

string

logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for their operands. Valid values are: "Normal", "Debug", "Trace", "TraceAll". Defaults to "Normal".

managedBootImages

object

managedBootImages allows configuration for the management of boot images for machine resources within the cluster. This configuration allows users to select resources that should be updated to the latest boot images during cluster upgrades, ensuring that new machines always boot with the current cluster version’s boot image. When omitted, no boot images will be updated.

managementState

string

managementState indicates whether and how the operator should manage the component

nodeDisruptionPolicy

object

nodeDisruptionPolicy allows an admin to set granular node disruption actions for MachineConfig-based updates, such as drains, service reloads, etc. Specifying this will allow for less downtime when doing small configuration updates to the cluster. This configuration has no effect on cluster upgrades which will still incur node disruption where required.

observedConfig

``

observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because it is an input to the level for the operator

operatorLogLevel

string

operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for themselves. Valid values are: "Normal", "Debug", "Trace", "TraceAll". Defaults to "Normal".

succeededRevisionLimit

integer

succeededRevisionLimit is the number of successful static pod installer revisions to keep on disk and in the api -1 = unlimited, 0 or unset = 5 (default)

unsupportedConfigOverrides

``

unsupportedConfigOverrides overrides the final configuration that was computed by the operator. Red Hat does not support the use of this field. Misuse of this field could lead to unexpected behavior or conflict with other configuration options. Seek guidance from the Red Hat support before using this field. Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.

21.1.2. .spec.managedBootImages

Description
managedBootImages allows configuration for the management of boot images for machine resources within the cluster. This configuration allows users to select resources that should be updated to the latest boot images during cluster upgrades, ensuring that new machines always boot with the current cluster version’s boot image. When omitted, no boot images will be updated.
Type
object
PropertyTypeDescription

machineManagers

array

machineManagers can be used to register machine management resources for boot image updates. The Machine Config Operator will watch for changes to this list. Only one entry is permitted per type of machine management resource.

machineManagers[]

object

MachineManager describes a target machine resource that is registered for boot image updates. It stores identifying information such as the resource type and the API Group of the resource. It also provides granular control via the selection field.

21.1.3. .spec.managedBootImages.machineManagers

Description
machineManagers can be used to register machine management resources for boot image updates. The Machine Config Operator will watch for changes to this list. Only one entry is permitted per type of machine management resource.
Type
array

21.1.4. .spec.managedBootImages.machineManagers[]

Description
MachineManager describes a target machine resource that is registered for boot image updates. It stores identifying information such as the resource type and the API Group of the resource. It also provides granular control via the selection field.
Type
object
Required
  • apiGroup
  • resource
  • selection
PropertyTypeDescription

apiGroup

string

apiGroup is name of the APIGroup that the machine management resource belongs to. The only current valid value is machine.openshift.io. machine.openshift.io means that the machine manager will only register resources that belong to OpenShift machine API group.

resource

string

resource is the machine management resource’s type. The only current valid value is machinesets. machinesets means that the machine manager will only register resources of the kind MachineSet.

selection

object

selection allows granular control of the machine management resources that will be registered for boot image updates.

21.1.5. .spec.managedBootImages.machineManagers[].selection

Description
selection allows granular control of the machine management resources that will be registered for boot image updates.
Type
object
Required
  • mode
PropertyTypeDescription

mode

string

mode determines how machine managers will be selected for updates. Valid values are All and Partial. All means that every resource matched by the machine manager will be updated. Partial requires specified selector(s) and allows customisation of which resources matched by the machine manager will be updated.

partial

object

partial provides label selector(s) that can be used to match machine management resources. Only permitted when mode is set to "Partial".

21.1.6. .spec.managedBootImages.machineManagers[].selection.partial

Description
partial provides label selector(s) that can be used to match machine management resources. Only permitted when mode is set to "Partial".
Type
object
Required
  • machineResourceSelector
PropertyTypeDescription

machineResourceSelector

object

machineResourceSelector is a label selector that can be used to select machine resources like MachineSets.

21.1.7. .spec.managedBootImages.machineManagers[].selection.partial.machineResourceSelector

Description
machineResourceSelector is a label selector that can be used to select machine resources like MachineSets.
Type
object
PropertyTypeDescription

matchExpressions

array

matchExpressions is a list of label selector requirements. The requirements are ANDed.

matchExpressions[]

object

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

matchLabels

object (string)

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

21.1.8. .spec.managedBootImages.machineManagers[].selection.partial.machineResourceSelector.matchExpressions

Description
matchExpressions is a list of label selector requirements. The requirements are ANDed.
Type
array

21.1.9. .spec.managedBootImages.machineManagers[].selection.partial.machineResourceSelector.matchExpressions[]

Description
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Type
object
Required
  • key
  • operator
PropertyTypeDescription

key

string

key is the label key that the selector applies to.

operator

string

operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

values

array (string)

values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

21.1.10. .spec.nodeDisruptionPolicy

Description
nodeDisruptionPolicy allows an admin to set granular node disruption actions for MachineConfig-based updates, such as drains, service reloads, etc. Specifying this will allow for less downtime when doing small configuration updates to the cluster. This configuration has no effect on cluster upgrades which will still incur node disruption where required.
Type
object
PropertyTypeDescription

files

array

files is a list of MachineConfig file definitions and actions to take to changes on those paths This list supports a maximum of 50 entries.

files[]

object

NodeDisruptionPolicySpecFile is a file entry and corresponding actions to take and is used in the NodeDisruptionPolicyConfig object

sshkey

object

sshkey maps to the ignition.sshkeys field in the MachineConfig object, definition an action for this will apply to all sshkey changes in the cluster

units

array

units is a list MachineConfig unit definitions and actions to take on changes to those services This list supports a maximum of 50 entries.

units[]

object

NodeDisruptionPolicySpecUnit is a systemd unit name and corresponding actions to take and is used in the NodeDisruptionPolicyConfig object

21.1.11. .spec.nodeDisruptionPolicy.files

Description
files is a list of MachineConfig file definitions and actions to take to changes on those paths This list supports a maximum of 50 entries.
Type
array

21.1.12. .spec.nodeDisruptionPolicy.files[]

Description
NodeDisruptionPolicySpecFile is a file entry and corresponding actions to take and is used in the NodeDisruptionPolicyConfig object
Type
object
Required
  • actions
  • path
PropertyTypeDescription

actions

array

actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.

actions[]

object

 

path

string

path is the location of a file being managed through a MachineConfig. The Actions in the policy will apply to changes to the file at this path.

21.1.13. .spec.nodeDisruptionPolicy.files[].actions

Description
actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.
Type
array

21.1.14. .spec.nodeDisruptionPolicy.files[].actions[]

Description
Type
object
Required
  • type
PropertyTypeDescription

reload

object

reload specifies the service to reload, only valid if type is reload

restart

object

restart specifies the service to restart, only valid if type is restart

type

string

type represents the commands that will be carried out if this NodeDisruptionPolicySpecActionType is executed Valid values are Reboot, Drain, Reload, Restart, DaemonReload and None. reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration

21.1.15. .spec.nodeDisruptionPolicy.files[].actions[].reload

Description
reload specifies the service to reload, only valid if type is reload
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be reloaded Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.16. .spec.nodeDisruptionPolicy.files[].actions[].restart

Description
restart specifies the service to restart, only valid if type is restart
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be restarted Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.17. .spec.nodeDisruptionPolicy.sshkey

Description
sshkey maps to the ignition.sshkeys field in the MachineConfig object, definition an action for this will apply to all sshkey changes in the cluster
Type
object
Required
  • actions
PropertyTypeDescription

actions

array

actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.

actions[]

object

 

21.1.18. .spec.nodeDisruptionPolicy.sshkey.actions

Description
actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.
Type
array

21.1.19. .spec.nodeDisruptionPolicy.sshkey.actions[]

Description
Type
object
Required
  • type
PropertyTypeDescription

reload

object

reload specifies the service to reload, only valid if type is reload

restart

object

restart specifies the service to restart, only valid if type is restart

type

string

type represents the commands that will be carried out if this NodeDisruptionPolicySpecActionType is executed Valid values are Reboot, Drain, Reload, Restart, DaemonReload and None. reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration

21.1.20. .spec.nodeDisruptionPolicy.sshkey.actions[].reload

Description
reload specifies the service to reload, only valid if type is reload
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be reloaded Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.21. .spec.nodeDisruptionPolicy.sshkey.actions[].restart

Description
restart specifies the service to restart, only valid if type is restart
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be restarted Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.22. .spec.nodeDisruptionPolicy.units

Description
units is a list MachineConfig unit definitions and actions to take on changes to those services This list supports a maximum of 50 entries.
Type
array

21.1.23. .spec.nodeDisruptionPolicy.units[]

Description
NodeDisruptionPolicySpecUnit is a systemd unit name and corresponding actions to take and is used in the NodeDisruptionPolicyConfig object
Type
object
Required
  • actions
  • name
PropertyTypeDescription

actions

array

actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.

actions[]

object

 

name

string

name represents the service name of a systemd service managed through a MachineConfig Actions specified will be applied for changes to the named service. Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.24. .spec.nodeDisruptionPolicy.units[].actions

Description
actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.
Type
array

21.1.25. .spec.nodeDisruptionPolicy.units[].actions[]

Description
Type
object
Required
  • type
PropertyTypeDescription

reload

object

reload specifies the service to reload, only valid if type is reload

restart

object

restart specifies the service to restart, only valid if type is restart

type

string

type represents the commands that will be carried out if this NodeDisruptionPolicySpecActionType is executed Valid values are Reboot, Drain, Reload, Restart, DaemonReload and None. reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration

21.1.26. .spec.nodeDisruptionPolicy.units[].actions[].reload

Description
reload specifies the service to reload, only valid if type is reload
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be reloaded Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.27. .spec.nodeDisruptionPolicy.units[].actions[].restart

Description
restart specifies the service to restart, only valid if type is restart
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be restarted Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.28. .status

Description
status is the most recently observed status of the Machine Config Operator
Type
object
PropertyTypeDescription

conditions

array

conditions is a list of conditions and their status

conditions[]

object

Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }

nodeDisruptionPolicyStatus

object

nodeDisruptionPolicyStatus status reflects what the latest cluster-validated policies are, and will be used by the Machine Config Daemon during future node updates.

observedGeneration

integer

observedGeneration is the last generation change you’ve dealt with

21.1.29. .status.conditions

Description
conditions is a list of conditions and their status
Type
array

21.1.30. .status.conditions[]

Description
Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" // other fields }
Type
object
Required
  • lastTransitionTime
  • message
  • reason
  • status
  • type
PropertyTypeDescription

lastTransitionTime

string

lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

message

string

message is a human readable message indicating details about the transition. This may be an empty string.

observedGeneration

integer

observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

reason

string

reason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.

status

string

status of the condition, one of True, False, Unknown.

type

string

type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)

21.1.31. .status.nodeDisruptionPolicyStatus

Description
nodeDisruptionPolicyStatus status reflects what the latest cluster-validated policies are, and will be used by the Machine Config Daemon during future node updates.
Type
object
PropertyTypeDescription

clusterPolicies

object

clusterPolicies is a merge of cluster default and user provided node disruption policies.

21.1.32. .status.nodeDisruptionPolicyStatus.clusterPolicies

Description
clusterPolicies is a merge of cluster default and user provided node disruption policies.
Type
object
PropertyTypeDescription

files

array

files is a list of MachineConfig file definitions and actions to take to changes on those paths

files[]

object

NodeDisruptionPolicyStatusFile is a file entry and corresponding actions to take and is used in the NodeDisruptionPolicyClusterStatus object

sshkey

object

sshkey is the overall sshkey MachineConfig definition

units

array

units is a list MachineConfig unit definitions and actions to take on changes to those services

units[]

object

NodeDisruptionPolicyStatusUnit is a systemd unit name and corresponding actions to take and is used in the NodeDisruptionPolicyClusterStatus object

21.1.33. .status.nodeDisruptionPolicyStatus.clusterPolicies.files

Description
files is a list of MachineConfig file definitions and actions to take to changes on those paths
Type
array

21.1.34. .status.nodeDisruptionPolicyStatus.clusterPolicies.files[]

Description
NodeDisruptionPolicyStatusFile is a file entry and corresponding actions to take and is used in the NodeDisruptionPolicyClusterStatus object
Type
object
Required
  • actions
  • path
PropertyTypeDescription

actions

array

actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.

actions[]

object

 

path

string

path is the location of a file being managed through a MachineConfig. The Actions in the policy will apply to changes to the file at this path.

21.1.35. .status.nodeDisruptionPolicyStatus.clusterPolicies.files[].actions

Description
actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.
Type
array

21.1.36. .status.nodeDisruptionPolicyStatus.clusterPolicies.files[].actions[]

Description
Type
object
Required
  • type
PropertyTypeDescription

reload

object

reload specifies the service to reload, only valid if type is reload

restart

object

restart specifies the service to restart, only valid if type is restart

type

string

type represents the commands that will be carried out if this NodeDisruptionPolicyStatusActionType is executed Valid values are Reboot, Drain, Reload, Restart, DaemonReload, None and Special. reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration

21.1.37. .status.nodeDisruptionPolicyStatus.clusterPolicies.files[].actions[].reload

Description
reload specifies the service to reload, only valid if type is reload
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be reloaded Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.38. .status.nodeDisruptionPolicyStatus.clusterPolicies.files[].actions[].restart

Description
restart specifies the service to restart, only valid if type is restart
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be restarted Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.39. .status.nodeDisruptionPolicyStatus.clusterPolicies.sshkey

Description
sshkey is the overall sshkey MachineConfig definition
Type
object
Required
  • actions
PropertyTypeDescription

actions

array

actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.

actions[]

object

 

21.1.40. .status.nodeDisruptionPolicyStatus.clusterPolicies.sshkey.actions

Description
actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.
Type
array

21.1.41. .status.nodeDisruptionPolicyStatus.clusterPolicies.sshkey.actions[]

Description
Type
object
Required
  • type
PropertyTypeDescription

reload

object

reload specifies the service to reload, only valid if type is reload

restart

object

restart specifies the service to restart, only valid if type is restart

type

string

type represents the commands that will be carried out if this NodeDisruptionPolicyStatusActionType is executed Valid values are Reboot, Drain, Reload, Restart, DaemonReload, None and Special. reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration

21.1.42. .status.nodeDisruptionPolicyStatus.clusterPolicies.sshkey.actions[].reload

Description
reload specifies the service to reload, only valid if type is reload
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be reloaded Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.43. .status.nodeDisruptionPolicyStatus.clusterPolicies.sshkey.actions[].restart

Description
restart specifies the service to restart, only valid if type is restart
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be restarted Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.44. .status.nodeDisruptionPolicyStatus.clusterPolicies.units

Description
units is a list MachineConfig unit definitions and actions to take on changes to those services
Type
array

21.1.45. .status.nodeDisruptionPolicyStatus.clusterPolicies.units[]

Description
NodeDisruptionPolicyStatusUnit is a systemd unit name and corresponding actions to take and is used in the NodeDisruptionPolicyClusterStatus object
Type
object
Required
  • actions
  • name
PropertyTypeDescription

actions

array

actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.

actions[]

object

 

name

string

name represents the service name of a systemd service managed through a MachineConfig Actions specified will be applied for changes to the named service. Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.46. .status.nodeDisruptionPolicyStatus.clusterPolicies.units[].actions

Description
actions represents the series of commands to be executed on changes to the file at the corresponding file path. Actions will be applied in the order that they are set in this list. If there are other incoming changes to other MachineConfig entries in the same update that require a reboot, the reboot will supercede these actions. Valid actions are Reboot, Drain, Reload, DaemonReload and None. The Reboot action and the None action cannot be used in conjunction with any of the other actions. This list supports a maximum of 10 entries.
Type
array

21.1.47. .status.nodeDisruptionPolicyStatus.clusterPolicies.units[].actions[]

Description
Type
object
Required
  • type
PropertyTypeDescription

reload

object

reload specifies the service to reload, only valid if type is reload

restart

object

restart specifies the service to restart, only valid if type is restart

type

string

type represents the commands that will be carried out if this NodeDisruptionPolicyStatusActionType is executed Valid values are Reboot, Drain, Reload, Restart, DaemonReload, None and Special. reload/restart requires a corresponding service target specified in the reload/restart field. Other values require no further configuration

21.1.48. .status.nodeDisruptionPolicyStatus.clusterPolicies.units[].actions[].reload

Description
reload specifies the service to reload, only valid if type is reload
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be reloaded Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.1.49. .status.nodeDisruptionPolicyStatus.clusterPolicies.units[].actions[].restart

Description
restart specifies the service to restart, only valid if type is restart
Type
object
Required
  • serviceName
PropertyTypeDescription

serviceName

string

serviceName is the full name (e.g. crio.service) of the service to be restarted Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".

21.2. API endpoints

The following API endpoints are available:

  • /apis/operator.openshift.io/v1/machineconfigurations

    • DELETE: delete collection of MachineConfiguration
    • GET: list objects of kind MachineConfiguration
    • POST: create a MachineConfiguration
  • /apis/operator.openshift.io/v1/machineconfigurations/{name}

    • DELETE: delete a MachineConfiguration
    • GET: read the specified MachineConfiguration
    • PATCH: partially update the specified MachineConfiguration
    • PUT: replace the specified MachineConfiguration
  • /apis/operator.openshift.io/v1/machineconfigurations/{name}/status

    • GET: read status of the specified MachineConfiguration
    • PATCH: partially update status of the specified MachineConfiguration
    • PUT: replace status of the specified MachineConfiguration

21.2.1. /apis/operator.openshift.io/v1/machineconfigurations

HTTP method
DELETE
Description
delete collection of MachineConfiguration
Table 21.1. HTTP responses
HTTP codeReponse body

200 - OK

Status schema

401 - Unauthorized

Empty

HTTP method
GET
Description
list objects of kind MachineConfiguration
Table 21.2. HTTP responses
HTTP codeReponse body

200 - OK

MachineConfigurationList schema

401 - Unauthorized

Empty

HTTP method
POST
Description
create a MachineConfiguration
Table 21.3. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 21.4. Body parameters
ParameterTypeDescription

body

MachineConfiguration schema

 
Table 21.5. HTTP responses
HTTP codeReponse body

200 - OK

MachineConfiguration schema

201 - Created

MachineConfiguration schema

202 - Accepted

MachineConfiguration schema

401 - Unauthorized

Empty

21.2.2. /apis/operator.openshift.io/v1/machineconfigurations/{name}

Table 21.6. Global path parameters
ParameterTypeDescription

name

string

name of the MachineConfiguration

HTTP method
DELETE
Description
delete a MachineConfiguration
Table 21.7. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

Table 21.8. HTTP responses
HTTP codeReponse body

200 - OK

Status schema

202 - Accepted

Status schema

401 - Unauthorized

Empty

HTTP method
GET
Description
read the specified MachineConfiguration
Table 21.9. HTTP responses
HTTP codeReponse body

200 - OK

MachineConfiguration schema

401 - Unauthorized

Empty

HTTP method
PATCH
Description
partially update the specified MachineConfiguration
Table 21.10. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 21.11. HTTP responses
HTTP codeReponse body

200 - OK

MachineConfiguration schema

401 - Unauthorized

Empty

HTTP method
PUT
Description
replace the specified MachineConfiguration
Table 21.12. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 21.13. Body parameters
ParameterTypeDescription

body

MachineConfiguration schema

 
Table 21.14. HTTP responses
HTTP codeReponse body

200 - OK

MachineConfiguration schema

201 - Created

MachineConfiguration schema

401 - Unauthorized

Empty

21.2.3. /apis/operator.openshift.io/v1/machineconfigurations/{name}/status

Table 21.15. Global path parameters
ParameterTypeDescription

name

string

name of the MachineConfiguration

HTTP method
GET
Description
read status of the specified MachineConfiguration
Table 21.16. HTTP responses
HTTP codeReponse body

200 - OK

MachineConfiguration schema

401 - Unauthorized

Empty

HTTP method
PATCH
Description
partially update status of the specified MachineConfiguration
Table 21.17. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 21.18. HTTP responses
HTTP codeReponse body

200 - OK

MachineConfiguration schema

401 - Unauthorized

Empty

HTTP method
PUT
Description
replace status of the specified MachineConfiguration
Table 21.19. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 21.20. Body parameters
ParameterTypeDescription

body

MachineConfiguration schema

 
Table 21.21. HTTP responses
HTTP codeReponse body

200 - OK

MachineConfiguration schema

201 - Created

MachineConfiguration schema

401 - Unauthorized

Empty

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.