def _generate_rac_install_inventory_host()

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