Add sotrage balance tempest
Change-Id: I7de3ac990f3d9cb149be5fba5b2fd722d67f8441
This commit is contained in:
parent
289c3caa64
commit
f0cd7aa165
|
@ -13,6 +13,8 @@
|
|||
voting: false
|
||||
- watcher-tempest-host_maintenance:
|
||||
voting: false
|
||||
- watcher-tempest-storage_balance:
|
||||
voting: false
|
||||
- watcher-tempest-workload_balancing:
|
||||
voting: false
|
||||
- watcher-tempest-zone_migration:
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
# under the License.
|
||||
|
||||
from tempest.common import compute
|
||||
from tempest.common import image as common_image
|
||||
from tempest.common import waiters
|
||||
from tempest import config
|
||||
from tempest.lib.common.utils import data_utils
|
||||
|
@ -28,7 +29,7 @@ CONF = config.CONF
|
|||
class ScenarioTest(tempest.test.BaseTestCase):
|
||||
"""Base class for scenario tests. Uses tempest own clients. """
|
||||
|
||||
credentials = ['primary']
|
||||
credentials = ['primary', 'admin']
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
|
@ -199,17 +200,26 @@ class ScenarioTest(tempest.test.BaseTestCase):
|
|||
server = clients.servers_client.show_server(body['id'])['server']
|
||||
return server
|
||||
|
||||
def create_volume(self, name=None, image_id=None, size=None,
|
||||
def create_volume(self, name=None, imageRef=None, size=None,
|
||||
volume_type=None, clients=None):
|
||||
|
||||
if clients is None:
|
||||
clients = self.os_primary
|
||||
|
||||
if imageRef:
|
||||
if CONF.image_feature_enabled.api_v1:
|
||||
resp = self.image_client.check_image(imageRef)
|
||||
image = common_image.get_image_meta_from_headers(resp)
|
||||
else:
|
||||
image = self.image_client.show_image(imageRef)
|
||||
min_disk = image.get('min_disk')
|
||||
size = max(size, min_disk)
|
||||
|
||||
if name is None:
|
||||
name = data_utils.rand_name(self.__class__.__name__ + "-volume")
|
||||
volumes_client = clients.volumes_client_latest
|
||||
params = {'name': name,
|
||||
'imageRef': image_id,
|
||||
'imageRef': imageRef,
|
||||
'volume_type': volume_type,
|
||||
'size': size or CONF.volume.volume_size}
|
||||
volume = volumes_client.create_volume(**params)['volume']
|
||||
|
@ -225,12 +235,12 @@ class ScenarioTest(tempest.test.BaseTestCase):
|
|||
|
||||
def create_volume_type(self, clients=None, name=None, backend_name=None):
|
||||
if clients is None:
|
||||
clients = self.os_primary
|
||||
clients = self.os_admin
|
||||
if name is None:
|
||||
class_name = self.__class__.__name__
|
||||
name = data_utils.rand_name(class_name + '-volume-type')
|
||||
|
||||
volumes_client = clients.volumes_client_latest
|
||||
volumes_client = clients.volume_types_client_latest
|
||||
extra_specs = {}
|
||||
if backend_name:
|
||||
extra_specs = {"volume_backend_name": backend_name}
|
||||
|
|
|
@ -50,9 +50,10 @@ class TestExecuteStorageCapacityBalanceStrategy(
|
|||
|
||||
def test_execute_storage_capacity_balance(self):
|
||||
"""Execute the storage capacity balance strategy"""
|
||||
self.create_volume(size=2)
|
||||
self.create_volume(size=2)
|
||||
self.create_volume(size=1)
|
||||
self.create_volume(imageRef=CONF.compute.image_ref, size=3)
|
||||
self.create_volume(imageRef=CONF.compute.image_ref, size=3)
|
||||
self.create_volume(imageRef=CONF.compute.image_ref, size=3)
|
||||
self.create_volume(imageRef=CONF.compute.image_ref)
|
||||
audit_parameters = {"volume_threshold": 25}
|
||||
|
||||
_, goal = self.client.show_goal(self.GOAL)
|
||||
|
|
Loading…
Reference in New Issue