Esempio n. 1
0
def ports_update_eps_config():
    eps_list = [
        eps[i:i + EP_BATCH_MAX] for i in range(0, len(eps), EP_BATCH_MAX)
    ]
    for eps_chunk in eps_list:
        eps_conf = {'size': len(eps_chunk), 'eps': eps_chunk}
        for ip in node_ips:
            logger.info('Sending EP batch to {}-{}'.format(ip, eps_conf))
            rpc = TrnRpc(ip)
            rpc.update_ep(eps_conf)
            del rpc
    eps.clear()
Esempio n. 2
0
def droplet_update_itf_config(node_ip, droplet):
    entrances = []
    ips = droplet.get('spec', {}).get('ip')
    macs = droplet.get('spec', {}).get('mac')

    for idx, ip in enumerate(ips):
        entrance = {'ip': ip, 'mac': macs[idx]}
        entrances.append(entrance)
    itf_conf = {
        'interface': droplet['spec']['itf'],
        'num_entrances': len(ips),
        'entrances': entrances
    }
    logger.info('Sending RPC: {}-{}'.format(node_ip, itf_conf))
    rpc = TrnRpc(node_ip)
    rpc.update_droplet(itf_conf)
    del rpc
Esempio n. 3
0
 def rpc(self):
     return TrnRpc(self.ip, self.mac)
Esempio n. 4
0
 def rpc(self):
     return TrnRpc(self.droplet_ip, self.droplet_mac)
Esempio n. 5
0
def node_unload_transit_xdp(ip, itf_tenant, itf_zgc):
    node_ips.pop(ip, None)
    rpc = TrnRpc(ip)
    rpc.unload_transit_xdp(ip, itf_tenant, itf_zgc)
    del rpc
Esempio n. 6
0
def node_load_transit_xdp(ip, inf_tenant, inf_zgc):
    node_ips[ip] = ip
    logger.info('Sending RPC: {}-{} {}'.format(ip, inf_tenant, inf_zgc))
    rpc = TrnRpc(ip)
    rpc.load_transit_xdp(inf_tenant, inf_zgc, int(activeZgc["port_ibo"]))
    del rpc
Esempio n. 7
0
 def rpc(self):
     return TrnRpc(self.ip)