Files
ansible-collections-openstack/ci/roles/compute_service/tasks/main.yml
Patrick Pfurtscheller 42e2503ee1 feat: add compute service module
Change-Id: Ib846bda2a9b6c39e2f09cac508fa794fa9858920
Signed-off-by: Patrick Pfurtscheller <patrick@pfurtscheller.org>
2026-05-20 22:38:09 +02:00

71 lines
2.4 KiB
YAML

---
- name: Fetch compute services
openstack.cloud.compute_service_info:
cloud: "{{ cloud }}"
register: compute_services
- name: Assert return values of compute_service_info module
assert:
that:
- compute_services.compute_services | length > 0
# allow new fields to be introduced but prevent fields from being removed
- expected_fields|difference(compute_services.compute_services[0].keys())|length == 0
- name: Fetch compute services with filters
openstack.cloud.compute_service_info:
cloud: "{{ cloud }}"
binary: "nova-compute"
register: compute_services
- name: Assert return values of compute_service_info module
assert:
that:
- compute_services.compute_services | length > 0
- name: Disable compute service on a node
openstack.cloud.compute_service:
cloud: "{{ cloud }}"
host: "{{ compute_services.compute_services[0].host }}"
binary: 'nova-compute'
status: 'disabled'
disabled_reason: 'maintenance'
register: compute_service_disabled
- name: Assert service being "disabled"
ansible.builtin.assert:
that:
- compute_service_disabled.compute_services | map(attribute='status') | unique | length == 1
- compute_service_disabled.compute_services | map(attribute='disabled_reason') | unique | length == 1
- compute_service_disabled.compute_services[0].status == "disabled"
- compute_service_disabled.compute_services[0].disabled_reason == "maintenance"
- compute_service_disabled is changed
- name: Disable compute service on a node again
openstack.cloud.compute_service:
cloud: "{{ cloud }}"
host: "{{ compute_services.compute_services[0].host }}"
binary: 'nova-compute'
status: 'disabled'
disabled_reason: 'maintenance'
register: compute_service_disabled_again
- name: Assert idempotency of service disable
ansible.builtin.assert:
that:
- compute_service_disabled_again is not changed
- name: Re-enable compute service
openstack.cloud.compute_service:
cloud: "{{ cloud }}"
host: "{{ compute_services.compute_services[0].host }}"
binary: 'nova-compute'
status: 'enabled'
register: compute_service_enabled
- name: Assert service being "disabled"
ansible.builtin.assert:
that:
- compute_service_enabled.compute_services | map(attribute='status') | unique | length == 1
- compute_service_enabled.compute_services[0].status == "enabled"
- compute_service_enabled is changed