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()
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)
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)
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)
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)
def test_validate_fail_no_port(self): new_node = obj_utils.create_test_node( self.context, uuid='aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee', driver='fake_ssh', driver_info=db_utils.get_test_ssh_info()) with task_manager.acquire(self.context, new_node.uuid, shared=True) as task: self.assertRaises(exception.MissingParameterValue, task.driver.power.validate, task)
def setUp(self): super(SSHDriverTestCase, self).setUp() mgr_utils.mock_the_extension_manager(driver="fake_ssh") self.driver = driver_factory.get_driver("fake_ssh") self.node = obj_utils.create_test_node( self.context, driver='fake_ssh', driver_info=db_utils.get_test_ssh_info()) self.port = obj_utils.create_test_port(self.context, node_id=self.node.id) self.sshclient = paramiko.SSHClient()
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'])
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'))
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 = tempfile.mkdtemp() key_path = tempdir + '/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'))
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)