fix: add check for bootstrap_distribution

Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
Devin Buhl committed 2024-01-15 20:23:49 -05:00
1 parent 153213653b
commit 72e7d17a26
2 files changed
+29 -23

No files matched your search

+21 -21
View File
@@ -6,7 +6,7 @@
loop_control: loop_control:
label: "{{ item.address }}" label: "{{ item.address }}"
- name: Check that master node count is odd - name: Check if master node count is odd
ansible.builtin.assert: ansible.builtin.assert:
that: that:
- bootstrap_nodes.master | length > 0 - bootstrap_nodes.master | length > 0
@@ -14,27 +14,27 @@
success_msg: Master node count {{ bootstrap_nodes.master | length }} is correct. success_msg: Master node count {{ bootstrap_nodes.master | length }} is correct.
fail_msg: Master node count {{ bootstrap_nodes.master | length }} is not greater than 0 or is not odd. fail_msg: Master node count {{ bootstrap_nodes.master | length }} is not greater than 0 or is not odd.
- name: Check that node CIDR is ipv4 - name: Check if node CIDR is ipv4
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_node_cidr is ansible.utils.ipv4 that: bootstrap_node_cidr is ansible.utils.ipv4
success_msg: Node CIDR {{ bootstrap_node_cidr }} is valid. success_msg: Node CIDR {{ bootstrap_node_cidr }} is valid.
fail_msg: Node CIDR {{ bootstrap_node_cidr }} is invalid. fail_msg: Node CIDR {{ bootstrap_node_cidr }} is invalid.
- name: Check that cluster CIDR is ipv4 OR ipv6 - name: Check if cluster CIDR is ipv4 OR ipv6
when: not bootstrap_ipv6_enabled | default(false) when: not bootstrap_ipv6_enabled | default(false)
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_cluster_cidr is ansible.utils.ipv4 or bootstrap_cluster_cidr is ansible.utils.ipv6 that: bootstrap_cluster_cidr is ansible.utils.ipv4 or bootstrap_cluster_cidr is ansible.utils.ipv6
success_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is valid. success_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is valid.
fail_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is invalid. fail_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is invalid.
- name: Check that service CIDR is ipv4 OR ipv6 - name: Check if service CIDR is ipv4 OR ipv6
when: not bootstrap_ipv6_enabled | default(false) when: not bootstrap_ipv6_enabled | default(false)
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_service_cidr is ansible.utils.ipv4 or bootstrap_service_cidr is ansible.utils.ipv6 that: bootstrap_service_cidr is ansible.utils.ipv4 or bootstrap_service_cidr is ansible.utils.ipv6
success_msg: Service CIDR {{ bootstrap_service_cidr }} is valid. success_msg: Service CIDR {{ bootstrap_service_cidr }} is valid.
fail_msg: Service CIDR {{ bootstrap_service_cidr }} is invalid. fail_msg: Service CIDR {{ bootstrap_service_cidr }} is invalid.
- name: Check that cluster CIDR is ipv4 AND ipv6 - name: Check if cluster CIDR is ipv4 AND ipv6
when: bootstrap_ipv6_enabled | default(false) when: bootstrap_ipv6_enabled | default(false)
ansible.builtin.assert: ansible.builtin.assert:
that: > that: >
@@ -48,7 +48,7 @@
success_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is valid. success_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is valid.
fail_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is invalid. fail_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is invalid.
- name: Check that service CIDR is ipv4 AND ipv6 - name: Check if service CIDR is ipv4 AND ipv6
when: bootstrap_ipv6_enabled | default(false) when: bootstrap_ipv6_enabled | default(false)
ansible.builtin.assert: ansible.builtin.assert:
that: > that: >
@@ -62,31 +62,31 @@
success_msg: Service CIDR {{ bootstrap_service_cidr }} is valid. success_msg: Service CIDR {{ bootstrap_service_cidr }} is valid.
fail_msg: Service CIDR {{ bootstrap_service_cidr }} is invalid. fail_msg: Service CIDR {{ bootstrap_service_cidr }} is invalid.
- name: Check that k8s_gateway is ipv4 - name: Check if k8s_gateway is ipv4
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_k8s_gateway_addr is ansible.utils.ipv4 that: bootstrap_k8s_gateway_addr is ansible.utils.ipv4
success_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is valid. success_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is valid.
fail_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is invalid. fail_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is invalid.
- name: Check that k8s_gateway is in node CIDR - name: Check if k8s_gateway is in node CIDR
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_k8s_gateway_addr) that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_k8s_gateway_addr)
success_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is within {{ bootstrap_node_cidr }}. success_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is within {{ bootstrap_node_cidr }}.
fail_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is not within {{ bootstrap_node_cidr }}. fail_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is not within {{ bootstrap_node_cidr }}.
- name: Check that internal ingress is ipv4 - name: Check if internal ingress is ipv4
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_internal_ingress_addr is ansible.utils.ipv4 that: bootstrap_internal_ingress_addr is ansible.utils.ipv4
success_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is valid. success_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is valid.
fail_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is invalid. fail_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is invalid.
- name: Check that internal ingress is in node CIDR - name: Check if internal ingress is in node CIDR
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_internal_ingress_addr) that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_internal_ingress_addr)
success_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is within {{ bootstrap_node_cidr }}. success_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is within {{ bootstrap_node_cidr }}.
fail_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is not within {{ bootstrap_node_cidr }}. fail_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is not within {{ bootstrap_node_cidr }}.
- name: Check that external ingress is ipv4 - name: Check if external ingress is ipv4
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_external_ingress_addr is ansible.utils.ipv4 that: bootstrap_external_ingress_addr is ansible.utils.ipv4
success_msg: external ingress address {{ bootstrap_external_ingress_addr }} is valid. success_msg: external ingress address {{ bootstrap_external_ingress_addr }} is valid.
@@ -98,19 +98,19 @@
success_msg: external ingress address {{ bootstrap_external_ingress_addr }} is within {{ bootstrap_node_cidr }}. success_msg: external ingress address {{ bootstrap_external_ingress_addr }} is within {{ bootstrap_node_cidr }}.
fail_msg: external ingress address {{ bootstrap_external_ingress_addr }} is not within {{ bootstrap_node_cidr }}. fail_msg: external ingress address {{ bootstrap_external_ingress_addr }} is not within {{ bootstrap_node_cidr }}.
- name: Check that Kube API address is ipv4 - name: Check if Kube API address is ipv4
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_kube_api_addr is ansible.utils.ipv4 that: bootstrap_kube_api_addr is ansible.utils.ipv4
success_msg: Kube API address {{ bootstrap_kube_api_addr }} is valid. success_msg: Kube API address {{ bootstrap_kube_api_addr }} is valid.
fail_msg: Kube API address {{ bootstrap_kube_api_addr }} is invalid. fail_msg: Kube API address {{ bootstrap_kube_api_addr }} is invalid.
- name: Check that Kube API address is in node CIDR - name: Check if Kube API address is in node CIDR
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_kube_api_addr) that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_kube_api_addr)
success_msg: Kube API address {{ bootstrap_kube_api_addr }} is within {{ bootstrap_node_cidr }}. success_msg: Kube API address {{ bootstrap_kube_api_addr }} is within {{ bootstrap_node_cidr }}.
fail_msg: Kube API address {{ bootstrap_kube_api_addr }} is not within {{ bootstrap_node_cidr }}. fail_msg: Kube API address {{ bootstrap_kube_api_addr }} is not within {{ bootstrap_node_cidr }}.
- name: Check that all IP addresses are unique - name: Check if all IP addresses are unique
ansible.builtin.assert: ansible.builtin.assert:
that: > that: >
[ [
@@ -122,7 +122,7 @@
success_msg: All IP addresses are unique. success_msg: All IP addresses are unique.
fail_msg: All IP addresses are not unique. fail_msg: All IP addresses are not unique.
- name: Check that nodes are not the same IPs as k8s_gateway or ingress external/internal - name: Check if nodes are not the same IPs as k8s_gateway or ingress external/internal
when: not bootstrap_kube_vip_enabled | default(true) when: not bootstrap_kube_vip_enabled | default(true)
ansible.builtin.assert: ansible.builtin.assert:
that: item.address not in (bootstrap_k8s_gateway_addr, bootstrap_external_ingress_addr, bootstrap_internal_ingress_addr) that: item.address not in (bootstrap_k8s_gateway_addr, bootstrap_external_ingress_addr, bootstrap_internal_ingress_addr)
@@ -133,7 +133,7 @@
loop_control: loop_control:
label: "{{ item.address }}" label: "{{ item.address }}"
- name: Check that nodes are not the same IPs as k8s_gateway, ingress external/internal or Kube API address - name: Check if nodes are not the same IPs as k8s_gateway, ingress external/internal or Kube API address
when: (bootstrap_distribution == "k3s") and (bootstrap_kube_vip_enabled | default(true)) when: (bootstrap_distribution == "k3s") and (bootstrap_kube_vip_enabled | default(true))
ansible.builtin.assert: ansible.builtin.assert:
that: item.address not in (bootstrap_k8s_gateway_addr, bootstrap_external_ingress_addr, bootstrap_internal_ingress_addr, bootstrap_kube_api_addr) that: item.address not in (bootstrap_k8s_gateway_addr, bootstrap_external_ingress_addr, bootstrap_internal_ingress_addr, bootstrap_kube_api_addr)
@@ -144,7 +144,7 @@
loop_control: loop_control:
label: "{{ item.address }}" label: "{{ item.address }}"
- name: Check that node addresses are ipv4 - name: Check if node addresses are ipv4
ansible.builtin.assert: ansible.builtin.assert:
that: item.address is ansible.utils.ipv4 that: item.address is ansible.utils.ipv4
success_msg: Node address {{ item.address }} is valid. success_msg: Node address {{ item.address }} is valid.
@@ -154,7 +154,7 @@
loop_control: loop_control:
label: "{{ item.address }}" label: "{{ item.address }}"
- name: Check that node addresses are in node CIDR - name: Check if node addresses are in node CIDR
ansible.builtin.assert: ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(item.address) that: bootstrap_node_cidr | ansible.utils.network_in_usable(item.address)
success_msg: Node address {{ item.address }} is within {{ bootstrap_node_cidr }}. success_msg: Node address {{ item.address }} is within {{ bootstrap_node_cidr }}.
@@ -165,7 +165,7 @@
loop_control: loop_control:
label: "{{ item.address }}" label: "{{ item.address }}"
- name: Check that node IP addresses are unique - name: Check if node IP addresses are unique
ansible.builtin.assert: ansible.builtin.assert:
that: > that: >
( (
@@ -179,7 +179,7 @@
fail_msg: All node IP addresses are not unique. fail_msg: All node IP addresses are not unique.
quiet: true quiet: true
- name: Check that node names are unique - name: Check if node names are unique
ansible.builtin.assert: ansible.builtin.assert:
that: > that: >
( (
@@ -193,7 +193,7 @@
fail_msg: All node names are not unique. fail_msg: All node names are not unique.
quiet: true quiet: true
- name: Check that nodes SSH ports are reachable - name: Check if nodes SSH ports are reachable
when: not ci_test | default(false) when: not ci_test | default(false)
ansible.builtin.wait_for: ansible.builtin.wait_for:
host: "{{ current_address }}" host: "{{ current_address }}"
+8 -2
View File
@@ -1,5 +1,5 @@
--- ---
- name: Check that required bootstrap vars are set - name: Check if required bootstrap vars are set
ansible.builtin.assert: ansible.builtin.assert:
that: that:
- item in vars - item in vars
@@ -31,7 +31,13 @@
- bootstrap_service_cidr - bootstrap_service_cidr
- bootstrap_timezone - bootstrap_timezone
- name: Check that bootstrap node names are valid - name: Check if bootstrap distribution is valid
ansible.builtin.assert:
that: bootstrap_distribution in ['k0s', 'k3s']
success_msg: Distribution {{ bootstrap_distribution }} is valid
fail_msg: Distribution {{ bootstrap_distribution }} is not valid
- name: Check if bootstrap node names are valid
ansible.builtin.assert: ansible.builtin.assert:
that: item.name is match('^[a-z0-9-\.]+$') that: item.name is match('^[a-z0-9-\.]+$')
success_msg: Node name {{ item.name }} is valid success_msg: Node name {{ item.name }} is valid