diff --git a/builtin/capkk/playbooks/add_node.yaml b/builtin/capkk/playbooks/add_node.yaml index 9b364da3..e32faaa5 100644 --- a/builtin/capkk/playbooks/add_node.yaml +++ b/builtin/capkk/playbooks/add_node.yaml @@ -1,4 +1,25 @@ --- +- hosts: + - "{{ .node_name }}" + gather_facts: true + vars: + architectures: + amd64: + - amd64 + - x86_64 + arm64: + - arm64 + - aarch64 + tasks: + - name: Get os arch for each node + set_fact: + binary_type: >- + {{- if .architectures.amd64 | has .os.architecture -}} + amd64 + {{- else if .architectures.arm64 | has .os.architecture -}} + arm64 + {{- end -}} + - hosts: - "{{ .node_name }}" gather_facts: true diff --git a/builtin/capkk/roles/precheck/env_check/defaults/main.yaml b/builtin/capkk/roles/precheck/env_check/defaults/main.yaml index 61275658..aaacae22 100644 --- a/builtin/capkk/roles/precheck/env_check/defaults/main.yaml +++ b/builtin/capkk/roles/precheck/env_check/defaults/main.yaml @@ -22,10 +22,8 @@ cluster_require: # the minimal required version of containerd to be installed. containerd_min_version_required: v1.6.0 supported_architectures: - amd64: - - amd64 - - x86_64 - arm64: - - arm64 - - aarch64 + - amd64 + - x86_64 + - arm64 + - aarch64 min_kernel_version: 4.9.17 diff --git a/builtin/capkk/roles/precheck/env_check/tasks/kubernetes.yaml b/builtin/capkk/roles/precheck/env_check/tasks/kubernetes.yaml index cd176944..1b0cfae4 100644 --- a/builtin/capkk/roles/precheck/env_check/tasks/kubernetes.yaml +++ b/builtin/capkk/roles/precheck/env_check/tasks/kubernetes.yaml @@ -8,7 +8,7 @@ run_once: true assert: that: - - and .kubernetes.control_plane_endpoint.kube_vip.address (ne .kubernetes.control_plane_endpoint.kube_vip.address "") + - .kubernetes.control_plane_endpoint.kube_vip.address | empty | not - .kubernetes.control_plane_endpoint.kube_vip.address | regexMatch "^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])|(([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4}|:)|(([0-9a-fA-F]{1,4}:){1,6}|:):([0-9a-fA-F]{1,4}|:){1,6}([0-9a-fA-F]{1,4}|:)))$" - | {{- $existIP := false }} diff --git a/builtin/capkk/roles/precheck/env_check/tasks/os.yaml b/builtin/capkk/roles/precheck/env_check/tasks/os.yaml index e1807a57..4c3ed02b 100644 --- a/builtin/capkk/roles/precheck/env_check/tasks/os.yaml +++ b/builtin/capkk/roles/precheck/env_check/tasks/os.yaml @@ -12,15 +12,8 @@ - name: Stop if arch supported assert: - that: or (.cluster_require.supported_architectures.amd64 | has .os.architecture) (.cluster_require.supported_architectures.arm64 | has .os.architecture) - success_msg: >- - {{- if .cluster_require.supported_architectures.amd64 | has .os.architecture -}} - amd64 - {{- else -}} - arm64 - {{- end -}} + that: .cluster_require.supported_architectures | has .os.architecture fail_msg: "{{ .os.architecture }} is not a known arch" - register: binary_type - name: Stop if memory is too small for masters assert: diff --git a/builtin/capkk/roles/uninstall/cri/tasks/main.yaml b/builtin/capkk/roles/uninstall/cri/tasks/main.yaml index 0678e24d..d41e2244 100644 --- a/builtin/capkk/roles/uninstall/cri/tasks/main.yaml +++ b/builtin/capkk/roles/uninstall/cri/tasks/main.yaml @@ -12,7 +12,7 @@ when: - .cri.container_manager | eq "docker" - .kube_version | semverCompare ">=v1.24.0" - - and .cridockerd_version (.cridockerd_version | ne "") + - .cridockerd_version | empty | not - name: Delete residue files command: | diff --git a/builtin/core/playbooks/add_nodes.yaml b/builtin/core/playbooks/add_nodes.yaml index 68e1e9c5..d59582ca 100644 --- a/builtin/core/playbooks/add_nodes.yaml +++ b/builtin/core/playbooks/add_nodes.yaml @@ -13,7 +13,7 @@ - localhost roles: - role: precheck/artifact_check - when: and .artifact.artifact_file (ne .artifact.artifact_file "") + when: .artifact.artifact_file | empty | not - hosts: - k8s_cluster - etcd diff --git a/builtin/core/playbooks/hook/pre_install.yaml b/builtin/core/playbooks/hook/pre_install.yaml index 7e054b0b..a1172a73 100644 --- a/builtin/core/playbooks/hook/pre_install.yaml +++ b/builtin/core/playbooks/hook/pre_install.yaml @@ -1,4 +1,25 @@ --- +- hosts: + - all + gather_facts: true + vars: + architectures: + amd64: + - amd64 + - x86_64 + arm64: + - arm64 + - aarch64 + tasks: + - name: Get os arch for each node + set_fact: + binary_type: >- + {{- if .architectures.amd64 | has .os.architecture -}} + amd64 + {{- else if .architectures.arm64 | has .os.architecture -}} + arm64 + {{- end -}} + - hosts: - all vars: @@ -25,7 +46,7 @@ register: execute_result - name: Execute pre install scripts - when: .execute_result.stderr | eq "" + when: .execute_result.stderr | empty command: | for file in /etc/kubekey/scripts/pre_install_*.sh; do if [ -f $file ]; then diff --git a/builtin/core/roles/install/cni/defaults/main.yaml b/builtin/core/roles/install/cni/defaults/main.yaml index 231539bb..d749f976 100644 --- a/builtin/core/roles/install/cni/defaults/main.yaml +++ b/builtin/core/roles/install/cni/defaults/main.yaml @@ -144,9 +144,9 @@ cni: {{- range .groups.kube_control_plane | default list }} {{- $internalIPv4 := index $.hostvars . "internal_ipv4" | default "" }} {{- $internalIPv6 := index $.hostvars . "internal_ipv6" | default "" }} - {{- if ne $internalIPv4 "" }} + {{- if $internalIPv4| empty | not }} {{- $ips = append $ips $internalIPv4 }} - {{- else if ne $internalIPv6 "" }} + {{- else if $internalIPv6 | empty | not }} {{- $ips = append $ips $internalIPv6 }} {{- end }} {{- end }} diff --git a/builtin/core/roles/install/image-registry/tasks/install_docker.yaml b/builtin/core/roles/install/image-registry/tasks/install_docker.yaml index 29292875..174fcb95 100644 --- a/builtin/core/roles/install/image-registry/tasks/install_docker.yaml +++ b/builtin/core/roles/install/image-registry/tasks/install_docker.yaml @@ -5,7 +5,7 @@ register: docker_install_version - name: Install docker - when: or (.docker_install_version.stderr | ne "") (.docker_install_version.stdout | hasPrefix (printf "Docker version %s," .docker_version) | not) + when: .docker_install_version.stderr | empty | not) (.docker_install_version.stdout | hasPrefix (printf "Docker version %s," .docker_version) | not) block: - name: Sync docker binary to remote copy: diff --git a/builtin/core/roles/kubernetes/pre-kubernetes/tasks/high-availability/kube_vip.yaml b/builtin/core/roles/kubernetes/pre-kubernetes/tasks/high-availability/kube_vip.yaml index d0afc48c..72c0d5fa 100644 --- a/builtin/core/roles/kubernetes/pre-kubernetes/tasks/high-availability/kube_vip.yaml +++ b/builtin/core/roles/kubernetes/pre-kubernetes/tasks/high-availability/kube_vip.yaml @@ -14,8 +14,8 @@ - name: Check if network is exist assert: that: - - .interface.stderr | eq "" - - .interface.stdout | ne "" + - .interface.stderr | empty + - .interface.stdout | empty | not fail_msg: "cannot find network interface to match kube_vip" - name: Generate kube_vip manifest diff --git a/builtin/core/roles/kubernetes/pre-kubernetes/templates/haproxy/haproxy.cfg b/builtin/core/roles/kubernetes/pre-kubernetes/templates/haproxy/haproxy.cfg index 684d6ce2..22da18c2 100644 --- a/builtin/core/roles/kubernetes/pre-kubernetes/templates/haproxy/haproxy.cfg +++ b/builtin/core/roles/kubernetes/pre-kubernetes/templates/haproxy/haproxy.cfg @@ -39,9 +39,9 @@ backend kube_api_backend {{- range .groups.kube_control_plane | default list }} {{- $internalIPv4 := index $.hostvars . "internal_ipv4" | default "" }} {{- $internalIPv6 := index $.hostvars . "internal_ipv6" | default "" }} - {{- if ne $internalIPv4 "" }} + {{- if $internalIPv4 | empty | not }} server {{ index $.hostvars . "hostname" }} {{ $internalIPv4 }}:{{ $.kubernetes.apiserver.port }} check check-ssl verify none - {{- else if ne $internalIPv6 "" }} + {{- else if $internalIPv6 | empty | not }} server {{ index $.hostvars . "hostname" }} {{ $internalIPv6 }}:{{ $.kubernetes.apiserver.port }} check check-ssl verify none {{- end }} {{- end }} diff --git a/builtin/core/roles/kubernetes/pre-kubernetes/templates/kubelet/kubelet.env b/builtin/core/roles/kubernetes/pre-kubernetes/templates/kubelet/kubelet.env index 42533861..4ec1e05d 100644 --- a/builtin/core/roles/kubernetes/pre-kubernetes/templates/kubelet/kubelet.env +++ b/builtin/core/roles/kubernetes/pre-kubernetes/templates/kubelet/kubelet.env @@ -9,9 +9,9 @@ EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env EnvironmentFile=-/etc/default/kubelet {{- $internalIPv4 := .internal_ipv4 | default "" }} {{- $internalIPv6 := .internal_ipv6 | default "" }} -{{- if ne $internalIPv4 "" }} +{{- if $internalIPv4 | empty | not }} Environment="KUBELET_EXTRA_ARGS=--node-ip={{ $internalIPv4 }} --hostname-override={{ .hostname }} {{ range $k,$v := .kubernetes.kubelet.extra_args }}--{{ $k }} {{ $v }} {{ end }}" -{{- else if ne $internalIPv6 "" }} +{{- else if $internalIPv6 | empty | not }} Environment="KUBELET_EXTRA_ARGS=--node-ip={{ $internalIPv6 }} --hostname-override={{ .hostname }} {{ range $k,$v := .kubernetes.kubelet.extra_args }}--{{ $k }} {{ $v }} {{ end }}" {{- end }} ExecStart= diff --git a/builtin/core/roles/precheck/env_check/defaults/main.yaml b/builtin/core/roles/precheck/env_check/defaults/main.yaml index 2c085aa0..a2a82910 100644 --- a/builtin/core/roles/precheck/env_check/defaults/main.yaml +++ b/builtin/core/roles/precheck/env_check/defaults/main.yaml @@ -22,10 +22,8 @@ cluster_require: # the minimal required version of containerd to be installed. containerd_min_version_required: v1.6.0 supported_architectures: - amd64: - - amd64 - - x86_64 - arm64: - - arm64 - - aarch64 + - amd64 + - x86_64 + - arm64 + - aarch64 min_kernel_version: 4.9.17 \ No newline at end of file diff --git a/builtin/core/roles/precheck/env_check/tasks/kubernetes.yaml b/builtin/core/roles/precheck/env_check/tasks/kubernetes.yaml index 092782d0..a4040e73 100644 --- a/builtin/core/roles/precheck/env_check/tasks/kubernetes.yaml +++ b/builtin/core/roles/precheck/env_check/tasks/kubernetes.yaml @@ -8,7 +8,7 @@ run_once: true assert: that: - - and .kubernetes.control_plane_endpoint.kube_vip.address (ne .kubernetes.control_plane_endpoint.kube_vip.address "") + - .kubernetes.control_plane_endpoint.kube_vip.address | empty | not - .kubernetes.control_plane_endpoint.kube_vip.address | regexMatch "^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])|(([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4}|:)|(([0-9a-fA-F]{1,4}:){1,6}|:):([0-9a-fA-F]{1,4}|:){1,6}([0-9a-fA-F]{1,4}|:)))$" - | {{- $existIP := false }} diff --git a/builtin/core/roles/precheck/env_check/tasks/network.yaml b/builtin/core/roles/precheck/env_check/tasks/network.yaml index 8ad37d65..77289685 100644 --- a/builtin/core/roles/precheck/env_check/tasks/network.yaml +++ b/builtin/core/roles/precheck/env_check/tasks/network.yaml @@ -19,20 +19,20 @@ run_once: true block: - name: Stop if pod cidr is not valid - when: and .kubernetes.networking.pod_cidr (.kubernetes.networking.pod_cidr | ne "") + when: .kubernetes.networking.pod_cidr | empty | not assert: that: .kubernetes.networking.pod_cidr | splitList "," | len | ge 2 fail_msg: >- kubernetes.networking.pod_cidr should be ipv4_cidr/ipv6_cidr or ipv4_cidr,ipv6_cidr - name: Stop if service cidr is not valid - when: and .kubernetes.networking.service_cidr (.kubernetes.networking.service_cidr | ne "") + when: .kubernetes.networking.service_cidr | empty | not assert: that: .kubernetes.networking.service_cidr | splitList "," | len | ge 2 fail_msg: >- kubernetes.networking.service_cidr should be ipv4_cidr/ipv6_cidr or ipv4_cidr,ipv6_cidr - name: Stop if pod networking is not support dual-stack when: - - and .kubernetes.networking.pod_cidr (.kubernetes.networking.pod_cidr | ne "") + - .kubernetes.networking.pod_cidr | empty | not - .kubernetes.networking.pod_cidr | splitList "," | len | eq 2 assert: that: diff --git a/builtin/core/roles/precheck/env_check/tasks/os.yaml b/builtin/core/roles/precheck/env_check/tasks/os.yaml index dae6b886..1878667f 100644 --- a/builtin/core/roles/precheck/env_check/tasks/os.yaml +++ b/builtin/core/roles/precheck/env_check/tasks/os.yaml @@ -11,18 +11,9 @@ - name: Stop if arch supported assert: - that: or (.cluster_require.supported_architectures.amd64 | has .os.architecture) (.cluster_require.supported_architectures.arm64 | has .os.architecture) + that: .cluster_require.supported_architectures | has .os.architecture fail_msg: "{{ .os.architecture }} is not a known arch" -- name: Set binary_type for each hosts - set_fact: - binary_type: >- - {{- if .cluster_require.supported_architectures.amd64 | has .os.architecture -}} - amd64 - {{- else -}} - arm64 - {{- end -}} - - name: Stop if memory is too small for masters assert: that: .process.memInfo.MemTotal | trimSuffix " kB" | atoi | le .cluster_require.minimal_master_memory_mb diff --git a/builtin/core/roles/uninstall/cri/tasks/main.yaml b/builtin/core/roles/uninstall/cri/tasks/main.yaml index 88311d5b..23dbb7fa 100644 --- a/builtin/core/roles/uninstall/cri/tasks/main.yaml +++ b/builtin/core/roles/uninstall/cri/tasks/main.yaml @@ -12,7 +12,7 @@ when: - .cri.container_manager | eq "docker" - .kube_version | semverCompare ">=v1.24.0" - - and .cridockerd_version (.cridockerd_version | ne "") + - .cridockerd_version | empty | not - name: Delete residue files command: |