Files
Dmitriy Rabotyagov 40a384214c Ensure coe_cluster_template compare labels properly
SDK does return all keys and values of the template labels as
strings. At the same time user can define some labels as integers or
booleans, which will break comparison of labels and lead to module
failure on consecutive runs.

Change-Id: I7ab624428c8bb06030a2b28888f5cb89bb249f08
2024-10-09 20:56:10 +00:00

88 lines
2.2 KiB
YAML

---
- name: Create keypair
openstack.cloud.keypair:
cloud: "{{ cloud }}"
name: ansible_keypair
state: present
register: keypair
- name: List all images
openstack.cloud.image_info:
cloud: "{{ cloud }}"
register: images
- name: Identify Fedora CoreOS image id
set_fact:
image_id: "{{ images.images|community.general.json_query(query)|first }}"
vars:
query: "[?starts_with(name, 'fedora-coreos')].id"
- name: Create Kubernetes cluster template
openstack.cloud.coe_cluster_template:
cloud: "{{ cloud }}"
coe: kubernetes
is_floating_ip_enabled: false
image_id: '{{ image_id }}'
keypair_id: '{{ keypair.keypair.id }}'
name: k8s
state: present
labels:
docker_volume_size: 10
cloud_provider_tag: v1.23.1
register: coe_cluster_template
- name: Assert return values of coe_cluster_template module
assert:
that:
# allow new fields to be introduced but prevent fields from being removed
- expected_fields|difference(coe_cluster_template.cluster_template.keys())|length == 0
- name: Create Kubernetes cluster template again
openstack.cloud.coe_cluster_template:
cloud: "{{ cloud }}"
coe: kubernetes
is_floating_ip_enabled: false
image_id: '{{ image_id }}'
keypair_id: '{{ keypair.keypair.id }}'
name: k8s
state: present
labels:
docker_volume_size: 10
cloud_provider_tag: v1.23.1
register: coe_cluster_template
- name: Assert return values of coe_cluster_template module
assert:
that:
- coe_cluster_template is not changed
- name: Delete Kubernetes cluster template
openstack.cloud.coe_cluster_template:
cloud: "{{ cloud }}"
name: k8s
state: absent
register: coe_cluster_template
- name: Assert return values of coe_cluster_template module
assert:
that:
- coe_cluster_template is changed
- name: Delete Kubernetes cluster template again
openstack.cloud.coe_cluster_template:
cloud: "{{ cloud }}"
name: k8s
state: absent
register: coe_cluster_template
- name: Assert return values of coe_cluster_template module
assert:
that:
- coe_cluster_template is not changed
- name: Delete keypair
openstack.cloud.keypair:
cloud: "{{ cloud }}"
name: ansible_keypair
state: absent