Browse Source

Merge "Fix multistack inventory"

tags/12.4.0
Zuul 3 months ago
committed by Gerrit Code Review
parent
commit
8be99f9b2c
10 changed files with 3137 additions and 422 deletions
  1. +56
    -25
      tripleo_common/inventories.py
  2. +19
    -12
      tripleo_common/inventory.py
  3. +381
    -0
      tripleo_common/tests/inventory_data/cell1_dynamic.json
  4. +197
    -0
      tripleo_common/tests/inventory_data/cell1_static.yaml
  5. +970
    -0
      tripleo_common/tests/inventory_data/merged_dynamic.json
  6. +582
    -0
      tripleo_common/tests/inventory_data/merged_static.yaml
  7. +561
    -0
      tripleo_common/tests/inventory_data/overcloud_dynamic.json
  8. +287
    -0
      tripleo_common/tests/inventory_data/overcloud_static.yaml
  9. +67
    -379
      tripleo_common/tests/test_inventories.py
  10. +17
    -6
      tripleo_common/tests/test_inventory.py

+ 56
- 25
tripleo_common/inventories.py View File

@@ -37,50 +37,79 @@ class TripleoInventories(object):
stack_to_inv_obj_map['edge0'] = TripleoInventory('edge0')
"""
self.stack_to_inv_obj_map = stack_to_inv_obj_map
self.inventory = OrderedDict()

def merge(self):
"""Merge TripleoInventory objects into self.inventory"""
def _merge(self, dynamic=True):
"""Merge TripleoInventory objects"""
inventory = OrderedDict()
if dynamic:
inventory['_meta'] = {'hostvars': {}}
for stack, inv_obj in self.stack_to_inv_obj_map.items():
# convert each inventory object into an ordered dict
inv = inv_obj.list()
inv = inv_obj.list(dynamic)
# only want one undercloud, shouldn't matter which
if 'Undercloud' not in self.inventory.keys():
self.inventory['Undercloud'] = inv['Undercloud']
self.inventory['Undercloud']['hosts'] = {'undercloud': {}}
if 'Undercloud' not in inventory.keys():
inventory['Undercloud'] = inv['Undercloud']
if dynamic:
inventory['Undercloud']['hosts'] = ['undercloud']
else:
inventory['Undercloud']['hosts'] = {'undercloud': {}}
# add 'plans' to create a list to append to
self.inventory['Undercloud']['vars']['plans'] = []
inventory['Undercloud']['vars']['plans'] = []

# save the plan for this stack in the plans list
plan = inv['Undercloud']['vars']['plan']
self.inventory['Undercloud']['vars']['plans'].append(plan)
inventory['Undercloud']['vars']['plans'].append(plan)

for key in inv.keys():
if key != 'Undercloud':
new_key = stack + '_' + key

if key not in ('_meta', 'overcloud', stack):
# Merge into a top level group
if dynamic:
inventory.setdefault(key, {'children': []})
inventory[key]['children'].append(new_key)
inventory[key]['children'].sort()
else:
inventory.setdefault(key, {'children': {}})
inventory[key]['children'][new_key] = {}
if 'children' in inv[key].keys():
roles = []
for child in inv[key]['children']:
roles.append(stack + '_' + child)
self.inventory[new_key] = {}
self.inventory[new_key]['vars'] = inv[key]['vars']
for role in roles:
self.inventory[new_key]['children'] = {}
self.inventory[new_key]['children'][role] = {}
if key == 'overcloud':
roles.sort()
if dynamic:
inventory[new_key] = {
'children': roles
}
else:
inventory[new_key] = {
'children': {x: {} for x in roles}
}
if vars in inv[key]:
inventory[new_key]['vars'] = inv[key]['vars']
if key == 'allovercloud':
# useful to have just stack name refer to children
self.inventory[stack] = self.inventory[new_key]
if dynamic:
inventory[stack] = {'children': [new_key]}
else:
inventory[stack] = {'children': {new_key: {}}}
else:
if key != '_meta':
self.inventory[new_key] = inv[key]
self.inventory[new_key]['hosts'] = {}
self.inventory[new_key]['hosts'] = \
inv['_meta']['hostvars']
inventory[new_key] = inv[key]
elif dynamic:
inventory['_meta']['hostvars'].update(
inv['_meta'].get('hostvars', {})
)

# 'plan' doesn't make sense when using multiple plans
self.inventory['Undercloud']['vars']['plan'] = ''
inventory['Undercloud']['vars']['plan'] = ''
# sort plans list for consistency
self.inventory['Undercloud']['vars']['plans'].sort()
inventory['Undercloud']['vars']['plans'].sort()
return inventory

def list(self, dynamic=True):
return self._merge(dynamic)

def write_static_inventory(self, inventory_file_path, extra_vars=None):
"""Convert OrderedDict inventory to static yaml format in a file."""
@@ -90,13 +119,15 @@ class TripleoInventories(object):
% (inventory_file_path,
",".join(allowed_extensions)))

inventory = self._merge(dynamic=False)

if extra_vars:
for var, value in extra_vars.items():
if var in self.inventory:
self.inventory[var]['vars'].update(value)
if var in inventory:
inventory[var]['vars'].update(value)

with open(inventory_file_path, 'w') as inventory_file:
yaml.dump(self.inventory, inventory_file, TemplateDumper)
yaml.dump(inventory, inventory_file, TemplateDumper)

def host(self):
# Dynamic inventory scripts must return empty json if they don't


+ 19
- 12
tripleo_common/inventory.py View File

@@ -92,7 +92,6 @@ class TripleoInventory(object):
undercloud_key_file=None, serial=1):
self.session = session
self.hclient = hclient
self.hosts_format_dict = False
self.host_network = host_network or HOST_NETWORK
self.auth_url = auth_url
self.cacert = cacert
@@ -141,9 +140,9 @@ class TripleoInventory(object):
"""
return self.UNDERCLOUD_SERVICES

def _hosts(self, alist):
def _hosts(self, alist, dynamic=True):
"""Static yaml inventories reqire a different hosts format?!"""
if self.hosts_format_dict:
if not dynamic:
return {x: {} for x in alist}
else:
return alist
@@ -158,10 +157,10 @@ class TripleoInventory(object):

return stack

def list(self):
def list(self, dynamic=True):
ret = OrderedDict({
'Undercloud': {
'hosts': self._hosts(['undercloud']),
'hosts': self._hosts(['undercloud'], dynamic),
'vars': {
'ansible_host': 'localhost',
'ansible_python_interpreter': sys.executable,
@@ -205,7 +204,7 @@ class TripleoInventory(object):
ret['Undercloud']['vars']['overcloud_admin_password'] =\
admin_password

if not self.hosts_format_dict:
if dynamic:
# Prevent Ansible from repeatedly calling us to get empty host
# details
ret['_meta'] = {'hostvars': self.hostvars}
@@ -263,7 +262,7 @@ class TripleoInventory(object):

children.append(role)

if self.hosts_format_dict:
if not dynamic:
hosts_format = hosts
else:
hosts_format = [h for h in hosts.keys()]
@@ -304,11 +303,20 @@ class TripleoInventory(object):
self.get_overcloud_environment().get(
'parameter_defaults', {}).get('ContainerCli')

ret['overcloud'] = {
'children': self._hosts(sorted(children)),
ret['allovercloud'] = {
'children': self._hosts(sorted(children), dynamic),
'vars': overcloud_vars
}

ret[self.plan_name] = {
'children': self._hosts(['allovercloud'], dynamic)
}
if self.plan_name != 'overcloud':
ret['overcloud'] = {
'children': self._hosts(['allovercloud'], dynamic),
'deprecated': 'Deprecated by allovercloud group in Ussuri'
}

# Associate services with roles
roles_by_service = self.get_roles_by_service(
self.stack_outputs.get('EnabledServices', {}))
@@ -340,7 +348,7 @@ class TripleoInventory(object):
if service_children:
svc_host = service.lower()
ret[svc_host] = {
'children': self._hosts(service_children),
'children': self._hosts(service_children, dynamic),
'vars': {
'ansible_ssh_user': self.ansible_ssh_user
}
@@ -368,8 +376,7 @@ class TripleoInventory(object):

# For some reason the json/yaml format needed for static and
# dynamic inventories is different for the hosts/children?!
self.hosts_format_dict = True
inventory = self.list()
inventory = self.list(dynamic=False)

if extra_vars:
for var, value in extra_vars.items():


+ 381
- 0
tripleo_common/tests/inventory_data/cell1_dynamic.json View File

@@ -0,0 +1,381 @@
{
"CellController": {
"hosts": [
"cell1-cellcontrol-0"
],
"vars": {
"ansible_ssh_user": "heat-admin",
"bootstrap_server_id": "2a668e02-96b3-48a5-9cf2-7bde46830e23",
"serial": "1",
"tripleo_role_name": "CellController",
"tripleo_role_networks": [
"ctlplane",
"external",
"internal_api",
"management",
"storage",
"storage_mgmt",
"tenant"
]
}
},
"Compute": {
"hosts": [
"cell1-compute-0"
],
"vars": {
"ansible_ssh_user": "heat-admin",
"bootstrap_server_id": "2a668e02-96b3-48a5-9cf2-7bde46830e23",
"serial": "1",
"tripleo_role_name": "Compute",
"tripleo_role_networks": [
"ctlplane",
"external",
"internal_api",
"management",
"storage",
"storage_mgmt",
"tenant"
]
}
},
"Undercloud": {
"hosts": [
"undercloud"
],
"vars": {
"ansible_connection": "local",
"ansible_host": "localhost",
"ansible_python_interpreter": "/usr/bin/python2",
"ansible_remote_tmp": "/tmp/ansible-${USER}",
"auth_url": "https://192.168.24.2:13000",
"cacert": "/etc/pki/ca-trust/source/anchors/cm-local-ca.pem",
"os_auth_token": "gAAAAABedRLI4L-0UK1i3r0lkHVPFeGE2FB40mk7tjWw_US3nwQvzZlwKPM_uCq1wYeBqkCLwiXW61BrZswCi9M3mI-6HeniTi9qV7nXUyLHrWw1Kh5woAEGPyjmdiMiTh_P0WFKobYqXdP0oFwcN_LWr-mnYE1YWluvX4qKeUEeIOXHVj8OtMg",
"overcloud_admin_password": "9RDyelRD5PT5Jk6q4efjYG6Es",
"overcloud_horizon_url": "https://10.0.0.5:443/dashboard",
"overcloud_keystone_url": "https://10.0.0.5:13000",
"plan": "cell1",
"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"
],
"undercloud_swift_url": "https://192.168.24.2:13808/v1/AUTH_b0d47705b94c486889fd2b26ce343763",
"username": "admin"
}
},
"_meta": {
"hostvars": {
"cell1-cellcontrol-0": {
"ansible_host": "192.168.24.29",
"canonical_hostname": "cell1-cellcontrol-0.localdomain",
"ctlplane_hostname": "cell1-cellcontrol-0.ctlplane.localdomain",
"ctlplane_ip": "192.168.24.29",
"deploy_server_id": "2a668e02-96b3-48a5-9cf2-7bde46830e23",
"external_hostname": "cell1-cellcontrol-0.external.localdomain",
"external_ip": "10.0.0.38",
"internal_api_hostname": "cell1-cellcontrol-0.internalapi.localdomain",
"internal_api_ip": "172.16.2.119",
"management_ip": "192.168.24.29",
"storage_hostname": "cell1-cellcontrol-0.storage.localdomain",
"storage_ip": "172.16.1.167",
"storage_mgmt_hostname": "cell1-cellcontrol-0.storagemgmt.localdomain",
"storage_mgmt_ip": "172.16.3.183",
"tenant_hostname": "cell1-cellcontrol-0.tenant.localdomain",
"tenant_ip": "172.16.0.125"
},
"cell1-compute-0": {
"ansible_host": "192.168.24.10",
"canonical_hostname": "cell1-compute-0.localdomain",
"ctlplane_hostname": "cell1-compute-0.ctlplane.localdomain",
"ctlplane_ip": "192.168.24.10",
"deploy_server_id": "5b31842e-1118-4961-95cf-47d7a326e839",
"external_ip": "192.168.24.10",
"internal_api_hostname": "cell1-compute-0.internalapi.localdomain",
"internal_api_ip": "172.16.2.18",
"management_ip": "192.168.24.10",
"storage_hostname": "cell1-compute-0.storage.localdomain",
"storage_ip": "172.16.1.218",
"storage_mgmt_ip": "192.168.24.10",
"tenant_hostname": "cell1-compute-0.tenant.localdomain",
"tenant_ip": "172.16.0.27"
}
}
},
"allovercloud": {
"children": [
"CellController",
"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"
}
},
"boot_params_service": {
"children": [
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"ca_certs": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"cell1": {
"children": [
"allovercloud"
]
},
"certmonger_user": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"chrony": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"container_image_prepare": {
"children": [
"CellController"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"haproxy": {
"children": [
"CellController"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"iscsid": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"keepalived": {
"children": [
"CellController"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"kernel": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"logrotate_crond": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"mysql": {
"children": [
"CellController"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"mysql_client": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_compute": {
"children": [
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_conductor": {
"children": [
"CellController"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_libvirt": {
"children": [
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_libvirt_guests": {
"children": [
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_metadata": {
"children": [
"CellController"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_migration_target": {
"children": [
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"nova_vnc_proxy": {
"children": [
"CellController"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"oslo_messaging_rpc": {
"children": [
"CellController"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"overcloud": {
"children": [
"allovercloud"
],
"deprecated": "Deprecated by allovercloud group in Ussuri"
},
"ovn_controller": {
"children": [
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"ovn_metadata": {
"children": [
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"podman": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"snmp": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"sshd": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"timezone": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"tripleo_firewall": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"tripleo_packages": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
},
"tuned": {
"children": [
"CellController",
"Compute"
],
"vars": {
"ansible_ssh_user": "heat-admin"
}
}
}

+ 197
- 0
tripleo_common/tests/inventory_data/cell1_static.yaml View File

@@ -0,0 +1,197 @@
Undercloud:
hosts:
undercloud: {}
vars:
ansible_connection: local
ansible_host: localhost
ansible_python_interpreter: /usr/bin/python2
ansible_remote_tmp: /tmp/ansible-${USER}
auth_url: https://192.168.24.2:13000
cacert: /etc/pki/ca-trust/source/anchors/cm-local-ca.pem
os_auth_token: gAAAAABedRLI4L-0UK1i3r0lkHVPFeGE2FB40mk7tjWw_US3nwQvzZlwKPM_uCq1wYeBqkCLwiXW61BrZswCi9M3mI-6HeniTi9qV7nXUyLHrWw1Kh5woAEGPyjmdiMiTh_P0WFKobYqXdP0oFwcN_LWr-mnYE1YWluvX4qKeUEeIOXHVj8OtMg
overcloud_admin_password: 9RDyelRD5PT5Jk6q4efjYG6Es
overcloud_horizon_url: https://10.0.0.5:443/dashboard
overcloud_keystone_url: https://10.0.0.5:13000
plan: cell1
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]
undercloud_swift_url: https://192.168.24.2:13808/v1/AUTH_b0d47705b94c486889fd2b26ce343763
username: admin
CellController:
hosts:
cell1-cellcontrol-0: {ansible_host: 192.168.24.29, canonical_hostname: cell1-cellcontrol-0.localdomain,
ctlplane_hostname: cell1-cellcontrol-0.ctlplane.localdomain, ctlplane_ip: 192.168.24.29,
deploy_server_id: 2a668e02-96b3-48a5-9cf2-7bde46830e23, external_hostname: cell1-cellcontrol-0.external.localdomain,
external_ip: 10.0.0.38, internal_api_hostname: cell1-cellcontrol-0.internalapi.localdomain,
internal_api_ip: 172.16.2.119, management_ip: 192.168.24.29, storage_hostname: cell1-cellcontrol-0.storage.localdomain,
storage_ip: 172.16.1.167, storage_mgmt_hostname: cell1-cellcontrol-0.storagemgmt.localdomain,
storage_mgmt_ip: 172.16.3.183, tenant_hostname: cell1-cellcontrol-0.tenant.localdomain,
tenant_ip: 172.16.0.125}
vars:
ansible_ssh_user: heat-admin
bootstrap_server_id: 2a668e02-96b3-48a5-9cf2-7bde46830e23
serial: '1'
tripleo_role_name: CellController
tripleo_role_networks: [ctlplane, external, internal_api, management, storage,
storage_mgmt, tenant]
Compute:
hosts:
cell1-compute-0: {ansible_host: 192.168.24.10, canonical_hostname: cell1-compute-0.localdomain,
ctlplane_hostname: cell1-compute-0.ctlplane.localdomain, ctlplane_ip: 192.168.24.10,
deploy_server_id: 5b31842e-1118-4961-95cf-47d7a326e839, external_ip: 192.168.24.10,
internal_api_hostname: cell1-compute-0.internalapi.localdomain, internal_api_ip: 172.16.2.18,
management_ip: 192.168.24.10, storage_hostname: cell1-compute-0.storage.localdomain,
storage_ip: 172.16.1.218, storage_mgmt_ip: 192.168.24.10, tenant_hostname: cell1-compute-0.tenant.localdomain,
tenant_ip: 172.16.0.27}
vars:
ansible_ssh_user: heat-admin
bootstrap_server_id: 2a668e02-96b3-48a5-9cf2-7bde46830e23
serial: '1'
tripleo_role_name: Compute
tripleo_role_networks: [ctlplane, external, internal_api, management, storage,
storage_mgmt, tenant]
allovercloud:
children:
CellController: {}
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:
allovercloud: {}
overcloud:
children:
allovercloud: {}
deprecated: Deprecated by allovercloud group in Ussuri
kernel:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
keepalived:
children:
CellController: {}
vars: {ansible_ssh_user: heat-admin}
mysql:
children:
CellController: {}
vars: {ansible_ssh_user: heat-admin}
nova_libvirt:
children:
Compute: {}
vars: {ansible_ssh_user: heat-admin}
container_image_prepare:
children:
CellController: {}
vars: {ansible_ssh_user: heat-admin}
timezone:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
iscsid:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
nova_libvirt_guests:
children:
Compute: {}
vars: {ansible_ssh_user: heat-admin}
tripleo_firewall:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
snmp:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
certmonger_user:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
boot_params_service:
children:
Compute: {}
vars: {ansible_ssh_user: heat-admin}
oslo_messaging_rpc:
children:
CellController: {}
vars: {ansible_ssh_user: heat-admin}
nova_vnc_proxy:
children:
CellController: {}
vars: {ansible_ssh_user: heat-admin}
nova_metadata:
children:
CellController: {}
vars: {ansible_ssh_user: heat-admin}
mysql_client:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
nova_migration_target:
children:
Compute: {}
vars: {ansible_ssh_user: heat-admin}
podman:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
tripleo_packages:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
nova_conductor:
children:
CellController: {}
vars: {ansible_ssh_user: heat-admin}
nova_compute:
children:
Compute: {}
vars: {ansible_ssh_user: heat-admin}
logrotate_crond:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
haproxy:
children:
CellController: {}
vars: {ansible_ssh_user: heat-admin}
sshd:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
ovn_metadata:
children:
Compute: {}
vars: {ansible_ssh_user: heat-admin}
tuned:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
chrony:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
ca_certs:
children:
CellController: {}
Compute: {}
vars: {ansible_ssh_user: heat-admin}
ovn_controller:
children:
Compute: {}
vars: {ansible_ssh_user: heat-admin}

+ 970
- 0
tripleo_common/tests/inventory_data/merged_dynamic.json View File

@@ -0,0 +1,970 @@
{
"CellController": {
"children": [
"cell1_CellController"
]
},
"Compute": {
"children": [
"cell1_Compute",
"overcloud_Compute"
]
},
"Controller": {
"children": [
"overcloud_Controller"
]
},
"Undercloud": {
"hosts": [
"undercloud"
],
"vars": {
"ansible_connection": "local",
"ansible_host": "localhost",
"ansible_python_interpreter": "/usr/bin/python2",
"ansible_remote_tmp": "/tmp/ansible-${USER}",
"auth_url": "https://192.168.24.2:13000",
"cacert": "/etc/pki/ca-trust/source/anchors/cm-local-ca.pem",
"os_auth_token": "gAAAAABedRLI4L-0UK1i3r0lkHVPFeGE2FB40mk7tjWw_US3nwQvzZlwKPM_uCq1wYeBqkCLwiXW61BrZswCi9M3mI-6HeniTi9qV7nXUyLHrWw1Kh5woAEGPyjmdiMiTh_P0WFKobYqXdP0oFwcN_LWr-mnYE1YWluvX4qKeUEeIOXHVj8OtMg",
"overcloud_admin_password": "9RDyelRD5PT5Jk6q4efjYG6Es",
"overcloud_horizon_url": "https://10.0.0.5:443/dashboard",
"overcloud_keystone_url": "https://10.0.0.5:13000",
"plan": "",
"plans": [
"cell1",
"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"
],
"undercloud_swift_url": "https://192.168.24.2:13808/v1/AUTH_b0d47705b94c486889fd2b26ce343763",
"username": "admin"
}
},
"_meta": {
"hostvars": {
"cell1-cellcontrol-0": {
"ansible_host": "192.168.24.29",
"canonical_hostname": "cell1-cellcontrol-0.localdomain",
"ctlplane_hostname": "cell1-cellcontrol-0.ctlplane.localdomain",
"ctlplane_ip": "192.168.24.29",
"deploy_server_id": "2a668e02-96b3-48a5-9cf2-7bde46830e23",
"external_hostname": "cell1-cellcontrol-0.external.localdomain",
"external_ip": "10.0.0.38",
"internal_api_hostname": "cell1-cellcontrol-0.internalapi.localdomain",
"internal_api_ip": "172.16.2.119",
"management_ip": "192.168.24.29",
"storage_hostname": "cell1-cellcontrol-0.storage.localdomain",
"storage_ip": "172.16.1.167",
"storage_mgmt_hostname": "cell1-cellcontrol-0.storagemgmt.localdomain",
"storage_mgmt_ip": "172.16.3.183",
"tenant_hostname": "cell1-cellcontrol-0.tenant.localdomain",
"tenant_ip": "172.16.0.125"
},
"cell1-compute-0": {
"ansible_host": "192.168.24.10",
"canonical_hostname": "cell1-compute-0.localdomain",
"ctlplane_hostname": "cell1-compute-0.ctlplane.localdomain",
"ctlplane_ip": "192.168.24.10",
"deploy_server_id": "5b31842e-1118-4961-95cf-47d7a326e839",
"external_ip": "192.168.24.10",
"internal_api_hostname": "cell1-compute-0.internalapi.localdomain",
"internal_api_ip": "172.16.2.18",
"management_ip": "192.168.24.10",
"storage_hostname": "cell1-compute-0.storage.localdomain",
"storage_ip": "172.16.1.218",
"storage_mgmt_ip": "192.168.24.10",
"tenant_hostname": "cell1-compute-0.tenant.localdomain",
"tenant_ip": "172.16.0.27"
},
"overcloud-controller-0": {
"ansible_host": "192.168.24.12",
"canonical_hostname": "overcloud-controller-0.localdomain",
"ctlplane_hostname": "overcloud-controller-0.ctlplane.localdomain",
"ctlplane_ip": "192.168.24.12",
"deploy_server_id": "6c1befea-4173-49bd-9507-631cc33f44a2",
"external_hostname": "overcloud-controller-0.external.localdomain",
"external_ip": "10.0.0.10",
"internal_api_hostname": "overcloud-controller-0.internalapi.localdomain",
"internal_api_ip": "172.16.2.199",
"management_ip": "192.168.24.12",
"storage_hostname": "overcloud-controller-0.storage.localdomain",
"storage_ip": "172.16.1.13",
"storage_mgmt_hostname": "overcloud-controller-0.storagemgmt.localdomain",
"storage_mgmt_ip": "172.16.3.89",
"tenant_hostname": "overcloud-controller-0.tenant.localdomain",
"tenant_ip": "172.16.0.167"
},
"overcloud-novacompute-0": {
"ansible_host": "192.168.24.13",
"canonical_hostname": "overcloud-novacompute-0.localdomain",
"ctlplane_hostname": "overcloud-novacompute-0.ctlplane.localdomain",
"ctlplane_ip": "192.168.24.13",
"deploy_server_id": "c5c20c87-60f8-4dc9-a0e8-1f185c4b8a8c",
"external_ip": "192.168.24.13",
"internal_api_hostname": "overcloud-novacompute-0.internalapi.localdomain",
"internal_api_ip": "172.16.2.241",
"management_ip": "192.168.24.13",
"storage_hostname": "overcloud-novacompute-0.storage.localdomain",
"storage_ip": "172.16.1.235",
"storage_mgmt_ip": "192.168.24.13",
"tenant_hostname": "overcloud-novacompute-0.tenant.localdomain",
"tenant_ip": "172.16.0.242"
}
}
},
"allovercloud": {
"children": [
"cell1_allovercloud",
"overcloud_allovercloud"
]
},
"boot_params_service": {
"children": [
"cell1_boot_params_service",
"overcloud_boot_params_service"
]
},
"ca_certs": {
"children": [
"cell1_ca_certs",
"overcloud_ca_certs"
]
},
"cell1": {
"children": [
"cell1_allovercloud"
]
},
"cell1_CellController": {
"hosts": [
"cell1-cellcontrol-0"
],
"vars": {
"ansible_ssh_user": "heat-admin",
"bootstrap_server_id": "2a668e02-96b3-48a5-9cf2-7bde46830e23",
"serial": "1",
"tripleo_role_name": "CellController",
"tripleo_role_networks": [
"ctlplane",
"external",
"internal_api",
"management",
"storage",
"storage_mgmt",
"tenant"
]
}
},
"cell1_Compute": {
"hosts": [
"cell1-compute-0"
],
"vars": {
"ansible_ssh_user": "heat-admin",
"bootstrap_server_id": "2a668e02-96b3-48a5-9cf2-7bde46830e23",
"serial": "1",
"tripleo_role_name": "Compute",
"tripleo_role_networks": [
"ctlplane",
"external",
"internal_api",
"management",
"storage",
"storage_mgmt",
"tenant"
]
}
},
"cell1_allovercloud": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_boot_params_service": {
"children": [
"cell1_Compute"
]
},
"cell1_ca_certs": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_cell1": {
"children": [
"cell1_allovercloud"
]
},
"cell1_certmonger_user": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_chrony": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_container_image_prepare": {
"children": [
"cell1_CellController"
]
},
"cell1_haproxy": {
"children": [
"cell1_CellController"
]
},
"cell1_iscsid": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_keepalived": {
"children": [
"cell1_CellController"
]
},
"cell1_kernel": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_logrotate_crond": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_mysql": {
"children": [
"cell1_CellController"
]
},
"cell1_mysql_client": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_nova_compute": {
"children": [
"cell1_Compute"
]
},
"cell1_nova_conductor": {
"children": [
"cell1_CellController"
]
},
"cell1_nova_libvirt": {
"children": [
"cell1_Compute"
]
},
"cell1_nova_libvirt_guests": {
"children": [
"cell1_Compute"
]
},
"cell1_nova_metadata": {
"children": [
"cell1_CellController"
]
},
"cell1_nova_migration_target": {
"children": [
"cell1_Compute"
]
},
"cell1_nova_vnc_proxy": {
"children": [
"cell1_CellController"
]
},
"cell1_oslo_messaging_rpc": {
"children": [
"cell1_CellController"
]
},
"cell1_overcloud": {
"children": [
"cell1_allovercloud"
]
},
"cell1_ovn_controller": {
"children": [
"cell1_Compute"
]
},
"cell1_ovn_metadata": {
"children": [
"cell1_Compute"
]
},
"cell1_podman": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_snmp": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_sshd": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_timezone": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_tripleo_firewall": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_tripleo_packages": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"cell1_tuned": {
"children": [
"cell1_CellController",
"cell1_Compute"
]
},
"certmonger_user": {
"children": [
"cell1_certmonger_user",
"overcloud_certmonger_user"
]
},
"chrony": {
"children": [
"cell1_chrony",
"overcloud_chrony"
]
},
"cinder_api": {
"children": [
"overcloud_cinder_api"
]
},
"cinder_scheduler": {
"children": [
"overcloud_cinder_scheduler"
]
},
"cinder_volume": {
"children": [
"overcloud_cinder_volume"
]
},
"container_image_prepare": {
"children": [
"cell1_container_image_prepare",
"overcloud_container_image_prepare"
]
},
"glance_api": {
"children": [
"overcloud_glance_api"
]
},
"haproxy": {
"children": [
"cell1_haproxy",
"overcloud_haproxy"
]
},
"heat_api": {
"children": [
"overcloud_heat_api"
]
},
"heat_api_cfn": {
"children": [
"overcloud_heat_api_cfn"
]
},
"heat_api_cloudwatch_disabled": {
"children": [
"overcloud_heat_api_cloudwatch_disabled"
]
},
"heat_engine": {
"children": [
"overcloud_heat_engine"
]
},
"horizon": {
"children": [
"overcloud_horizon"
]
},
"iscsid": {
"children": [
"cell1_iscsid",
"overcloud_iscsid"
]
},
"keepalived": {
"children": [
"cell1_keepalived",
"overcloud_keepalived"
]
},
"kernel": {
"children": [
"cell1_kernel",
"overcloud_kernel"
]
},
"keystone": {
"children": [
"overcloud_keystone"
]
},
"keystone_admin_api": {
"children": [
"overcloud_keystone_admin_api"
]
},
"keystone_public_api": {
"children": [
"overcloud_keystone_public_api"
]
},
"logrotate_crond": {
"children": [
"cell1_logrotate_crond",
"overcloud_logrotate_crond"
]
},
"memcached": {
"children": [
"overcloud_memcached"
]
},
"mysql": {
"children": [
"cell1_mysql",
"overcloud_mysql"
]
},
"mysql_client": {
"children": [
"cell1_mysql_client",
"overcloud_mysql_client"
]
},
"neutron_api": {
"children": [
"overcloud_neutron_api"
]
},
"neutron_plugin_ml2_ovn": {
"children": [
"overcloud_neutron_plugin_ml2_ovn"
]
},
"nova_api": {
"children": [
"overcloud_nova_api"
]
},
"nova_compute": {
"children": [
"cell1_nova_compute",
"overcloud_nova_compute"
]
},
"nova_conductor": {
"children": [
"cell1_nova_conductor",
"overcloud_nova_conductor"
]
},
"nova_libvirt": {
"children": [
"cell1_nova_libvirt",
"overcloud_nova_libvirt"
]
},
"nova_libvirt_guests": {
"children": [
"cell1_nova_libvirt_guests",
"overcloud_nova_libvirt_guests"
]
},
"nova_metadata": {
"children": [
"cell1_nova_metadata",
"overcloud_nova_metadata"
]
},
"nova_migration_target": {
"children": [
"cell1_nova_migration_target",
"overcloud_nova_migration_target"
]
},
"nova_scheduler": {
"children": [
"overcloud_nova_scheduler"
]
},
"nova_vnc_proxy": {
"children": [
"cell1_nova_vnc_proxy",
"overcloud_nova_vnc_proxy"
]
},
"oslo_messaging_notify": {
"children": [
"overcloud_oslo_messaging_notify"
]
},
"oslo_messaging_rpc": {
"children": [
"cell1_oslo_messaging_rpc",
"overcloud_oslo_messaging_rpc"
]
},
"overcloud": {
"children": [
"overcloud_allovercloud"
]
},
"overcloud_Compute": {
"hosts": [
"overcloud-novacompute-0"
],
"vars": {
"ansible_ssh_user": "heat-admin",
"bootstrap_server_id": "6c1befea-4173-49bd-9507-631cc33f44a2",
"serial": "1",
"tripleo_role_name": "Compute",
"tripleo_role_networks": [
"ctlplane",
"external",
"internal_api",
"management",
"storage",
"storage_mgmt",
"tenant"
]
}
},
"overcloud_Controller": {
"hosts": [
"overcloud-controller-0"
],
"vars": {
"ansible_ssh_user": "heat-admin",
"bootstrap_server_id": "6c1befea-4173-49bd-9507-631cc33f44a2",
"serial": "1",
"tripleo_role_name": "Controller",
"tripleo_role_networks": [
"ctlplane",
"external",
"internal_api",
"management",
"storage",
"storage_mgmt",
"tenant"
]
}
},
"overcloud_allovercloud": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_boot_params_service": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_ca_certs": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_certmonger_user": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_chrony": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_cinder_api": {
"children": [
"overcloud_Controller"
]
},
"overcloud_cinder_scheduler": {
"children": [
"overcloud_Controller"
]
},
"overcloud_cinder_volume": {
"children": [
"overcloud_Controller"
]
},
"overcloud_container_image_prepare": {
"children": [
"overcloud_Controller"
]
},
"overcloud_glance_api": {
"children": [
"overcloud_Controller"
]
},
"overcloud_haproxy": {
"children": [
"overcloud_Controller"
]
},
"overcloud_heat_api": {
"children": [
"overcloud_Controller"
]
},
"overcloud_heat_api_cfn": {
"children": [
"overcloud_Controller"
]
},
"overcloud_heat_api_cloudwatch_disabled": {
"children": [
"overcloud_Controller"
]
},
"overcloud_heat_engine": {
"children": [
"overcloud_Controller"
]
},
"overcloud_horizon": {
"children": [
"overcloud_Controller"
]
},
"overcloud_iscsid": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_keepalived": {
"children": [
"overcloud_Controller"
]
},
"overcloud_kernel": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_keystone": {
"children": [
"overcloud_Controller"
]
},
"overcloud_keystone_admin_api": {
"children": [
"overcloud_Controller"
]
},
"overcloud_keystone_public_api": {
"children": [
"overcloud_Controller"
]
},
"overcloud_logrotate_crond": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_memcached": {
"children": [
"overcloud_Controller"
]
},
"overcloud_mysql": {
"children": [
"overcloud_Controller"
]
},
"overcloud_mysql_client": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_neutron_api": {
"children": [
"overcloud_Controller"
]
},
"overcloud_neutron_plugin_ml2_ovn": {
"children": [
"overcloud_Controller"
]
},
"overcloud_nova_api": {
"children": [
"overcloud_Controller"
]
},
"overcloud_nova_compute": {
"children": [
"overcloud_Compute"
]
},
"overcloud_nova_conductor": {
"children": [
"overcloud_Controller"
]
},
"overcloud_nova_libvirt": {
"children": [
"overcloud_Compute"
]
},
"overcloud_nova_libvirt_guests": {
"children": [
"overcloud_Compute"
]
},
"overcloud_nova_metadata": {
"children": [
"overcloud_Controller"
]
},
"overcloud_nova_migration_target": {
"children": [
"overcloud_Compute"
]
},
"overcloud_nova_scheduler": {
"children": [
"overcloud_Controller"
]
},
"overcloud_nova_vnc_proxy": {
"children": [
"overcloud_Controller"
]
},
"overcloud_oslo_messaging_notify": {
"children": [
"overcloud_Controller"
]
},
"overcloud_oslo_messaging_rpc": {
"children": [
"overcloud_Controller"
]
},
"overcloud_overcloud": {
"children": [
"overcloud_allovercloud"
]
},
"overcloud_ovn_controller": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_ovn_dbs": {
"children": [
"overcloud_Controller"
]
},
"overcloud_ovn_metadata": {
"children": [
"overcloud_Compute"
]
},
"overcloud_placement": {
"children": [
"overcloud_Controller"
]
},
"overcloud_podman": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_snmp": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_sshd": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_swift_proxy": {
"children": [
"overcloud_Controller"
]
},
"overcloud_swift_ringbuilder": {
"children": [
"overcloud_Controller"
]
},
"overcloud_swift_storage": {
"children": [
"overcloud_Controller"
]
},
"overcloud_timezone": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_tripleo_firewall": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_tripleo_packages": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"overcloud_tuned": {
"children": [
"overcloud_Compute",
"overcloud_Controller"
]
},
"ovn_controller": {
"children": [
"cell1_ovn_controller",
"overcloud_ovn_controller"
]
},
"ovn_dbs": {
"children": [
"overcloud_ovn_dbs"
]
},
"ovn_metadata": {
"children": [
"cell1_ovn_metadata",
"overcloud_ovn_metadata"
]
},
"placement": {
"children": [
"overcloud_placement"
]
},
"podman": {
"children": [
"cell1_podman",
"overcloud_podman"
]
},
"snmp": {
"children": [
"cell1_snmp",
"overcloud_snmp"
]
},
"sshd": {
"children": [
"cell1_sshd",
"overcloud_sshd"
]
},
"swift_proxy": {
"children": [
"overcloud_swift_proxy"
]
},
"swift_ringbuilder": {
"children": [
"overcloud_swift_ringbuilder"
]
},
"swift_storage": {
"children": [
"overcloud_swift_storage"
]
},
"timezone": {
"children": [
"cell1_timezone",
"overcloud_timezone"
]
},
"tripleo_firewall": {
"children": [
"cell1_tripleo_firewall",
"overcloud_tripleo_firewall"
]
},
"tripleo_packages": {
"children": [
"cell1_tripleo_packages",
"overcloud_tripleo_packages"
]
},
"tuned": {
"children": [
"cell1_tuned",
"overcloud_tuned"
]
}
}

+ 582
- 0
tripleo_common/tests/inventory_data/merged_static.yaml View File

@@ -0,0 +1,582 @@
Undercloud:
hosts:
undercloud: {}
vars:
ansible_connection: local
ansible_host: localhost
ansible_python_interpreter: /usr/bin/python2
ansible_remote_tmp: /tmp/ansible-${USER}
auth_url: https://192.168.24.2:13000
cacert: /etc/pki/ca-trust/source/anchors/cm-local-ca.pem
os_auth_token: gAAAAABedRLI4L-0UK1i3r0lkHVPFeGE2FB40mk7tjWw_US3nwQvzZlwKPM_uCq1wYeBqkCLwiXW61BrZswCi9M3mI-6HeniTi9qV7nXUyLHrWw1Kh5woAEGPyjmdiMiTh_P0WFKobYqXdP0oFwcN_LWr-mnYE1YWluvX4qKeUEeIOXHVj8OtMg
overcloud_admin_password: 9RDyelRD5PT5Jk6q4efjYG6Es
overcloud_horizon_url: https://10.0.0.5:443/dashboard
overcloud_keystone_url: https://10.0.0.5:13000
plan: ''
plans: [cell1, 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]
undercloud_swift_url: https://192.168.24.2:13808/v1/AUTH_b0d47705b94c486889fd2b26ce343763
username: admin
CellController:
children:
cell1_CellController: {}
cell1_CellController:
hosts:
cell1-cellcontrol-0: {ansible_host: 192.168.24.29, canonical_hostname: cell1-cellcontrol-0.localdomain,
ctlplane_hostname: cell1-cellcontrol-0.ctlplane.localdomain, ctlplane_ip: 192.168.24.29,
deploy_server_id: 2a668e02-96b3-48a5-9cf2-7bde46830e23, external_hostname: cell1-cellcontrol-0.external.localdomain,
external_ip: 10.0.0.38, internal_api_hostname: cell1-cellcontrol-0.internalapi.localdomain,
internal_api_ip: 172.16.2.119, management_ip: 192.168.24.29, storage_hostname: cell1-cellcontrol-0.storage.localdomain,
storage_ip: 172.16.1.167, storage_mgmt_hostname: cell1-cellcontrol-0.storagemgmt.localdomain,
storage_mgmt_ip: 172.16.3.183, tenant_hostname: cell1-cellcontrol-0.tenant.localdomain,
tenant_ip: 172.16.0.125}
vars:
ansible_ssh_user: heat-admin
bootstrap_server_id: 2a668e02-96b3-48a5-9cf2-7bde46830e23
serial: '1'
tripleo_role_name: CellController
tripleo_role_networks: [ctlplane, external, internal_api, management, storage,
storage_mgmt, tenant]
Compute:
children:
cell1_Compute: {}
overcloud_Compute: {}
cell1_Compute:
hosts:
cell1-compute-0: {ansible_host: 192.168.24.10, canonical_hostname: cell1-compute-0.localdomain,
ctlplane_hostname: cell1-compute-0.ctlplane.localdomain, ctlplane_ip: 192.168.24.10,
deploy_server_id: 5b31842e-1118-4961-95cf-47d7a326e839, external_ip: 192.168.24.10,
internal_api_hostname: cell1-compute-0.internalapi.localdomain, internal_api_ip: 172.16.2.18,
management_ip: 192.168.24.10, storage_hostname: cell1-compute-0.storage.localdomain,
storage_ip: 172.16.1.218, storage_mgmt_ip: 192.168.24.10, tenant_hostname: cell1-compute-0.tenant.localdomain,
tenant_ip: 172.16.0.27}
vars:
ansible_ssh_user: heat-admin
bootstrap_server_id: 2a668e02-96b3-48a5-9cf2-7bde46830e23
serial: '1'
tripleo_role_name: Compute
tripleo_role_networks: [ctlplane, external, internal_api, management, storage,
storage_mgmt, tenant]
allovercloud:
children:
cell1_allovercloud: {}
overcloud_allovercloud: {}
cell1_allovercloud:
children:
cell1_CellController: {}
cell1_Compute: {}
cell1:
children:
cell1_allovercloud: {}
cell1_cell1:
children:
cell1_allovercloud: {}
cell1_overcloud:
children:
cell1_allovercloud: {}
kernel:
children:
cell1_kernel: {}
overcloud_kernel: {}
cell1_kernel:
children:
cell1_CellController: {}
cell1_Compute: {}
keepalived:
children:
cell1_keepalived: {}
overcloud_keepalived: {}
cell1_keepalived:
children:
cell1_CellController: {}
mysql:
children:
cell1_mysql: {}
overcloud_mysql: {}
cell1_mysql:
children:
cell1_CellController: {}
nova_libvirt:
children:
cell1_nova_libvirt: {}
overcloud_nova_libvirt: {}
cell1_nova_libvirt:
children:
cell1_Compute: {}
container_image_prepare:
children:
cell1_container_image_prepare: {}
overcloud_container_image_prepare: {}
cell1_container_image_prepare:
children:
cell1_CellController: {}
timezone:
children:
cell1_timezone: {}
overcloud_timezone: {}
cell1_timezone:
children:
cell1_CellController: {}
cell1_Compute: {}
iscsid:
children:
cell1_iscsid: {}
overcloud_iscsid: {}
cell1_iscsid:
children:
cell1_CellController: {}
cell1_Compute: {}
nova_libvirt_guests:
children:
cell1_nova_libvirt_guests: {}
overcloud_nova_libvirt_guests: {}
cell1_nova_libvirt_guests:
children:
cell1_Compute: {}
tripleo_firewall:
children:
cell1_tripleo_firewall: {}
overcloud_tripleo_firewall: {}
cell1_tripleo_firewall:
children:
cell1_CellController: {}
cell1_Compute: {}
snmp:
children:
cell1_snmp: {}
overcloud_snmp: {}
cell1_snmp:
children:
cell1_CellController: {}
cell1_Compute: {}
certmonger_user:
children:
cell1_certmonger_user: {}
overcloud_certmonger_user: {}
cell1_certmonger_user:
children:
cell1_CellController: {}
cell1_Compute: {}
boot_params_service:
children:
cell1_boot_params_service: {}
overcloud_boot_params_service: {}
cell1_boot_params_service:
children:
cell1_Compute: {}
oslo_messaging_rpc:
children:
cell1_oslo_messaging_rpc: {}
overcloud_oslo_messaging_rpc: {}
cell1_oslo_messaging_rpc:
children:
cell1_CellController: {}
nova_vnc_proxy:
children:
cell1_nova_vnc_proxy: {}
overcloud_nova_vnc_proxy: {}
cell1_nova_vnc_proxy:
children:
cell1_CellController: {}
nova_metadata:
children:
cell1_nova_metadata: {}
overcloud_nova_metadata: {}
cell1_nova_metadata:
children:
cell1_CellController: {}
mysql_client:
children:
cell1_mysql_client: {}
overcloud_mysql_client: {}
cell1_mysql_client:
children:
cell1_CellController: {}
cell1_Compute: {}
nova_migration_target:
children:
cell1_nova_migration_target: {}
overcloud_nova_migration_target: {}
cell1_nova_migration_target:
children:
cell1_Compute: {}
podman:
children:
cell1_podman: {}
overcloud_podman: {}
cell1_podman:
children:
cell1_CellController: {}
cell1_Compute: {}
tripleo_packages:
children:
cell1_tripleo_packages: {}
overcloud_tripleo_packages: {}
cell1_tripleo_packages:
children:
cell1_CellController: {}
cell1_Compute: {}
nova_conductor:
children:
cell1_nova_conductor: {}
overcloud_nova_conductor: {}
cell1_nova_conductor:
children:
cell1_CellController: {}
nova_compute:
children:
cell1_nova_compute: {}
overcloud_nova_compute: {}
cell1_nova_compute:
children:
cell1_Compute: {}
logrotate_crond:
children:
cell1_logrotate_crond: {}
overcloud_logrotate_crond: {}
cell1_logrotate_crond:
children:
cell1_CellController: {}
cell1_Compute: {}
haproxy:
children:
cell1_haproxy: {}
overcloud_haproxy: {}
cell1_haproxy:
children:
cell1_CellController: {}
sshd:
children:
cell1_sshd: {}
overcloud_sshd: {}
cell1_sshd:
children:
cell1_CellController: {}
cell1_Compute: {}
ovn_metadata:
children:
cell1_ovn_metadata: {}
overcloud_ovn_metadata: {}
cell1_ovn_metadata:
children:
cell1_Compute: {}
tuned:
children:
cell1_tuned: {}
overcloud_tuned: {}
cell1_tuned:
children:
cell1_CellController: {}
cell1_Compute: {}
chrony:
children:
cell1_chrony: {}
overcloud_chrony: {}
cell1_chrony:
children:
cell1_CellController: {}
cell1_Compute: {}
ca_certs:
children:
cell1_ca_certs: {}
overcloud_ca_certs: {}
cell1_ca_certs:
children:
cell1_CellController: {}
cell1_Compute: {}
ovn_controller:
children:
cell1_ovn_controller: {}
overcloud_ovn_controller: {}
cell1_ovn_controller:
children:
cell1_Compute: {}
Controller:
children:
overcloud_Controller: {}
overcloud_Controller:
hosts:
overcloud-controller-0: {ansible_host: 192.168.24.12, canonical_hostname: overcloud-controller-0.localdomain,
ctlplane_hostname: overcloud-controller-0.ctlplane.localdomain, ctlplane_ip: 192.168.24.12,
deploy_server_id: 6c1befea-4173-49bd-9507-631cc33f44a2, external_hostname: overcloud-controller-0.external.localdomain,
external_ip: 10.0.0.10, internal_api_hostname: overcloud-controller-0.internalapi.localdomain,
internal_api_ip: 172.16.2.199, management_ip: 192.168.24.12, storage_hostname: overcloud-controller-0.storage.localdomain,
storage_ip: 172.16.1.13, storage_mgmt_hostname: overcloud-controller-0.storagemgmt.localdomain,
storage_mgmt_ip: 172.16.3.89, tenant_hostname: overcloud-controller-0.tenant.localdomain,
tenant_ip: 172.16.0.167}
vars:
ansible_ssh_user: heat-admin
bootstrap_server_id: 6c1befea-4173-49bd-9507-631cc33f44a2
serial: '1'
tripleo_role_name: Controller
tripleo_role_networks: [ctlplane, external, internal_api, management, storage,
storage_mgmt, tenant]
overcloud_Compute:
hosts:
overcloud-novacompute-0: {ansible_host: 192.168.24.13, canonical_hostname: overcloud-novacompute-0.localdomain,
ctlplane_hostname: overcloud-novacompute-0.ctlplane.localdomain, ctlplane_ip: 192.168.24.13,
deploy_server_id: c5c20c87-60f8-4dc9-a0e8-1f185c4b8a8c, external_ip: 192.168.24.13,
internal_api_hostname: overcloud-novacompute-0.internalapi.localdomain, internal_api_ip: 172.16.2.241,
management_ip: 192.168.24.13, storage_hostname: overcloud-novacompute-0.storage.localdomain,
storage_ip: 172.16.1.235, storage_mgmt_ip: 192.168.24.13, tenant_hostname: overcloud-novacompute-0.tenant.localdomain,
tenant_ip: 172.16.0.242}
vars:
ansible_ssh_user: heat-admin
bootstrap_server_id: 6c1befea-4173-49bd-9507-631cc33f44a2
serial: '1'
tripleo_role_name: Compute
tripleo_role_networks: [ctlplane, external, internal_api, management, storage,
storage_mgmt, tenant]
overcloud_allovercloud:
children:
overcloud_Compute: {}
overcloud_Controller: {}
overcloud:
children:
overcloud_allovercloud: {}
overcloud_overcloud:
children:
overcloud_allovercloud: {}
overcloud_kernel:
children:
overcloud_Compute: {}
overcloud_Controller: {}
overcloud_nova_conductor:
children:
overcloud_Controller: {}
overcloud_snmp:
children:
overcloud_Compute: {}
overcloud_Controller: {}
overcloud_mysql:
children:
overcloud_Controller: {}
cinder_api:
children:
overcloud_cinder_api: {}
overcloud_cinder_api:
children:
overcloud_Controller: {}
swift_proxy:
children:
overcloud_swift_proxy: {}
overcloud_swift_proxy:
children:
overcloud_Controller: {}
swift_ringbuilder:
children:
overcloud_swift_ringbuilder: {}
overcloud_swift_ringbuilder:
children:
overcloud_Controller: {}
heat_api:
children:
overcloud_heat_api: {}
overcloud_heat_api:
children: