Exemple #1
0
    def test__parse_driver_info(self, mock_sleep):
        # make sure we get back the expected things
        self.assertIsNotNone(self.info.get("address"))
        self.assertIsNotNone(self.info.get("username"))
        self.assertIsNotNone(self.info.get("password"))
        self.assertIsNotNone(self.info.get("uuid"))

        info = dict(INFO_DICT)

        # test the default value for 'priv_level'
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ret = ipmi._parse_driver_info(node)
        self.assertEqual("ADMINISTRATOR", ret["priv_level"])

        # ipmi_username / ipmi_password are not mandatory
        del info["ipmi_username"]
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ipmi._parse_driver_info(node)
        del info["ipmi_password"]
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ipmi._parse_driver_info(node)

        # make sure error is raised when ipmi_address is missing
        del info["ipmi_address"]
        node = obj_utils.get_test_node(self.context, driver_info=info)
        self.assertRaises(exception.InvalidParameterValue, ipmi._parse_driver_info, node)

        # test the invalid priv_level value
        self.info["priv_level"] = "ABCD"
        node = obj_utils.get_test_node(self.context, driver_info=info)
        self.assertRaises(exception.InvalidParameterValue, ipmi._parse_driver_info, node)
Exemple #2
0
    def test__parse_driver_info(self):
        # make sure we get back the expected things
        self.assertIsNotNone(self.info.get('address'))
        self.assertIsNotNone(self.info.get('username'))
        self.assertIsNotNone(self.info.get('password'))
        self.assertIsNotNone(self.info.get('uuid'))

        info = dict(INFO_DICT)

        # test the default value for 'priv_level'
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ret = ipmi._parse_driver_info(node)
        self.assertEqual('ADMINISTRATOR', ret['priv_level'])

        # ipmi_username / ipmi_password are not mandatory
        del info['ipmi_username']
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ipmi._parse_driver_info(node)
        del info['ipmi_password']
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ipmi._parse_driver_info(node)

        # make sure error is raised when ipmi_address is missing
        del info['ipmi_address']
        node = obj_utils.get_test_node(self.context, driver_info=info)
        self.assertRaises(exception.InvalidParameterValue,
                          ipmi._parse_driver_info,
                          node)

        # test the invalid priv_level value
        self.info['priv_level'] = 'ABCD'
        node = obj_utils.get_test_node(self.context, driver_info=info)
        self.assertRaises(exception.InvalidParameterValue,
                          ipmi._parse_driver_info,
                          node)
Exemple #3
0
    def test__parse_driver_info(self, mock_sleep):
        # make sure we get back the expected things
        self.assertIsNotNone(self.info.get('address'))
        self.assertIsNotNone(self.info.get('username'))
        self.assertIsNotNone(self.info.get('password'))
        self.assertIsNotNone(self.info.get('uuid'))

        info = dict(INFO_DICT)

        # test the default value for 'priv_level'
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ret = ipmi._parse_driver_info(node)
        self.assertEqual('ADMINISTRATOR', ret['priv_level'])

        # ipmi_username / ipmi_password are not mandatory
        del info['ipmi_username']
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ipmi._parse_driver_info(node)
        del info['ipmi_password']
        node = obj_utils.get_test_node(self.context, driver_info=info)
        ipmi._parse_driver_info(node)

        # make sure error is raised when ipmi_address is missing
        del info['ipmi_address']
        node = obj_utils.get_test_node(self.context, driver_info=info)
        self.assertRaises(exception.InvalidParameterValue,
                          ipmi._parse_driver_info, node)

        # test the invalid priv_level value
        self.info['priv_level'] = 'ABCD'
        node = obj_utils.get_test_node(self.context, driver_info=info)
        self.assertRaises(exception.InvalidParameterValue,
                          ipmi._parse_driver_info, node)
 def setUp(self):
     super(ConsoleUtilsTestCase, self).setUp()
     self.node = obj_utils.get_test_node(
             self.context,
             driver='fake_ipmitool',
             driver_info=INFO_DICT)
     self.info = ipmi._parse_driver_info(self.node)
Exemple #5
0
 def setUp(self):
     super(SSHPrivateMethodsTestCase, self).setUp()
     self.node = obj_utils.get_test_node(
         self.context,
         driver='fake_ssh',
         driver_info=db_utils.get_test_ssh_info())
     self.sshclient = paramiko.SSHClient()
Exemple #6
0
 def test__parse_driver_info_ssh_port_wrong_type(self):
     # make sure error is raised when ssh_port is not integer
     info = db_utils.get_test_ssh_info()
     info['ssh_port'] = 'wrong_port_value'
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.InvalidParameterValue,
                       ssh._parse_driver_info, node)
Exemple #7
0
 def setUp(self):
     super(ConsoleUtilsTestCase, self).setUp()
     self.context = context.get_admin_context()
     self.node = obj_utils.get_test_node(self.context,
                                         driver='fake_ipmitool',
                                         driver_info=INFO_DICT)
     self.info = ipmi._parse_driver_info(self.node)
Exemple #8
0
 def setUp(self):
     super(SSHPrivateMethodsTestCase, self).setUp()
     self.node = obj_utils.get_test_node(
                     self.context,
                     driver='fake_ssh',
                     driver_info=db_utils.get_test_ssh_info())
     self.sshclient = paramiko.SSHClient()
Exemple #9
0
 def test__parse_driver_info_missing_api_endpoint(self):
     # make sure error is raised when info is missing
     info = dict(INFO_DICT)
     del info['seamicro_api_endpoint']
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.InvalidParameterValue,
                       seamicro._parse_driver_info, node)
Exemple #10
0
 def test__parse_driver_info_invalid_creds(self):
     # make sure error is raised when info is missing
     info = db_utils.get_test_ssh_info('no-creds')
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.InvalidParameterValue,
             ssh._parse_driver_info,
             node)
Exemple #11
0
 def test__parse_driver_info_invalid_creds(self):
     # make sure error is raised when info is missing
     info = db_utils.get_test_ssh_info('no-creds')
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.InvalidParameterValue,
             ssh._parse_driver_info,
             node)
Exemple #12
0
 def setUp(self):
     super(SNMPDeviceDriverTestCase, self).setUp()
     self.context = context.get_admin_context()
     self.node = obj_utils.get_test_node(
         self.context,
         driver='fake_snmp',
         driver_info=INFO_DICT)
Exemple #13
0
 def test__parse_driver_info_too_many(self):
     info = db_utils.get_test_ssh_info('too_many')
     node = obj_utils.get_test_node(self.context,
                                    driver='fake_ssh',
                                    driver_info=info)
     self.assertRaises(exception.InvalidParameterValue,
                       ssh._parse_driver_info, node)
Exemple #14
0
 def test__parse_driver_info_missing_virt_type(self):
     # make sure error is raised when info is missing
     info = db_utils.get_test_ssh_info()
     del info['ssh_virt_type']
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.InvalidParameterValue,
                       ssh._parse_driver_info, node)
Exemple #15
0
    def test__parse_driver_info_with_custom_libvirt_uri(self):
        CONF.set_override("libvirt_uri", "qemu:///foo", "ssh")
        expected_base_cmd = "LC_ALL=C /usr/bin/virsh --connect qemu:///foo"

        node = obj_utils.get_test_node(self.context, driver="fake_ssh", driver_info=db_utils.get_test_ssh_info())
        node["driver_info"]["ssh_virt_type"] = "virsh"
        info = ssh._parse_driver_info(node)
        self.assertEqual(expected_base_cmd, info["cmd_set"]["base_cmd"])
Exemple #16
0
 def test__parse_driver_info_missing_api_endpoint(self):
     # make sure error is raised when info is missing
     info = dict(INFO_DICT)
     del info['seamicro_api_endpoint']
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.MissingParameterValue,
                       seamicro._parse_driver_info,
                       node)
Exemple #17
0
 def setUp(self):
     super(IPMIToolPrivateMethodTestCase, self).setUp()
     self.context = context.get_admin_context()
     self.node = obj_utils.get_test_node(
             self.context,
             driver='fake_ipmitool',
             driver_info=INFO_DICT)
     self.info = ipmi._parse_driver_info(self.node)
Exemple #18
0
 def test__parse_driver_info_too_many(self):
     info = db_utils.get_test_ssh_info('too_many')
     node = obj_utils.get_test_node(
                 self.context,
                 driver='fake_ssh',
                 driver_info=info)
     self.assertRaises(
         exception.InvalidParameterValue, ssh._parse_driver_info, node)
Exemple #19
0
 def test__parse_driver_info_missing_virt_type(self):
     # make sure error is raised when info is missing
     info = db_utils.get_test_ssh_info()
     del info['ssh_virt_type']
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.MissingParameterValue,
             ssh._parse_driver_info,
             node)
Exemple #20
0
 def test__parse_driver_info_bad_file(self):
     # A filename that doesn't exist errors.
     info = db_utils.get_test_ssh_info('file')
     node = obj_utils.get_test_node(self.context,
                                    driver='fake_ssh',
                                    driver_info=info)
     self.assertRaises(exception.InvalidParameterValue,
                       ssh._parse_driver_info, node)
Exemple #21
0
 def test__parse_driver_info_ssh_port_wrong_type(self):
     # make sure error is raised when ssh_port is not integer
     info = db_utils.get_test_ssh_info()
     info['ssh_port'] = 'wrong_port_value'
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.InvalidParameterValue,
             ssh._parse_driver_info,
             node)
Exemple #22
0
 def test__parse_driver_info_good(self):
     # make sure we get back the expected things
     node = obj_utils.get_test_node(self.context, driver="fake_seamicro", driver_info=INFO_DICT)
     info = seamicro._parse_driver_info(node)
     self.assertIsNotNone(info.get("api_endpoint"))
     self.assertIsNotNone(info.get("username"))
     self.assertIsNotNone(info.get("password"))
     self.assertIsNotNone(info.get("server_id"))
     self.assertIsNotNone(info.get("uuid"))
Exemple #23
0
    def test_delete_node_not_found(self, mock_gbu):
        node = obj_utils.get_test_node(context.get_admin_context())
        mock_gbu.side_effect = exception.NodeNotFound(node=node.uuid)

        response = self.delete('/nodes/%s' % node.uuid, expect_errors=True)
        self.assertEqual(404, response.status_int)
        self.assertEqual('application/json', response.content_type)
        self.assertTrue(response.json['error_message'])
        mock_gbu.assert_called_once_with(mock.ANY, node.uuid)
Exemple #24
0
 def test__parse_driver_info_bad_file(self):
     # A filename that doesn't exist errors.
     info = db_utils.get_test_ssh_info('file')
     node = obj_utils.get_test_node(
                 self.context,
                 driver='fake_ssh',
                 driver_info=info)
     self.assertRaises(
         exception.InvalidParameterValue, ssh._parse_driver_info, node)
Exemple #25
0
 def setUp(self):
     super(FakeDriverTestCase, self).setUp()
     mgr_utils.mock_the_extension_manager()
     self.driver = driver_factory.get_driver("fake")
     self.node = obj_utils.get_test_node(self.context)
     self.task = mock.MagicMock(spec=task_manager.TaskManager)
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = self.driver
Exemple #26
0
 def setUp(self):
     super(FakeDriverTestCase, self).setUp()
     mgr_utils.mock_the_extension_manager()
     self.driver = driver_factory.get_driver("fake")
     self.node = obj_utils.get_test_node(self.context)
     self.task = mock.MagicMock(spec=task_manager.TaskManager)
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = self.driver
Exemple #27
0
 def setUp(self):
     super(BaseTestCase, self).setUp()
     self.config(enabled=True, group='discoverd')
     mgr_utils.mock_the_extension_manager("fake_discoverd")
     self.driver = driver_factory.get_driver("fake_discoverd")
     self.node = obj_utils.get_test_node(self.context)
     self.task = mock.Mock(spec=task_manager.TaskManager)
     self.task.context = mock.Mock()
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = self.driver
Exemple #28
0
 def setUp(self):
     super(BaseTestCase, self).setUp()
     self.config(enabled=True, group='inspector')
     mgr_utils.mock_the_extension_manager("fake_inspector")
     self.driver = driver_factory.get_driver("fake_inspector")
     self.node = obj_utils.get_test_node(self.context)
     self.task = mock.MagicMock(spec=task_manager.TaskManager)
     self.task.context = mock.MagicMock(spec_set=['auth_token'])
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = self.driver
Exemple #29
0
 def test__parse_driver_info_good_key(self):
     # make sure we get back the expected things
     node = obj_utils.get_test_node(self.context, driver="fake_ssh", driver_info=db_utils.get_test_ssh_info("key"))
     info = ssh._parse_driver_info(node)
     self.assertIsNotNone(info.get("host"))
     self.assertIsNotNone(info.get("username"))
     self.assertIsNotNone(info.get("key_contents"))
     self.assertIsNotNone(info.get("port"))
     self.assertIsNotNone(info.get("virt_type"))
     self.assertIsNotNone(info.get("cmd_set"))
     self.assertIsNotNone(info.get("uuid"))
Exemple #30
0
    def test__parse_driver_info_with_custom_libvirt_uri(self):
        CONF.set_override('libvirt_uri', 'qemu:///foo', 'ssh')
        expected_base_cmd = "/usr/bin/virsh --connect qemu:///foo"

        node = obj_utils.get_test_node(
            self.context,
            driver='fake_ssh',
            driver_info=db_utils.get_test_ssh_info())
        node['driver_info']['ssh_virt_type'] = 'virsh'
        info = ssh._parse_driver_info(node)
        self.assertEqual(expected_base_cmd, info['cmd_set']['base_cmd'])
Exemple #31
0
 def setUp(self):
     super(BaseTestCase, self).setUp()
     self.config(enabled=True, group='inspector')
     mgr_utils.mock_the_extension_manager("fake_inspector")
     self.driver = driver_factory.get_driver("fake_inspector")
     self.node = obj_utils.get_test_node(self.context)
     self.task = mock.MagicMock(spec=task_manager.TaskManager)
     self.task.context = mock.MagicMock(spec_set=['auth_token'])
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = self.driver
Exemple #32
0
 def setUp(self):
     super(BaseTestCase, self).setUp()
     self.config(enabled=True, group='discoverd')
     mgr_utils.mock_the_extension_manager("fake_discoverd")
     self.driver = driver_factory.get_driver("fake_discoverd")
     self.node = obj_utils.get_test_node(self.context)
     self.task = mock.Mock(spec=task_manager.TaskManager)
     self.task.context = mock.Mock()
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = self.driver
Exemple #33
0
 def test__parse_driver_info_good(self):
     # make sure we get back the expected things
     node = obj_utils.get_test_node(self.context,
                                    driver='fake_seamicro',
                                    driver_info=INFO_DICT)
     info = seamicro._parse_driver_info(node)
     self.assertIsNotNone(info.get('api_endpoint'))
     self.assertIsNotNone(info.get('username'))
     self.assertIsNotNone(info.get('password'))
     self.assertIsNotNone(info.get('server_id'))
     self.assertIsNotNone(info.get('uuid'))
Exemple #34
0
    def test__parse_driver_info_with_custom_libvirt_uri(self):
        CONF.set_override('libvirt_uri', 'qemu:///foo', 'ssh')
        expected_base_cmd = "LC_ALL=C /usr/bin/virsh --connect qemu:///foo"

        node = obj_utils.get_test_node(
                    self.context,
                    driver='fake_ssh',
                    driver_info=db_utils.get_test_ssh_info())
        node['driver_info']['ssh_virt_type'] = 'virsh'
        info = ssh._parse_driver_info(node)
        self.assertEqual(expected_base_cmd, info['cmd_set']['base_cmd'])
Exemple #35
0
 def test__parse_driver_info_good(self):
     # make sure we get back the expected things
     node = obj_utils.get_test_node(
             self.context,
             driver='fake_seamicro',
             driver_info=INFO_DICT)
     info = seamicro._parse_driver_info(node)
     self.assertIsNotNone(info.get('api_endpoint'))
     self.assertIsNotNone(info.get('username'))
     self.assertIsNotNone(info.get('password'))
     self.assertIsNotNone(info.get('server_id'))
     self.assertIsNotNone(info.get('uuid'))
Exemple #36
0
    def test__parse_driver_info(self):
        # make sure we get back the expected things
        self.assertIsNotNone(self.info.get("address"))
        self.assertIsNotNone(self.info.get("username"))
        self.assertIsNotNone(self.info.get("password"))
        self.assertIsNotNone(self.info.get("uuid"))

        # make sure error is raised when info, eg. username, is missing
        info = dict(INFO_DICT)
        del info["ipmi_username"]

        node = obj_utils.get_test_node(self.context, driver_info=info)
        self.assertRaises(exception.MissingParameterValue, ipminative._parse_driver_info, node)
Exemple #37
0
    def test__parse_driver_info(self):
        # make sure we get back the expected things
        self.assertIsNotNone(self.info.get('address'))
        self.assertIsNotNone(self.info.get('username'))
        self.assertIsNotNone(self.info.get('password'))
        self.assertIsNotNone(self.info.get('uuid'))

        # make sure error is raised when info, eg. username, is missing
        info = dict(INFO_DICT)
        del info['ipmi_username']

        node = obj_utils.get_test_node(self.context, driver_info=info)
        self.assertRaises(exception.InvalidParameterValue,
                          ipminative._parse_driver_info, node)
Exemple #38
0
 def test__parse_driver_info_good_key(self):
     # make sure we get back the expected things
     node = obj_utils.get_test_node(
                 self.context,
                 driver='fake_ssh',
                 driver_info=db_utils.get_test_ssh_info('key'))
     info = ssh._parse_driver_info(node)
     self.assertIsNotNone(info.get('host'))
     self.assertIsNotNone(info.get('username'))
     self.assertIsNotNone(info.get('key_contents'))
     self.assertIsNotNone(info.get('port'))
     self.assertIsNotNone(info.get('virt_type'))
     self.assertIsNotNone(info.get('cmd_set'))
     self.assertIsNotNone(info.get('uuid'))
Exemple #39
0
 def test__parse_driver_info_good_key(self):
     # make sure we get back the expected things
     node = obj_utils.get_test_node(
         self.context,
         driver='fake_ssh',
         driver_info=db_utils.get_test_ssh_info('key'))
     info = ssh._parse_driver_info(node)
     self.assertIsNotNone(info.get('host'))
     self.assertIsNotNone(info.get('username'))
     self.assertIsNotNone(info.get('key_contents'))
     self.assertIsNotNone(info.get('port'))
     self.assertIsNotNone(info.get('virt_type'))
     self.assertIsNotNone(info.get('cmd_set'))
     self.assertIsNotNone(info.get('uuid'))
Exemple #40
0
 def test__parse_driver_info_good_file(self):
     # make sure we get back the expected things
     d_info = db_utils.get_test_ssh_info("file")
     tempdir = self.useFixture(fixtures.TempDir())
     key_path = tempdir.path + "/foo"
     open(key_path, "wt").close()
     d_info["ssh_key_filename"] = key_path
     node = obj_utils.get_test_node(self.context, driver="fake_ssh", driver_info=d_info)
     info = ssh._parse_driver_info(node)
     self.assertIsNotNone(info.get("host"))
     self.assertIsNotNone(info.get("username"))
     self.assertIsNotNone(info.get("key_filename"))
     self.assertIsNotNone(info.get("port"))
     self.assertIsNotNone(info.get("virt_type"))
     self.assertIsNotNone(info.get("cmd_set"))
     self.assertIsNotNone(info.get("uuid"))
Exemple #41
0
 def test__parse_driver_info_good_file(self):
     # make sure we get back the expected things
     d_info = db_utils.get_test_ssh_info('file')
     tempdir = self.useFixture(fixtures.TempDir())
     key_path = tempdir.path + '/foo'
     open(key_path, 'wt').close()
     d_info['ssh_key_filename'] = key_path
     node = obj_utils.get_test_node(self.context,
                                    driver='fake_ssh',
                                    driver_info=d_info)
     info = ssh._parse_driver_info(node)
     self.assertIsNotNone(info.get('host'))
     self.assertIsNotNone(info.get('username'))
     self.assertIsNotNone(info.get('key_filename'))
     self.assertIsNotNone(info.get('port'))
     self.assertIsNotNone(info.get('virt_type'))
     self.assertIsNotNone(info.get('cmd_set'))
     self.assertIsNotNone(info.get('uuid'))
Exemple #42
0
 def test__parse_driver_info_good_file(self):
     # make sure we get back the expected things
     d_info = db_utils.get_test_ssh_info('file')
     tempdir = self.useFixture(fixtures.TempDir())
     key_path = tempdir.path + '/foo'
     open(key_path, 'wt').close()
     d_info['ssh_key_filename'] = key_path
     node = obj_utils.get_test_node(
                 self.context,
                 driver='fake_ssh',
                 driver_info=d_info)
     info = ssh._parse_driver_info(node)
     self.assertIsNotNone(info.get('host'))
     self.assertIsNotNone(info.get('username'))
     self.assertIsNotNone(info.get('key_filename'))
     self.assertIsNotNone(info.get('port'))
     self.assertIsNotNone(info.get('virt_type'))
     self.assertIsNotNone(info.get('cmd_set'))
     self.assertIsNotNone(info.get('uuid'))
Exemple #43
0
    def setUp(self):
        super(SSHPrivateMethodsTestCase, self).setUp()
        self.context = context.get_admin_context()
        self.node = obj_utils.get_test_node(
                        self.context,
                        driver='fake_ssh',
                        driver_info=db_utils.get_test_ssh_info())
        self.sshclient = paramiko.SSHClient()

        # Set up the mock for processutils.ssh_execute because most tests use
        # it. processutils.ssh_execute returns (stdout, stderr).
        self.ssh_patcher = mock.patch.object(processutils, 'ssh_execute')
        self.exec_ssh_mock = self.ssh_patcher.start()
        self.exec_ssh_mock.return_value = ('', '')

        def stop_patcher():
            if self.ssh_patcher:
                self.ssh_patcher.stop()

        self.addCleanup(stop_patcher)
 def setUp(self):
     super(ParseInstanceInfoCapabilitiesTestCase, self).setUp()
     self.node = obj_utils.get_test_node(self.context, driver='fake')
Exemple #45
0
 def test__parse_driver_info_missing_server_id(self):
     # make sure error is raised when info is missing
     info = dict(INFO_DICT)
     del info["seamicro_server_id"]
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.InvalidParameterValue, seamicro._parse_driver_info, node)
Exemple #46
0
 def _get_test_node(self, driver_info):
     return obj_utils.get_test_node(
             self.context,
             driver_info=driver_info)
Exemple #47
0
 def setUp(self):
     super(ParseInstanceInfoCapabilitiesTestCase, self).setUp()
     self.node = obj_utils.get_test_node(self.context, driver='fake')
Exemple #48
0
 def test__parse_driver_info_missing_user(self):
     # make sure error is raised when info is missing
     info = db_utils.get_test_ssh_info()
     del info["ssh_username"]
     node = obj_utils.get_test_node(self.context, driver_info=info)
     self.assertRaises(exception.InvalidParameterValue, ssh._parse_driver_info, node)