Parameters
The parent key for all of the following parameters is openshift_upgrade_controller.
namespace
| type |
string |
| default |
|
The namespace in which to deploy this component.
namespaceMetadata
| type |
dict |
| default |
|
Metadata to be added to the namespace.
manifests_version
| type |
string |
| default |
|
The Git reference to the controller deployment manifests. The default is the tag of the controller image.
upgrade_configs
| type |
dict |
| default |
|
| example |
|
This parameter is used to configure the UpgradeConfig objects.
The dictionary key is used as the name of the UpgradeConfig object.
The value is the configuration of the UpgradeConfig object.
See github.com/appuio/openshift-upgrade-controller for the manifest definition.
upgrade_job_hooks
| type |
dict |
| default |
|
| example |
|
This parameter is used to configure the UpgradeJobHooks objects.
The dictionary key is used as the name of the UpgradeJobHooks object.
The value is the configuration of the UpgradeJobHooks object.
UpgradeJobHooks default to priorityClassName: system-cluster-critical.
See github.com/appuio/openshift-upgrade-controller for the manifest definition.
spec.selector can be referenced from the UpgradeConfig object using Commodore variable expansion.
|
upgrade_suspension_windows
| type |
dict |
| default |
|
| example |
|
This parameter is used to configure the UpgradeSuspensionWindow objects.
The dictionary key is used as the name of the UpgradeSuspensionWindow object.
The value is the configuration of the UpgradeSuspensionWindow object.
See github.com/appuio/openshift-upgrade-controller for the manifest definition.
spec.jobSelector and spec.configSelector can be referenced from the UpgradeConfig and UpgradeJob object using Commodore variable expansion.
|
An empty selector (jobSelector: {}) matches all objects. A null selector (jobSelector: null, jobSelector:, omitted) matches no objects.
|
node_force_drains
| type |
dict |
| default |
|
| example |
|
This parameter is used to configure the NodeForceDrain objects.
The dictionary key is used as the name of the NodeForceDrain object.
The value is the configuration of the NodeForceDrain object.
See github.com/appuio/openshift-upgrade-controller for the manifest definition.
upgrade_silence
| type |
object |
| default:: default |
Creates a pre-configured UpgradeJobHook object to silence alerts given by alert_matchers during the upgrade.
upgrade_silence.alertmanager_host, upgrade_silence.alertmanager_operated_service, upgrade_silence.alertmanager_namespace
| type |
string |
| default |
|
The host name, service name and namespace of the Alertmanager to use.
upgrade_silence.upgrade_job_selector
| type |
dict |
| default |
|
| example |
|
Selects which UpgradeJob objects this hook applies to.
upgrade_silence.alert_matchers
| type |
dict |
| default |
|
| example |
|
Selects the alerts to silence. The dictionary key is added as a comment to the silence. The value is the configuration of the silence. List values are ANDed together, and multiple silence configurations are ORed together.
upgrade_silence.silence_after_finish_minutes
| type |
integer |
| default |
|
The duration to wait after the upgrade job has finished before expiring the silence in minutes.
upgrade_silence.handle_delayed_worker_pools
| type |
bool |
| default |
|
Whether to create separate silences for the initial maintenance and the delayed maintenance of one or more MachineConfigPools.
If set to true, the upgrade silence UpgradeJobHook is executed for events UpgradeComplete (when the upgrade is complete except for delayed MachineConfigPools) and MachineConfigPoolUnpause (when the delayed MachineConfigPool maintenance starts) in addition to the Start and Finish events.
When the hook script runs for the UpgradeComplete event it expires the silence after upgrade_silence.silence_after_finish_minutes.
When the hook script runs for the MachineConfigPoolUnpause event it creates a silence which ends after upgrade_silence.silence_timeout_hours.
The Start and Finish logic remains unchanged, the Finish run will expire the silence created by the run for MachineConfigPoolUnpause when the handle_delayed_worker_pools parameter is true.
|
Currently, the upgrade-controller doesn’t have an event for |
upgrade_silence.additional_job_configuration
| type |
dict |
| default |
|
Additional configuration for the UpgradeJob object.
This is merged with the configuration generated by the component.
admin_ack
| type |
object |
| default:: default |
Creates a pre-configured UpgradeJobHook object to automatically acknowledge OpenShift minor upgrades. See OpenShift documentation for an example of this.
admin_ack.upgrade_job_selector
| type |
dict |
| default |
|
| example |
|
Selects which UpgradeJob objects this hook applies to.
admin_ack.overrides
| type |
dict |
| default |
|
| example |
|
Allows to manually set the key used to acknowledge the upgrade for a given minor version. Check the OpenShift documentation for the correct key to use.
If not set a default key is generated based on the upgrade jobs desiredVersion field.
The default key is ack-4.${lastMinor}-kube-1.${kubernetesMinor}-api-removals-in-4.${minor}.
admin_ack.config_map_ref
| type |
dict |
| default |
|
The reference to the ConfigMap that holds the ack keys.
The ConfigMap was observed to have the following format:
apiVersion: v1
kind: ConfigMap
metadata:
name: admin-acks
namespace: openshift-config
data:
ack-4.12-kube-1.25-api-removals-in-4.12: "true"
ack-4.13-kube-1.26-api-removals-in-4.13: "true"
ack-4.14-kube-1.27-api-removals-in-4.14: "true"
admin_ack.additional_job_configuration
| type |
dict |
| default |
|
Additional configuration for the UpgradeJob object.
This is merged with the configuration generated by the component.
cluster_version.openshiftVersion
| type |
object |
| default |
|
This parameter is used to conditionally add configurations in the ClusterVersion object.
The component currently uses this parameter to set default values for
* field channel.
The component sets this field to stable-<Major>.<Minor>, where <Major> and <Minor> are replaced with the values of fields Major and Minor of this parameter.
cluster_version.spec
| type |
object |
| default |
|
See the OpenShift docs for available parameters and values.
|
Field |
Values specified in this parameter take precedence over default values derived from parameter openshiftVersion.
The desiredUpdate field is removed from the ClusterVersion object.
The desired update is determined by the controller based on the UpgradeConfig and upstream ClusterVersion objects.
Example
We recommend configuring a reference for component parameter openshift_upgrade_controller.cluster_version.spec.clusterID for all OpenShift 4 clusters:
parameters:
openshift:
clusterID: 'OVERRIDE_THIS_IN_THE_CLUSTER_CONFIG'
openshift_upgrade_controller:
cluster_version:
spec:
clusterID: ${openshift.clusterID}
With this approach, each individual cluster config only needs to set generic parameter openshift.clusterID.
parameters:
openshift:
clusterID: '6d8329e3-7098-4bab-b7d8-11f1dc353481'
openshift_upgrade_controller:
cluster_version:
spec: ...
|
This example assumes that |
cluster_version.overlays
| type |
object |
| default |
|
| example |
|
This parameter can be used to schedule changes to the ClusterVersion object.
The overlay with the latest from timestamp after the current time is merged onto the base configuration in spec.template.
Overlays do not accumulate.
See the upgrade controller ClusterVersion CRD for details.
The dictionary key is used as the from field of the overlay.
The value is used as the overlay field of the overlay.
Entries can be removed by setting the value to null in the hierarchy.
alerts
| type |
dict |
| example |
|
alerts defines the alerts to be installed.
The dictionary key is used as the name of the alert.
alerts.<name>.rule
| type |
dict |
Holds the configuration of the alert rule.
See Prometheus Alerting Rules for details.