Merge "Fix multistack inventory"
This commit is contained in:
commit
8be99f9b2c
|
@ -37,50 +37,79 @@ class TripleoInventories(object):
|
||||||
stack_to_inv_obj_map['edge0'] = TripleoInventory('edge0')
|
stack_to_inv_obj_map['edge0'] = TripleoInventory('edge0')
|
||||||
"""
|
"""
|
||||||
self.stack_to_inv_obj_map = stack_to_inv_obj_map
|
self.stack_to_inv_obj_map = stack_to_inv_obj_map
|
||||||
self.inventory = OrderedDict()
|
|
||||||
|
|
||||||
def merge(self):
|
def _merge(self, dynamic=True):
|
||||||
"""Merge TripleoInventory objects into self.inventory"""
|
"""Merge TripleoInventory objects"""
|
||||||
|
inventory = OrderedDict()
|
||||||
|
if dynamic:
|
||||||
|
inventory['_meta'] = {'hostvars': {}}
|
||||||
for stack, inv_obj in self.stack_to_inv_obj_map.items():
|
for stack, inv_obj in self.stack_to_inv_obj_map.items():
|
||||||
# convert each inventory object into an ordered dict
|
# 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
|
# only want one undercloud, shouldn't matter which
|
||||||
if 'Undercloud' not in self.inventory.keys():
|
if 'Undercloud' not in inventory.keys():
|
||||||
self.inventory['Undercloud'] = inv['Undercloud']
|
inventory['Undercloud'] = inv['Undercloud']
|
||||||
self.inventory['Undercloud']['hosts'] = {'undercloud': {}}
|
if dynamic:
|
||||||
|
inventory['Undercloud']['hosts'] = ['undercloud']
|
||||||
|
else:
|
||||||
|
inventory['Undercloud']['hosts'] = {'undercloud': {}}
|
||||||
# add 'plans' to create a list to append to
|
# 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
|
# save the plan for this stack in the plans list
|
||||||
plan = inv['Undercloud']['vars']['plan']
|
plan = inv['Undercloud']['vars']['plan']
|
||||||
self.inventory['Undercloud']['vars']['plans'].append(plan)
|
inventory['Undercloud']['vars']['plans'].append(plan)
|
||||||
|
|
||||||
for key in inv.keys():
|
for key in inv.keys():
|
||||||
if key != 'Undercloud':
|
if key != 'Undercloud':
|
||||||
new_key = stack + '_' + key
|
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():
|
if 'children' in inv[key].keys():
|
||||||
roles = []
|
roles = []
|
||||||
for child in inv[key]['children']:
|
for child in inv[key]['children']:
|
||||||
roles.append(stack + '_' + child)
|
roles.append(stack + '_' + child)
|
||||||
self.inventory[new_key] = {}
|
roles.sort()
|
||||||
self.inventory[new_key]['vars'] = inv[key]['vars']
|
if dynamic:
|
||||||
for role in roles:
|
inventory[new_key] = {
|
||||||
self.inventory[new_key]['children'] = {}
|
'children': roles
|
||||||
self.inventory[new_key]['children'][role] = {}
|
}
|
||||||
if key == 'overcloud':
|
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
|
# 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:
|
else:
|
||||||
if key != '_meta':
|
if key != '_meta':
|
||||||
self.inventory[new_key] = inv[key]
|
inventory[new_key] = inv[key]
|
||||||
self.inventory[new_key]['hosts'] = {}
|
elif dynamic:
|
||||||
self.inventory[new_key]['hosts'] = \
|
inventory['_meta']['hostvars'].update(
|
||||||
inv['_meta']['hostvars']
|
inv['_meta'].get('hostvars', {})
|
||||||
|
)
|
||||||
|
|
||||||
# 'plan' doesn't make sense when using multiple plans
|
# 'plan' doesn't make sense when using multiple plans
|
||||||
self.inventory['Undercloud']['vars']['plan'] = ''
|
inventory['Undercloud']['vars']['plan'] = ''
|
||||||
# sort plans list for consistency
|
# 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):
|
def write_static_inventory(self, inventory_file_path, extra_vars=None):
|
||||||
"""Convert OrderedDict inventory to static yaml format in a file."""
|
"""Convert OrderedDict inventory to static yaml format in a file."""
|
||||||
|
@ -90,13 +119,15 @@ class TripleoInventories(object):
|
||||||
% (inventory_file_path,
|
% (inventory_file_path,
|
||||||
",".join(allowed_extensions)))
|
",".join(allowed_extensions)))
|
||||||
|
|
||||||
|
inventory = self._merge(dynamic=False)
|
||||||
|
|
||||||
if extra_vars:
|
if extra_vars:
|
||||||
for var, value in extra_vars.items():
|
for var, value in extra_vars.items():
|
||||||
if var in self.inventory:
|
if var in inventory:
|
||||||
self.inventory[var]['vars'].update(value)
|
inventory[var]['vars'].update(value)
|
||||||
|
|
||||||
with open(inventory_file_path, 'w') as inventory_file:
|
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):
|
def host(self):
|
||||||
# Dynamic inventory scripts must return empty json if they don't
|
# Dynamic inventory scripts must return empty json if they don't
|
||||||
|
|
|
@ -92,7 +92,6 @@ class TripleoInventory(object):
|
||||||
undercloud_key_file=None, serial=1):
|
undercloud_key_file=None, serial=1):
|
||||||
self.session = session
|
self.session = session
|
||||||
self.hclient = hclient
|
self.hclient = hclient
|
||||||
self.hosts_format_dict = False
|
|
||||||
self.host_network = host_network or HOST_NETWORK
|
self.host_network = host_network or HOST_NETWORK
|
||||||
self.auth_url = auth_url
|
self.auth_url = auth_url
|
||||||
self.cacert = cacert
|
self.cacert = cacert
|
||||||
|
@ -141,9 +140,9 @@ class TripleoInventory(object):
|
||||||
"""
|
"""
|
||||||
return self.UNDERCLOUD_SERVICES
|
return self.UNDERCLOUD_SERVICES
|
||||||
|
|
||||||
def _hosts(self, alist):
|
def _hosts(self, alist, dynamic=True):
|
||||||
"""Static yaml inventories reqire a different hosts format?!"""
|
"""Static yaml inventories reqire a different hosts format?!"""
|
||||||
if self.hosts_format_dict:
|
if not dynamic:
|
||||||
return {x: {} for x in alist}
|
return {x: {} for x in alist}
|
||||||
else:
|
else:
|
||||||
return alist
|
return alist
|
||||||
|
@ -158,10 +157,10 @@ class TripleoInventory(object):
|
||||||
|
|
||||||
return stack
|
return stack
|
||||||
|
|
||||||
def list(self):
|
def list(self, dynamic=True):
|
||||||
ret = OrderedDict({
|
ret = OrderedDict({
|
||||||
'Undercloud': {
|
'Undercloud': {
|
||||||
'hosts': self._hosts(['undercloud']),
|
'hosts': self._hosts(['undercloud'], dynamic),
|
||||||
'vars': {
|
'vars': {
|
||||||
'ansible_host': 'localhost',
|
'ansible_host': 'localhost',
|
||||||
'ansible_python_interpreter': sys.executable,
|
'ansible_python_interpreter': sys.executable,
|
||||||
|
@ -205,7 +204,7 @@ class TripleoInventory(object):
|
||||||
ret['Undercloud']['vars']['overcloud_admin_password'] =\
|
ret['Undercloud']['vars']['overcloud_admin_password'] =\
|
||||||
admin_password
|
admin_password
|
||||||
|
|
||||||
if not self.hosts_format_dict:
|
if dynamic:
|
||||||
# Prevent Ansible from repeatedly calling us to get empty host
|
# Prevent Ansible from repeatedly calling us to get empty host
|
||||||
# details
|
# details
|
||||||
ret['_meta'] = {'hostvars': self.hostvars}
|
ret['_meta'] = {'hostvars': self.hostvars}
|
||||||
|
@ -263,7 +262,7 @@ class TripleoInventory(object):
|
||||||
|
|
||||||
children.append(role)
|
children.append(role)
|
||||||
|
|
||||||
if self.hosts_format_dict:
|
if not dynamic:
|
||||||
hosts_format = hosts
|
hosts_format = hosts
|
||||||
else:
|
else:
|
||||||
hosts_format = [h for h in hosts.keys()]
|
hosts_format = [h for h in hosts.keys()]
|
||||||
|
@ -304,11 +303,20 @@ class TripleoInventory(object):
|
||||||
self.get_overcloud_environment().get(
|
self.get_overcloud_environment().get(
|
||||||
'parameter_defaults', {}).get('ContainerCli')
|
'parameter_defaults', {}).get('ContainerCli')
|
||||||
|
|
||||||
ret['overcloud'] = {
|
ret['allovercloud'] = {
|
||||||
'children': self._hosts(sorted(children)),
|
'children': self._hosts(sorted(children), dynamic),
|
||||||
'vars': overcloud_vars
|
'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
|
# Associate services with roles
|
||||||
roles_by_service = self.get_roles_by_service(
|
roles_by_service = self.get_roles_by_service(
|
||||||
self.stack_outputs.get('EnabledServices', {}))
|
self.stack_outputs.get('EnabledServices', {}))
|
||||||
|
@ -340,7 +348,7 @@ class TripleoInventory(object):
|
||||||
if service_children:
|
if service_children:
|
||||||
svc_host = service.lower()
|
svc_host = service.lower()
|
||||||
ret[svc_host] = {
|
ret[svc_host] = {
|
||||||
'children': self._hosts(service_children),
|
'children': self._hosts(service_children, dynamic),
|
||||||
'vars': {
|
'vars': {
|
||||||
'ansible_ssh_user': self.ansible_ssh_user
|
'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
|
# For some reason the json/yaml format needed for static and
|
||||||
# dynamic inventories is different for the hosts/children?!
|
# dynamic inventories is different for the hosts/children?!
|
||||||
self.hosts_format_dict = True
|
inventory = self.list(dynamic=False)
|
||||||
inventory = self.list()
|
|
||||||
|
|
||||||
if extra_vars:
|
if extra_vars:
|
||||||
for var, value in extra_vars.items():
|
for var, value in extra_vars.items():
|
||||||
|
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -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:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_container_image_prepare:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_timezone:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_iscsid:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_boot_params_service:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
heat_api_cloudwatch_disabled:
|
||||||
|
children:
|
||||||
|
overcloud_heat_api_cloudwatch_disabled: {}
|
||||||
|
overcloud_heat_api_cloudwatch_disabled:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_tripleo_firewall:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
swift_storage:
|
||||||
|
children:
|
||||||
|
overcloud_swift_storage: {}
|
||||||
|
overcloud_swift_storage:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
keystone_admin_api:
|
||||||
|
children:
|
||||||
|
overcloud_keystone_admin_api: {}
|
||||||
|
overcloud_keystone_admin_api:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_keepalived:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_certmonger_user:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_mysql_client:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
glance_api:
|
||||||
|
children:
|
||||||
|
overcloud_glance_api: {}
|
||||||
|
overcloud_glance_api:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
keystone:
|
||||||
|
children:
|
||||||
|
overcloud_keystone: {}
|
||||||
|
overcloud_keystone:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
cinder_volume:
|
||||||
|
children:
|
||||||
|
overcloud_cinder_volume: {}
|
||||||
|
overcloud_cinder_volume:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
ovn_dbs:
|
||||||
|
children:
|
||||||
|
overcloud_ovn_dbs: {}
|
||||||
|
overcloud_ovn_dbs:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
memcached:
|
||||||
|
children:
|
||||||
|
overcloud_memcached: {}
|
||||||
|
overcloud_memcached:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_oslo_messaging_rpc:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_nova_vnc_proxy:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
oslo_messaging_notify:
|
||||||
|
children:
|
||||||
|
overcloud_oslo_messaging_notify: {}
|
||||||
|
overcloud_oslo_messaging_notify:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
keystone_public_api:
|
||||||
|
children:
|
||||||
|
overcloud_keystone_public_api: {}
|
||||||
|
overcloud_keystone_public_api:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
nova_api:
|
||||||
|
children:
|
||||||
|
overcloud_nova_api: {}
|
||||||
|
overcloud_nova_api:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_nova_metadata:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
heat_engine:
|
||||||
|
children:
|
||||||
|
overcloud_heat_engine: {}
|
||||||
|
overcloud_heat_engine:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_nova_migration_target:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_podman:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_tripleo_packages:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
nova_scheduler:
|
||||||
|
children:
|
||||||
|
overcloud_nova_scheduler: {}
|
||||||
|
overcloud_nova_scheduler:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_nova_compute:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_nova_libvirt_guests:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
neutron_plugin_ml2_ovn:
|
||||||
|
children:
|
||||||
|
overcloud_neutron_plugin_ml2_ovn: {}
|
||||||
|
overcloud_neutron_plugin_ml2_ovn:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_logrotate_crond:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_haproxy:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_sshd:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
placement:
|
||||||
|
children:
|
||||||
|
overcloud_placement: {}
|
||||||
|
overcloud_placement:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
cinder_scheduler:
|
||||||
|
children:
|
||||||
|
overcloud_cinder_scheduler: {}
|
||||||
|
overcloud_cinder_scheduler:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_nova_libvirt:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_ovn_metadata:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_tuned:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_chrony:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
horizon:
|
||||||
|
children:
|
||||||
|
overcloud_horizon: {}
|
||||||
|
overcloud_horizon:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
neutron_api:
|
||||||
|
children:
|
||||||
|
overcloud_neutron_api: {}
|
||||||
|
overcloud_neutron_api:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_ca_certs:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
||||||
|
heat_api_cfn:
|
||||||
|
children:
|
||||||
|
overcloud_heat_api_cfn: {}
|
||||||
|
overcloud_heat_api_cfn:
|
||||||
|
children:
|
||||||
|
overcloud_Controller: {}
|
||||||
|
overcloud_ovn_controller:
|
||||||
|
children:
|
||||||
|
overcloud_Compute: {}
|
||||||
|
overcloud_Controller: {}
|
|
@ -0,0 +1,561 @@
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": "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": {
|
||||||
|
"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": [
|
||||||
|
"Compute",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"boot_params_service": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ca_certs": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"certmonger_user": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chrony": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cinder_api": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cinder_scheduler": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cinder_volume": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"container_image_prepare": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"glance_api": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"haproxy": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"heat_api": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"heat_api_cfn": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"heat_api_cloudwatch_disabled": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"heat_engine": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"horizon": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"iscsid": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"keepalived": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"kernel": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"keystone": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"keystone_admin_api": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"keystone_public_api": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"logrotate_crond": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memcached": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mysql": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mysql_client": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neutron_api": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neutron_plugin_ml2_ovn": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nova_api": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nova_compute": {
|
||||||
|
"children": [
|
||||||
|
"Compute"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nova_conductor": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"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": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nova_migration_target": {
|
||||||
|
"children": [
|
||||||
|
"Compute"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nova_scheduler": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nova_vnc_proxy": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oslo_messaging_notify": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oslo_messaging_rpc": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overcloud": {
|
||||||
|
"children": [
|
||||||
|
"allovercloud"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ovn_controller": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ovn_dbs": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ovn_metadata": {
|
||||||
|
"children": [
|
||||||
|
"Compute"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"placement": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"podman": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"snmp": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sshd": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"swift_proxy": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"swift_ringbuilder": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"swift_storage": {
|
||||||
|
"children": [
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"timezone": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tripleo_firewall": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tripleo_packages": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tuned": {
|
||||||
|
"children": [
|
||||||
|
"Compute",
|
||||||
|
"Controller"
|
||||||
|
],
|
||||||
|
"vars": {
|
||||||
|
"ansible_ssh_user": "heat-admin"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,287 @@
|
||||||
|
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: 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
|
||||||
|
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]
|
||||||
|
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]
|
||||||
|
allovercloud:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
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:
|
||||||
|
allovercloud: {}
|
||||||
|
kernel:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_conductor:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
snmp:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
mysql:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
cinder_api:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
swift_proxy:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
swift_ringbuilder:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
heat_api:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
container_image_prepare:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
timezone:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
iscsid:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
boot_params_service:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
heat_api_cloudwatch_disabled:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
tripleo_firewall:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
swift_storage:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
keystone_admin_api:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
keepalived:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
certmonger_user:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
mysql_client:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
glance_api:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
keystone:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
cinder_volume:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
ovn_dbs:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
memcached:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
oslo_messaging_rpc:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_vnc_proxy:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
oslo_messaging_notify:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
keystone_public_api:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_api:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_metadata:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
heat_engine:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_migration_target:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
podman:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
tripleo_packages:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_scheduler:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_compute:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_libvirt_guests:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
neutron_plugin_ml2_ovn:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
logrotate_crond:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
haproxy:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
sshd:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
placement:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
cinder_scheduler:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
nova_libvirt:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
ovn_metadata:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
tuned:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
chrony:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
horizon:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
neutron_api:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
ca_certs:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
heat_api_cfn:
|
||||||
|
children:
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
||||||
|
ovn_controller:
|
||||||
|
children:
|
||||||
|
Compute: {}
|
||||||
|
Controller: {}
|
||||||
|
vars: {ansible_ssh_user: heat-admin}
|
|
@ -21,398 +21,86 @@ from tripleo_common.tests import base
|
||||||
from tripleo_common.inventories import TripleoInventories
|
from tripleo_common.inventories import TripleoInventories
|
||||||
|
|
||||||
|
|
||||||
class TestInventories(base.TestCase):
|
class _TestInventoriesBase(base.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestInventories, self).setUp()
|
super(_TestInventoriesBase, self).setUp()
|
||||||
mock_inv_central = MagicMock()
|
self.read_inventory_data()
|
||||||
mock_inv_edge0 = MagicMock()
|
|
||||||
mock_inv_central.list.return_value = self._mock_inv_central_data()
|
def read_inventory_data(self):
|
||||||
mock_inv_edge0.list.return_value = self._mock_inv_edge0_data()
|
inventory_data = {}
|
||||||
self.stack_to_inv_obj_map = {
|
inventory_dir = os.path.join(
|
||||||
'central': mock_inv_central,
|
os.path.dirname(__file__), 'inventory_data'
|
||||||
'edge0': mock_inv_edge0
|
)
|
||||||
|
for datafile in (
|
||||||
|
'cell1_dynamic.json',
|
||||||
|
'cell1_static.yaml',
|
||||||
|
'overcloud_dynamic.json',
|
||||||
|
'overcloud_static.yaml',
|
||||||
|
'merged_dynamic.json',
|
||||||
|
'merged_static.yaml'
|
||||||
|
):
|
||||||
|
name = os.path.basename(datafile).split('.')[0]
|
||||||
|
path = os.path.join(inventory_dir, datafile)
|
||||||
|
with open(path, 'r') as data:
|
||||||
|
inventory_data[name] = yaml.safe_load(data)
|
||||||
|
self.inventory_data = inventory_data
|
||||||
|
|
||||||
|
|
||||||
|
class TestInventoriesStatic(_TestInventoriesBase):
|
||||||
|
def setUp(self):
|
||||||
|
super(TestInventoriesStatic, self).setUp()
|
||||||
|
mock_inv_overcloud = MagicMock()
|
||||||
|
mock_inv_cell1 = MagicMock()
|
||||||
|
mock_inv_overcloud.list.return_value = self.inventory_data[
|
||||||
|
'overcloud_static'
|
||||||
|
]
|
||||||
|
mock_inv_cell1.list.return_value = self.inventory_data[
|
||||||
|
'cell1_static'
|
||||||
|
]
|
||||||
|
stack_to_inv_obj_map = {
|
||||||
|
'overcloud': mock_inv_overcloud,
|
||||||
|
'cell1': mock_inv_cell1
|
||||||
}
|
}
|
||||||
self.inventories = TripleoInventories(self.stack_to_inv_obj_map)
|
self.inventories = TripleoInventories(stack_to_inv_obj_map)
|
||||||
|
|
||||||
def test_merge(self):
|
def test_merge(self):
|
||||||
self.inventories.merge()
|
actual = dict(self.inventories._merge(dynamic=False))
|
||||||
expected = self._mock_inv_merged_data()
|
expected = self.inventory_data['merged_static']
|
||||||
for k in expected.keys():
|
self.assertEqual(expected, actual)
|
||||||
self.assertEqual(expected[k], self.inventories.inventory[k])
|
|
||||||
|
|
||||||
def test_inventory_write_static(self):
|
def test_inventory_write_static(self):
|
||||||
self.inventories.merge()
|
|
||||||
tmp_dir = self.useFixture(fixtures.TempDir()).path
|
tmp_dir = self.useFixture(fixtures.TempDir()).path
|
||||||
inv_path = os.path.join(tmp_dir, "inventory.yaml")
|
inv_path = os.path.join(tmp_dir, "inventory.yaml")
|
||||||
self.inventories.write_static_inventory(inv_path)
|
self.inventories.write_static_inventory(inv_path)
|
||||||
expected = self._mock_inv_merged_data()
|
expected = self.inventory_data['merged_static']
|
||||||
with open(inv_path, 'r') as f:
|
with open(inv_path, 'r') as f:
|
||||||
loaded_inv = yaml.safe_load(f)
|
loaded_inv = yaml.safe_load(f)
|
||||||
self.assertEqual(expected, loaded_inv)
|
self.assertEqual(expected, loaded_inv)
|
||||||
|
|
||||||
def _mock_inv_central_data(self):
|
|
||||||
return {
|
|
||||||
"Undercloud": {
|
|
||||||
"hosts": [
|
|
||||||
"undercloud"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"username": "admin",
|
|
||||||
"overcloud_keystone_url": "http://192.168.24.21:5000",
|
|
||||||
"project_name": "admin",
|
|
||||||
"overcloud_horizon_url": "http://192.168.24.21/dashboard",
|
|
||||||
"auth_url": "https://192.168.24.2:13000",
|
|
||||||
"ansible_connection": "local",
|
|
||||||
"cacert": "/etc/pki/ca-trust/cm-local-ca.pem",
|
|
||||||
"ansible_host": "localhost",
|
|
||||||
"ansible_remote_tmp": "/tmp/ansible-${USER}",
|
|
||||||
"undercloud_service_list": [
|
|
||||||
"tripleo_nova_compute",
|
|
||||||
"tripleo_heat_engine",
|
|
||||||
"tripleo_ironic_conductor",
|
|
||||||
"tripleo_swift_container_server",
|
|
||||||
"tripleo_swift_object_server",
|
|
||||||
"tripleo_mistral_engine"
|
|
||||||
],
|
|
||||||
"ansible_python_interpreter": "/usr/bin/python",
|
|
||||||
"overcloud_admin_password": "7uCCDn4lIKQ4i7ONsPdgX1KbC",
|
|
||||||
"plan": "central"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Controller": {
|
|
||||||
"hosts": [
|
|
||||||
"central-controller-0"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"tripleo_role_name": "Controller",
|
|
||||||
"tripleo_role_networks": [
|
|
||||||
"management",
|
|
||||||
"storage",
|
|
||||||
"ctlplane",
|
|
||||||
"external",
|
|
||||||
"internal_api",
|
|
||||||
"storage_mgmt",
|
|
||||||
"tenant"
|
|
||||||
],
|
|
||||||
"serial": "1",
|
|
||||||
"ansible_ssh_user": "heat-admin",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"overcloud": {
|
|
||||||
"children": [
|
|
||||||
"Controller"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"storage_mgmt_vip": "192.168.24.21",
|
|
||||||
"container_cli": "podman",
|
|
||||||
"ctlplane_vip": "192.168.24.21",
|
|
||||||
"redis_vip": "192.168.24.11",
|
|
||||||
"internal_api_vip": "192.168.24.21",
|
|
||||||
"external_vip": "192.168.24.21",
|
|
||||||
"storage_vip": "192.168.24.21"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"kernel": {
|
|
||||||
"children": [
|
|
||||||
"Controller"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"ansible_ssh_user": "heat-admin"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ovn_controller": {
|
|
||||||
"children": [
|
|
||||||
"Controller"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"ansible_ssh_user": "heat-admin"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"_meta": {
|
|
||||||
"hostvars": {
|
|
||||||
"central-controller-0": {
|
|
||||||
"storage_ip": "192.168.24.12",
|
|
||||||
"storage_mgmt_ip": "192.168.24.12",
|
|
||||||
"external_ip": "192.168.24.12",
|
|
||||||
"ctlplane_ip": "192.168.24.12",
|
|
||||||
"tenant_ip": "192.168.24.12",
|
|
||||||
"internal_api_ip": "192.168.24.12",
|
|
||||||
"management_ip": "192.168.24.12",
|
|
||||||
"ansible_host": "192.168.24.12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def _mock_inv_edge0_data(self):
|
class TestInventoriesDynamic(_TestInventoriesBase):
|
||||||
return {
|
def setUp(self):
|
||||||
"Undercloud": {
|
super(TestInventoriesDynamic, self).setUp()
|
||||||
"hosts": [
|
mock_inv_overcloud = MagicMock()
|
||||||
"undercloud"
|
mock_inv_cell1 = MagicMock()
|
||||||
],
|
mock_inv_overcloud.list.return_value = self.inventory_data[
|
||||||
"vars": {
|
'overcloud_dynamic'
|
||||||
"username": "admin",
|
]
|
||||||
"overcloud_keystone_url": "http://192.168.24.21:5000",
|
mock_inv_cell1.list.return_value = self.inventory_data[
|
||||||
"project_name": "admin",
|
'cell1_dynamic'
|
||||||
"overcloud_horizon_url": "http://192.168.24.21/dashboard",
|
]
|
||||||
"auth_url": "https://192.168.24.2:13000",
|
stack_to_inv_obj_map = {
|
||||||
"ansible_connection": "local",
|
'overcloud': mock_inv_overcloud,
|
||||||
"cacert": "/etc/pki/ca-trust/cm-local-ca.pem",
|
'cell1': mock_inv_cell1
|
||||||
"ansible_host": "localhost",
|
|
||||||
"ansible_remote_tmp": "/tmp/ansible-${USER}",
|
|
||||||
"undercloud_service_list": [
|
|
||||||
"tripleo_nova_compute",
|
|
||||||
"tripleo_heat_engine",
|
|
||||||
"tripleo_ironic_conductor",
|
|
||||||
"tripleo_swift_container_server",
|
|
||||||
"tripleo_swift_object_server",
|
|
||||||
"tripleo_mistral_engine"
|
|
||||||
],
|
|
||||||
"ansible_python_interpreter": "/usr/bin/python",
|
|
||||||
"overcloud_admin_password": "7uCCDn4lIKQ4i7ONsPdgX1KbC",
|
|
||||||
"plan": "edge0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"DistributedComputeHCI": {
|
|
||||||
"hosts": [
|
|
||||||
"edge0-distributedcomputehci-0"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"tripleo_role_name": "DistributedComputeHCI",
|
|
||||||
"tripleo_role_networks": [
|
|
||||||
"management",
|
|
||||||
"storage",
|
|
||||||
"ctlplane",
|
|
||||||
"external",
|
|
||||||
"internal_api",
|
|
||||||
"storage_mgmt",
|
|
||||||
"tenant"
|
|
||||||
],
|
|
||||||
"serial": "1",
|
|
||||||
"ansible_ssh_user": "heat-admin",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"overcloud": {
|
|
||||||
"children": [
|
|
||||||
"DistributedComputeHCI"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"storage_mgmt_vip": "192.168.24.20",
|
|
||||||
"container_cli": "podman",
|
|
||||||
"ctlplane_vip": "192.168.24.20",
|
|
||||||
"redis_vip": "192.168.24.24",
|
|
||||||
"internal_api_vip": "192.168.24.20",
|
|
||||||
"external_vip": "192.168.24.20",
|
|
||||||
"storage_vip": "192.168.24.20"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"kernel": {
|
|
||||||
"children": [
|
|
||||||
"DistributedComputeHCI"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"ansible_ssh_user": "heat-admin"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ovn_controller": {
|
|
||||||
"children": [
|
|
||||||
"DistributedComputeHCI"
|
|
||||||
],
|
|
||||||
"vars": {
|
|
||||||
"ansible_ssh_user": "heat-admin"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"_meta": {
|
|
||||||
"hostvars": {
|
|
||||||
"edge0-distributedcomputehci-0": {
|
|
||||||
"storage_ip": "192.168.24.13",
|
|
||||||
"storage_mgmt_ip": "192.168.24.13",
|
|
||||||
"external_ip": "192.168.24.13",
|
|
||||||
"ctlplane_ip": "192.168.24.13",
|
|
||||||
"tenant_ip": "192.168.24.13",
|
|
||||||
"internal_api_ip": "192.168.24.13",
|
|
||||||
"management_ip": "192.168.24.13",
|
|
||||||
"ansible_host": "192.168.24.13"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
self.inventories = TripleoInventories(stack_to_inv_obj_map)
|
||||||
|
|
||||||
def _mock_inv_merged_data(self):
|
def test_merge(self):
|
||||||
return {
|
actual = dict(self.inventories._merge())
|
||||||
"Undercloud": {
|
expected = self.inventory_data['merged_dynamic']
|
||||||
"hosts": {
|
self.assertEqual(expected, actual)
|
||||||
"undercloud": {}
|
|
||||||
},
|
def test_list(self):
|
||||||
"vars": {
|
actual = self.inventories.list()
|
||||||
"username": "admin",
|
expected = self.inventory_data['merged_dynamic']
|
||||||
"overcloud_keystone_url": "http://192.168.24.21:5000",
|
self.assertEqual(expected, actual)
|
||||||
"project_name": "admin",
|
|
||||||
"overcloud_horizon_url": "http://192.168.24.21/dashboard",
|
|
||||||
"auth_url": "https://192.168.24.2:13000",
|
|
||||||
"ansible_connection": "local",
|
|
||||||
"cacert": "/etc/pki/ca-trust/cm-local-ca.pem",
|
|
||||||
"ansible_host": "localhost",
|
|
||||||
"ansible_remote_tmp": "/tmp/ansible-${USER}",
|
|
||||||
"undercloud_service_list": [
|
|
||||||
"tripleo_nova_compute",
|
|
||||||
"tripleo_heat_engine",
|
|
||||||
"tripleo_ironic_conductor",
|
|
||||||
"tripleo_swift_container_server",
|
|
||||||
"tripleo_swift_object_server",
|
|
||||||
"tripleo_mistral_engine"
|
|
||||||
],
|
|
||||||
"ansible_python_interpreter": "/usr/bin/python",
|
|
||||||
"overcloud_admin_password": "7uCCDn4lIKQ4i7ONsPdgX1KbC",
|
|
||||||
"plan": '',
|
|
||||||
"plans": [
|
|
||||||
"central",
|
|
||||||
"edge0"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"central_Controller": {
|
|
||||||
"hosts": {
|
|
||||||
"central-controller-0": {
|
|
||||||
"storage_ip": "192.168.24.12",
|
|
||||||
"storage_mgmt_ip": "192.168.24.12",
|
|
||||||
"external_ip": "192.168.24.12",
|
|
||||||
"ctlplane_ip": "192.168.24.12",
|
|
||||||
"tenant_ip": "192.168.24.12",
|
|
||||||
"internal_api_ip": "192.168.24.12",
|
|
||||||
"management_ip": "192.168.24.12",
|
|
||||||
"ansible_host": "192.168.24.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vars": {
|
|
||||||
"tripleo_role_name": "Controller",
|
|
||||||
"tripleo_role_networks": [
|
|
||||||
"management",
|
|
||||||
"storage",
|
|
||||||
"ctlplane",
|
|
||||||
"external",
|
|
||||||
"internal_api",
|
|
||||||
"storage_mgmt",
|
|
||||||
"tenant"
|
|
||||||
],
|
|
||||||
"serial": "1",
|
|
||||||
"ansible_ssh_user": "heat-admin",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"central_overcloud": {
|
|
||||||
"vars": {
|
|
||||||
"storage_mgmt_vip": "192.168.24.21",
|
|
||||||
"container_cli": "podman",
|
|
||||||
"ctlplane_vip": "192.168.24.21",
|
|
||||||
"redis_vip": "192.168.24.11",
|
|
||||||
"internal_api_vip": "192.168.24.21",
|
|
||||||
"external_vip": "192.168.24.21",
|
|
||||||
"storage_vip": "192.168.24.21"
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"central_Controller": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"central": {
|
|
||||||
"vars": {
|
|
||||||
"storage_mgmt_vip": "192.168.24.21",
|
|
||||||
"container_cli": "podman",
|
|
||||||
"ctlplane_vip": "192.168.24.21",
|
|
||||||
"redis_vip": "192.168.24.11",
|
|
||||||
"internal_api_vip": "192.168.24.21",
|
|
||||||
"external_vip": "192.168.24.21",
|
|
||||||
"storage_vip": "192.168.24.21"
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"central_Controller": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"central_kernel": {
|
|
||||||
"vars": {
|
|
||||||
"ansible_ssh_user": "heat-admin"
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"central_Controller": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"central_ovn_controller": {
|
|
||||||
"vars": {
|
|
||||||
"ansible_ssh_user": "heat-admin"
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"central_Controller": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"edge0_DistributedComputeHCI": {
|
|
||||||
"hosts": {
|
|
||||||
"edge0-distributedcomputehci-0": {
|
|
||||||
"storage_ip": "192.168.24.13",
|
|
||||||
"storage_mgmt_ip": "192.168.24.13",
|
|
||||||
"external_ip": "192.168.24.13",
|
|
||||||
"ctlplane_ip": "192.168.24.13",
|
|
||||||
"tenant_ip": "192.168.24.13",
|
|
||||||
"internal_api_ip": "192.168.24.13",
|
|
||||||
"management_ip": "192.168.24.13",
|
|
||||||
"ansible_host": "192.168.24.13"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vars": {
|
|
||||||
"tripleo_role_name": "DistributedComputeHCI",
|
|
||||||
"tripleo_role_networks": [
|
|
||||||
"management",
|
|
||||||
"storage",
|
|
||||||
"ctlplane",
|
|
||||||
"external",
|
|
||||||
"internal_api",
|
|
||||||
"storage_mgmt",
|
|
||||||
"tenant"
|
|
||||||
],
|
|
||||||
"serial": "1",
|
|
||||||
"ansible_ssh_user": "heat-admin",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"edge0_overcloud": {
|
|
||||||
"vars": {
|
|
||||||
"storage_mgmt_vip": "192.168.24.20",
|
|
||||||
"container_cli": "podman",
|
|
||||||
"ctlplane_vip": "192.168.24.20",
|
|
||||||
"redis_vip": "192.168.24.24",
|
|
||||||
"internal_api_vip": "192.168.24.20",
|
|
||||||
"external_vip": "192.168.24.20",
|
|
||||||
"storage_vip": "192.168.24.20"
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"edge0_DistributedComputeHCI": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"edge0": {
|
|
||||||
"vars": {
|
|
||||||
"storage_mgmt_vip": "192.168.24.20",
|
|
||||||
"container_cli": "podman",
|
|
||||||
"ctlplane_vip": "192.168.24.20",
|
|
||||||
"redis_vip": "192.168.24.24",
|
|
||||||
"internal_api_vip": "192.168.24.20",
|
|
||||||
"external_vip": "192.168.24.20",
|
|
||||||
"storage_vip": "192.168.24.20"
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"edge0_DistributedComputeHCI": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"edge0_kernel": {
|
|
||||||
"vars": {
|
|
||||||
"ansible_ssh_user": "heat-admin"
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"edge0_DistributedComputeHCI": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"edge0_ovn_controller": {
|
|
||||||
"vars": {
|
|
||||||
"ansible_ssh_user": "heat-admin"
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"edge0_DistributedComputeHCI": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -214,6 +214,9 @@ class TestInventory(base.TestCase):
|
||||||
'tripleo_role_name': 'CustomRole',
|
'tripleo_role_name': 'CustomRole',
|
||||||
'tripleo_role_networks': ['ctlplane']}},
|
'tripleo_role_networks': ['ctlplane']}},
|
||||||
'overcloud': {
|
'overcloud': {
|
||||||
|
'children': ['allovercloud']
|
||||||
|
},
|
||||||
|
'allovercloud': {
|
||||||
'children': ['Compute', 'Controller', 'CustomRole'],
|
'children': ['Compute', 'Controller', 'CustomRole'],
|
||||||
'vars': {
|
'vars': {
|
||||||
'container_cli': 'podman',
|
'container_cli': 'podman',
|
||||||
|
@ -302,6 +305,9 @@ class TestInventory(base.TestCase):
|
||||||
'tripleo_role_name': 'CustomRole',
|
'tripleo_role_name': 'CustomRole',
|
||||||
'tripleo_role_networks': ['ctlplane']}},
|
'tripleo_role_networks': ['ctlplane']}},
|
||||||
'overcloud': {
|
'overcloud': {
|
||||||
|
'children': ['allovercloud']
|
||||||
|
},
|
||||||
|
'allovercloud': {
|
||||||
'children': ['Compute', 'Controller', 'CustomRole'],
|
'children': ['Compute', 'Controller', 'CustomRole'],
|
||||||
'vars': {
|
'vars': {
|
||||||
'container_cli': 'podman',
|
'container_cli': 'podman',
|
||||||
|
@ -433,12 +439,17 @@ class TestInventory(base.TestCase):
|
||||||
'serial': 1,
|
'serial': 1,
|
||||||
'tripleo_role_name': 'CustomRole',
|
'tripleo_role_name': 'CustomRole',
|
||||||
'tripleo_role_networks': ['ctlplane']}},
|
'tripleo_role_networks': ['ctlplane']}},
|
||||||
'overcloud': {'children': {'Compute': {},
|
'overcloud': {
|
||||||
'Controller': {},
|
'children': {
|
||||||
'CustomRole': {}},
|
'allovercloud': {}
|
||||||
'vars': {'container_cli': 'podman',
|
}
|
||||||
'ctlplane_vip': 'x.x.x.4',
|
},
|
||||||
'redis_vip': 'x.x.x.6'}},
|
'allovercloud': {'children': {'Compute': {},
|
||||||
|
'Controller': {},
|
||||||
|
'CustomRole': {}},
|
||||||
|
'vars': {'container_cli': 'podman',
|
||||||
|
'ctlplane_vip': 'x.x.x.4',
|
||||||
|
'redis_vip': 'x.x.x.6'}},
|
||||||
'sa': {'children': {'Controller': {}},
|
'sa': {'children': {'Controller': {}},
|
||||||
'vars': {'ansible_ssh_user': 'heat-admin'}},
|
'vars': {'ansible_ssh_user': 'heat-admin'}},
|
||||||
'sb': {'children': {'Controller': {}},
|
'sb': {'children': {'Controller': {}},
|
||||||
|
|
Loading…
Reference in New Issue