def run_cli_delete_network_policy_egress(self, conf_list, itf): jsonconf = json.dumps(conf_list) cmd = f'''{self.trn_cli_delete_network_policy_egress} \'{jsonconf}\' -i \'{itf}\'''' logger.info("delete_network_policy_egress: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "delete_network_policy_egress returns {} {}".format(returncode, text))
def update_agent_metadata(self, ep): itf = ep.get_veth_peer() jsonconf = { "ep": { "tunnel_id": ep.get_tunnel_id(), "ip": ep.get_ip(), "eptype": ep.get_eptype(), "mac": ep.get_mac(), "veth": ep.get_veth_name(), "remote_ips": ep.get_remote_ips(), "hosted_iface": ep.droplet_eth }, "net": { "tunnel_id": ep.get_tunnel_id(), "nip": ep.get_nip(), "prefixlen": ep.get_prefix(), "switches_ips": ep.get_bouncers_ips() }, "eth": { "ip": ep.droplet_ip, "mac": ep.droplet_mac, "iface": ep.droplet_eth } } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_agent_metadata} -i \'{itf}\' -j \'{jsonconf}\'''' logger.info("update_agent_metadata: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "update_agent_metadata returns {} {}".format(returncode, text))
def update_ep(self, ep): peer = "" droplet_ip = ep.get_droplet_ip() # Only detail veth info if the droplet is also a host if (droplet_ip and self.ip == droplet_ip): peer = ep.get_veth_peer() jsonconf = { "tunnel_id": ep.get_tunnel_id(), "ip": ep.get_ip(), "eptype": ep.get_eptype(), "mac": ep.get_mac(), "veth": ep.get_veth_name(), "remote_ips": ep.get_remote_ips(), "hosted_iface": peer } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_ep} \'{jsonconf}\'''' logger.info("update_ep: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text)) remote_ports = ep.get_remote_ports() frontend_ports = ep.get_frontend_ports() protocols = ep.get_port_protocols() for i in range(len(remote_ports)): self.update_port(ep.get_tunnel_id(), ep.get_ip(), frontend_ports[i], remote_ports[i], protocols[i])
def unload_transit_agent_xdp(self, ep): itf = ep.veth_peer jsonconf = '\'{}\'' cmd = f'''{self.trn_cli_unload_transit_agent_xdp} -i \'{itf}\' -j {jsonconf} ''' logger.info("unload_transit_agent_xdp: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "unload_transit_agent_xdp returns {} {}".format(returncode, text))
def update_agent_substrate_ep(self, ep, ip, mac): itf = ep.get_veth_peer() jsonconf = self.get_substrate_ep_json(ip, mac) cmd = f'''{self.trn_cli_update_agent_ep} -i \'{itf}\' -j \'{jsonconf}\'''' logger.info("update_agent_substrate_ep: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "update_agent_substrate_ep returns {} {}".format(returncode, text))
def run_cli_update_network_policy_protocol_port_ingress(self, conf_list): jsonconf = json.dumps(conf_list) cmd = f'''{self.trn_cli_update_network_policy_protocol_port_ingress} \'{jsonconf}\'''' logger.info( "update_network_policy_protocol_port_ingress: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("update_network_policy_protocol_port_ingress returns {} {}".format( returncode, text))
def delete_vpc(self, bouncer): jsonconf = { "tunnel_id": bouncer.vni } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_delete_vpc} \'{jsonconf}\'''' logger.info("delete_vpc: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("delete_vpc returns {} {}".format(returncode, text))
def unload_transit_xdp_pipeline_stage(self, stage, obj_file): jsonconf = { "stage": stage } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_unload_pipeline_stage} \'{jsonconf}\' ''' logger.info("unload_transit_xdp_pipeline_stage: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "unload_transit_xdp_pipeline_stage returns {} {}".format(returncode, text))
def delete_substrate_ep(self, ip): jsonconf = { "tunnel_id": "0", "ip": ip, } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_delete_ep} \'{jsonconf}\'''' logger.info("delete_substrate_ep: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "delete_substrate_ep returns {} {}".format(returncode, text))
def delete_net(self, net): jsonconf = { "tunnel_id": net.vni, "nip": net.get_nip(), "prefixlen": net.get_prefixlen() } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_delete_net} \'{jsonconf}\'''' logger.info("delete_net: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("delete_net returns {} {}".format(returncode, text))
def delete_agent_substrate_ep(self, ep, ip): itf = ep.get_veth_peer() jsonconf = { "tunnel_id": "0", "ip": ip, } cmd = f'''{self.trn_cli_delete_agent_ep} -i \'{itf}\' -j \'{jsonconf}\'''' logger.info("delete_agent_substrate_ep: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "delete_agent_substrate_ep returns {} {}".format(returncode, text))
def delete_ep(self, ep): jsonconf = { "tunnel_id": ep.get_tunnel_id(), "ip": ep.get_ip(), } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_delete_ep} \'{jsonconf}\'''' log_string = "delete_ep for a {} {}".format(ep.type, ep.ip) logger.info(log_string) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text))
def delete_network_policy_enforcement_map_ingress(self, endpointEnforced): jsonconf = { "tunnel_id": endpointEnforced.vni, "ip": endpointEnforced.ip, } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_delete_network_policy_enforcement_map_ingress} \'{jsonconf}\'''' logger.info( "delete_network_policy_enforcement_map_ingress: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("delete_network_policy_enforcement_map_ingress returns {} {}".format( returncode, text))
def update_port(self, tunid, ip, port, target_port, protocol): jsonconf = { "tunnel_id": tunid, "ip": ip, "port": port, "target_port": target_port, "protocol": protocol, } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_port} \'{jsonconf}\'''' logger.info("update_port: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text))
def update_network_policy_enforcement_map_egress(self, ep, endpointEnforced): itf = ep.get_veth_peer() jsonconf = { "tunnel_id": endpointEnforced.vni, "ip": endpointEnforced.ip, } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_network_policy_enforcement_map_egress} \'{jsonconf}\' -i \'{itf}\'''' logger.info( "update_network_policy_enforcement_map_egress: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("update_network_policy_enforcement_map_egress returns {} {}".format( returncode, text))
def update_vpc(self, bouncer): if len(bouncer.get_divider_ips()) < 1: logger.info("Bouncer list of dividers, LEN IS ZERO") return jsonconf = { "tunnel_id": bouncer.vni, "routers_ips": bouncer.get_divider_ips() } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_vpc} \'{jsonconf}\'''' logger.info("update_vpc: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("update_vpc returns {} {}".format(returncode, text))
def update_packet_metadata(self, ep): itf = ep.get_veth_peer() jsonconf = { "tunnel_id": ep.get_tunnel_id(), "ip": ep.get_ip(), "pod_label_value": ep.pod_label_value, "namespace_label_value": ep.namespace_label_value, } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_packet_metadata} -i \'{itf}\' -j \'{jsonconf}\'''' logger.info("update_packet_metadata: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "update_packet_metadata returns {} {}".format(returncode, text))
def load_transit_agent_xdp(self, veth_peer): itf = veth_peer agent_pcap_file = itf + '.pcap' jsonconf = { "xdp_path": self.agent_xdp_path, "pcapfile": agent_pcap_file, "xdp_flag": CONSTANTS.XDP_GENERIC } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_load_transit_agent_xdp} -i \'{itf}\' -j \'{jsonconf}\' ''' logger.info("load_transit_agent_xdp: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info( "load_transit_agent_xdp returns {} {}".format(returncode, text))
def update_net(self, net): if len(net.get_bouncers_ips()) < 1: logger.info("net list of bouncers LEN IS ZERO") return jsonconf = { "tunnel_id": net.vni, "nip": net.get_nip(), "prefixlen": net.get_prefixlen(), "switches_ips": net.get_bouncers_ips() } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_net} \'{jsonconf}\'''' logger.info("update_net: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("update_net returns {} {}".format(returncode, text))
def update_substrate_ep(self, ip, mac): jsonconf = self.get_substrate_ep_json(ip, mac) cmd = f'''{self.trn_cli_update_ep} \'{jsonconf}\'''' logger.info("update_substrate_ep: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text))
def run_cli_delete_pod_and_namespace_label_policy(self, conf_list): jsonconf = json.dumps(conf_list) cmd = f'''{self.trn_cli_delete_pod_and_namespace_label_policy} \'{jsonconf}\'''' logger.info("delete_pod_and_namespace_label_policy: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("delete_pod_and_namespace_label_policy returns {} {}".format(returncode, text))