def test_boot_server_from_volume_and_delete(self, mock_block_storage): fake_server = object() scenario = servers.BootServerFromVolumeAndDelete(self.context, clients=mock.Mock()) scenario._boot_server = mock.MagicMock(return_value=fake_server) scenario.sleep_between = mock.MagicMock() scenario._delete_server = mock.MagicMock() fake_volume = fakes.FakeVolumeManager().create() fake_volume.id = "volume_id" cinder = mock_block_storage.return_value cinder.create_volume.return_value = fake_volume scenario.run("img", 0, 5, None, 10, 20, fakearg="f") cinder.create_volume.assert_called_once_with(5, imageRef="img", volume_type=None) scenario._boot_server.assert_called_once_with( None, 0, block_device_mapping={"vda": "volume_id:::0"}, fakearg="f") scenario.sleep_between.assert_called_once_with(10, 20) scenario._delete_server.assert_called_once_with(fake_server, force=False)
def test_boot_server_from_volume_and_delete(self): fake_server = object() scenario = servers.NovaServers(self.context) scenario._boot_server = mock.MagicMock(return_value=fake_server) scenario.generate_random_name = mock.MagicMock(return_value="name") scenario.sleep_between = mock.MagicMock() scenario._delete_server = mock.MagicMock() fake_volume = fakes.FakeVolumeManager().create() fake_volume.id = "volume_id" scenario._create_volume = mock.MagicMock(return_value=fake_volume) scenario.boot_server_from_volume_and_delete("img", 0, 5, 10, 20, fakearg="f") scenario._create_volume.assert_called_once_with(5, imageRef="img") scenario._boot_server.assert_called_once_with( "img", 0, block_device_mapping={"vda": "volume_id:::1"}, fakearg="f") scenario.sleep_between.assert_called_once_with(10, 20) scenario._delete_server.assert_called_once_with(fake_server, force=False)
def test_boot_server_from_volume(self, mock_block_storage): fake_server = object() scenario = servers.BootServerFromVolume(self.context, clients=mock.Mock()) scenario._boot_server = mock.MagicMock(return_value=fake_server) fake_volume = fakes.FakeVolumeManager().create() fake_volume.id = "volume_id" cinder = mock_block_storage.return_value cinder.create_volume.return_value = fake_volume scenario.run("img", 0, 5, volume_type=None, auto_assign_nic=False, fakearg="f") cinder.create_volume.assert_called_once_with(5, imageRef="img", volume_type=None) scenario._boot_server.assert_called_once_with( None, 0, auto_assign_nic=False, block_device_mapping={"vda": "volume_id:::0"}, fakearg="f")
def test_boot_server_from_volume_and_live_migrate(self): fake_server = mock.MagicMock() scenario = servers.NovaServers() scenario._generate_random_name = mock.MagicMock(return_value="name") scenario._boot_server = mock.MagicMock(return_value=fake_server) scenario._find_host_to_migrate = mock.MagicMock( return_value="host_name") scenario._live_migrate = mock.MagicMock() scenario._delete_server = mock.MagicMock() fake_volume = fakes.FakeVolumeManager().create() fake_volume.id = "volume_id" scenario._create_volume = mock.MagicMock(return_value=fake_volume) scenario.boot_server_from_volume_and_live_migrate("img", 0, 5, fakearg="f") scenario._create_volume.assert_called_once_with(5, imageRef="img") scenario._boot_server.assert_called_once_with( "img", 0, block_device_mapping={"vda": "volume_id:::1"}, fakearg="f") scenario._find_host_to_migrate.assert_called_once_with(fake_server) scenario._live_migrate.assert_called_once_with(fake_server, "host_name", False, False) scenario._delete_server.assert_called_once_with(fake_server, force=False)
def test_boot_server_from_volume_and_resize(self, mock_block_storage, confirm=False, do_delete=False): fake_server = object() flavor = mock.MagicMock() to_flavor = mock.MagicMock() scenario = servers.BootServerFromVolumeAndResize(self.context, clients=mock.Mock()) scenario._boot_server = mock.MagicMock(return_value=fake_server) scenario.generate_random_name = mock.MagicMock(return_value="name") scenario._resize_confirm = mock.MagicMock() scenario._resize_revert = mock.MagicMock() scenario._resize = mock.MagicMock() scenario.sleep_between = mock.MagicMock() scenario._delete_server = mock.MagicMock() fake_volume = fakes.FakeVolumeManager().create() fake_volume.id = "volume_id" cinder = mock_block_storage.return_value cinder.create_volume.return_value = fake_volume volume_size = 10 scenario.run("img", flavor, to_flavor, volume_size, min_sleep=10, max_sleep=20, confirm=confirm, do_delete=do_delete) cinder.create_volume.assert_called_once_with(10, imageRef="img") scenario._boot_server.assert_called_once_with( None, flavor, block_device_mapping={"vda": "volume_id:::0"}) scenario.sleep_between.assert_called_once_with(10, 20) scenario._resize.assert_called_once_with(fake_server, to_flavor) if confirm: scenario._resize_confirm.assert_called_once_with(fake_server) else: scenario._resize_revert.assert_called_once_with(fake_server) if do_delete: scenario._delete_server.assert_called_once_with(fake_server, force=False)
def test_boot_server_from_volume_and_live_migrate(self, mock_block_storage): fake_server = mock.MagicMock() scenario = servers.BootServerFromVolumeAndLiveMigrate( self.context, clients=mock.Mock()) scenario.generate_random_name = mock.MagicMock(return_value="name") scenario._boot_server = mock.MagicMock(return_value=fake_server) scenario.sleep_between = mock.MagicMock() scenario._find_host_to_migrate = mock.MagicMock( return_value="host_name") scenario._live_migrate = mock.MagicMock() scenario._delete_server = mock.MagicMock() fake_volume = fakes.FakeVolumeManager().create() fake_volume.id = "volume_id" cinder = mock_block_storage.return_value cinder.create_volume.return_value = fake_volume scenario.run("img", 0, 5, volume_type=None, min_sleep=10, max_sleep=20, fakearg="f") cinder.create_volume.assert_called_once_with(5, imageRef="img", volume_type=None) scenario._boot_server.assert_called_once_with( None, 0, block_device_mapping={"vda": "volume_id:::1"}, fakearg="f") scenario.sleep_between.assert_called_once_with(10, 20) scenario._find_host_to_migrate.assert_called_once_with(fake_server) scenario._live_migrate.assert_called_once_with(fake_server, "host_name", False, False) scenario._delete_server.assert_called_once_with(fake_server, force=False)
def test_boot_server_from_volume(self): fake_server = object() scenario = servers.NovaServers(self.context) scenario._boot_server = mock.MagicMock(return_value=fake_server) fake_volume = fakes.FakeVolumeManager().create() fake_volume.id = "volume_id" scenario._create_volume = mock.MagicMock(return_value=fake_volume) scenario.boot_server_from_volume("img", 0, 5, volume_type=None, auto_assign_nic=False, fakearg="f") scenario._create_volume.assert_called_once_with(5, imageRef="img", volume_type=None) scenario._boot_server.assert_called_once_with( None, 0, auto_assign_nic=False, block_device_mapping={"vda": "volume_id:::1"}, fakearg="f")
def test_boot_runcommand_delete(self, mock_json_loads): # Setup mocks scenario = vmtasks.VMTasks() fake_server = fakes.FakeServer() fake_server.addresses = dict( private=[dict( version=4, addr="1.2.3.4" )] ) scenario._boot_server = mock.MagicMock(return_value=fake_server) fake_volume = fakes.FakeVolumeManager().create() fake_volume.id = "volume_id" scenario._create_volume = mock.MagicMock(return_value=fake_volume) scenario._generate_random_name = mock.MagicMock(return_value="name") fake_floating_ip = fakes.FakeFloatingIP() fake_floating_ip.ip = "4.3.2.1" scenario._create_floating_ip = mock.MagicMock( return_value=fake_floating_ip) scenario._associate_floating_ip = mock.MagicMock() scenario._release_server_floating_ip = mock.MagicMock() fake_floating_ip_pool = fakes.FakeFloatingIPPool() fake_floating_ip_pool.name = "public" scenario._list_floating_ip_pools = mock.MagicMock( return_value=[fake_floating_ip_pool]) scenario.run_command = mock.MagicMock() scenario.run_command.return_value = (0, 'stdout', 'stderr') scenario._delete_server = mock.MagicMock() # Run scenario scenario.boot_runcommand_delete( "image_id", "flavour_id", "script_path", "interpreter", fixed_network='private', floating_network='public', volume_args={'size': 10}, username="******", ip_version=4, port=22, use_floatingip=True, fakearg="f") # Assertions scenario._boot_server.assert_called_once_with( 'name', 'image_id', "flavour_id", key_name="rally_ssh_key", fakearg="f", block_device_mapping={'vda': 'volume_id:::1'}) scenario._create_volume.assert_called_once_with(10, imageRef=None) scenario._create_floating_ip.assert_called_once_with( fake_floating_ip_pool.name) scenario._associate_floating_ip.assert_called_once_with( fake_server, fake_floating_ip) scenario.run_command.assert_called_once_with( fake_floating_ip.ip, 22, 'username', "interpreter", "script_path") mock_json_loads.assert_called_once_with('stdout') scenario._release_server_floating_ip.assert_called_once_with( fake_server, fake_floating_ip) scenario._delete_server.assert_called_once_with(fake_server)