예제 #1
0
 def setUp(self):
     super(TestNodeVif, self).setUp()
     self.session = mock.Mock(spec=adapter.Adapter)
     self.session.default_microversion = '1.28'
     self.node = node.Node(id='c29db401-b6a7-4530-af8e-20a720dee946',
                           driver=FAKE['driver'])
     self.vif_id = '714bdf6d-2386-4b5e-bd0d-bc036f04b1ef'
예제 #2
0
    def test_timeout(self, mock_get):
        mock_get.return_value._check_state_reached.return_value = False
        mock_get.return_value.id = '1234'

        self.assertRaises(exceptions.ResourceTimeout,
                          self.proxy.wait_for_nodes_provision_state,
                          ['abcd', node.Node(id='1234')], 'fake state',
                          timeout=0.001)
        mock_get.return_value._check_state_reached.assert_called_with(
            self.proxy, 'fake state', True)
예제 #3
0
    def setUp(self):
        super(TestNodeCreate, self).setUp()
        self.new_state = None
        self.session = mock.Mock(spec=adapter.Adapter)
        self.session.default_microversion = '1.1'
        self.node = node.Node(driver=FAKE['driver'])

        def _change_state(*args, **kwargs):
            self.node.provision_state = self.new_state

        self.session.post.side_effect = _change_state
예제 #4
0
 def test_basic(self):
     sot = node.Node()
     self.assertIsNone(sot.resource_key)
     self.assertEqual('nodes', sot.resources_key)
     self.assertEqual('/nodes', sot.base_path)
     self.assertTrue(sot.allow_create)
     self.assertTrue(sot.allow_fetch)
     self.assertTrue(sot.allow_commit)
     self.assertTrue(sot.allow_delete)
     self.assertTrue(sot.allow_list)
     self.assertEqual('PATCH', sot.commit_method)
예제 #5
0
 def test_basic(self):
     sot = node.Node()
     self.assertIsNone(sot.resource_key)
     self.assertEqual('nodes', sot.resources_key)
     self.assertEqual('/nodes', sot.base_path)
     self.assertEqual('baremetal', sot.service.service_type)
     self.assertTrue(sot.allow_create)
     self.assertTrue(sot.allow_get)
     self.assertTrue(sot.allow_update)
     self.assertTrue(sot.allow_delete)
     self.assertTrue(sot.allow_list)
     self.assertEqual('PATCH', sot.update_method)
예제 #6
0
    def test_success(self, mock_get):
        # two attempts, one node succeeds after the 1st
        nodes = [mock.Mock(spec=node.Node, id=str(i)) for i in range(3)]
        for i, n in enumerate(nodes):
            # 1st attempt on 1st node, 2nd attempt on 2nd node
            n._check_state_reached.return_value = not (i % 2)
        mock_get.side_effect = nodes

        result = self.proxy.wait_for_nodes_provision_state(
            ['abcd', node.Node(id='1234')], 'fake state')
        self.assertEqual([nodes[0], nodes[2]], result)

        for n in nodes:
            n._check_state_reached.assert_called_once_with(
                self.proxy, 'fake state', True)
예제 #7
0
    def test_instantiate(self):
        sot = node.Node(**FAKE)

        self.assertEqual(FAKE['uuid'], sot.id)
        self.assertEqual(FAKE['name'], sot.name)

        self.assertEqual(FAKE['chassis_uuid'], sot.chassis_id)
        self.assertEqual(FAKE['clean_step'], sot.clean_step)
        self.assertEqual(FAKE['created_at'], sot.created_at)
        self.assertEqual(FAKE['driver'], sot.driver)
        self.assertEqual(FAKE['driver_info'], sot.driver_info)
        self.assertEqual(FAKE['driver_internal_info'],
                         sot.driver_internal_info)
        self.assertEqual(FAKE['extra'], sot.extra)
        self.assertEqual(FAKE['instance_info'], sot.instance_info)
        self.assertEqual(FAKE['instance_uuid'], sot.instance_id)
        self.assertEqual(FAKE['console_enabled'], sot.is_console_enabled)
        self.assertEqual(FAKE['maintenance'], sot.is_maintenance)
        self.assertEqual(FAKE['last_error'], sot.last_error)
        self.assertEqual(FAKE['links'], sot.links)
        self.assertEqual(FAKE['maintenance_reason'], sot.maintenance_reason)
        self.assertEqual(FAKE['name'], sot.name)
        self.assertEqual(FAKE['network_interface'], sot.network_interface)
        self.assertEqual(FAKE['owner'], sot.owner)
        self.assertEqual(FAKE['ports'], sot.ports)
        self.assertEqual(FAKE['portgroups'], sot.port_groups)
        self.assertEqual(FAKE['power_state'], sot.power_state)
        self.assertEqual(FAKE['properties'], sot.properties)
        self.assertEqual(FAKE['provision_state'], sot.provision_state)
        self.assertEqual(FAKE['raid_config'], sot.raid_config)
        self.assertEqual(FAKE['reservation'], sot.reservation)
        self.assertEqual(FAKE['resource_class'], sot.resource_class)
        self.assertEqual(FAKE['states'], sot.states)
        self.assertEqual(FAKE['target_provision_state'],
                         sot.target_provision_state)
        self.assertEqual(FAKE['target_power_state'], sot.target_power_state)
        self.assertEqual(FAKE['target_raid_config'], sot.target_raid_config)
        self.assertEqual(FAKE['updated_at'], sot.updated_at)
예제 #8
0
 def setUp(self):
     super(TestNodeTraits, self).setUp()
     self.node = node.Node(**FAKE)
     self.session = mock.Mock(spec=adapter.Adapter,
                              default_microversion='1.37')
     self.session.log = mock.Mock()
예제 #9
0
 def setUp(self):
     super(TestNodeSetBootDevice, self).setUp()
     self.node = node.Node(**FAKE)
     self.session = mock.Mock(spec=adapter.Adapter,
                              default_microversion='1.1')
예제 #10
0
 def setUp(self):
     super(TestNodeSetPowerState, self).setUp()
     self.node = node.Node(**FAKE)
     self.session = mock.Mock(spec=adapter.Adapter,
                              default_microversion=None)
예제 #11
0
 def setUp(self):
     super(TestNodeWaitForReservation, self).setUp()
     self.session = mock.Mock(spec=adapter.Adapter)
     self.session.default_microversion = '1.6'
     self.session.log = mock.Mock()
     self.node = node.Node(**FAKE)
예제 #12
0
 def setUp(self):
     super(TestNodeValidate, self).setUp()
     self.session = mock.Mock(spec=adapter.Adapter)
     self.session.default_microversion = '1.28'
     self.node = node.Node(**FAKE)
예제 #13
0
 def setUp(self):
     super(TestNodeWaitForProvisionState, self).setUp()
     self.node = node.Node(**FAKE)
     self.session = mock.Mock()
예제 #14
0
 def test_normalize_provision_state(self):
     attrs = dict(FAKE, provision_state=None)
     sot = node.Node(**attrs)
     self.assertEqual('available', sot.provision_state)
예제 #15
0
 def test_create_introspection_with_node(self, mock_create):
     self.proxy.start_introspection(_node.Node(id='abcd'))
     mock_create.assert_called_once_with(mock.ANY, self.proxy)
     introspect = mock_create.call_args[0][0]
     self.assertEqual('abcd', introspect.id)
예제 #16
0
 def setUp(self):
     super(TestNodePatch, self).setUp()
     self.node = node.Node(**FAKE)
     self.session = mock.Mock(spec=adapter.Adapter,
                              default_microversion=None)
     self.session.log = mock.Mock()