Browse Source
CI: use kubevirt.core dynamic inventory
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.pull/11530/head
Max Gautier
2 months ago
Failed to extract signature
6 changed files with 56 additions and 132 deletions
Unified View
Diff Options
-
2pipeline.Dockerfile
-
31tests/cloud_playbooks/roles/packet-ci/tasks/create-vms.yml
-
16tests/cloud_playbooks/roles/packet-ci/templates/inv.kubevirt.yml.j2
-
98tests/cloud_playbooks/roles/packet-ci/templates/inventory.j2
-
3tests/cloud_playbooks/roles/packet-ci/templates/vm.yml.j2
-
38tests/cloud_playbooks/roles/packet-ci/vars/main.yml
@ -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 %} |
|
Write
Preview
Loading…
Cancel
Save