fix bug on booting server from volume

The arg of image must be None,when booting server from volume.
Otherwise still boot server from image

Change-Id: I348c5971f2375f8de08b9fd8f021ea09906ff844
Closes-Bug: #1578556
This commit is contained in:
chenhb-zte 2016-05-05 14:30:58 -04:00
parent 109f43367c
commit 037f3ae69e
2 changed files with 20 additions and 1 deletions

View File

@ -292,7 +292,7 @@ class NovaServers(utils.NovaScenario,
"""
volume = self._create_volume(volume_size, imageRef=image)
block_device_mapping = {"vda": "%s:::1" % volume.id}
self._boot_server(image, flavor, auto_assign_nic=auto_assign_nic,
self._boot_server(None, flavor, auto_assign_nic=auto_assign_nic,
block_device_mapping=block_device_mapping,
**kwargs)

View File

@ -320,6 +320,25 @@ class NovaServersTestCase(test.ScenarioTestCase):
scenario.list_servers(True)
scenario._list_servers.assert_called_once_with(True)
def test_boot_server_from_volume(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")
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, auto_assign_nic=False,
fakearg="f")
scenario._create_volume.assert_called_once_with(5, imageRef="img")
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_server_from_volume_and_delete(self):
fake_server = object()
scenario = servers.NovaServers(self.context)