Hypervisor statistics check has been dropped entirely, as it relies on
API deprecated by I515e484ade6c6455f82a3067940a418a0d7d965a[0]
Since reliable and standard compliant installation of ansible modules
is only possible using a collection, or system package manager,
the ansible-lint settings were adjusted to mock newly introduced modules.
Note about necessary dependencies was added to validation description.
Explanation of the mocks was added to other, previously mocked, modules,
in order to facilitate future development.
[0] 1f67ce2496
Resolves: rhbz#2149177
Depends-On: https://review.opendev.org/c/openstack/tripleo-ansible/+/862150
Signed-off-by: Jiri Podivin <jpodivin@redhat.com>
Change-Id: I70765bfbe3f319fef8112ac633b1b3c38fb1488c
54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
---
|
|
- name: Get list of baremetal nodes
|
|
openstack.cloud.baremetal_node_info:
|
|
cloud: undercloud
|
|
register: baremetal_nodes
|
|
|
|
- name: Get baremetal node details
|
|
openstack.cloud.baremetal_node_info:
|
|
cloud: undercloud
|
|
node: "{{ item }}"
|
|
with_items: "{{ baremetal_nodes | community.general.json_query('baremetal_nodes[*].name') }}"
|
|
register: node_details
|
|
|
|
- name: Get clean node list
|
|
set_fact:
|
|
baremetal_nodes_details: "{{ [item] + baremetal_nodes_details }}"
|
|
with_items: "{{ node_details | community.general.json_query('results[*].baremetal_nodes') }}"
|
|
|
|
- name: Get active node count
|
|
set_fact:
|
|
active_nodes: "{{ baremetal_nodes_details | community.general.json_query('[?provision_state==`available`]') | count() }}"
|
|
|
|
- name: Get associated node count
|
|
set_fact:
|
|
associated_nodes: "{{ baremetal_nodes_details | community.general.json_query('[*].associated') | count() }}"
|
|
|
|
- name: Set total available node count
|
|
set_fact:
|
|
available_count: "{{ active_nodes | int + associated_nodes | int }}"
|
|
|
|
- name: Get overcloud role list
|
|
tripleo_overcloud_role_list:
|
|
register: role_list
|
|
|
|
- name: Get details for each role
|
|
tripleo_overcloud_role_show:
|
|
role_name: "{{ item }}"
|
|
default_values:
|
|
CountDefault: 0
|
|
FlavorDefault: 'baremetal'
|
|
with_items: "{{ role_list.role_list }}"
|
|
register: role_details
|
|
|
|
- name: Get requested node count
|
|
set_fact:
|
|
requested_node_count: "{{ role_details | community.general.json_query('results[*].role_detail.CountDefault') | sum() }}"
|
|
|
|
- name: Fail when requested is more than available
|
|
fail:
|
|
msg: >
|
|
Not enough baremetal nodes - available: {{ available_count }},
|
|
requested: {{ requested_node_count }}
|
|
failed_when: requested_node_count|int > available_count|int
|