diff --git a/ci/roles/nova_services/tasks/main.yml b/ci/roles/nova_services/tasks/main.yml index fb37b41d..3a9cce88 100644 --- a/ci/roles/nova_services/tasks/main.yml +++ b/ci/roles/nova_services/tasks/main.yml @@ -7,6 +7,13 @@ register: result failed_when: "result.openstack_compute_services | length <= 0" +- name: Assert fields + assert: + that: + - '["availability_zone", "binary", "disabled_reason", "is_forced_down", + "host", "name", "state", "status", "updated_at", "id"] | + difference(result.openstack_compute_services.0.keys()) | length == 0' + - name: Get nova conductor services info openstack.cloud.compute_service_info: cloud: "{{ cloud }}" diff --git a/plugins/modules/compute_service_info.py b/plugins/modules/compute_service_info.py index bae4feb3..5be75bf7 100644 --- a/plugins/modules/compute_service_info.py +++ b/plugins/modules/compute_service_info.py @@ -59,10 +59,22 @@ openstack_compute_services: description: The name of the host. returned: success type: str - zone: + disabled_reason: + description: The reason why the service is disabled + returned: success + type: str + availability_zone: description: The availability zone name. returned: success type: str + is_forced_down: + description: If the service has been forced down or nova-compute + returned: success + type: bool + name: + description: Service name + returned: success + type: str status: description: The status of the service. One of enabled or disabled. returned: success @@ -71,7 +83,7 @@ openstack_compute_services: description: The state of the service. One of up or down. returned: success type: str - update: + update_at: description: The date and time when the resource was updated returned: success type: str @@ -98,7 +110,7 @@ class ComputeServiceInfoModule(OpenStackModule): if host: filters['host'] = host services = self.conn.compute.services(**filters) - services = list(services) + services = [service.to_dict(computed=False) for service in services] self.exit_json(changed=False, openstack_compute_services=services)