# Functions
ApplyBlockedLabel applies a label to the given Node communicating that the Node's upgrade is blocked.
ApplyDesiredVersionAnnotation applies this operator's version as the desired version annotation to the given Node.
ApplyLabelsAndAnnotations applies all the given annotations to the given Node resource.
ApplyUpgradingLabel applies the upgrading label to the given node reference indicating the instance is performing an upgrade.
ApplyVersionAnnotation applies this operator's version as the version annotation to the given Node.
GenerateAddPatch creates a comma-separated list of operations to add all given labels and annotations from an object An "add" patch overwrites existing value if a label or annotation already exists.
GenerateRemovePatch creates a comma-separated list of operations to remove all given labels and annotations from an object.
RemoveBlockedLabel clears the blocked label from the given Node.
RemoveUpgradingLabel clears the upgrading label from the node reference, indicating the instance is no longer upgrading.
RemoveVersionAnnotation clears the version annotation from the node object, indicating the node is not configured.
WaitForVersionAnnotation checks if the node object has equivalent version and desiredVersion annotations.
# Constants
AllowUpgradeLabel should be applied on a Node by a user, if they wish to unblock an upgrade.
CSIConfiguredLabel indicates that this Node was configured to use CSI storage, and not in-tree storage.
DesiredVersionAnnotation is a Node annotation, indicating the Service ConfigMap that should be used to configure it.
UpgradeBlockedLabel indicates that the Node's upgrade has been blocked by WMCO.
UpgradingLabel indicates the node's underlying instance is performing an upgrade.
VersionAnnotation indicates the version of WMCO that configured the node.