Merge "Add functional test cases for "volume qos associate/disassociate""
This commit is contained in:
commit
f88d2f53ba
@ -122,4 +122,96 @@ class QosTests(common.BaseVolumeTests):
|
|||||||
cmd_output['properties']
|
cmd_output['properties']
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO(qiangjiahui): Add tests for associate and disassociate volume type
|
def test_volume_qos_asso_disasso(self):
|
||||||
|
"""Tests associate and disassociate qos with volume type"""
|
||||||
|
vol_type1 = uuid.uuid4().hex
|
||||||
|
vol_type2 = uuid.uuid4().hex
|
||||||
|
cmd_output = json.loads(self.openstack(
|
||||||
|
'volume type create -f json ' +
|
||||||
|
vol_type1
|
||||||
|
))
|
||||||
|
self.assertEqual(
|
||||||
|
vol_type1,
|
||||||
|
cmd_output['name']
|
||||||
|
)
|
||||||
|
cmd_output = json.loads(self.openstack(
|
||||||
|
'volume type create -f json ' +
|
||||||
|
vol_type2
|
||||||
|
))
|
||||||
|
self.assertEqual(
|
||||||
|
vol_type2,
|
||||||
|
cmd_output['name']
|
||||||
|
)
|
||||||
|
self.addCleanup(self.openstack, 'volume type delete ' + vol_type1)
|
||||||
|
self.addCleanup(self.openstack, 'volume type delete ' + vol_type2)
|
||||||
|
|
||||||
|
name = uuid.uuid4().hex
|
||||||
|
cmd_output = json.loads(self.openstack(
|
||||||
|
'volume qos create -f json ' +
|
||||||
|
name
|
||||||
|
))
|
||||||
|
self.assertEqual(
|
||||||
|
name,
|
||||||
|
cmd_output['name']
|
||||||
|
)
|
||||||
|
self.addCleanup(self.openstack, 'volume qos delete ' + name)
|
||||||
|
|
||||||
|
# Test associate
|
||||||
|
raw_output = self.openstack(
|
||||||
|
'volume qos associate ' +
|
||||||
|
name + ' ' + vol_type1
|
||||||
|
)
|
||||||
|
self.assertOutput('', raw_output)
|
||||||
|
raw_output = self.openstack(
|
||||||
|
'volume qos associate ' +
|
||||||
|
name + ' ' + vol_type2
|
||||||
|
)
|
||||||
|
self.assertOutput('', raw_output)
|
||||||
|
|
||||||
|
cmd_output = json.loads(self.openstack(
|
||||||
|
'volume qos show -f json ' +
|
||||||
|
name
|
||||||
|
))
|
||||||
|
types = cmd_output["associations"]
|
||||||
|
self.assertIn(vol_type1, types)
|
||||||
|
self.assertIn(vol_type2, types)
|
||||||
|
|
||||||
|
# Test disassociate
|
||||||
|
raw_output = self.openstack(
|
||||||
|
'volume qos disassociate ' +
|
||||||
|
'--volume-type ' + vol_type1 +
|
||||||
|
' ' + name
|
||||||
|
)
|
||||||
|
self.assertOutput('', raw_output)
|
||||||
|
cmd_output = json.loads(self.openstack(
|
||||||
|
'volume qos show -f json ' +
|
||||||
|
name
|
||||||
|
))
|
||||||
|
types = cmd_output["associations"]
|
||||||
|
self.assertNotIn(vol_type1, types)
|
||||||
|
self.assertIn(vol_type2, types)
|
||||||
|
|
||||||
|
# Test disassociate --all
|
||||||
|
raw_output = self.openstack(
|
||||||
|
'volume qos associate ' +
|
||||||
|
name + ' ' + vol_type1
|
||||||
|
)
|
||||||
|
self.assertOutput('', raw_output)
|
||||||
|
cmd_output = json.loads(self.openstack(
|
||||||
|
'volume qos show -f json ' +
|
||||||
|
name
|
||||||
|
))
|
||||||
|
types = cmd_output["associations"]
|
||||||
|
self.assertIn(vol_type1, types)
|
||||||
|
self.assertIn(vol_type2, types)
|
||||||
|
|
||||||
|
raw_output = self.openstack(
|
||||||
|
'volume qos disassociate ' +
|
||||||
|
'--all ' + name
|
||||||
|
)
|
||||||
|
self.assertOutput('', raw_output)
|
||||||
|
cmd_output = json.loads(self.openstack(
|
||||||
|
'volume qos show -f json ' +
|
||||||
|
name
|
||||||
|
))
|
||||||
|
self.assertNotIn("associations", cmd_output.keys())
|
||||||
|
Loading…
Reference in New Issue
Block a user