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.
|
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.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.