diff --git a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/main.yml b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/main.yml index 0ec863bb5..3f422ca88 100644 --- a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/main.yml @@ -135,7 +135,8 @@ - name: Check controller-0 is in online state shell: source /etc/platform/openrc; system host-show controller-0 --column availability --format value register: check_online - retries: 10 + retries: 15 + delay: 10 until: check_online.stdout == "online" - name: Set async parameters diff --git a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/templates/k8s-v1.24.4 b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/templates/k8s-v1.24.4 new file mode 120000 index 000000000..3494e0984 --- /dev/null +++ b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/templates/k8s-v1.24.4 @@ -0,0 +1 @@ +k8s-v1.22.5 \ No newline at end of file diff --git a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/templates/kubelet.conf.j2 b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/templates/kubelet.conf.j2 index ab17d42e8..d465332b9 100644 --- a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/templates/kubelet.conf.j2 +++ b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/templates/kubelet.conf.j2 @@ -6,7 +6,7 @@ # to allow room for platform pods. The user apps are in fact # intended to run after the unlock anyway. During the unlock the correct # value is used, the one generated by sysinv as hieradata. -KUBELET_EXTRA_ARGS=--cni-bin-dir={{ kubelet_cni_bin_dir }} \ +KUBELET_EXTRA_ARGS=\ --node-ip={{ node_ip }} \ --volume-plugin-dir={{ kubelet_vol_plugin_dir }} \ --pod-max-pids 500 diff --git a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/tasks/main.yml b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/tasks/main.yml index 9784ab1df..1db05ba9d 100644 --- a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/tasks/main.yml @@ -253,10 +253,47 @@ etcd_root_ca_cert: "{{ etcd_root_ca_cert | default('') }}" etcd_root_ca_key: "{{ etcd_root_ca_key | default('') }}" +# Set the kubernetes_version if the user hasn't overridden it +- name: Check if kubernetes_version is specified + set_fact: + found_kubernetes_version: "{{ kubernetes_version is defined }}" + +- block: + - name: Set kubernetes_version for fresh installs. + set_fact: + kubernetes_version: "{{ fresh_install_k8s_version }}" + when: migrate_platform_data is undefined or not migrate_platform_data + + - name: Set kubernetes_version for upgrades. + set_fact: + kubernetes_version: "{{ upgrade_k8s_version }}" + when: migrate_platform_data is defined and migrate_platform_data + + - name: Set kubernetes_version for restores. + set_fact: + kubernetes_version: "{{ restore_k8s_version }}" + when: restore_k8s_version is defined + + when: not found_kubernetes_version + +- block: + - name: Set kubernetes long version + set_fact: + kubernetes_long_version: "{{ kubernetes_version if kubernetes_version.startswith('v') + else 'v' + kubernetes_version }}" + + - name: Read in kubernetes versioned configuration parameters + include_vars: + dir: "vars/k8s-{{ kubernetes_long_version }}" + extensions: ['yml'] + + when: kubernetes_version is defined + - name: Combine k8s user overrides and default config parameters set_fact: apiserver_extra_args: "{{ apiserver_extra_args_defaults \ - | combine(apiserver_extra_args|default({})) }}" + | combine({ 'feature-gates': apiserver_feature_gates|default(omit) }, \ + apiserver_extra_args|default({})) }}" controllermanager_extra_args: "{{ controllermanager_extra_args_defaults \ | combine(controllermanager_extra_args|default({})) }}" scheduler_extra_args: "{{ scheduler_extra_args_defaults \ diff --git a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.21.8/k8s-versioned.yml b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.21.8/k8s-versioned.yml new file mode 100644 index 000000000..4cf5a7588 --- /dev/null +++ b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.21.8/k8s-versioned.yml @@ -0,0 +1,2 @@ +--- +apiserver_feature_gates: RemoveSelfLink=false diff --git a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.22.5/k8s-versioned.yml b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.22.5/k8s-versioned.yml new file mode 100644 index 000000000..4cf5a7588 --- /dev/null +++ b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.22.5/k8s-versioned.yml @@ -0,0 +1,2 @@ +--- +apiserver_feature_gates: RemoveSelfLink=false diff --git a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.23.1/k8s-versioned.yml b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.23.1/k8s-versioned.yml new file mode 100644 index 000000000..4cf5a7588 --- /dev/null +++ b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.23.1/k8s-versioned.yml @@ -0,0 +1,2 @@ +--- +apiserver_feature_gates: RemoveSelfLink=false diff --git a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.24.4/k8s-versioned.yml b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.24.4/k8s-versioned.yml new file mode 100644 index 000000000..4cc249398 --- /dev/null +++ b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/k8s-v1.24.4/k8s-versioned.yml @@ -0,0 +1,2 @@ +--- +# no customizations for this k8s version diff --git a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/main.yml b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/main.yml index 32801eeda..b0d2cd12c 100644 --- a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/main.yml +++ b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/vars/main.yml @@ -27,7 +27,6 @@ apiserver_extra_args_defaults: encryption-provider-config: "{{ encryption_provider_config }}" default-not-ready-toleration-seconds: "30" default-unreachable-toleration-seconds: "30" - feature-gates: "TTLAfterFinished=true,RemoveSelfLink=false" event-ttl: "24h" audit-log-path: "/var/log/kubernetes/audit/audit.log" audit-log-maxage: "3" @@ -38,7 +37,6 @@ controllermanager_extra_args_defaults: node-monitor-period: "2s" node-monitor-grace-period: "20s" pod-eviction-timeout: '30s' - feature-gates: "TTLAfterFinished=true" flex-volume-plugin-dir: "{{ kubelet_vol_plugin_dir }}" scheduler_extra_args_defaults: { } @@ -49,8 +47,6 @@ kubelet_extra_args_defaults: kubelet_configurations_defaults: nodeStatusUpdateFrequency: "4s" failSwapOn: false - featureGates: - HugePageStorageMediumSize: true cgroupDriver: "cgroupfs" cgroupRoot: "{{ kubelet_cgroup_root }}" imageGCHighThresholdPercent: 79 diff --git a/playbookconfig/src/playbooks/roles/bootstrap/validate-config/tasks/main.yml b/playbookconfig/src/playbooks/roles/bootstrap/validate-config/tasks/main.yml index e0ba9daeb..23009f7f0 100644 --- a/playbookconfig/src/playbooks/roles/bootstrap/validate-config/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/bootstrap/validate-config/tasks/main.yml @@ -825,29 +825,6 @@ apiserver_oidc.username_claim is defined and apiserver_oidc.groups_claim is defined)) -# Set the kubernetes_version if the user hasn't overridden it -- name: Check if kubernetes_version is specified - set_fact: - found_kubernetes_version: "{{ kubernetes_version is defined }}" - -- block: - - name: Set kubernetes_version for fresh installs. - set_fact: - kubernetes_version: "{{ fresh_install_k8s_version }}" - when: migrate_platform_data is undefined or not migrate_platform_data - - - name: Set kubernetes_version for upgrades. - set_fact: - kubernetes_version: "{{ upgrade_k8s_version }}" - when: migrate_platform_data is defined and migrate_platform_data - - - name: Set kubernetes_version for restores. - set_fact: - kubernetes_version: "{{ restore_k8s_version }}" - when: restore_k8s_version is defined - - when: not found_kubernetes_version - - name: Check overridden kubernetes_version matches the backup. fail: msg: > diff --git a/playbookconfig/src/playbooks/roles/common/load-images-information/tasks/main.yml b/playbookconfig/src/playbooks/roles/common/load-images-information/tasks/main.yml index 628b11d9e..9cd9f5b40 100644 --- a/playbookconfig/src/playbooks/roles/common/load-images-information/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/common/load-images-information/tasks/main.yml @@ -8,10 +8,13 @@ # This role loads variables containing images. # -- name: Set kubernetes long version - set_fact: - kubernetes_long_version: "{{ kubernetes_version if kubernetes_version.startswith('v') - else 'v' + kubernetes_version }}" +- name: Fail if kubernetes_version is not defined + fail: msg="The mandatory parameter kubernetes_version is not defined." + when: kubernetes_version is not defined + +- name: Fail if kubernetes_long_version is not defined + fail: msg="The mandatory parameter kubernetes_long_version is not defined." + when: kubernetes_long_version is not defined - block: - name: Get the list of kubernetes images diff --git a/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.24.4 b/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.24.4 new file mode 120000 index 000000000..3494e0984 --- /dev/null +++ b/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.24.4 @@ -0,0 +1 @@ +k8s-v1.22.5 \ No newline at end of file diff --git a/playbookconfig/src/playbooks/roles/common/upgrade-k8s-networking/tasks/main.yml b/playbookconfig/src/playbooks/roles/common/upgrade-k8s-networking/tasks/main.yml index 02d65157e..9ee95e324 100644 --- a/playbookconfig/src/playbooks/roles/common/upgrade-k8s-networking/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/common/upgrade-k8s-networking/tasks/main.yml @@ -11,11 +11,6 @@ when: mode is defined -- name: Set kubernetes long version - set_fact: - kubernetes_long_version: "{{ kubernetes_version if kubernetes_version.startswith('v') - else 'v' + kubernetes_version }}" - - name: Initialize variables set_fact: overrides_file: "/tmp/upgrade_overrides.yaml" @@ -25,6 +20,10 @@ fail: msg="The mandatory parameter kubernetes_version is not defined." when: kubernetes_version is not defined +- name: Fail if kubernetes_long_version is not defined + fail: msg="The mandatory parameter kubernetes_long_version is not defined." + when: kubernetes_long_version is not defined + - name: Create the upgrade overrides file command: "/usr/bin/sysinv-utils create-host-overrides {{ overrides_file }}" diff --git a/playbookconfig/src/playbooks/roles/k8s-storage-backends/snapshot-controller/files/k8s-v1.24.4 b/playbookconfig/src/playbooks/roles/k8s-storage-backends/snapshot-controller/files/k8s-v1.24.4 new file mode 120000 index 000000000..3abbe23ca --- /dev/null +++ b/playbookconfig/src/playbooks/roles/k8s-storage-backends/snapshot-controller/files/k8s-v1.24.4 @@ -0,0 +1 @@ +k8s-v1.21.8 \ No newline at end of file diff --git a/playbookconfig/src/playbooks/roles/k8s-storage-backends/snapshot-controller/templates/k8s-v1.24.4 b/playbookconfig/src/playbooks/roles/k8s-storage-backends/snapshot-controller/templates/k8s-v1.24.4 new file mode 120000 index 000000000..3abbe23ca --- /dev/null +++ b/playbookconfig/src/playbooks/roles/k8s-storage-backends/snapshot-controller/templates/k8s-v1.24.4 @@ -0,0 +1 @@ +k8s-v1.21.8 \ No newline at end of file