def test_inject_into_image(self): # NOTE(deva): we could also test this method by stubbing # nova.virt.disk.api._inject_*_into_fs self._create_node() files = [] self.instance['hostname'] = 'fake hostname' files.append(('/etc/hostname', 'fake hostname')) self.instance['key_data'] = 'fake ssh key' net_info = utils.get_test_network_info(1) net = pxe.build_network_config(net_info) admin_password = '******' self.mox.StubOutWithMock(disk_api, 'inject_data') disk_api.inject_data( admin_password=admin_password, image=pxe.get_image_file_path(self.instance), key='fake ssh key', metadata=None, partition=None, net=net, files=files, # this is what we're really testing ).AndReturn(True) self.mox.ReplayAll() self.driver._inject_into_image( self.context, self.node, self.instance, network_info=net_info, admin_password=admin_password, injected_files=None) self.mox.VerifyAll()
def test_inject_into_image(self): # NOTE(deva): we could also test this method by stubbing # nova.virt.disk.api._inject_*_into_fs self._create_node() files = [] self.instance['hostname'] = 'fake hostname' files.append(('/etc/hostname', 'fake hostname')) self.instance['key_data'] = 'fake ssh key' net_info = utils.get_test_network_info(1) net = pxe.build_network_config(net_info) admin_password = '******' self.mox.StubOutWithMock(disk_api, 'inject_data') disk_api.inject_data( admin_password=admin_password, image=pxe.get_image_file_path(self.instance), key='fake ssh key', metadata=None, partition=None, net=net, files=files, # this is what we're really testing ).AndReturn(True) self.mox.ReplayAll() self.driver._inject_into_image(self.context, self.node, self.instance, network_info=net_info, admin_password=admin_password, injected_files=None) self.mox.VerifyAll()
def test_activate_bootloader_passes_details(self): self._create_node() macs = [nic['address'] for nic in self.nic_info] macs.sort() image_info = { 'deploy_kernel': [None, 'aaaa'], 'deploy_ramdisk': [None, 'bbbb'], 'kernel': [None, 'cccc'], 'ramdisk': [None, 'dddd'], } self.instance['uuid'] = 'fake-uuid' iqn = "iqn-%s" % self.instance['uuid'] pxe_config = 'this is a fake pxe config' pxe_path = pxe.get_pxe_config_file_path(self.instance) pxe.get_image_file_path(self.instance) self.mox.StubOutWithMock(flavor_obj.Flavor, 'get_by_id') self.mox.StubOutWithMock(pxe, 'get_tftp_image_info') self.mox.StubOutWithMock(pxe, 'get_partition_sizes') self.mox.StubOutWithMock(bm_utils, 'random_alnum') self.mox.StubOutWithMock(pxe, 'build_pxe_config') self.mox.StubOutWithMock(bm_utils, 'write_to_file') self.mox.StubOutWithMock(bm_utils, 'create_link_without_raise') flavor_obj.Flavor.get_by_id(self.context, self.instance['instance_type_id'] ).AndReturn({}) pxe.get_tftp_image_info(self.instance, {}).AndReturn(image_info) pxe.get_partition_sizes(self.instance).AndReturn((0, 0, 0)) bm_utils.random_alnum(32).AndReturn('alnum') pxe.build_pxe_config( self.node['id'], 'alnum', iqn, 'aaaa', 'bbbb', 'cccc', 'dddd', self.test_network_info).AndReturn(pxe_config) bm_utils.write_to_file(pxe_path, pxe_config) for mac in macs: bm_utils.create_link_without_raise( pxe_path, pxe.get_pxe_mac_path(mac)) self.mox.ReplayAll() self.driver.activate_bootloader(self.context, self.node, self.instance, network_info=self.test_network_info) self.mox.VerifyAll()
def test_activate_bootloader_passes_details(self): self._create_node() macs = [nic['address'] for nic in self.nic_info] macs.sort() image_info = { 'deploy_kernel': [None, 'aaaa'], 'deploy_ramdisk': [None, 'bbbb'], 'kernel': [None, 'cccc'], 'ramdisk': [None, 'dddd'], } self.instance['uuid'] = 'fake-uuid' iqn = "iqn-%s" % self.instance['uuid'] pxe_config = 'this is a fake pxe config' pxe_path = pxe.get_pxe_config_file_path(self.instance) pxe.get_image_file_path(self.instance) self.mox.StubOutWithMock(objects.Flavor, 'get_by_id') self.mox.StubOutWithMock(pxe, 'get_tftp_image_info') self.mox.StubOutWithMock(pxe, 'get_partition_sizes') self.mox.StubOutWithMock(bm_utils, 'random_alnum') self.mox.StubOutWithMock(pxe, 'build_pxe_config') self.mox.StubOutWithMock(bm_utils, 'write_to_file') self.mox.StubOutWithMock(bm_utils, 'create_link_without_raise') objects.Flavor.get_by_id(self.context, self.instance['instance_type_id'] ).AndReturn({}) pxe.get_tftp_image_info(self.instance, {}).AndReturn(image_info) pxe.get_partition_sizes(self.instance).AndReturn((0, 0, 0)) bm_utils.random_alnum(32).AndReturn('alnum') pxe.build_pxe_config( self.node['id'], 'alnum', iqn, 'aaaa', 'bbbb', 'cccc', 'dddd', self.test_network_info).AndReturn(pxe_config) bm_utils.write_to_file(pxe_path, pxe_config) for mac in macs: bm_utils.create_link_without_raise( pxe_path, pxe.get_pxe_mac_path(mac)) self.mox.ReplayAll() self.driver.activate_bootloader(self.context, self.node, self.instance, network_info=self.test_network_info) self.mox.VerifyAll()
def test_cache_image(self): self.mox.StubOutWithMock(os, "makedirs") self.mox.StubOutWithMock(os.path, "exists") os.makedirs(pxe.get_image_dir_path(self.instance)).AndReturn(True) os.path.exists(pxe.get_image_file_path(self.instance)).AndReturn(True) self.mox.ReplayAll() image_meta = utils.get_test_image_info(self.context, self.instance) self.driver._cache_image(self.context, self.instance, image_meta) self.mox.VerifyAll()
def test_destroy_images(self): self._create_node() self.mox.StubOutWithMock(os, 'unlink') os.unlink(pxe.get_image_file_path(self.instance)) os.unlink(pxe.get_image_dir_path(self.instance)) self.mox.ReplayAll() self.driver.destroy_images(self.context, self.node, self.instance) self.mox.VerifyAll()
def test_destroy_images(self): self._create_node() self.mox.StubOutWithMock(bm_utils, 'unlink_without_raise') self.mox.StubOutWithMock(bm_utils, 'rmtree_without_raise') bm_utils.unlink_without_raise(pxe.get_image_file_path(self.instance)) bm_utils.rmtree_without_raise(pxe.get_image_dir_path(self.instance)) self.mox.ReplayAll() self.driver.destroy_images(self.context, self.node, self.instance) self.mox.VerifyAll()
def test_cache_image(self): self.mox.StubOutWithMock(os, 'makedirs') self.mox.StubOutWithMock(os.path, 'exists') os.makedirs(pxe.get_image_dir_path(self.instance)).\ AndReturn(True) os.path.exists(pxe.get_image_file_path(self.instance)).\ AndReturn(True) self.mox.ReplayAll() image_meta = utils.get_test_image_info(self.context, self.instance) self.driver._cache_image(self.context, self.instance, image_meta) self.mox.VerifyAll()
def test_activate_bootloader_passes_details(self): self._create_node() macs = [nic["address"] for nic in self.nic_info] macs.sort() image_info = { "deploy_kernel": [None, "aaaa"], "deploy_ramdisk": [None, "bbbb"], "kernel": [None, "cccc"], "ramdisk": [None, "dddd"], } self.instance["uuid"] = "fake-uuid" iqn = "iqn-%s" % self.instance["uuid"] pxe_config = "this is a fake pxe config" pxe_path = pxe.get_pxe_config_file_path(self.instance) pxe.get_image_file_path(self.instance) self.mox.StubOutWithMock(objects.Flavor, "get_by_id") self.mox.StubOutWithMock(pxe, "get_tftp_image_info") self.mox.StubOutWithMock(pxe, "get_partition_sizes") self.mox.StubOutWithMock(bm_utils, "random_alnum") self.mox.StubOutWithMock(pxe, "build_pxe_config") self.mox.StubOutWithMock(bm_utils, "write_to_file") self.mox.StubOutWithMock(bm_utils, "create_link_without_raise") objects.Flavor.get_by_id(self.context, self.instance["instance_type_id"]).AndReturn({}) pxe.get_tftp_image_info(self.instance, {}).AndReturn(image_info) pxe.get_partition_sizes(self.instance).AndReturn((0, 0, 0)) bm_utils.random_alnum(32).AndReturn("alnum") pxe.build_pxe_config( self.node["id"], "alnum", iqn, "aaaa", "bbbb", "cccc", "dddd", self.test_network_info ).AndReturn(pxe_config) bm_utils.write_to_file(pxe_path, pxe_config) for mac in macs: bm_utils.create_link_without_raise(pxe_path, pxe.get_pxe_mac_path(mac)) self.mox.ReplayAll() self.driver.activate_bootloader(self.context, self.node, self.instance, network_info=self.test_network_info) self.mox.VerifyAll()
def test_cache_image(self): self.mox.StubOutWithMock(os, 'makedirs') self.mox.StubOutWithMock(os, 'unlink') self.mox.StubOutWithMock(os.path, 'exists') os.makedirs(pxe.get_image_dir_path(self.instance)).AndReturn(True) disk_path = os.path.join( pxe.get_image_dir_path(self.instance), 'disk') os.unlink(disk_path).AndReturn(None) os.path.exists(disk_path).AndReturn(True) os.path.exists(pxe.get_image_file_path(self.instance)).\ AndReturn(True) self.mox.ReplayAll() image_meta = utils.get_test_image_info( self.context, self.instance) self.driver._cache_image( self.context, self.instance, image_meta) self.mox.VerifyAll()
def test_activate_bootloader(self): self._create_node() macs = [nic['address'] for nic in self.nic_info] macs.append(self.node_info['prov_mac_address']) macs.sort() image_info = { 'deploy_kernel': [None, 'aaaa'], 'deploy_ramdisk': [None, 'bbbb'], 'kernel': [None, 'cccc'], 'ramdisk': [None, 'dddd'], } self.instance['uuid'] = 'fake-uuid' iqn = "iqn-%s" % self.instance['uuid'] pxe_config = 'this is a fake pxe config' pxe_path = pxe.get_pxe_config_file_path(self.instance) image_path = pxe.get_image_file_path(self.instance) self.mox.StubOutWithMock(pxe, 'get_tftp_image_info') self.mox.StubOutWithMock(pxe, 'get_partition_sizes') self.mox.StubOutWithMock(bm_utils, 'random_alnum') self.mox.StubOutWithMock(db, 'bm_deployment_create') self.mox.StubOutWithMock(pxe, 'build_pxe_config') self.mox.StubOutWithMock(bm_utils, 'write_to_file') self.mox.StubOutWithMock(bm_utils, 'create_link_without_raise') pxe.get_tftp_image_info(self.instance).AndReturn(image_info) pxe.get_partition_sizes(self.instance).AndReturn((0, 0)) bm_utils.random_alnum(32).AndReturn('alnum') db.bm_deployment_create( self.context, 'alnum', image_path, pxe_path, 0, 0).\ AndReturn(1234) pxe.build_pxe_config( 1234, 'alnum', iqn, 'aaaa', 'bbbb', 'cccc', 'dddd').\ AndReturn(pxe_config) bm_utils.write_to_file(pxe_path, pxe_config) for mac in macs: bm_utils.create_link_without_raise( pxe_path, pxe.get_pxe_mac_path(mac)) self.mox.ReplayAll() self.driver.activate_bootloader( self.context, self.node, self.instance) self.mox.VerifyAll()
def test_inject_into_image(self): # NOTE(deva): we could also test this method by stubbing # nova.virt.disk.api._inject_*_into_fs self._create_node() files = [] self.instance["hostname"] = "fake hostname" files.append(("/etc/hostname", "fake hostname")) self.instance["key_data"] = "fake ssh key" net_info = utils.get_test_network_info(1) net = pxe.build_network_config(net_info) admin_password = "******" self.mox.StubOutWithMock(os.path, "exists") os.path.exists(mox.IgnoreArg()).AndReturn(True) self.mox.StubOutWithMock(disk_api, "inject_data") disk_api.inject_data( admin_password=admin_password, image=pxe.get_image_file_path(self.instance), key="fake ssh key", metadata=None, partition=None, net=net, files=files, # this is what we're really testing ).AndReturn(True) self.mox.ReplayAll() self.driver._inject_into_image( self.context, self.node, self.instance, network_info=net_info, admin_password=admin_password, injected_files=None, ) self.mox.VerifyAll()
def test_image_file_path(self): self.assertEqual( os.path.join(CONF.instances_path, 'instance-00000001', 'disk'), pxe.get_image_file_path(self.instance))
def test_image_file_path(self): self.assertEqual( pxe.get_image_file_path(self.instance), os.path.join( CONF.instances_path, 'instance-00000001', 'disk'))
def test_image_file_path(self): self.assertEqual( os.path.join(CONF.instances_path, "instance-00000001", "disk"), pxe.get_image_file_path(self.instance) )