mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2025-12-14 13:54:37 +03:00
CI/kubevirt: allow every vars in kubevirt template to be overriden
The current templating of kubevirt VirtualMachine relies on global ansible variables, except for the group the nodes are meant to be in. In order to have more flexibility (in particular, mixed OS cluster for instances), expect now an abitrary dict to be passed to the template ; this allows to embed directly in the nodes definition any variable used by the template.
This commit is contained in:
@@ -3,11 +3,8 @@
|
|||||||
include_vars: "../files/{{ ci_job_name }}.yml"
|
include_vars: "../files/{{ ci_job_name }}.yml"
|
||||||
|
|
||||||
- name: Start vms for CI job
|
- name: Start vms for CI job
|
||||||
vars:
|
|
||||||
tvars:
|
|
||||||
kubespray_groups: "{{ item }}"
|
|
||||||
kubernetes.core.k8s:
|
kubernetes.core.k8s:
|
||||||
definition: "{{ lookup('template', 'vm.yml.j2', template_vars=tvars) }}"
|
definition: "{{ lookup('template', 'vm.yml.j2', template_vars=item) }}"
|
||||||
loop: "{{ scenarios[mode | d('default')] }}"
|
loop: "{{ scenarios[mode | d('default')] }}"
|
||||||
|
|
||||||
- name: Wait for vms to have IP addresses
|
- name: Wait for vms to have IP addresses
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ metadata:
|
|||||||
namespace: {{ pod_namespace }}
|
namespace: {{ pod_namespace }}
|
||||||
annotations:
|
annotations:
|
||||||
kubespray.com/ci.template-path: "tests/cloud_playbooks/roles/packet-ci/templates/vm.yml.j2"
|
kubespray.com/ci.template-path: "tests/cloud_playbooks/roles/packet-ci/templates/vm.yml.j2"
|
||||||
ansible_groups: "{{ kubespray_groups | join(',') }}"
|
ansible_groups: "{{ node_groups | join(',') }}"
|
||||||
# This does not use a dns prefix because dots are hard to escape with map(attribute=) in Jinja
|
# This does not use a dns prefix because dots are hard to escape with map(attribute=) in Jinja
|
||||||
labels:
|
labels:
|
||||||
kubevirt.io/os: {{ cloud_image }}
|
kubevirt.io/os: {{ cloud_image }}
|
||||||
|
|||||||
@@ -2,31 +2,31 @@
|
|||||||
# This is a list of nodes with groups for each scenario/cluster layouts
|
# This is a list of nodes with groups for each scenario/cluster layouts
|
||||||
scenarios:
|
scenarios:
|
||||||
separate:
|
separate:
|
||||||
- ['kube_control_plane']
|
- node_groups: ['kube_control_plane']
|
||||||
- ['kube_node']
|
- node_groups: ['kube_node']
|
||||||
- ['etcd']
|
- node_groups: ['etcd']
|
||||||
ha:
|
ha:
|
||||||
- ['kube_control_plane', 'etcd']
|
- node_groups: ['kube_control_plane', 'etcd']
|
||||||
- ['kube_control_plane', 'etcd']
|
- node_groups: ['kube_control_plane', 'etcd']
|
||||||
- ['kube_node', 'etcd']
|
- node_groups: ['kube_node', 'etcd']
|
||||||
default:
|
default:
|
||||||
- ['kube_control_plane', 'etcd']
|
- node_groups: ['kube_control_plane', 'etcd']
|
||||||
- ['kube_node']
|
- node_groups: ['kube_node']
|
||||||
all-in-one:
|
all-in-one:
|
||||||
- ['kube_control_plane', 'etcd', 'kube_node']
|
- node_groups: ['kube_control_plane', 'etcd', 'kube_node']
|
||||||
ha-recover:
|
ha-recover:
|
||||||
- ['kube_control_plane', 'etcd']
|
- node_groups: ['kube_control_plane', 'etcd']
|
||||||
- ['kube_control_plane', 'etcd', 'broken_kube_control_plane', 'broken_etcd']
|
- node_groups: ['kube_control_plane', 'etcd', 'broken_kube_control_plane', 'broken_etcd']
|
||||||
- ['kube_node', 'etcd']
|
- node_groups: ['kube_node', 'etcd']
|
||||||
ha-recover-noquorum:
|
ha-recover-noquorum:
|
||||||
- ['kube_control_plane', 'etcd', 'broken_kube_control_plane', 'broken_etcd']
|
- node_groups: ['kube_control_plane', 'etcd', 'broken_kube_control_plane', 'broken_etcd']
|
||||||
- ['kube_control_plane', 'etcd', 'broken_kube_control_plane', 'broken_etcd']
|
- node_groups: ['kube_control_plane', 'etcd', 'broken_kube_control_plane', 'broken_etcd']
|
||||||
- ['kube_node', 'etcd']
|
- node_groups: ['kube_node', 'etcd']
|
||||||
node-etcd-client:
|
node-etcd-client:
|
||||||
- ['kube_node', 'kube_control_plane', 'etcd']
|
- node_groups: ['kube_node', 'kube_control_plane', 'etcd']
|
||||||
- ['kube_node', 'etcd']
|
- node_groups: ['kube_node', 'etcd']
|
||||||
- ['kube_node', 'etcd']
|
- node_groups: ['kube_node', 'etcd']
|
||||||
- ['kube_node']
|
- node_groups: ['kube_node']
|
||||||
|
|
||||||
# Get pod metadata / CI vars from environment
|
# Get pod metadata / CI vars from environment
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user