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 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 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 update_dft(self, dft): jsonconf = {"id": dft.id, "table": dft.table} jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_dft} \'{jsonconf}\'''' logger.info("update_dft: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text))
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 update_chain(self, chain): jsonconf = {"id": chain.id, "tail_ftn": chain.tail} jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_chain} \'{jsonconf}\'''' logger.info("update_chain: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text))
def add_account(account): cmd = '''mysql -u{login_user} -p{login_passwd} -h{host} -e "grant {priv} on {database}.{table_name} to {name}@'{remote_host}' IDENTIFIED BY '{passwd}';"'''.format \ (login_user=account.loginUser, login_passwd=MyCrypto(key).decrypt(account.loginPassword), host=account.host, priv=account.priv, database=account.database, name=account.name, remote_host=account.remoteHost, passwd=MyCrypto(key).decrypt(account.password), table_name=account.tableName) print cmd status, out = run_cmd(cmd) return status
def delete_ftn(self, ftn_id): jsonconf = { "id": ftn_id, } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_delete_ftn} \'{jsonconf}\'''' logger.info("delete_dft: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text))
def get_chain(self, chain_id): jsonconf = { "id": chain_id, } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_get_chain} \'{jsonconf}\'''' logger.info("get_chain: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("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("update_agent_substrate_ep: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("update_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_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_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 load_transit_agent_xdp(self, ep): itf = ep.veth_peer agent_pcap_file = itf + '.pcap' jsonconf = { "xdp_path": self.agent_xdp_path, "pcapfile": agent_pcap_file } 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_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_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 unload_transit_xdp(self, itf_tenant, itf_zgc): jsonconf = { "itf_tenant": itf_tenant, "itf_zgc": itf_zgc, "ibo_port": 0, } if self.benchmark: jsonconf["debug_mode"] = 0 else: jsonconf["debug_mode"] = 1 jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_unload_transit_xdp} {jsonconf} ''' logger.info("unload_transit_xdp: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text))
def update_ftn(self, ftn, ftn_next): ftn_droplet = ftn.droplet ftn_next_droplet = ftn_next.droplet jsonconf = { "id": ftn.id, "ftn_position": ftn.position, "ip": ftn.store.get_obj(KIND.droplet, ftn_droplet).ip, "mac": ftn.store.get_obj(KIND.droplet, ftn_droplet).mac, "next_ip": ftn_next.store.get_obj(KIND.droplet, ftn_next_droplet).ip, "next_mac": ftn_next.store.get_obj(KIND.droplet, ftn_next_droplet).mac } jsonconf = json.dumps(jsonconf) cmd = f'''{self.trn_cli_update_ftn} \'{jsonconf}\'''' logger.info("update_ftn: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("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))
def update_ep(self, ep_conf): jsonconf = json.dumps(ep_conf) 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))
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 update_droplet(self, itf_conf): jsonconf = json.dumps(itf_conf) cmd = f'''{self.trn_cli_update_droplet} \'{jsonconf}\'''' logger.info("update_droplet: {}".format(cmd)) returncode, text = run_cmd(cmd) logger.info("returns {} {}".format(returncode, text))