Correct the inventory generation

The missing quotes didn't trigger anything since "vars" is representing
the vars() method...
Adding the missing quotes allows to actually get the injected host
variables in the inventory, among them the well needed "container_cli"
for the validations.

This patch also makes a huge update in the different inline dict, in
order to make them more human readable. This should help for further
editions.

Closes-Bug: #1889635
Change-Id: I7418ea45d89dd0da7ac39193200f47563acab4cb
(cherry picked from commit e2613f0317)
This commit is contained in:
Cédric Jeanneret 2020-07-30 16:36:53 +02:00 committed by Emilien Macchi
parent 3110804199
commit 8c46cbb0ef
7 changed files with 1268 additions and 391 deletions

View File

@ -87,7 +87,7 @@ class TripleoInventories(object):
inventory[new_key] = {
'children': {x: {} for x in roles}
}
if vars in inv[key]:
if 'vars' in inv[key]:
inventory[new_key]['vars'] = inv[key]['vars']
if key == 'allovercloud':
# useful to have just stack name refer to children

View File

@ -186,18 +186,34 @@
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"container_cli": "podman",
"ctlplane_vip": "192.168.24.21",
"external_vip": "10.0.0.6",
"internal_api_vip": "172.16.2.11",
"redis_vip": "192.168.24.21",
"storage_mgmt_vip": "172.16.3.26",
"storage_vip": "172.16.1.131"
}
},
"cell1_boot_params_service": {
"children": [
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_ca_certs": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_cell1": {
"children": [
@ -208,97 +224,151 @@
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_chrony": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_container_image_prepare": {
"children": [
"cell1_CellController"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_haproxy": {
"children": [
"cell1_CellController"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_iscsid": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_keepalived": {
"children": [
"cell1_CellController"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_kernel": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_logrotate_crond": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_mysql": {
"children": [
"cell1_CellController"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_mysql_client": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_nova_compute": {
"children": [
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_nova_conductor": {
"children": [
"cell1_CellController"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_nova_libvirt": {
"children": [
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_nova_libvirt_guests": {
"children": [
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_nova_metadata": {
"children": [
"cell1_CellController"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_nova_migration_target": {
"children": [
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_nova_vnc_proxy": {
"children": [
"cell1_CellController"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_oslo_messaging_rpc": {
"children": [
"cell1_CellController"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_overcloud": {
"children": [
@ -308,54 +378,81 @@
"cell1_ovn_controller": {
"children": [
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_ovn_metadata": {
"children": [
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_podman": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_snmp": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_sshd": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_timezone": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_tripleo_firewall": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_tripleo_packages": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1_tuned": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"certmonger_user": {
"children": [
@ -604,205 +701,328 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"container_cli": "podman",
"ctlplane_vip": "192.168.24.7",
"external_vip": "10.0.0.5",
"internal_api_vip": "172.16.2.164",
"redis_vip": "172.16.2.196",
"storage_mgmt_vip": "172.16.3.44",
"storage_vip": "172.16.1.147"
}
},
"overcloud_boot_params_service": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_ca_certs": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_certmonger_user": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_chrony": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_cinder_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_cinder_scheduler": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_cinder_volume": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_container_image_prepare": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_glance_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_haproxy": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_heat_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_heat_api_cfn": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_heat_api_cloudwatch_disabled": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_heat_engine": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_horizon": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_iscsid": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_keepalived": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_kernel": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_keystone": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_keystone_admin_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_keystone_public_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_logrotate_crond": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_memcached": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_mysql": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_mysql_client": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_neutron_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_neutron_plugin_ml2_ovn": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_compute": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_conductor": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_libvirt": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_libvirt_guests": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_metadata": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_migration_target": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_scheduler": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_nova_vnc_proxy": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_oslo_messaging_notify": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_oslo_messaging_rpc": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_overcloud": {
"children": [
@ -813,79 +1033,121 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_ovn_dbs": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_ovn_metadata": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_placement": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_podman": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_snmp": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_sshd": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_swift_proxy": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_swift_ringbuilder": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_swift_storage": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_timezone": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_tripleo_firewall": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_tripleo_packages": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_tuned": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"ovn_controller": {
"children": [

View File

@ -66,6 +66,14 @@ cell1_allovercloud:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
container_cli: podman
ctlplane_vip: 192.168.24.21
external_vip: 10.0.0.6
internal_api_vip: 172.16.2.11
redis_vip: 192.168.24.21
storage_mgmt_vip: 172.16.3.26
storage_vip: 172.16.1.131
cell1:
children:
cell1_allovercloud: {}
@ -83,6 +91,8 @@ cell1_kernel:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
keepalived:
children:
cell1_keepalived: {}
@ -90,6 +100,8 @@ keepalived:
cell1_keepalived:
children:
cell1_CellController: {}
vars:
ansible_ssh_user: heat-admin
mysql:
children:
cell1_mysql: {}
@ -97,6 +109,8 @@ mysql:
cell1_mysql:
children:
cell1_CellController: {}
vars:
ansible_ssh_user: heat-admin
nova_libvirt:
children:
cell1_nova_libvirt: {}
@ -104,6 +118,8 @@ nova_libvirt:
cell1_nova_libvirt:
children:
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
container_image_prepare:
children:
cell1_container_image_prepare: {}
@ -111,6 +127,8 @@ container_image_prepare:
cell1_container_image_prepare:
children:
cell1_CellController: {}
vars:
ansible_ssh_user: heat-admin
timezone:
children:
cell1_timezone: {}
@ -119,6 +137,8 @@ cell1_timezone:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
iscsid:
children:
cell1_iscsid: {}
@ -127,6 +147,8 @@ cell1_iscsid:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
nova_libvirt_guests:
children:
cell1_nova_libvirt_guests: {}
@ -134,6 +156,8 @@ nova_libvirt_guests:
cell1_nova_libvirt_guests:
children:
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
tripleo_firewall:
children:
cell1_tripleo_firewall: {}
@ -142,6 +166,8 @@ cell1_tripleo_firewall:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
snmp:
children:
cell1_snmp: {}
@ -150,6 +176,8 @@ cell1_snmp:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
certmonger_user:
children:
cell1_certmonger_user: {}
@ -158,6 +186,8 @@ cell1_certmonger_user:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
boot_params_service:
children:
cell1_boot_params_service: {}
@ -165,6 +195,8 @@ boot_params_service:
cell1_boot_params_service:
children:
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
oslo_messaging_rpc:
children:
cell1_oslo_messaging_rpc: {}
@ -172,6 +204,8 @@ oslo_messaging_rpc:
cell1_oslo_messaging_rpc:
children:
cell1_CellController: {}
vars:
ansible_ssh_user: heat-admin
nova_vnc_proxy:
children:
cell1_nova_vnc_proxy: {}
@ -179,6 +213,8 @@ nova_vnc_proxy:
cell1_nova_vnc_proxy:
children:
cell1_CellController: {}
vars:
ansible_ssh_user: heat-admin
nova_metadata:
children:
cell1_nova_metadata: {}
@ -186,6 +222,8 @@ nova_metadata:
cell1_nova_metadata:
children:
cell1_CellController: {}
vars:
ansible_ssh_user: heat-admin
mysql_client:
children:
cell1_mysql_client: {}
@ -194,6 +232,8 @@ cell1_mysql_client:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
nova_migration_target:
children:
cell1_nova_migration_target: {}
@ -201,6 +241,8 @@ nova_migration_target:
cell1_nova_migration_target:
children:
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
podman:
children:
cell1_podman: {}
@ -209,6 +251,8 @@ cell1_podman:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
tripleo_packages:
children:
cell1_tripleo_packages: {}
@ -217,6 +261,8 @@ cell1_tripleo_packages:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
nova_conductor:
children:
cell1_nova_conductor: {}
@ -224,6 +270,8 @@ nova_conductor:
cell1_nova_conductor:
children:
cell1_CellController: {}
vars:
ansible_ssh_user: heat-admin
nova_compute:
children:
cell1_nova_compute: {}
@ -231,6 +279,8 @@ nova_compute:
cell1_nova_compute:
children:
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
logrotate_crond:
children:
cell1_logrotate_crond: {}
@ -239,6 +289,8 @@ cell1_logrotate_crond:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
haproxy:
children:
cell1_haproxy: {}
@ -246,6 +298,8 @@ haproxy:
cell1_haproxy:
children:
cell1_CellController: {}
vars:
ansible_ssh_user: heat-admin
sshd:
children:
cell1_sshd: {}
@ -254,6 +308,8 @@ cell1_sshd:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
ovn_metadata:
children:
cell1_ovn_metadata: {}
@ -261,6 +317,8 @@ ovn_metadata:
cell1_ovn_metadata:
children:
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
tuned:
children:
cell1_tuned: {}
@ -269,6 +327,8 @@ cell1_tuned:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
chrony:
children:
cell1_chrony: {}
@ -277,6 +337,8 @@ cell1_chrony:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
ca_certs:
children:
cell1_ca_certs: {}
@ -285,6 +347,8 @@ cell1_ca_certs:
children:
cell1_CellController: {}
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
ovn_controller:
children:
cell1_ovn_controller: {}
@ -292,6 +356,8 @@ ovn_controller:
cell1_ovn_controller:
children:
cell1_Compute: {}
vars:
ansible_ssh_user: heat-admin
Controller:
children:
overcloud_Controller: {}
@ -332,6 +398,14 @@ overcloud_allovercloud:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
container_cli: podman
ctlplane_vip: 192.168.24.7
external_vip: 10.0.0.5
internal_api_vip: 172.16.2.164
redis_vip: 172.16.2.196
storage_mgmt_vip: 172.16.3.44
storage_vip: 172.16.1.147
overcloud:
children:
overcloud_allovercloud: {}
@ -342,240 +416,344 @@ overcloud_kernel:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_nova_conductor:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_snmp:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_mysql:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
cinder_api:
children:
overcloud_cinder_api: {}
overcloud_cinder_api:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
swift_proxy:
children:
overcloud_swift_proxy: {}
overcloud_swift_proxy:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
swift_ringbuilder:
children:
overcloud_swift_ringbuilder: {}
overcloud_swift_ringbuilder:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
heat_api:
children:
overcloud_heat_api: {}
overcloud_heat_api:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_container_image_prepare:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_timezone:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_iscsid:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_boot_params_service:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
heat_api_cloudwatch_disabled:
children:
overcloud_heat_api_cloudwatch_disabled: {}
overcloud_heat_api_cloudwatch_disabled:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_tripleo_firewall:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
swift_storage:
children:
overcloud_swift_storage: {}
overcloud_swift_storage:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
keystone_admin_api:
children:
overcloud_keystone_admin_api: {}
overcloud_keystone_admin_api:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_keepalived:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_certmonger_user:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_mysql_client:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
glance_api:
children:
overcloud_glance_api: {}
overcloud_glance_api:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
keystone:
children:
overcloud_keystone: {}
overcloud_keystone:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
cinder_volume:
children:
overcloud_cinder_volume: {}
overcloud_cinder_volume:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
ovn_dbs:
children:
overcloud_ovn_dbs: {}
overcloud_ovn_dbs:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
memcached:
children:
overcloud_memcached: {}
overcloud_memcached:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_oslo_messaging_rpc:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_nova_vnc_proxy:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
oslo_messaging_notify:
children:
overcloud_oslo_messaging_notify: {}
overcloud_oslo_messaging_notify:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
keystone_public_api:
children:
overcloud_keystone_public_api: {}
overcloud_keystone_public_api:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
nova_api:
children:
overcloud_nova_api: {}
overcloud_nova_api:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_nova_metadata:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
heat_engine:
children:
overcloud_heat_engine: {}
overcloud_heat_engine:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_nova_migration_target:
children:
overcloud_Compute: {}
vars:
ansible_ssh_user: heat-admin
overcloud_podman:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_tripleo_packages:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
nova_scheduler:
children:
overcloud_nova_scheduler: {}
overcloud_nova_scheduler:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_nova_compute:
children:
overcloud_Compute: {}
vars:
ansible_ssh_user: heat-admin
overcloud_nova_libvirt_guests:
children:
overcloud_Compute: {}
vars:
ansible_ssh_user: heat-admin
neutron_plugin_ml2_ovn:
children:
overcloud_neutron_plugin_ml2_ovn: {}
overcloud_neutron_plugin_ml2_ovn:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_logrotate_crond:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_haproxy:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_sshd:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
placement:
children:
overcloud_placement: {}
overcloud_placement:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
cinder_scheduler:
children:
overcloud_cinder_scheduler: {}
overcloud_cinder_scheduler:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_nova_libvirt:
children:
overcloud_Compute: {}
vars:
ansible_ssh_user: heat-admin
overcloud_ovn_metadata:
children:
overcloud_Compute: {}
vars:
ansible_ssh_user: heat-admin
overcloud_tuned:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_chrony:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
horizon:
children:
overcloud_horizon: {}
overcloud_horizon:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
neutron_api:
children:
overcloud_neutron_api: {}
overcloud_neutron_api:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_ca_certs:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
heat_api_cfn:
children:
overcloud_heat_api_cfn: {}
overcloud_heat_api_cfn:
children:
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin
overcloud_ovn_controller:
children:
overcloud_Compute: {}
overcloud_Controller: {}
vars:
ansible_ssh_user: heat-admin

View File

@ -128,7 +128,16 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"container_cli": "podman",
"ctlplane_vip": "192.168.24.7",
"external_vip": "10.0.0.5",
"internal_api_vip": "172.16.2.164",
"redis_vip": "172.16.2.196",
"storage_mgmt_vip": "172.16.3.44",
"storage_vip": "172.16.1.147"
}
},
"overcloud": {
"children": [
@ -144,7 +153,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"ca_certs": {
"children": [
@ -155,7 +167,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"certmonger_user": {
"children": [
@ -166,7 +181,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"chrony": {
"children": [
@ -177,7 +195,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cinder_api": {
"children": [
@ -187,7 +208,10 @@
"overcloud_cinder_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cinder_scheduler": {
"children": [
@ -197,7 +221,10 @@
"overcloud_cinder_scheduler": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cinder_volume": {
"children": [
@ -207,7 +234,10 @@
"overcloud_cinder_volume": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"container_image_prepare": {
"children": [
@ -217,7 +247,10 @@
"overcloud_container_image_prepare": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"glance_api": {
"children": [
@ -227,7 +260,10 @@
"overcloud_glance_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"haproxy": {
"children": [
@ -237,7 +273,10 @@
"overcloud_haproxy": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"heat_api": {
"children": [
@ -247,7 +286,10 @@
"overcloud_heat_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"heat_api_cfn": {
"children": [
@ -257,7 +299,10 @@
"overcloud_heat_api_cfn": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"heat_api_cloudwatch_disabled": {
"children": [
@ -267,7 +312,10 @@
"overcloud_heat_api_cloudwatch_disabled": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"heat_engine": {
"children": [
@ -277,7 +325,10 @@
"overcloud_heat_engine": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"horizon": {
"children": [
@ -287,7 +338,10 @@
"overcloud_horizon": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"iscsid": {
"children": [
@ -298,7 +352,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"keepalived": {
"children": [
@ -308,7 +365,10 @@
"overcloud_keepalived": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"kernel": {
"children": [
@ -319,7 +379,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"keystone": {
"children": [
@ -329,7 +392,10 @@
"overcloud_keystone": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"keystone_admin_api": {
"children": [
@ -339,7 +405,10 @@
"overcloud_keystone_admin_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"keystone_public_api": {
"children": [
@ -349,7 +418,10 @@
"overcloud_keystone_public_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"logrotate_crond": {
"children": [
@ -360,7 +432,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"memcached": {
"children": [
@ -370,7 +445,10 @@
"overcloud_memcached": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"mysql": {
"children": [
@ -380,7 +458,10 @@
"overcloud_mysql": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"mysql_client": {
"children": [
@ -391,7 +472,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"neutron_api": {
"children": [
@ -401,7 +485,10 @@
"overcloud_neutron_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"neutron_plugin_ml2_ovn": {
"children": [
@ -411,7 +498,10 @@
"overcloud_neutron_plugin_ml2_ovn": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_api": {
"children": [
@ -421,7 +511,10 @@
"overcloud_nova_api": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_compute": {
"children": [
@ -431,7 +524,10 @@
"overcloud_nova_compute": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_conductor": {
"children": [
@ -441,7 +537,10 @@
"overcloud_nova_conductor": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_libvirt": {
"children": [
@ -451,7 +550,10 @@
"overcloud_nova_libvirt": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_libvirt_guests": {
"children": [
@ -461,7 +563,10 @@
"overcloud_nova_libvirt_guests": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_metadata": {
"children": [
@ -471,7 +576,10 @@
"overcloud_nova_metadata": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_migration_target": {
"children": [
@ -481,7 +589,10 @@
"overcloud_nova_migration_target": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_scheduler": {
"children": [
@ -491,7 +602,10 @@
"overcloud_nova_scheduler": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_vnc_proxy": {
"children": [
@ -501,7 +615,10 @@
"overcloud_nova_vnc_proxy": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"oslo_messaging_notify": {
"children": [
@ -511,7 +628,10 @@
"overcloud_oslo_messaging_notify": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"oslo_messaging_rpc": {
"children": [
@ -521,7 +641,10 @@
"overcloud_oslo_messaging_rpc": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud_overcloud": {
"children": [
@ -537,7 +660,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"ovn_dbs": {
"children": [
@ -547,7 +673,10 @@
"overcloud_ovn_dbs": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"ovn_metadata": {
"children": [
@ -557,7 +686,10 @@
"overcloud_ovn_metadata": {
"children": [
"overcloud_Compute"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"placement": {
"children": [
@ -567,7 +699,10 @@
"overcloud_placement": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"podman": {
"children": [
@ -578,7 +713,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"snmp": {
"children": [
@ -589,7 +727,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"sshd": {
"children": [
@ -600,7 +741,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"swift_proxy": {
"children": [
@ -610,7 +754,10 @@
"overcloud_swift_proxy": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"swift_ringbuilder": {
"children": [
@ -620,7 +767,10 @@
"overcloud_swift_ringbuilder": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"swift_storage": {
"children": [
@ -630,7 +780,10 @@
"overcloud_swift_storage": {
"children": [
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"timezone": {
"children": [
@ -641,7 +794,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"tripleo_firewall": {
"children": [
@ -652,7 +808,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"tripleo_packages": {
"children": [
@ -663,7 +822,10 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"tuned": {
"children": [
@ -674,6 +836,9 @@
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
}
}

View File

@ -102,6 +102,14 @@ overcloud_allovercloud:
children:
- overcloud_Compute
- overcloud_Controller
vars:
container_cli: podman
ctlplane_vip: 192.168.24.7
external_vip: 10.0.0.5
internal_api_vip: 172.16.2.164
redis_vip: 172.16.2.196
storage_mgmt_vip: 172.16.3.44
storage_vip: 172.16.1.147
overcloud:
children:
- overcloud_allovercloud
@ -115,12 +123,16 @@ overcloud_kernel:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
nova_conductor:
children:
- overcloud_nova_conductor
overcloud_nova_conductor:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
snmp:
children:
- overcloud_snmp
@ -128,42 +140,56 @@ overcloud_snmp:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
mysql:
children:
- overcloud_mysql
overcloud_mysql:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
cinder_api:
children:
- overcloud_cinder_api
overcloud_cinder_api:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
swift_proxy:
children:
- overcloud_swift_proxy
overcloud_swift_proxy:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
swift_ringbuilder:
children:
- overcloud_swift_ringbuilder
overcloud_swift_ringbuilder:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
heat_api:
children:
- overcloud_heat_api
overcloud_heat_api:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
container_image_prepare:
children:
- overcloud_container_image_prepare
overcloud_container_image_prepare:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
timezone:
children:
- overcloud_timezone
@ -171,6 +197,8 @@ overcloud_timezone:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
iscsid:
children:
- overcloud_iscsid
@ -178,6 +206,8 @@ overcloud_iscsid:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
boot_params_service:
children:
- overcloud_boot_params_service
@ -185,12 +215,16 @@ overcloud_boot_params_service:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
heat_api_cloudwatch_disabled:
children:
- overcloud_heat_api_cloudwatch_disabled
overcloud_heat_api_cloudwatch_disabled:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
tripleo_firewall:
children:
- overcloud_tripleo_firewall
@ -198,24 +232,32 @@ overcloud_tripleo_firewall:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
swift_storage:
children:
- overcloud_swift_storage
overcloud_swift_storage:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
keystone_admin_api:
children:
- overcloud_keystone_admin_api
overcloud_keystone_admin_api:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
keepalived:
children:
- overcloud_keepalived
overcloud_keepalived:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
certmonger_user:
children:
- overcloud_certmonger_user
@ -223,6 +265,8 @@ overcloud_certmonger_user:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
mysql_client:
children:
- overcloud_mysql_client
@ -230,84 +274,112 @@ overcloud_mysql_client:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
glance_api:
children:
- overcloud_glance_api
overcloud_glance_api:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
keystone:
children:
- overcloud_keystone
overcloud_keystone:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
cinder_volume:
children:
- overcloud_cinder_volume
overcloud_cinder_volume:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
ovn_dbs:
children:
- overcloud_ovn_dbs
overcloud_ovn_dbs:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
memcached:
children:
- overcloud_memcached
overcloud_memcached:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
oslo_messaging_rpc:
children:
- overcloud_oslo_messaging_rpc
overcloud_oslo_messaging_rpc:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
nova_vnc_proxy:
children:
- overcloud_nova_vnc_proxy
overcloud_nova_vnc_proxy:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
oslo_messaging_notify:
children:
- overcloud_oslo_messaging_notify
overcloud_oslo_messaging_notify:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
keystone_public_api:
children:
- overcloud_keystone_public_api
overcloud_keystone_public_api:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
nova_api:
children:
- overcloud_nova_api
overcloud_nova_api:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
nova_metadata:
children:
- overcloud_nova_metadata
overcloud_nova_metadata:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
heat_engine:
children:
- overcloud_heat_engine
overcloud_heat_engine:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
nova_migration_target:
children:
- overcloud_nova_migration_target
overcloud_nova_migration_target:
children:
- overcloud_Compute
vars:
ansible_ssh_user: heat-admin
podman:
children:
- overcloud_podman
@ -315,6 +387,8 @@ overcloud_podman:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
tripleo_packages:
children:
- overcloud_tripleo_packages
@ -322,30 +396,40 @@ overcloud_tripleo_packages:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
nova_scheduler:
children:
- overcloud_nova_scheduler
overcloud_nova_scheduler:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
nova_compute:
children:
- overcloud_nova_compute
overcloud_nova_compute:
children:
- overcloud_Compute
vars:
ansible_ssh_user: heat-admin
nova_libvirt_guests:
children:
- overcloud_nova_libvirt_guests
overcloud_nova_libvirt_guests:
children:
- overcloud_Compute
vars:
ansible_ssh_user: heat-admin
neutron_plugin_ml2_ovn:
children:
- overcloud_neutron_plugin_ml2_ovn
overcloud_neutron_plugin_ml2_ovn:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
logrotate_crond:
children:
- overcloud_logrotate_crond
@ -353,12 +437,16 @@ overcloud_logrotate_crond:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
haproxy:
children:
- overcloud_haproxy
overcloud_haproxy:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
sshd:
children:
- overcloud_sshd
@ -366,30 +454,40 @@ overcloud_sshd:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
placement:
children:
- overcloud_placement
overcloud_placement:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
cinder_scheduler:
children:
- overcloud_cinder_scheduler
overcloud_cinder_scheduler:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
nova_libvirt:
children:
- overcloud_nova_libvirt
overcloud_nova_libvirt:
children:
- overcloud_Compute
vars:
ansible_ssh_user: heat-admin
ovn_metadata:
children:
- overcloud_ovn_metadata
overcloud_ovn_metadata:
children:
- overcloud_Compute
vars:
ansible_ssh_user: heat-admin
tuned:
children:
- overcloud_tuned
@ -397,6 +495,8 @@ overcloud_tuned:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
chrony:
children:
- overcloud_chrony
@ -404,18 +504,24 @@ overcloud_chrony:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
horizon:
children:
- overcloud_horizon
overcloud_horizon:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
neutron_api:
children:
- overcloud_neutron_api
overcloud_neutron_api:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
ca_certs:
children:
- overcloud_ca_certs
@ -423,12 +529,16 @@ overcloud_ca_certs:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
heat_api_cfn:
children:
- overcloud_heat_api_cfn
overcloud_heat_api_cfn:
children:
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin
ovn_controller:
children:
- overcloud_ovn_controller
@ -436,3 +546,5 @@ overcloud_ovn_controller:
children:
- overcloud_Compute
- overcloud_Controller
vars:
ansible_ssh_user: heat-admin

View File

@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import collections
import fixtures
import os
from unittest.mock import MagicMock
@ -28,7 +29,7 @@ class _TestInventoriesBase(base.TestCase):
self.read_inventory_data()
def read_inventory_data(self):
inventory_data = {}
inventory_data = collections.OrderedDict()
inventory_dir = os.path.join(
os.path.dirname(__file__), 'inventory_data'
)
@ -78,7 +79,7 @@ class TestInventoriesStatic(_TestInventoriesBase):
self.inventories.write_static_inventory(inv_path)
expected = self.inventory_data['merged_static']
with open(inv_path, 'r') as f:
loaded_inv = yaml.safe_load(f)
loaded_inv = collections.OrderedDict(yaml.safe_load(f))
self.assertEqual(expected, loaded_inv)
@ -101,7 +102,7 @@ class TestInventoriesDynamic(_TestInventoriesBase):
def test_merge(self):
actual = dict(self.inventories._merge())
expected = self.inventory_data['merged_dynamic']
expected = dict(self.inventory_data['merged_dynamic'])
self.assertEqual(expected, actual)
def test_list(self):

View File

@ -31,89 +31,126 @@ MOCK_ENABLED_SERVICES = {
"kernel",
"swift_storage",
"tripleo_packages"
],
],
"Controller": [
"kernel",
"keystone",
"tripleo_packages"
],
],
"Compute": [
"nova_compute",
"kernel",
"tripleo_packages",
"ceph_client"
],
],
"CephStorage": [
"kernel",
"tripleo_packages"
],
],
"BlockStorage": [
"cinder_volume",
"kernel",
"tripleo_packages"
]
}
]
}
class TestInventory(base.TestCase):
def setUp(self):
super(TestInventory, self).setUp()
self.outputs_data = {'outputs': [
{'output_key': 'EnabledServices',
'output_value': {
'Controller': ['sa', 'sb'],
'Compute': ['sd', 'se', 'ceph_client'],
'CustomRole': ['sg', 'sh']}},
{'output_key': 'KeystoneURL',
'output_value': 'xyz://keystone'},
{'output_key': 'ServerIdData',
'output_value': {
'server_ids': {
'Controller': ['a', 'b', 'c'],
'Compute': ['d'],
'CustomRole': ['e']},
'bootstrap_server_id': 'a'}},
{'output_key': 'RoleNetHostnameMap',
'output_value': {
'Controller': {
'ctlplane': ['c-0.ctlplane.localdomain',
'c-1.ctlplane.localdomain',
'c-2.ctlplane.localdomain'],
'internal_api': ['c-0.internal_api.localdomain',
'c-1.internal_api.localdomain',
'c-2.internal_api.localdomain']},
'Compute': {
'ctlplane': ['cp-0.ctlplane.localdomain']},
'CustomRole': {
'ctlplane': ['cs-0.ctlplane.localdomain']}}},
{'output_key': 'RoleNetIpMap',
'output_value': {
'Controller': {
'ctlplane': ['x.x.x.1',
'x.x.x.2',
'x.x.x.3'],
'internal_api': ['x.x.x.4',
'x.x.x.5',
'x.x.x.6']},
'Compute': {
'ctlplane': ['y.y.y.1']},
'CustomRole': {
'ctlplane': ['z.z.z.1']}}},
{'output_key': 'VipMap',
'output_value': {
'ctlplane': 'x.x.x.4',
'redis': 'x.x.x.6'}},
{'output_key': 'RoleData',
'output_value': {
'Controller': {'config_settings': 'foo1'},
'Compute': {'config_settings': 'foo2'},
'CustomRole': {'config_settings': 'foo3'}}}]}
{
'output_key': 'EnabledServices',
'output_value': {
'Controller': ['sa', 'sb'],
'Compute': ['sd', 'se', 'ceph_client'],
'CustomRole': ['sg', 'sh']}
},
{
'output_key': 'KeystoneURL',
'output_value': 'xyz://keystone'
},
{
'output_key': 'ServerIdData',
'output_value': {
'server_ids': {
'Controller': ['a', 'b', 'c'],
'Compute': ['d'],
'CustomRole': ['e']
},
'bootstrap_server_id': 'a'
}
},
{
'output_key': 'RoleNetHostnameMap',
'output_value': {
'Controller': {
'ctlplane': [
'c-0.ctlplane.localdomain',
'c-1.ctlplane.localdomain',
'c-2.ctlplane.localdomain'],
'internal_api': [
'c-0.internal_api.localdomain',
'c-1.internal_api.localdomain',
'c-2.internal_api.localdomain']
},
'Compute': {
'ctlplane': ['cp-0.ctlplane.localdomain']
},
'CustomRole': {
'ctlplane': ['cs-0.ctlplane.localdomain']
}
}
},
{
'output_key': 'RoleNetIpMap',
'output_value': {
'Controller': {
'ctlplane': [
'x.x.x.1',
'x.x.x.2',
'x.x.x.3'
],
'internal_api': [
'x.x.x.4',
'x.x.x.5',
'x.x.x.6'
]
},
'Compute': {
'ctlplane': ['y.y.y.1']
},
'CustomRole': {
'ctlplane': ['z.z.z.1']
}
}
},
{
'output_key': 'VipMap',
'output_value': {
'ctlplane': 'x.x.x.4',
'redis': 'x.x.x.6'
}
},
{
'output_key': 'RoleData',
'output_value': {
'Controller': {'config_settings': 'foo1'},
'Compute': {'config_settings': 'foo2'},
'CustomRole': {'config_settings': 'foo3'}
}
}
]
}
self.plan_name = 'overcloud'
self.hclient = MagicMock()
self.hclient.stacks.environment.return_value = {
'parameter_defaults': {'AdminPassword': 'theadminpw',
'ContainerCli': 'podman'}}
'parameter_defaults': {
'AdminPassword': 'theadminpw',
'ContainerCli': 'podman'
}
}
self.mock_stack = MagicMock()
self.mock_stack.outputs = self.outputs_data['outputs']
self.hclient.stacks.get.return_value = self.mock_stack
@ -130,14 +167,23 @@ class TestInventory(base.TestCase):
self.inventory.stack_outputs = self.outputs
def test_get_roles_by_service(self):
services = TripleoInventory.get_roles_by_service(
MOCK_ENABLED_SERVICES)
services = TripleoInventory.get_roles_by_service(MOCK_ENABLED_SERVICES)
expected = {
'kernel': ['BlockStorage', 'CephStorage', 'Compute', 'Controller',
'ObjectStorage'],
'kernel': [
'BlockStorage',
'CephStorage',
'Compute',
'Controller',
'ObjectStorage'
],
'swift_storage': ['ObjectStorage'],
'tripleo_packages': ['BlockStorage', 'CephStorage', 'Compute',
'Controller', 'ObjectStorage'],
'tripleo_packages': [
'BlockStorage',
'CephStorage',
'Compute',
'Controller',
'ObjectStorage'
],
'keystone': ['Controller'],
'nova_compute': ['Compute'],
'cinder_volume': ['BlockStorage'],
@ -147,8 +193,7 @@ class TestInventory(base.TestCase):
def test_stack_not_found(self):
self.hclient.stacks.get.side_effect = HTTPNotFound('not found')
self.assertEqual(None,
self.inventory._get_stack())
self.assertEqual(None, self.inventory._get_stack())
def test_outputs_valid_key_calls_api(self):
expected = 'xyz://keystone'
@ -174,11 +219,15 @@ class TestInventory(base.TestCase):
self.assertEqual(default, self.outputs.get('Invalid', default))
def test_outputs_iterating_returns_list_of_output_keys(self):
self.assertEqual(
{'EnabledServices', 'KeystoneURL', 'ServerIdData',
'RoleNetHostnameMap', 'RoleNetIpMap', 'VipMap',
'RoleData'},
set([o for o in self.outputs]))
self.assertEqual({
'EnabledServices',
'KeystoneURL',
'ServerIdData',
'RoleNetHostnameMap',
'RoleNetIpMap',
'VipMap',
'RoleData'
}, set([o for o in self.outputs]))
def test_inventory_list(self):
self.inventory.undercloud_connection = 'local'
@ -189,66 +238,82 @@ class TestInventory(base.TestCase):
expected = {
'Compute': {
'hosts': ['cp-0'],
'vars': {'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Compute',
'tripleo_role_networks': ['ctlplane']}},
'vars': {
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Compute',
'tripleo_role_networks': ['ctlplane']
}
},
'Controller': {
'hosts': ['c-0', 'c-1', 'c-2'],
'vars': {'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Controller',
'tripleo_role_networks': ['ctlplane',
'internal_api']}},
'vars': {
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Controller',
'tripleo_role_networks': [
'ctlplane',
'internal_api'
]
}
},
'CustomRole': {
'hosts': ['cs-0'],
'vars': {'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'CustomRole',
'tripleo_role_networks': ['ctlplane']}},
'vars': {
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'CustomRole',
'tripleo_role_networks': ['ctlplane']
}
},
'overcloud': {
'children': ['allovercloud']
},
},
'allovercloud': {
'children': ['Compute', 'Controller', 'CustomRole'],
'vars': {
'container_cli': 'podman',
'ctlplane_vip': 'x.x.x.4',
'redis_vip': 'x.x.x.6'}},
'redis_vip': 'x.x.x.6'
}
},
'Undercloud': {
'hosts': ['undercloud'],
'vars': {'ansible_connection': 'local',
'ansible_host': 'localhost',
'ansible_python_interpreter': sys.executable,
'ansible_remote_tmp': '/tmp/ansible-${USER}',
'auth_url': 'xyz://keystone.local',
'cacert': 'acacert',
'overcloud_keystone_url': 'xyz://keystone',
'overcloud_admin_password': 'theadminpw',
'plan': 'overcloud',
'project_name': 'admin',
'undercloud_service_list': [
'tripleo_nova_compute',
'tripleo_heat_engine',
'tripleo_ironic_conductor',
'tripleo_swift_container_server',
'tripleo_swift_object_server',
'tripleo_mistral_engine'],
'username': 'admin'}}}
'vars': {
'ansible_connection': 'local',
'ansible_host': 'localhost',
'ansible_python_interpreter': sys.executable,
'ansible_remote_tmp': '/tmp/ansible-${USER}',
'auth_url': 'xyz://keystone.local',
'cacert': 'acacert',
'overcloud_keystone_url': 'xyz://keystone',
'overcloud_admin_password': 'theadminpw',
'plan': 'overcloud',
'project_name': 'admin',
'undercloud_service_list': [
'tripleo_nova_compute',
'tripleo_heat_engine',
'tripleo_ironic_conductor',
'tripleo_swift_container_server',
'tripleo_swift_object_server',
'tripleo_mistral_engine'
],
'username': 'admin'
}
}
}
inv_list = inventory.list()
for k in expected:
self.assertEqual(expected[k], inv_list[k])
def test_ansible_ssh_user(self):
self._try_alternative_args(
ansible_ssh_user='my-custom-admin',
undercloud_connection='ssh')
ansible_ssh_user='my-custom-admin', undercloud_connection='ssh')
def _try_alternative_args(self, ansible_ssh_user,
undercloud_connection):
def _try_alternative_args(self, ansible_ssh_user, undercloud_connection):
key_file = '/var/lib/mistral/.ssh/%s-key' % ansible_ssh_user
self.inventory = TripleoInventory(
hclient=self.hclient,
@ -260,36 +325,48 @@ class TestInventory(base.TestCase):
ansible_ssh_user=ansible_ssh_user,
undercloud_connection=undercloud_connection,
undercloud_key_file=key_file,
ansible_python_interpreter='foo')
ansible_python_interpreter='foo'
)
self.inventory.stack_outputs = self.outputs
expected = {
'Compute': {
'hosts': ['cp-0'],
'vars': {'ansible_python_interpreter': 'foo',
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Compute',
'tripleo_role_networks': ['ctlplane']}},
'vars': {
'ansible_python_interpreter': 'foo',
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Compute',
'tripleo_role_networks': ['ctlplane']
}
},
'Controller': {
'hosts': ['c-0', 'c-1', 'c-2'],
'vars': {'ansible_python_interpreter': 'foo',
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Controller',
'tripleo_role_networks': ['ctlplane',
'internal_api']}},
'vars': {
'ansible_python_interpreter': 'foo',
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Controller',
'tripleo_role_networks': [
'ctlplane',
'internal_api'
]
}
},
'CustomRole': {
'hosts': ['cs-0'],
'vars': {'ansible_python_interpreter': 'foo',
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'CustomRole',
'tripleo_role_networks': ['ctlplane']}},
'vars': {
'ansible_python_interpreter': 'foo',
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'CustomRole',
'tripleo_role_networks': ['ctlplane']
}
},
'overcloud': {
'children': ['allovercloud']
},
@ -298,53 +375,91 @@ class TestInventory(base.TestCase):
'vars': {
'container_cli': 'podman',
'ctlplane_vip': 'x.x.x.4',
'redis_vip': 'x.x.x.6'}},
'sa': {'children': ['Controller'],
'vars': {'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'}},
'sb': {'children': ['Controller'],
'vars': {'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'}},
'sd': {'children': ['Compute'],
'vars': {'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'}},
'se': {'children': ['Compute'],
'vars': {'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'}},
'ceph_client': {'children': ['Compute'],
'vars': {'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'}},
'clients': {'children': ['Compute'],
'vars': {'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'}},
'sg': {'children': ['CustomRole'],
'vars': {'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'}},
'sh': {'children': ['CustomRole'],
'vars': {'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'}},
'redis_vip': 'x.x.x.6'
}
},
'sa': {
'children': ['Controller'],
'vars': {
'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'
}
},
'sb': {
'children': ['Controller'],
'vars': {
'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'
}
},
'sd': {
'children': ['Compute'],
'vars': {
'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'
}
},
'se': {
'children': ['Compute'],
'vars': {
'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'
}
},
'ceph_client': {
'children': ['Compute'],
'vars': {
'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'
}
},
'clients': {
'children': ['Compute'],
'vars': {
'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'
}
},
'sg': {
'children': ['CustomRole'],
'vars': {
'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'
}
},
'sh': {
'children': ['CustomRole'],
'vars': {
'ansible_ssh_user': 'my-custom-admin',
'ansible_python_interpreter': 'foo'
}
},
'Undercloud': {
'hosts': ['undercloud'],
'vars': {'ansible_connection': 'ssh',
'ansible_ssh_private_key_file': key_file,
'ansible_ssh_user': 'my-custom-admin',
'ansible_host': 'localhost',
'ansible_python_interpreter': 'foo',
'ansible_remote_tmp': '/tmp/ansible-${USER}',
'auth_url': 'xyz://keystone.local',
'cacert': 'acacert',
'overcloud_keystone_url': 'xyz://keystone',
'overcloud_admin_password': 'theadminpw',
'plan': 'overcloud',
'project_name': 'admin',
'undercloud_service_list': [
'tripleo_nova_compute',
'tripleo_heat_engine',
'tripleo_ironic_conductor',
'tripleo_swift_container_server',
'tripleo_swift_object_server',
'tripleo_mistral_engine'],
'username': 'admin'}}}
'vars': {
'ansible_connection': 'ssh',
'ansible_ssh_private_key_file': key_file,
'ansible_ssh_user': 'my-custom-admin',
'ansible_host': 'localhost',
'ansible_python_interpreter': 'foo',
'ansible_remote_tmp': '/tmp/ansible-${USER}',
'auth_url': 'xyz://keystone.local',
'cacert': 'acacert',
'overcloud_keystone_url': 'xyz://keystone',
'overcloud_admin_password': 'theadminpw',
'plan': 'overcloud',
'project_name': 'admin',
'undercloud_service_list': [
'tripleo_nova_compute',
'tripleo_heat_engine',
'tripleo_ironic_conductor',
'tripleo_swift_container_server',
'tripleo_swift_object_server',
'tripleo_mistral_engine'],
'username': 'admin'
}
}
}
inv_list = self.inventory.list()
for k in expected:
@ -365,18 +480,31 @@ class TestInventory(base.TestCase):
self.inventory.write_static_inventory(inv_path, extra_vars)
ansible_ssh_user = 'heat-admin'
expected = {
'Compute': {
'hosts': {
'cp-0': {
'ansible_host': 'y.y.y.1',
'ctlplane_ip': 'y.y.y.1',
'deploy_server_id': 'd',
'ctlplane_hostname': 'cp-0.ctlplane.localdomain'}},
'vars': {'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Compute',
'tripleo_role_networks': ['ctlplane']}},
'Undercloud': {
'hosts': {'undercloud': {}},
'vars': {
'ansible_connection': 'local',
'ansible_host': 'localhost',
'ansible_python_interpreter':
sys.executable,
'ansible_remote_tmp':
'/tmp/ansible-${USER}',
'auth_url': 'xyz://keystone.local',
'cacert': 'acacert',
'overcloud_admin_password': 'theadminpw',
'overcloud_keystone_url': 'xyz://keystone',
'plan': 'overcloud',
'project_name': 'admin',
'undercloud_service_list': [
'tripleo_nova_compute',
'tripleo_heat_engine',
'tripleo_ironic_conductor',
'tripleo_swift_container_server',
'tripleo_swift_object_server',
'tripleo_mistral_engine'],
'username': 'admin'
}
},
'Controller': {
'hosts': {
'c-0': {
@ -385,90 +513,121 @@ class TestInventory(base.TestCase):
'deploy_server_id': 'a',
'ctlplane_hostname': 'c-0.ctlplane.localdomain',
'internal_api_hostname':
'c-0.internal_api.localdomain',
'internal_api_ip': 'x.x.x.4'},
'c-0.internal_api.localdomain',
'internal_api_ip': 'x.x.x.4'
},
'c-1': {
'ansible_host': 'x.x.x.2',
'ctlplane_ip': 'x.x.x.2',
'deploy_server_id': 'b',
'ctlplane_hostname': 'c-1.ctlplane.localdomain',
'internal_api_hostname':
'c-1.internal_api.localdomain',
'internal_api_ip': 'x.x.x.5'},
'c-1.internal_api.localdomain',
'internal_api_ip': 'x.x.x.5'
},
'c-2': {
'ansible_host': 'x.x.x.3',
'ctlplane_ip': 'x.x.x.3',
'deploy_server_id': 'c',
'ctlplane_hostname': 'c-2.ctlplane.localdomain',
'internal_api_hostname':
'c-2.internal_api.localdomain',
'internal_api_ip': 'x.x.x.6'}},
'vars': {'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Controller',
'tripleo_role_networks': ['ctlplane',
'internal_api']}},
'c-2.internal_api.localdomain',
'internal_api_ip': 'x.x.x.6'
}
},
'vars': {
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Controller',
'tripleo_role_networks': [
'ctlplane',
'internal_api'
]
}
},
'Compute': {
'hosts': {
'cp-0': {
'ansible_host': 'y.y.y.1',
'ctlplane_ip': 'y.y.y.1',
'deploy_server_id': 'd',
'ctlplane_hostname': 'cp-0.ctlplane.localdomain'
}
},
'vars': {
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'Compute',
'tripleo_role_networks': ['ctlplane']
}
},
'CustomRole': {
'hosts': {
'cs-0': {
'ansible_host': 'z.z.z.1',
'ctlplane_ip': 'z.z.z.1',
'deploy_server_id': 'e',
'ctlplane_hostname': 'cs-0.ctlplane.localdomain'}},
'vars': {'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'CustomRole',
'tripleo_role_networks': ['ctlplane']}},
'overcloud': {
'children': {
'allovercloud': {}
'ctlplane_hostname': 'cs-0.ctlplane.localdomain'
}
},
'vars': {
'ansible_ssh_user': ansible_ssh_user,
'bootstrap_server_id': 'a',
'serial': 1,
'tripleo_role_name': 'CustomRole',
'tripleo_role_networks': ['ctlplane']
}
},
'allovercloud': {'children': {'Compute': {},
'Controller': {},
'CustomRole': {}},
'vars': {'container_cli': 'podman',
'ctlplane_vip': 'x.x.x.4',
'redis_vip': 'x.x.x.6'}},
'sa': {'children': {'Controller': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}},
'sb': {'children': {'Controller': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}},
'sd': {'children': {'Compute': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}},
'se': {'children': {'Compute': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}},
'ceph_client': {'children': {'Compute': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}},
'clients': {'children': {'Compute': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}},
'sg': {'children': {'CustomRole': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}},
'sh': {'children': {'CustomRole': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}},
'Undercloud': {'hosts': {'undercloud': {}},
'vars': {'ansible_connection': 'local',
'ansible_host': 'localhost',
'ansible_python_interpreter':
sys.executable,
'ansible_remote_tmp':
'/tmp/ansible-${USER}',
'auth_url': 'xyz://keystone.local',
'cacert': 'acacert',
'overcloud_admin_password': 'theadminpw',
'overcloud_keystone_url': 'xyz://keystone',
'plan': 'overcloud',
'project_name': 'admin',
'undercloud_service_list': [
'tripleo_nova_compute',
'tripleo_heat_engine',
'tripleo_ironic_conductor',
'tripleo_swift_container_server',
'tripleo_swift_object_server',
'tripleo_mistral_engine'],
'username': 'admin'}}}
'overcloud': {
'children': {'allovercloud': {}}
},
'allovercloud': {
'children': {
'Compute': {},
'Controller': {},
'CustomRole': {}
},
'vars': {
'container_cli': 'podman',
'ctlplane_vip': 'x.x.x.4',
'redis_vip': 'x.x.x.6'
}
},
'sa': {
'children': {'Controller': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}
},
'sb': {
'children': {'Controller': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}
},
'sd': {
'children': {'Compute': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}
},
'se': {
'children': {'Compute': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}
},
'ceph_client': {
'children': {'Compute': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}
},
'clients': {
'children': {'Compute': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}
},
'sg': {
'children': {'CustomRole': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}
},
'sh': {
'children': {'CustomRole': {}},
'vars': {'ansible_ssh_user': 'heat-admin'}
},
}
if extra_vars:
expected['Undercloud']['vars']['anextravar'] = 123