Exemplo n.º 1
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 2
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 3
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 4
0
    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))
Exemplo n.º 5
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 6
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 7
0
    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))
Exemplo n.º 8
0
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
Exemplo n.º 9
0
    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))
Exemplo n.º 10
0
    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))
Exemplo n.º 11
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 12
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 13
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 14
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 15
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 16
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 17
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 18
0
 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))
Exemplo n.º 19
0
 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))
Exemplo n.º 20
0
Arquivo: rpc.py Projeto: zmn223/mizar
    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))
Exemplo n.º 21
0
 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))
Exemplo n.º 22
0
Arquivo: rpc.py Projeto: zmn223/mizar
 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))
Exemplo n.º 23
0
 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))