in backend/bms_app/services/ansible/wave.py [0:0]
def _generate_rac_install_inventory_host(cls, db_map_dto):
"""Generate inventory for RAC."""
source_db = db_map_dto.db
config = source_db.config
data = {}
for mapping in db_map_dto.mappings:
bms = mapping.bms
rac_config_values = config.rac_config_values
rc_data = next(
(rc for rc in rac_config_values['rac_nodes']
if rc['node_id'] == bms.id)
)
config_data = cls._generate_common_inventory_data(source_db, bms)
config_data.update({
# rac data
'cluster_type': 'RAC',
'rac_node': mapping.rac_node,
'scan_name': rac_config_values['scan_name'],
'scan_port': rac_config_values['scan_port'],
'cluster_name': rac_config_values['cluster_name'],
'cluster_domain': rac_config_values['cluster_domain'],
'public_net': rac_config_values['public_net'],
'private_net': rac_config_values['private_net'],
'scan_ip1': rac_config_values['scan_ip1'],
'dg_name': rac_config_values['dg_name'],
'vip_name': rc_data['vip_name'],
'vip_ip': rc_data['vip_ip'],
})
for param in ('scan_ip2', 'scan_ip3'):
if param in rac_config_values:
config_data[param] = rac_config_values[param]
data[bms.name] = config_data
return data