mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-05-06 17:07:38 -02:30
Merge pull request #12026 from VannTen/ci/convert_vagrant_to_kubevirt
CI: use kubevirt for molecule provisionning instead of vagrant
This commit is contained in:
@@ -14,10 +14,12 @@ variables:
|
|||||||
GS_ACCESS_KEY_ID: $GS_KEY
|
GS_ACCESS_KEY_ID: $GS_KEY
|
||||||
GS_SECRET_ACCESS_KEY: $GS_SECRET
|
GS_SECRET_ACCESS_KEY: $GS_SECRET
|
||||||
CONTAINER_ENGINE: docker
|
CONTAINER_ENGINE: docker
|
||||||
SSH_USER: root
|
|
||||||
GCE_PREEMPTIBLE: "false"
|
GCE_PREEMPTIBLE: "false"
|
||||||
ANSIBLE_KEEP_REMOTE_FILES: "1"
|
ANSIBLE_KEEP_REMOTE_FILES: "1"
|
||||||
ANSIBLE_CONFIG: ./tests/ansible.cfg
|
ANSIBLE_CONFIG: ./tests/ansible.cfg
|
||||||
|
ANSIBLE_REMOTE_USER: kubespray
|
||||||
|
ANSIBLE_PRIVATE_KEY_FILE: /tmp/id_rsa
|
||||||
|
ANSIBLE_INVENTORY: /tmp/inventory
|
||||||
RESET_CHECK: "false"
|
RESET_CHECK: "false"
|
||||||
REMOVE_NODE_CHECK: "false"
|
REMOVE_NODE_CHECK: "false"
|
||||||
UPGRADE_TEST: "false"
|
UPGRADE_TEST: "false"
|
||||||
|
|||||||
@@ -1,29 +1,15 @@
|
|||||||
---
|
---
|
||||||
.molecule:
|
.molecule:
|
||||||
tags: [ffci-vm-med]
|
tags: [ffci]
|
||||||
only: [/^pr-.*$/]
|
only: [/^pr-.*$/]
|
||||||
except: ['triggers']
|
except: ['triggers']
|
||||||
image: quay.io/kubespray/vm-kubespray-ci:v13
|
|
||||||
services: []
|
|
||||||
stage: deploy-part1
|
stage: deploy-part1
|
||||||
needs: []
|
image: $PIPELINE_IMAGE
|
||||||
|
needs:
|
||||||
|
- pipeline-image
|
||||||
# - ci-not-authorized
|
# - ci-not-authorized
|
||||||
variables:
|
|
||||||
VAGRANT_DEFAULT_PROVIDER: "libvirt"
|
|
||||||
VAGRANT_HOME: "$CI_PROJECT_DIR/.vagrant.d"
|
|
||||||
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir -p $VAGRANT_HOME
|
|
||||||
- groups
|
|
||||||
- python3 -m venv citest
|
|
||||||
- source citest/bin/activate
|
|
||||||
- vagrant plugin expunge --reinstall --force --no-tty
|
|
||||||
- vagrant plugin install vagrant-libvirt
|
|
||||||
- pip install --no-compile --no-cache-dir pip -U
|
|
||||||
- pip install --no-compile --no-cache-dir -r $CI_PROJECT_DIR/requirements.txt
|
|
||||||
- pip install --no-compile --no-cache-dir -r $CI_PROJECT_DIR/tests/requirements.txt
|
|
||||||
- ./tests/scripts/rebase.sh
|
- ./tests/scripts/rebase.sh
|
||||||
- ./tests/scripts/vagrant_clean.sh
|
|
||||||
script:
|
script:
|
||||||
- ./tests/scripts/molecule_run.sh
|
- ./tests/scripts/molecule_run.sh
|
||||||
after_script:
|
after_script:
|
||||||
@@ -32,72 +18,39 @@
|
|||||||
when: always
|
when: always
|
||||||
paths:
|
paths:
|
||||||
- molecule_logs/
|
- molecule_logs/
|
||||||
cache:
|
|
||||||
key: $CI_JOB_NAME_SLUG
|
molecule:
|
||||||
paths:
|
extends: .molecule
|
||||||
- .vagrant.d/boxes
|
script:
|
||||||
- .cache/pip
|
- ./tests/scripts/molecule_run.sh -i $ROLE
|
||||||
policy: pull-push # TODO: change to "pull" when not on main
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- ROLE:
|
||||||
|
- container-engine/cri-dockerd
|
||||||
|
- container-engine/containerd
|
||||||
|
- container-engine/cri-o
|
||||||
|
- adduser
|
||||||
|
- bastion-ssh-config
|
||||||
|
- bootstrap-os
|
||||||
|
|
||||||
# CI template for periodic CI jobs
|
# CI template for periodic CI jobs
|
||||||
# Enabled when PERIODIC_CI_ENABLED var is set
|
# Enabled when PERIODIC_CI_ENABLED var is set
|
||||||
.molecule_periodic:
|
molecule_full:
|
||||||
only:
|
only:
|
||||||
variables:
|
variables:
|
||||||
- $PERIODIC_CI_ENABLED
|
- $PERIODIC_CI_ENABLED
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
extends: .molecule
|
extends: molecule
|
||||||
|
parallel:
|
||||||
molecule_full:
|
matrix:
|
||||||
extends: .molecule_periodic
|
- ROLE:
|
||||||
|
- container-engine/cri-dockerd
|
||||||
molecule_no_container_engines:
|
- container-engine/containerd
|
||||||
extends: .molecule
|
- container-engine/cri-o
|
||||||
script:
|
- adduser
|
||||||
- ./tests/scripts/molecule_run.sh -e container-engine
|
- bastion-ssh-config
|
||||||
when: on_success
|
- bootstrap-os
|
||||||
|
# FIXME : tests below are perma-failing
|
||||||
molecule_docker:
|
- container-engine/kata-containers
|
||||||
extends: .molecule
|
- container-engine/gvisor
|
||||||
script:
|
- container-engine/youki
|
||||||
- ./tests/scripts/molecule_run.sh -i container-engine/cri-dockerd
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
molecule_containerd:
|
|
||||||
extends: .molecule
|
|
||||||
script:
|
|
||||||
- ./tests/scripts/molecule_run.sh -i container-engine/containerd
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
molecule_cri-o:
|
|
||||||
extends: .molecule
|
|
||||||
stage: deploy-part1
|
|
||||||
script:
|
|
||||||
- ./tests/scripts/molecule_run.sh -i container-engine/cri-o
|
|
||||||
allow_failure: true
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
# # Stage 3 container engines don't get as much attention so allow them to fail
|
|
||||||
# molecule_kata:
|
|
||||||
# extends: .molecule
|
|
||||||
# stage: deploy-extended
|
|
||||||
# script:
|
|
||||||
# - ./tests/scripts/molecule_run.sh -i container-engine/kata-containers
|
|
||||||
# when: manual
|
|
||||||
# # FIXME: this test is broken (perma-failing)
|
|
||||||
|
|
||||||
molecule_gvisor:
|
|
||||||
extends: .molecule
|
|
||||||
stage: deploy-extended
|
|
||||||
script:
|
|
||||||
- ./tests/scripts/molecule_run.sh -i container-engine/gvisor
|
|
||||||
when: manual
|
|
||||||
# FIXME: this test is broken (perma-failing)
|
|
||||||
|
|
||||||
molecule_youki:
|
|
||||||
extends: .molecule
|
|
||||||
stage: deploy-extended
|
|
||||||
script:
|
|
||||||
- ./tests/scripts/molecule_run.sh -i container-engine/youki
|
|
||||||
when: manual
|
|
||||||
# FIXME: this test is broken (perma-failing)
|
|
||||||
|
|||||||
@@ -2,22 +2,18 @@
|
|||||||
role_name_check: 1
|
role_name_check: 1
|
||||||
dependency:
|
dependency:
|
||||||
name: galaxy
|
name: galaxy
|
||||||
driver:
|
|
||||||
name: vagrant
|
|
||||||
provider:
|
|
||||||
name: libvirt
|
|
||||||
platforms:
|
platforms:
|
||||||
- name: adduser-01
|
- name: ubuntu20
|
||||||
box: generic/ubuntu2004
|
cloud_image: ubuntu-2004
|
||||||
cpus: 1
|
vm_cpu_cores: 1
|
||||||
memory: 512
|
vm_memory: 512
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
config_options:
|
config_options:
|
||||||
defaults:
|
defaults:
|
||||||
callbacks_enabled: profile_tasks
|
callbacks_enabled: profile_tasks
|
||||||
timeout: 120
|
timeout: 120
|
||||||
|
playbooks:
|
||||||
|
create: ../../../../tests/cloud_playbooks/create-packet.yml
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
|
|||||||
@@ -2,17 +2,11 @@
|
|||||||
role_name_check: 1
|
role_name_check: 1
|
||||||
dependency:
|
dependency:
|
||||||
name: galaxy
|
name: galaxy
|
||||||
driver:
|
|
||||||
name: vagrant
|
|
||||||
provider:
|
|
||||||
name: libvirt
|
|
||||||
platforms:
|
platforms:
|
||||||
- name: bastion-01
|
- name: bastion-01
|
||||||
box: generic/ubuntu2004
|
cloud_image: ubuntu-2004
|
||||||
cpus: 1
|
vm_cpu_cores: 1
|
||||||
memory: 512
|
vm_memory: 512
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
config_options:
|
config_options:
|
||||||
@@ -27,5 +21,7 @@ provisioner:
|
|||||||
bastion:
|
bastion:
|
||||||
hosts:
|
hosts:
|
||||||
bastion-01:
|
bastion-01:
|
||||||
|
playbooks:
|
||||||
|
create: ../../../../tests/cloud_playbooks/create-packet.yml
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
|
|||||||
@@ -2,5 +2,6 @@
|
|||||||
- name: Converge
|
- name: Converge
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
|
become: true
|
||||||
roles:
|
roles:
|
||||||
- role: bootstrap-os
|
- role: bootstrap-os
|
||||||
|
|||||||
@@ -2,35 +2,23 @@
|
|||||||
role_name_check: 1
|
role_name_check: 1
|
||||||
dependency:
|
dependency:
|
||||||
name: galaxy
|
name: galaxy
|
||||||
driver:
|
|
||||||
name: vagrant
|
|
||||||
provider:
|
|
||||||
name: libvirt
|
|
||||||
platforms:
|
platforms:
|
||||||
- name: ubuntu20
|
- name: ubuntu20
|
||||||
box: generic/ubuntu2004
|
cloud_image: ubuntu-2004
|
||||||
cpus: 1
|
vm_cpu_cores: 1
|
||||||
memory: 512
|
vm_memory: 512
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
- name: ubuntu22
|
- name: ubuntu22
|
||||||
box: generic/ubuntu2204
|
cloud_image: ubuntu-2204
|
||||||
cpus: 1
|
vm_cpu_cores: 1
|
||||||
memory: 1024
|
vm_memory: 512
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
- name: almalinux9
|
- name: almalinux9
|
||||||
box: almalinux/9
|
cloud_image: almalinux-9
|
||||||
cpus: 1
|
vm_cpu_cores: 1
|
||||||
memory: 512
|
vm_memory: 512
|
||||||
provider_options:
|
- name: debian12
|
||||||
driver: kvm
|
cloud_image: debian-12
|
||||||
- name: debian10
|
vm_cpu_cores: 1
|
||||||
box: generic/debian10
|
vm_memory: 512
|
||||||
cpus: 1
|
|
||||||
memory: 512
|
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
config_options:
|
config_options:
|
||||||
@@ -43,5 +31,7 @@ provisioner:
|
|||||||
user:
|
user:
|
||||||
name: foo
|
name: foo
|
||||||
comment: My test comment
|
comment: My test comment
|
||||||
|
playbooks:
|
||||||
|
create: ../../../../tests/cloud_playbooks/create-packet.yml
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
|
|||||||
@@ -1,40 +1,30 @@
|
|||||||
---
|
---
|
||||||
role_name_check: 1
|
role_name_check: 1
|
||||||
driver:
|
|
||||||
name: vagrant
|
|
||||||
provider:
|
|
||||||
name: libvirt
|
|
||||||
platforms:
|
platforms:
|
||||||
- name: ubuntu20
|
- cloud_image: ubuntu-2004
|
||||||
box: generic/ubuntu2004
|
name: ubuntu20
|
||||||
cpus: 1
|
vm_cpu_cores: 1
|
||||||
memory: 1024
|
vm_memory: 1024
|
||||||
groups:
|
node_groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
- kube_node
|
- kube_node
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
provider_options:
|
- cloud_image: debian-11
|
||||||
driver: kvm
|
name: debian11
|
||||||
- name: debian11
|
vm_cpu_cores: 1
|
||||||
box: generic/debian11
|
vm_memory: 1024
|
||||||
cpus: 1
|
node_groups:
|
||||||
memory: 1024
|
|
||||||
groups:
|
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
- kube_node
|
- kube_node
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
provider_options:
|
- cloud_image: almalinux-9
|
||||||
driver: kvm
|
name: almalinux9
|
||||||
- name: almalinux9
|
vm_cpu_cores: 1
|
||||||
box: almalinux/9
|
vm_memory: 1024
|
||||||
cpus: 1
|
node_groups:
|
||||||
memory: 1024
|
|
||||||
groups:
|
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
- kube_node
|
- kube_node
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
env:
|
env:
|
||||||
@@ -43,5 +33,7 @@ provisioner:
|
|||||||
defaults:
|
defaults:
|
||||||
callbacks_enabled: profile_tasks
|
callbacks_enabled: profile_tasks
|
||||||
timeout: 120
|
timeout: 120
|
||||||
|
playbooks:
|
||||||
|
create: ../../../../../tests/cloud_playbooks/create-packet.yml
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
|
|||||||
@@ -1,28 +1,18 @@
|
|||||||
---
|
---
|
||||||
role_name_check: 1
|
role_name_check: 1
|
||||||
driver:
|
|
||||||
name: vagrant
|
|
||||||
provider:
|
|
||||||
name: libvirt
|
|
||||||
platforms:
|
platforms:
|
||||||
- name: almalinux9
|
- name: almalinux9
|
||||||
box: almalinux/9
|
cloud_image: almalinux-9
|
||||||
cpus: 1
|
vm_cpu_cores: 1
|
||||||
memory: 1024
|
vm_memory: 1024
|
||||||
nested: true
|
node_groups:
|
||||||
groups:
|
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
- name: ubuntu20
|
- name: ubuntu20
|
||||||
box: generic/ubuntu2004
|
cloud_image: ubuntu-2004
|
||||||
cpus: 1
|
vm_cpu_cores: 1
|
||||||
memory: 1024
|
vm_memory: 1024
|
||||||
nested: true
|
node_groups:
|
||||||
groups:
|
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
env:
|
env:
|
||||||
@@ -35,5 +25,7 @@ provisioner:
|
|||||||
group_vars:
|
group_vars:
|
||||||
all:
|
all:
|
||||||
become: true
|
become: true
|
||||||
|
playbooks:
|
||||||
|
create: ../../../../../tests/cloud_playbooks/create-packet.yml
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
|
|||||||
@@ -1,50 +1,38 @@
|
|||||||
---
|
---
|
||||||
role_name_check: 1
|
role_name_check: 1
|
||||||
driver:
|
|
||||||
name: vagrant
|
|
||||||
provider:
|
|
||||||
name: libvirt
|
|
||||||
platforms:
|
platforms:
|
||||||
- name: ubuntu20
|
- name: ubuntu20
|
||||||
box: generic/ubuntu2004
|
cloud_image: ubuntu-2004
|
||||||
cpus: 2
|
vm_cpu_cores: 2
|
||||||
memory: 1024
|
vm_memory: 1024
|
||||||
groups:
|
node_groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
- kube_node
|
- kube_node
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
- name: almalinux9
|
- name: almalinux9
|
||||||
box: almalinux/9
|
cloud_image: almalinux-9
|
||||||
cpus: 2
|
vm_cpu_cores: 2
|
||||||
memory: 1024
|
vm_memory: 1024
|
||||||
groups:
|
node_groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
- kube_node
|
- kube_node
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
- name: fedora
|
- name: fedora
|
||||||
box: fedora/38-cloud-base
|
cloud_image: fedora-39
|
||||||
cpus: 2
|
vm_cpu_cores: 2
|
||||||
memory: 2048
|
vm_memory: 1024
|
||||||
groups:
|
node_groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
- kube_node
|
- kube_node
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
provider_options:
|
- name: debian12
|
||||||
driver: kvm
|
cloud_image: debian-12
|
||||||
- name: debian10
|
vm_cpu_cores: 2
|
||||||
box: generic/debian10
|
vm_memory: 1024
|
||||||
cpus: 2
|
node_groups:
|
||||||
memory: 1024
|
|
||||||
groups:
|
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
- kube_node
|
- kube_node
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
provider_options:
|
|
||||||
driver: kvm
|
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
env:
|
env:
|
||||||
@@ -53,5 +41,7 @@ provisioner:
|
|||||||
defaults:
|
defaults:
|
||||||
callbacks_enabled: profile_tasks
|
callbacks_enabled: profile_tasks
|
||||||
timeout: 120
|
timeout: 120
|
||||||
|
playbooks:
|
||||||
|
create: ../../../../../tests/cloud_playbooks/create-packet.yml
|
||||||
verifier:
|
verifier:
|
||||||
name: testinfra
|
name: testinfra
|
||||||
|
|||||||
@@ -1,28 +1,19 @@
|
|||||||
init-packet:
|
|
||||||
mkdir -p $(HOME)/.ssh
|
|
||||||
echo $(PACKET_VM_SSH_PRIVATE_KEY) | base64 -d > $(HOME)/.ssh/id_rsa
|
|
||||||
chmod 400 $(HOME)/.ssh/id_rsa
|
|
||||||
|
|
||||||
create-tf:
|
create-tf:
|
||||||
./scripts/create-tf.sh
|
./scripts/create-tf.sh
|
||||||
|
|
||||||
delete-tf:
|
delete-tf:
|
||||||
./scripts/delete-tf.sh
|
./scripts/delete-tf.sh
|
||||||
|
|
||||||
$(INVENTORY_DIR):
|
$(ANSIBLE_INVENTORY):
|
||||||
mkdir $@
|
mkdir $@
|
||||||
|
|
||||||
create-packet: init-packet | $(INVENTORY_DIR)
|
create-packet: | $(ANSIBLE_INVENTORY)
|
||||||
ansible-playbook cloud_playbooks/create-packet.yml -c local \
|
ansible-playbook cloud_playbooks/create-packet.yml -c local \
|
||||||
-e @"files/${CI_JOB_NAME}.yml" \
|
-e @"files/${CI_JOB_NAME}.yml"
|
||||||
-e test_name="$(subst .,-,$(CI_PIPELINE_ID)-$(CI_JOB_ID))" \
|
|
||||||
-e branch="$(CI_COMMIT_BRANCH)" \
|
|
||||||
-e pipeline_id="$(CI_PIPELINE_ID)" \
|
|
||||||
-e inventory_path=$|
|
|
||||||
|
|
||||||
delete-packet: ;
|
delete-packet: ;
|
||||||
|
|
||||||
create-vagrant: | $(INVENTORY_DIR)
|
create-vagrant: | $(ANSIBLE_INVENTORY)
|
||||||
vagrant up
|
vagrant up
|
||||||
cp $(CI_PROJECT_DIR)/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory $|
|
cp $(CI_PROJECT_DIR)/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory $|
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,24 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: Provision Packet VMs
|
- name: Provision Packet VMs
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
become: true
|
become: true
|
||||||
roles:
|
tasks:
|
||||||
- { role: packet-ci, vm_cleanup: false }
|
- name: Create Kubevirt VMs
|
||||||
|
import_role:
|
||||||
|
name: packet-ci
|
||||||
|
- name: Update inventory for Molecule
|
||||||
|
meta: refresh_inventory
|
||||||
|
|
||||||
|
- name: Wait until SSH is available
|
||||||
|
hosts: all
|
||||||
|
become: false
|
||||||
|
gather_facts: false
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Wait until SSH is available
|
||||||
|
wait_for:
|
||||||
|
host: "{{ ansible_host }}"
|
||||||
|
port: 22
|
||||||
|
timeout: 240
|
||||||
|
delegate_to: localhost
|
||||||
|
|||||||
@@ -6,41 +6,13 @@ vm_cpu_sockets: 1
|
|||||||
vm_cpu_threads: 2
|
vm_cpu_threads: 2
|
||||||
vm_memory: 2048
|
vm_memory: 2048
|
||||||
|
|
||||||
# Replace invalid characters so that we can use the branch name in kubernetes labels
|
|
||||||
branch_name_sane: "{{ branch | regex_replace('/', '-') }}"
|
|
||||||
|
|
||||||
# Request/Limit allocation settings
|
# Request/Limit allocation settings
|
||||||
cpu_allocation_ratio: 0.25
|
cpu_allocation_ratio: 0.25
|
||||||
memory_allocation_ratio: 1
|
memory_allocation_ratio: 1
|
||||||
|
|
||||||
# Default path for inventory
|
|
||||||
inventory_path: "/tmp/{{ test_name }}/inventory"
|
|
||||||
|
|
||||||
# Deployment mode
|
# Deployment mode
|
||||||
mode: default
|
mode: default
|
||||||
|
|
||||||
# Cloud init config for each os type
|
node_groups:
|
||||||
# distro: fedora -> I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU=
|
- 'all'
|
||||||
# distro: rhel: -> I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo=
|
cluster_layout: "{{ molecule_yml.platforms | d(scenarios[mode]) }}"
|
||||||
# distro: rhel (+ sudo and hostname packages): -> I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKIC0gc3VkbwogLSBob3N0bmFtZQpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo=
|
|
||||||
# generic one -> I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1
|
|
||||||
cloud_init:
|
|
||||||
centos-8: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
almalinux-8: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
almalinux-9: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
rockylinux-8: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKIC0gc3VkbwogLSBob3N0bmFtZQpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
rockylinux-9: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKIC0gc3VkbwogLSBob3N0bmFtZQpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
debian-11: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1"
|
|
||||||
debian-12: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1"
|
|
||||||
fedora-37: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU="
|
|
||||||
fedora-38: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU="
|
|
||||||
fedora-39: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU="
|
|
||||||
fedora-40: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU="
|
|
||||||
opensuse-leap-15: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1"
|
|
||||||
rhel-server-7: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
amazon-linux-2: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
ubuntu-2004: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1"
|
|
||||||
ubuntu-2204: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1"
|
|
||||||
ubuntu-2404: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1"
|
|
||||||
oracle-7: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
openeuler-2403: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKIC0gc3VkbwogLSBob3N0bmFtZQpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
|
|
||||||
|
|||||||
@@ -1,14 +1,21 @@
|
|||||||
---
|
---
|
||||||
- name: Include custom vars for ci job
|
- name: Include custom vars for ci job
|
||||||
include_vars: "../files/{{ ci_job_name }}.yml"
|
include_vars: "../files/{{ lookup('ansible.builtin.env', 'CI_JOB_NAME') }}.yml"
|
||||||
|
when: molecule_yml is not defined
|
||||||
|
|
||||||
|
- name: Generate SSH keypair
|
||||||
|
community.crypto.openssh_keypair:
|
||||||
|
size: 2048
|
||||||
|
path: "{{ lookup('env', 'ANSIBLE_PRIVATE_KEY_FILE') }}"
|
||||||
|
mode: '400'
|
||||||
|
register: ssh_key
|
||||||
|
|
||||||
- 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: "{{ cluster_layout }}"
|
||||||
|
loop_control:
|
||||||
|
index_var: index
|
||||||
|
|
||||||
- name: Wait for vms to have IP addresses
|
- name: Wait for vms to have IP addresses
|
||||||
kubernetes.core.k8s_info:
|
kubernetes.core.k8s_info:
|
||||||
@@ -27,17 +34,17 @@
|
|||||||
- name: Massage VirtualMachineInstance data into an Ansible inventory structure
|
- name: Massage VirtualMachineInstance data into an Ansible inventory structure
|
||||||
vars:
|
vars:
|
||||||
ips: "{{ vmis.resources | map(attribute='status.interfaces.0.ipAddress') }}"
|
ips: "{{ vmis.resources | map(attribute='status.interfaces.0.ipAddress') }}"
|
||||||
names: "{{ vmis.resources | map(attribute='metadata.name') }}"
|
names: "{{ vmis.resources | map(attribute='metadata.annotations.inventory_name') }}"
|
||||||
_groups: "{{ vmis.resources | map(attribute='metadata.annotations.ansible_groups') | map('split', ',') }}"
|
_groups: "{{ (vmis.resources | map(attribute='metadata.annotations.ansible_groups') | map('split', ','))}}"
|
||||||
hosts: "{{ ips | zip(_groups, names)
|
hosts: "{{ ips | zip(_groups, names)
|
||||||
| map('zip', ['ansible_host', 'ansible_groups', 'k8s_vmi_name'])
|
| map('zip', ['ansible_host', 'ansible_groups', 'inventory_name'])
|
||||||
| map('map', 'reverse') | map('community.general.dict') }}"
|
| map('map', 'reverse') | map('community.general.dict') }}"
|
||||||
loop: "{{ hosts | map(attribute='ansible_groups') | flatten | unique }}"
|
loop: "{{ hosts | map(attribute='ansible_groups') | flatten | unique }}"
|
||||||
set_fact:
|
set_fact:
|
||||||
ci_inventory: "{{ ci_inventory|d({}) | combine({
|
ci_inventory: "{{ ci_inventory|d({}) | combine({
|
||||||
item: {
|
item: {
|
||||||
'hosts': hosts | selectattr('ansible_groups', 'contains', item)
|
'hosts': hosts | selectattr('ansible_groups', 'contains', item)
|
||||||
| rekey_on_member('k8s_vmi_name')
|
| rekey_on_member('inventory_name')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}}"
|
}}"
|
||||||
@@ -45,5 +52,5 @@
|
|||||||
- name: Create inventory for CI tests
|
- name: Create inventory for CI tests
|
||||||
copy:
|
copy:
|
||||||
content: "{{ ci_inventory | to_yaml }}"
|
content: "{{ ci_inventory | to_yaml }}"
|
||||||
dest: "{{ inventory_path }}/ci_inventory.yml"
|
dest: "{{ ansible_inventory_sources[0] }}/ci_inventory.yml"
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
|
|||||||
@@ -2,18 +2,18 @@
|
|||||||
apiVersion: kubevirt.io/v1
|
apiVersion: kubevirt.io/v1
|
||||||
kind: VirtualMachineInstance
|
kind: VirtualMachineInstance
|
||||||
metadata:
|
metadata:
|
||||||
generateName: test-vm-
|
generateName: {{ cloud_image }}-
|
||||||
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(',') }}"
|
||||||
|
inventory_name: "{{ name | d(cloud_image ~ '-' ~ index) }}"
|
||||||
# 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 }}
|
||||||
kubevirt.io/size: small
|
kubevirt.io/size: small
|
||||||
kubevirt.io/domain: "{{ test_name }}"
|
|
||||||
ci_job_id: "{{ ci_job_id }}"
|
ci_job_id: "{{ ci_job_id }}"
|
||||||
ci_job_name: "{{ ci_job_name }}"
|
ci_job_name: "{{ lookup('ansible.builtin.env', 'CI_JOB_NAME_SLUG') }}"
|
||||||
# leverage the Kubernetes GC for resources cleanup
|
# leverage the Kubernetes GC for resources cleanup
|
||||||
ownerReferences:
|
ownerReferences:
|
||||||
- apiVersion: v1
|
- apiVersion: v1
|
||||||
@@ -56,4 +56,12 @@ spec:
|
|||||||
image: quay.io/kubespray/vm-{{ cloud_image }}
|
image: quay.io/kubespray/vm-{{ cloud_image }}
|
||||||
- name: cloudinitvolume
|
- name: cloudinitvolume
|
||||||
cloudInitNoCloud:
|
cloudInitNoCloud:
|
||||||
userDataBase64: {{ cloud_init[cloud_image] }}
|
userData: |
|
||||||
|
#cloud-config
|
||||||
|
users:
|
||||||
|
- name: {{ lookup('env', 'ANSIBLE_REMOTE_USER') }}
|
||||||
|
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||||
|
shell: /bin/bash
|
||||||
|
lock_passwd: False
|
||||||
|
ssh_authorized_keys:
|
||||||
|
- {{ ssh_key.public_key }}
|
||||||
|
|||||||
@@ -2,36 +2,35 @@
|
|||||||
# 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
|
||||||
|
|
||||||
ci_job_id: "{{ lookup('ansible.builtin.env', 'CI_JOB_ID', default=undefined) }}"
|
ci_job_id: "{{ lookup('ansible.builtin.env', 'CI_JOB_ID', default=undefined) }}"
|
||||||
ci_job_name: "{{ lookup('ansible.builtin.env', 'CI_JOB_NAME', default=undefined) }}"
|
|
||||||
pod_name: "{{ lookup('ansible.builtin.env', 'POD_NAME', default=undefined) }}"
|
pod_name: "{{ lookup('ansible.builtin.env', 'POD_NAME', default=undefined) }}"
|
||||||
pod_uid: "{{ lookup('ansible.builtin.env', 'POD_UID', default=undefined) }}"
|
pod_uid: "{{ lookup('ansible.builtin.env', 'POD_UID', default=undefined) }}"
|
||||||
pod_namespace: "{{ lookup('ansible.builtin.env', 'POD_NAMESPACE', default=undefined) }}"
|
pod_namespace: "{{ lookup('ansible.builtin.env', 'POD_NAMESPACE', default=undefined) }}"
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Wait until SSH is available
|
|
||||||
hosts: all
|
|
||||||
become: false
|
|
||||||
gather_facts: false
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: Wait until SSH is available
|
|
||||||
wait_for:
|
|
||||||
host: "{{ ansible_host }}"
|
|
||||||
port: 22
|
|
||||||
timeout: 240
|
|
||||||
delegate_to: localhost
|
|
||||||
@@ -23,12 +23,10 @@ if [ "${UPGRADE_TEST}" != "false" ]; then
|
|||||||
git checkout "${CI_COMMIT_SHA}" -- tests/
|
git checkout "${CI_COMMIT_SHA}" -- tests/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export ANSIBLE_REMOTE_USER=$SSH_USER
|
|
||||||
export ANSIBLE_BECOME=true
|
export ANSIBLE_BECOME=true
|
||||||
export ANSIBLE_BECOME_USER=root
|
export ANSIBLE_BECOME_USER=root
|
||||||
export ANSIBLE_INVENTORY=/tmp/inventory/
|
|
||||||
|
|
||||||
make -C tests INVENTORY_DIR=${ANSIBLE_INVENTORY} create-${CI_PLATFORM} -s
|
make -C tests create-${CI_PLATFORM} -s
|
||||||
|
|
||||||
# Test collection build and install by installing our collection, emptying our repository, adding
|
# Test collection build and install by installing our collection, emptying our repository, adding
|
||||||
# cluster.yml, reset.yml, and remote-node.yml files that simply point to our collection's playbooks, and then
|
# cluster.yml, reset.yml, and remote-node.yml files that simply point to our collection's playbooks, and then
|
||||||
@@ -65,8 +63,6 @@ EOF
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ansible-playbook tests/cloud_playbooks/wait-for-ssh.yml
|
|
||||||
|
|
||||||
run_playbook () {
|
run_playbook () {
|
||||||
playbook=$1
|
playbook=$1
|
||||||
shift
|
shift
|
||||||
|
|||||||
Reference in New Issue
Block a user