Add functional test for server add/remove volume.

Change-Id: I86a76f32790cafcff1d94364fb72f8890a8cb025
This commit is contained in:
Diwei Zhu 2021-11-26 14:11:02 +00:00
parent 4b3cdaf8b1
commit 28cd5763de
1 changed files with 59 additions and 0 deletions

View File

@ -1119,3 +1119,62 @@ class ServerTests(common.ComputeTestCase):
self.openstack('server delete ' + name)
self.openstack('port delete ' + port_name)
def test_server_add_remove_volume(self):
volume_wait_for = volume_common.BaseVolumeTests.wait_for_status
name = uuid.uuid4().hex
cmd_output = json.loads(self.openstack(
'server create -f json ' +
'--network private ' +
'--flavor ' + self.flavor_name + ' ' +
'--image ' + self.image_name + ' ' +
'--wait ' +
name
))
self.assertIsNotNone(cmd_output['id'])
self.assertEqual(name, cmd_output['name'])
self.addCleanup(self.openstack, 'server delete --wait ' + name)
server_id = cmd_output['id']
volume_name = uuid.uuid4().hex
cmd_output = json.loads(self.openstack(
'volume create -f json ' +
'--size 1 ' +
volume_name
))
self.assertIsNotNone(cmd_output['id'])
self.assertEqual(volume_name, cmd_output['name'])
volume_wait_for('volume', volume_name, 'available')
self.addCleanup(self.openstack, 'volume delete ' + volume_name)
volume_id = cmd_output['id']
cmd_output = json.loads(self.openstack(
'server add volume -f json ' +
name + ' ' +
volume_name + ' ' +
'--tag bar'
))
self.assertIsNotNone(cmd_output['ID'])
self.assertEqual(server_id, cmd_output['Server ID'])
self.assertEqual(volume_id, cmd_output['Volume ID'])
volume_attachment_id = cmd_output['ID']
cmd_output = json.loads(self.openstack(
'server volume list -f json ' +
name
))
self.assertEqual(volume_attachment_id, cmd_output[0]['ID'])
self.assertEqual(server_id, cmd_output[0]['Server ID'])
self.assertEqual(volume_id, cmd_output[0]['Volume ID'])
volume_wait_for('volume', volume_name, 'in-use')
self.openstack('server remove volume ' + name + ' ' + volume_name)
volume_wait_for('volume', volume_name, 'available')
raw_output = self.openstack('server volume list ' + name)
self.assertEqual('\n', raw_output)