def on_vif(self, pod, vif): if not self._vif: self._vif = vif.obj_clone() self._vif.active = True b_base.connect(self._vif, self._get_inst(pod), self._cni.CNI_IFNAME, self._cni.CNI_NETNS) if vif.active: self._callback(vif)
def _test_connect(self, m_vif_plug, m_get_ipdb): def get_ipdb(netns=None): return self.ipdbs[netns] m_get_ipdb.side_effect = get_ipdb base.connect(self.vif, self.instance_info, self.ifname, self.netns) m_vif_plug.assert_called_once_with(self.vif, self.instance_info) self.m_c_iface.add_ip.assert_called_once_with('192.168.0.2/24')
def test_connect_server(self, m_vif_plug, m_write_conf, m_report, m_need_l3): m_need_l3.return_value = False self.vif.mode = osv_fields.VIFVHostUserMode.SERVER base.connect(self.vif, self.instance_info, self.ifname, self.netns, m_report, container_id=self.cont_id) m_vif_plug.assert_called_once_with(self.vif, self.instance_info) m_write_conf.assert_called_once_with(self.cont_id, self.ifname, self.port_name, self.vif) m_report.assert_called_once()
def _test_connect(self, m_vif_plug, m_get_ipdb, m_need_l3, report=None): def get_ipdb(netns=None): return self.ipdbs[netns] m_get_ipdb.side_effect = get_ipdb m_need_l3.return_value = True base.connect(self.vif, self.instance_info, self.ifname, self.netns, report) m_vif_plug.assert_called_once_with(self.vif, self.instance_info) self.m_c_iface.add_ip.assert_called_once_with('192.168.0.2/24') if report: report.assert_called_once()
def test_connect_client(self, m_vif_plug, m_check_sock, m_write_conf, m_os_rename, m_report, m_need_l3): m_need_l3.return_value = False self.vif.mode = osv_fields.VIFVHostUserMode.CLIENT m_check_sock.return_value = True base.connect(self.vif, self.instance_info, self.ifname, self.netns, m_report, container_id=self.cont_id) vu_dst_socket = os.path.join(self.vu_mount_point, self.port_name) vu_src_socket = os.path.join(self.vu_ovs_path, self.port_name) m_vif_plug.assert_called_once_with(self.vif, self.instance_info) m_os_rename.assert_called_once_with(vu_src_socket, vu_dst_socket) m_write_conf.assert_called_once_with(self.cont_id, self.ifname, self.port_name, self.vif) m_report.assert_called_once()
def on_vif(self, pod, vif, ifname): """Called once for every vif of a Pod on every event. If it is the first time we see this vif, plug it in. :param pod: dict containing Kubernetes Pod object :param vif: os_vif VIF object :param ifname: string, name of the interfaces inside container """ if ifname not in self._vifs: self._vifs[ifname] = vif _vif = vif.obj_clone() _vif.active = True # set eth0's gateway as default is_default_gateway = (ifname == self._cni.CNI_IFNAME) b_base.connect(_vif, self._get_inst(pod), ifname, self._cni.CNI_NETNS, is_default_gateway=is_default_gateway, container_id=self._cni.CNI_CONTAINERID)