예제 #1
0
    def setUp(self):
        super(TestSriovDriver, self).setUp()
        self.vif = fake._fake_vif(objects.vif.VIFSriov)
        self.vif.physnet = 'physnet2'
        self.pci_info = mock.Mock()
        self.vif.pod_link = 'pod_link'
        self.vif.pod_name = 'pod_1'
        self.pci = mock.Mock()

        self.device_ids = ['pci_dev_1']
        self.device = mock.Mock()
        self.device.device_ids = self.device_ids
        self.device.resource_name = 'intel.com/sriov'

        self.cont_devs = [self.device]
        self.container = mock.Mock()
        self.container.devices = self.cont_devs

        self.pod_containers = [self.container]
        self.pod_resource = mock.Mock()
        self.pod_resource.containers = self.pod_containers
        self.pod_resource.name = 'pod_1'

        self.resources = [self.pod_resource]

        CONF.set_override('physnet_resource_mappings', 'physnet2:sriov',
                          group='sriov')
        self.addCleanup(CONF.clear_override, 'physnet_resource_mappings',
                        group='sriov')
        CONF.set_override('device_plugin_resource_prefix', 'intel.com',
                          group='sriov')
예제 #2
0
 def test_run_add(self, m_k8s_add):
     vif = fake._fake_vif()
     m_k8s_add.return_value = vif
     m_fin = StringIO()
     m_fout = StringIO()
     container_id = 'a4181c680a39'
     env = {
         'CNI_COMMAND': 'ADD',
         'CNI_CONTAINERID': container_id,
         'CNI_ARGS': 'foo=bar',
     }
     self.runner.run(env, m_fin, m_fout)
     self.assertTrue(m_k8s_add.called)
     self.assertEqual('foo=bar', m_k8s_add.call_args[0][0].CNI_ARGS)
     result = jsonutils.loads(m_fout.getvalue())
     self.assertDictEqual(
         {"cniVersion": '0.3.1',
          "dns": {"nameservers": ["192.168.0.1"]},
          "ips": [
              {
                  "version": "4",
                  "gateway": "192.168.0.1",
                  "address": "192.168.0.2/24",
                  "interface": 0,
              }],
          "interfaces": [
              {
                  "name": vif.vif_name,
                  "mac": vif.address,
                  "sandbox": container_id,
              }],
          "routes": []},
         result)
예제 #3
0
    def test_add(self, m_add):
        vif = fake._fake_vif()
        m_add.return_value = vif

        resp = self.test_client.post('/addNetwork', data=self.params_str,
                                     content_type='application/json')

        m_add.assert_called_once_with(mock.ANY)
        self.assertEqual(
            fake._fake_vif_string(vif.obj_to_primitive()).encode(), resp.data)
        self.assertEqual(202, resp.status_code)
예제 #4
0
 def test_run_del(self, m_k8s_delete):
     vif = fake._fake_vif()
     m_k8s_delete.return_value = vif
     m_fin = StringIO()
     m_fout = StringIO()
     env = {
         'CNI_COMMAND': 'DEL',
         'CNI_ARGS': 'foo=bar',
     }
     self.runner.run(env, m_fin, m_fout)
     self.assertTrue(m_k8s_delete.called)
     self.assertEqual('foo=bar', m_k8s_delete.call_args[0][0].CNI_ARGS)
예제 #5
0
 def setUp(self):
     super(TestVHostUserDriver, self).setUp()
     self.vu_mount_point = '/var/run/cni'
     self.vu_ovs_path = '/var/run/openvswitch'
     CONF.set_override('mount_point',
                       self.vu_mount_point,
                       group='vhostuser')
     CONF.set_override('ovs_vhu_path', self.vu_ovs_path, group='vhostuser')
     self.vif = fake._fake_vif(osv_objects.vif.VIFVHostUser)
     self.vif.path = self.vu_mount_point
     self.vif.address = '64:0f:2b:5f:0c:1c'
     self.port_name = vhostuser._get_vhostuser_port_name(self.vif)
     self.cont_id = uuidutils.generate_uuid()
예제 #6
0
 def test_run_add(self, m_k8s_add):
     vif = fake._fake_vif()
     m_k8s_add.return_value = vif
     m_fin = StringIO()
     m_fout = StringIO()
     env = {
         'CNI_COMMAND': 'ADD',
         'CNI_ARGS': 'foo=bar',
     }
     self.runner.run(env, m_fin, m_fout)
     self.assertTrue(m_k8s_add.called)
     self.assertEqual('foo=bar', m_k8s_add.call_args[0][0].CNI_ARGS)
     result = jsonutils.loads(m_fout.getvalue())
     self.assertDictEqual(
         {
             "cniVersion": "0.3.0",
             "dns": {
                 "nameservers": ["192.168.0.1"]
             },
             "ip4": {
                 "gateway": "192.168.0.1",
                 "ip": "192.168.0.2/24"
             }
         }, result)
예제 #7
0
 def setUp(self):
     super(TestNestedMacvlanDriver, self).setUp()
     self.vif = fake._fake_vif(objects.vif.VIFMacvlanNested)
     CONF.set_override('link_iface', 'bridge', group='binding')
     self.addCleanup(CONF.clear_override, 'link_iface', group='binding')
예제 #8
0
 def setUp(self):
     super(TestBridgeDriver, self).setUp()
     self.vif = fake._fake_vif(osv_objects.vif.VIFBridge)
예제 #9
0
 def setUp(self):
     super(TestOpenVSwitchDriver, self).setUp()
     self.vif = fake._fake_vif(osv_objects.vif.VIFOpenVSwitch)
예제 #10
0
 def setUp(self):
     super(TestSriovDriver, self).setUp()
     self.vif = fake._fake_vif(objects.vif.VIFSriov)
     self.vif.physnet = 'test_physnet'
예제 #11
0
 def setUp(self):
     super(TestNestedMacvlanDriver, self).setUp()
     self.vif = fake._fake_vif(objects.vif.VIFMacvlanNested)