Beispiel #1
0
    def test_get_node_id(self):
        fake_port1 = object_utils.get_test_port(self.context,
                                                node_id=123,
                                                address="aa:bb:cc:dd:ee:fe")
        fake_port2 = object_utils.get_test_port(self.context,
                                                node_id=123,
                                                id=42,
                                                address="aa:bb:cc:dd:ee:fb",
                                                uuid='1be26c0b-03f2-4d2e-ae87-'
                                                'c02d7f33c782')

        node_id = self.passthru._get_node_id([fake_port1, fake_port2])
        self.assertEqual(fake_port2.node_id, node_id)
Beispiel #2
0
    def test_get_node_id_exception(self):
        fake_port1 = object_utils.get_test_port(self.context,
                                                node_id=123,
                                                address="aa:bb:cc:dd:ee:fc")
        fake_port2 = object_utils.get_test_port(self.context,
                                                node_id=321,
                                                id=42,
                                                address="aa:bb:cc:dd:ee:fd",
                                                uuid='1be26c0b-03f2-4d2e-ae87-'
                                                'c02d7f33c782')

        self.assertRaises(exception.NodeNotFound, self.passthru._get_node_id,
                          [fake_port1, fake_port2])
    def test_get_node_id(self):
        fake_port1 = object_utils.get_test_port(self.context,
                                                node_id=123,
                                                address="aa:bb:cc:dd:ee:fe")
        fake_port2 = object_utils.get_test_port(self.context,
                                                node_id=123,
                                                id=42,
                                                address="aa:bb:cc:dd:ee:fb",
                                                uuid='1be26c0b-03f2-4d2e-ae87-'
                                                     'c02d7f33c782')

        node_id = self.passthru._get_node_id([fake_port1, fake_port2])
        self.assertEqual(fake_port2.node_id, node_id)
    def test_get_node_id_exception(self):
        fake_port1 = object_utils.get_test_port(self.context,
                                                node_id=123,
                                                address="aa:bb:cc:dd:ee:fc")
        fake_port2 = object_utils.get_test_port(self.context,
                                                node_id=321,
                                                id=42,
                                                address="aa:bb:cc:dd:ee:fd",
                                                uuid='1be26c0b-03f2-4d2e-ae87-'
                                                     'c02d7f33c782')

        self.assertRaises(exception.NodeNotFound,
                          self.passthru._get_node_id,
                          [fake_port1, fake_port2])
 def test_port_notification(self):
     node_uuid = uuidutils.generate_uuid()
     portgroup_uuid = uuidutils.generate_uuid()
     port = obj_utils.get_test_port(self.context,
                                    address='11:22:33:77:88:99',
                                    local_link_connection={'a': 25},
                                    extra={'as': 34},
                                    pxe_enabled=False)
     test_level = fields.NotificationLevel.INFO
     test_status = fields.NotificationStatus.SUCCESS
     notif_utils._emit_api_notification(self.context, port, 'create',
                                        test_level, test_status,
                                        node_uuid=node_uuid,
                                        portgroup_uuid=portgroup_uuid)
     init_kwargs = self.port_notify_mock.call_args[1]
     payload = init_kwargs['payload']
     event_type = init_kwargs['event_type']
     self.assertEqual('port', event_type.object)
     self.assertEqual(port.uuid, payload.uuid)
     self.assertEqual(node_uuid, payload.node_uuid)
     self.assertEqual(portgroup_uuid, payload.portgroup_uuid)
     self.assertEqual('11:22:33:77:88:99', payload.address)
     self.assertEqual({'a': 25}, payload.local_link_connection)
     self.assertEqual({'as': 34}, payload.extra)
     self.assertIs(False, payload.pxe_enabled)
Beispiel #6
0
 def test_port_notification(self):
     node_uuid = uuidutils.generate_uuid()
     portgroup_uuid = uuidutils.generate_uuid()
     port = obj_utils.get_test_port(self.context,
                                    address='11:22:33:77:88:99',
                                    local_link_connection={'a': 25},
                                    extra={'as': 34},
                                    pxe_enabled=False)
     test_level = fields.NotificationLevel.INFO
     test_status = fields.NotificationStatus.SUCCESS
     notif_utils._emit_api_notification(self.context, port, 'create',
                                        test_level, test_status,
                                        node_uuid=node_uuid,
                                        portgroup_uuid=portgroup_uuid)
     init_kwargs = self.port_notify_mock.call_args[1]
     payload = init_kwargs['payload']
     event_type = init_kwargs['event_type']
     self.assertEqual('port', event_type.object)
     self.assertEqual(port.uuid, payload.uuid)
     self.assertEqual(node_uuid, payload.node_uuid)
     self.assertEqual(portgroup_uuid, payload.portgroup_uuid)
     self.assertEqual('11:22:33:77:88:99', payload.address)
     self.assertEqual({'a': 25}, payload.local_link_connection)
     self.assertEqual({'as': 34}, payload.extra)
     self.assertIs(False, payload.pxe_enabled)
Beispiel #7
0
    def test_find_node_by_macs(self, ports_mock, node_id_mock, node_mock):
        ports_mock.return_value = object_utils.get_test_port(self.context)
        node_id_mock.return_value = '1'
        node_mock.return_value = self.node

        macs = ['aa:bb:cc:dd:ee:ff']
        with task_manager.acquire(self.context, self.node['uuid'],
                                  shared=True) as task:
            node = self.passthru._find_node_by_macs(task, macs)
        self.assertEqual(node, node)
    def test_find_node_by_macs(self, ports_mock, node_id_mock, node_mock):
        ports_mock.return_value = object_utils.get_test_port(self.context)
        node_id_mock.return_value = '1'
        node_mock.return_value = self.node

        macs = ['aa:bb:cc:dd:ee:ff']
        with task_manager.acquire(
                self.context, self.node['uuid'], shared=True) as task:
            node = self.passthru._find_node_by_macs(task, macs)
        self.assertEqual(node, node)
Beispiel #9
0
    def test_find_ports_by_macs(self, mock_get_port):
        fake_port = object_utils.get_test_port(self.context)
        mock_get_port.return_value = fake_port

        macs = ['aa:bb:cc:dd:ee:ff']

        with task_manager.acquire(self.context, self.node['uuid'],
                                  shared=True) as task:
            ports = self.passthru._find_ports_by_macs(task, macs)
        self.assertEqual(1, len(ports))
        self.assertEqual(fake_port.uuid, ports[0].uuid)
        self.assertEqual(fake_port.node_id, ports[0].node_id)
 def test_exclude_port_no_id(self):
     # During port creation there may be no 'id' field.
     object_utils.create_test_port(self.context, node_id=self.node.id,
                                   portgroup_id=self.portgroup.id,
                                   physical_network='physnet1')
     port2 = object_utils.get_test_port(self.context,
                                        node_id=self.node.id,
                                        uuid=uuidutils.generate_uuid(),
                                        address='00:11:22:33:44:55',
                                        portgroup_id=self.portgroup.id,
                                        physical_network='physnet2')
     self._test({'physnet1'}, port2)
    def test_find_ports_by_macs(self, mock_get_port):
        fake_port = object_utils.get_test_port(self.context)
        mock_get_port.return_value = fake_port

        macs = ['aa:bb:cc:dd:ee:ff']

        with task_manager.acquire(
                self.context, self.node['uuid'], shared=True) as task:
            ports = self.passthru._find_ports_by_macs(task, macs)
        self.assertEqual(1, len(ports))
        self.assertEqual(fake_port.uuid, ports[0].uuid)
        self.assertEqual(fake_port.node_id, ports[0].node_id)
Beispiel #12
0
    def test_find_node_by_macs_nodenotfound(self, ports_mock, node_id_mock,
                                            node_mock):
        port = object_utils.get_test_port(self.context)
        ports_mock.return_value = [port]
        node_id_mock.return_value = self.node['uuid']
        node_mock.side_effect = [
            self.node, exception.NodeNotFound(node=self.node)
        ]

        macs = ['aa:bb:cc:dd:ee:ff']
        with task_manager.acquire(self.context, self.node['uuid'],
                                  shared=True) as task:
            self.assertRaises(exception.NodeNotFound,
                              self.passthru._find_node_by_macs, task, macs)
    def test_find_node_by_macs_nodenotfound(self, ports_mock, node_id_mock,
                                            node_mock):
        port = object_utils.get_test_port(self.context)
        ports_mock.return_value = [port]
        node_id_mock.return_value = self.node['uuid']
        node_mock.side_effect = [self.node,
                                 exception.NodeNotFound(node=self.node)]

        macs = ['aa:bb:cc:dd:ee:ff']
        with task_manager.acquire(
                self.context, self.node['uuid'], shared=True) as task:
            self.assertRaises(exception.NodeNotFound,
                              self.passthru._find_node_by_macs,
                              task,
                              macs)