if (len(sys.argv) < 2): raas_utils.log_service("Please give bgp config file") exit(1) advertise_file = sys.argv[1] #pc_name = pc_config_file.split('/')[-1].split('.')[0] #Assumed customer always gives correct config file advertise_data = do_json.json_read(advertise_file) hypervisor = advertise_data["hypervisor_name"] hypervisor_arg = "hypervisor=" + hypervisor hypervisors_data = hyp_utils.get_hypervisors_data() hypervisor_ip = hyp_utils.get_hyp_ip(hypervisor) vpc_name = advertise_data["vpc_name"] if not raas_utils.client_exists_vpc(vpc_name): raas_utils.log_service("VPC does not exist") exit(1) spine_name = advertise_data["spine_name"] l1_transit_name = advertise_data["l1_transit_name"] if not raas_utils.check_exists("spine", spine_name, vpc_name) or \ not raas_utils.check_exists("l1_transit", l1_transit_name, vpc_name): raas_utils.log_service("Either Node does not exists") exit(1) spine_name_hyp = hyp_utils.get_hyp_spine_name(hypervisor, vpc_name,
cid = hyp_utils.get_client_id() l1_transit_name = connection_data["l1_transit_name"] l1_transit_hypervisor_name = connection_data["l1_transit_hypervisor_name"] l1_transit_id = hyp_utils.get_hyp_l1_transit_name(l1_transit_hypervisor_name,l1_transit_name) l2_transit_name = connection_data["l2_transit_name"] l2_transit_hypervisor_name = connection_data["l2_transit_hypervisor_name"] l2_transit_id = hyp_utils.get_hyp_l2_transit_name(l2_transit_hypervisor_name,l2_transit_name) if (l1_transit_hypervisor_name == l2_transit_hypervisor_name): #connect l1 transit to l2 transit local try: hypervisor_arg = "hypervisor="+l1_transit_hypervisor_name hypervisors_data = hyp_utils.get_hypervisors_data() hypervisor_ip = hyp_utils.get_hyp_ip(l1_transit_hypervisor_name) network=raas_utils.get_new_veth_subnet('l1t_l2t') subnet = network.split('/') l1t_ip = str(ipaddress.ip_address(subnet[0])+1) + '/' + subnet[1] l2t_ip = str(ipaddress.ip_address(subnet[0])+2) + '/' + subnet[1] l1t_ip_arg = " ns1_ip=" + l1t_ip l2t_ip_arg = " ns2_ip=" + l2t_ip veth_1=" ve_ns1_ns2=c" + cid + "ve" + l1_transit_id.split('_')[1] + l2_transit_id.split('_')[1] veth_2=" ve_ns2_ns1=c" + cid + "ve" + l2_transit_id.split('_')[1] + l1_transit_id.split('_')[1] l2_transit_id_arg=" ns2="+l2_transit_id l1_transit_id_arg=" ns1="+l1_transit_id extra_vars = constants.ansible_become_pass + l1t_ip_arg + l2t_ip_arg + \