mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-07-12 00:44:43 -02:30
CI: use kubevirt.core dynamic inventory
This allows a single source of truth for the virtual machines in a kubevirt ci-run. `etcd_member_name` should be correctly handled in kubespray-defaults for testing the recover cases.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
plugin: kubevirt.core.kubevirt
|
||||
namespaces:
|
||||
- {{ pod_namespace }}
|
||||
label_selector: ci_job_id={{ ci_job_id }}
|
||||
create_groups: true
|
||||
compose:
|
||||
ci_groups: |
|
||||
group_names |
|
||||
select('ansible.builtin.match', 'label_kubespray_io*') |
|
||||
map('regex_replace', 'label_kubespray_io_(.*)_true', '\1')
|
||||
use_service: false
|
||||
host_format: "{name}"
|
||||
keyed_groups:
|
||||
- key: ci_groups
|
||||
prefix: ""
|
||||
separator: ""
|
||||
@@ -1,98 +0,0 @@
|
||||
[all]
|
||||
{% for instance in vms.results %}
|
||||
instance-{{ loop.index }} ansible_host={{instance.stdout}}
|
||||
{% endfor %}
|
||||
|
||||
{% if mode == "separate" %}
|
||||
[kube_control_plane]
|
||||
instance-1
|
||||
|
||||
[kube_node]
|
||||
instance-2
|
||||
|
||||
[etcd]
|
||||
instance-3
|
||||
{% elif mode == "ha" %}
|
||||
[kube_control_plane]
|
||||
instance-1
|
||||
instance-2
|
||||
|
||||
[kube_node]
|
||||
instance-3
|
||||
|
||||
[etcd]
|
||||
instance-1
|
||||
instance-2
|
||||
instance-3
|
||||
{% elif mode == "default" %}
|
||||
[kube_control_plane]
|
||||
instance-1
|
||||
|
||||
[kube_node]
|
||||
instance-2
|
||||
|
||||
[etcd]
|
||||
instance-1
|
||||
{% elif mode == "all-in-one" %}
|
||||
[kube_control_plane]
|
||||
instance-1
|
||||
|
||||
[kube_node]
|
||||
instance-1
|
||||
|
||||
[etcd]
|
||||
instance-1
|
||||
{% elif mode == "ha-recover" %}
|
||||
[kube_control_plane]
|
||||
instance-1
|
||||
instance-2
|
||||
|
||||
[kube_node]
|
||||
instance-3
|
||||
|
||||
[etcd]
|
||||
instance-3
|
||||
instance-1
|
||||
instance-2
|
||||
|
||||
[broken_kube_control_plane]
|
||||
instance-2
|
||||
|
||||
[broken_etcd]
|
||||
instance-2 etcd_member_name=etcd3
|
||||
{% elif mode == "ha-recover-noquorum" %}
|
||||
[kube_control_plane]
|
||||
instance-3
|
||||
instance-1
|
||||
instance-2
|
||||
|
||||
[kube_node]
|
||||
instance-3
|
||||
|
||||
[etcd]
|
||||
instance-3
|
||||
instance-1
|
||||
instance-2
|
||||
|
||||
[broken_kube_control_plane]
|
||||
instance-1
|
||||
instance-2
|
||||
|
||||
[broken_etcd]
|
||||
instance-1 etcd_member_name=etcd2
|
||||
instance-2 etcd_member_name=etcd3
|
||||
{% elif mode == "node-etcd-client" %}
|
||||
[kube_control_plane]
|
||||
instance-1
|
||||
|
||||
[etcd]
|
||||
instance-1
|
||||
instance-2
|
||||
instance-3
|
||||
|
||||
[kube_node]
|
||||
instance-1
|
||||
instance-2
|
||||
instance-3
|
||||
instance-4
|
||||
{% endif %}
|
||||
@@ -12,6 +12,9 @@ metadata:
|
||||
kubevirt.io/domain: "{{ test_name }}"
|
||||
ci_job_id: "{{ ci_job_id }}"
|
||||
ci_job_name: "{{ ci_job_name }}"
|
||||
{% for group in kubespray_groups -%}
|
||||
kubespray.io/{{ group }}: "true"
|
||||
{% endfor -%}
|
||||
# leverage the Kubernetes GC for resources cleanup
|
||||
ownerReferences:
|
||||
- apiVersion: v1
|
||||
|
||||
Reference in New Issue
Block a user