This is an automated email from the ASF dual-hosted git repository.
weizhou pushed a commit to branch 4.18
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.18 by this push:
new da7fc72c660 Refactoring StorPool's smoke tests (#7392)
da7fc72c660 is described below
commit da7fc72c660b13f1a491c10503df299a195b71bf
Author: slavkap <[email protected]>
AuthorDate: Wed Aug 2 09:37:37 2023 +0300
Refactoring StorPool's smoke tests (#7392)
* Removed the hardcoded StorPool endpoint from tests
- removed the hardcoded enpoint of StorPool primary storage from tests
- added the git commit information into the maven build
* Convert indents to spaces
* update git-commit-id-plugin version
---
plugins/storage/volume/storpool/pom.xml | 34 ++++++++++++++++++++++
.../plugins/storpool/MigrateVolumeToStorPool.py | 19 ++++++------
.../plugins/storpool/TestStorPoolVolumes.py | 23 ++++++++-------
.../plugins/storpool/TestTagsOnStorPool.py | 18 +++++++-----
.../plugins/storpool/TestVmSnapshots.py | 16 +++++-----
test/integration/plugins/storpool/sp_util.py | 6 ++++
6 files changed, 82 insertions(+), 34 deletions(-)
diff --git a/plugins/storage/volume/storpool/pom.xml
b/plugins/storage/volume/storpool/pom.xml
index 418643079d7..ee4c5cfb6f0 100644
--- a/plugins/storage/volume/storpool/pom.xml
+++ b/plugins/storage/volume/storpool/pom.xml
@@ -61,6 +61,11 @@
<artifactId>mockito-inline</artifactId>
<version>4.7.0</version>
</dependency>
+ <dependency>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git-commit-id-plugin</artifactId>
+ <version>4.9.10</version>
+ </dependency>
</dependencies>
<build>
<plugins>
@@ -78,6 +83,35 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git-commit-id-plugin</artifactId>
+ <version>4.9.10</version>
+ <executions>
+ <execution>
+ <id>get-the-git-infos</id>
+ <goals>
+ <goal>revision</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
+ <prefix>git</prefix>
+ <verbose>false</verbose>
+ <generateGitPropertiesFile>true</generateGitPropertiesFile>
+
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
+ <format>json</format>
+ <excludeProperties>
+ <excludeProperty>git.*.email</excludeProperty>
+ </excludeProperties>
+ <gitDescribe>
+ <skip>false</skip>
+ <always>false</always>
+ <dirty>-dirty</dirty>
+ </gitDescribe>
+ </configuration>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/test/integration/plugins/storpool/MigrateVolumeToStorPool.py
b/test/integration/plugins/storpool/MigrateVolumeToStorPool.py
index a7f87d9fa87..5babdca094e 100644
--- a/test/integration/plugins/storpool/MigrateVolumeToStorPool.py
+++ b/test/integration/plugins/storpool/MigrateVolumeToStorPool.py
@@ -78,10 +78,19 @@ class TestMigrateVolumeToAnotherPool(cloudstackTestCase):
@classmethod
def setUpCloudStack(cls):
- cls.spapi = spapi.Api(host="10.2.23.248", port="81",
auth="6549874687", multiCluster=True)
+ config = cls.getClsConfig()
+ StorPoolHelper.logger = cls
+
+ zone = config.zones[0]
+ assert zone is not None
+
+ cls.spapi = spapi.Api(host=zone.spEndpoint, port=zone.spEndpointPort,
auth=zone.spAuthToken, multiCluster=True)
testClient = super(TestMigrateVolumeToAnotherPool,
cls).getClsTestClient()
cls.apiclient = testClient.getApiClient()
+ cls.zone = list_zones(cls.apiclient, name=zone.name)[0]
+ assert cls.zone is not None
+
cls._cleanup = []
cls.unsupportedHypervisor = False
@@ -93,14 +102,6 @@ class TestMigrateVolumeToAnotherPool(cloudstackTestCase):
cls.services = testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
cls.domain = get_domain(cls.apiclient)
- cls.zone = None
- zones = list_zones(cls.apiclient)
-
- for z in zones:
- if z.name == cls.getClsConfig().mgtSvr[0].zone:
- cls.zone = z
-
- assert cls.zone is not None
td = TestData()
cls.testdata = td.testdata
diff --git a/test/integration/plugins/storpool/TestStorPoolVolumes.py
b/test/integration/plugins/storpool/TestStorPoolVolumes.py
index 68e2a705440..640a2f9d2bc 100644
--- a/test/integration/plugins/storpool/TestStorPoolVolumes.py
+++ b/test/integration/plugins/storpool/TestStorPoolVolumes.py
@@ -77,6 +77,13 @@ class TestStoragePool(cloudstackTestCase):
@classmethod
def setUpCloudStack(cls):
+ config = cls.getClsConfig()
+ StorPoolHelper.logger = cls
+
+ zone = config.zones[0]
+ assert zone is not None
+
+ cls.spapi = spapi.Api(host=zone.spEndpoint, port=zone.spEndpointPort,
auth=zone.spAuthToken, multiCluster=True)
testClient = super(TestStoragePool, cls).getClsTestClient()
cls._cleanup = []
@@ -94,20 +101,16 @@ class TestStoragePool(cloudstackTestCase):
# Get Zone, Domain and templates
cls.domain = get_domain(cls.apiclient)
- cls.zone = None
- zones = list_zones(cls.apiclient)
-
- for z in zones:
- if z.name == cls.getClsConfig().mgtSvr[0].zone:
- cls.zone = z
-
+ cls.zone = list_zones(cls.apiclient, name=zone.name)[0]
+ cls.debug(cls.zone)
+ cls.debug(list_zones(cls.apiclient, name=zone.name))
assert cls.zone is not None
cls.sp_template_1 = "ssd"
storpool_primary_storage = {
"name" : cls.sp_template_1,
"zoneid": cls.zone.id,
- "url":
"SP_API_HTTP=10.2.23.248:81;SP_AUTH_TOKEN=6549874687;SP_TEMPLATE=%s" %
cls.sp_template_1,
+ "url": "SP_API_HTTP=%s:%s;SP_AUTH_TOKEN=%s;SP_TEMPLATE=%s" %
(zone.spEndpoint, zone.spEndpointPort, zone.spAuthToken, cls.sp_template_1),
"scope": "zone",
"capacitybytes": 564325555333,
"capacityiops": 155466,
@@ -117,8 +120,6 @@ class TestStoragePool(cloudstackTestCase):
}
cls.storpool_primary_storage = storpool_primary_storage
- host, port, auth = cls.getCfgFromUrl(url =
storpool_primary_storage["url"])
- cls.spapi = spapi.Api(host=host, port=port, auth=auth,
multiCluster=True)
storage_pool = list_storage_pools(
cls.apiclient,
@@ -166,7 +167,7 @@ class TestStoragePool(cloudstackTestCase):
storpool_primary_storage2 = {
"name" : cls.sp_template_2,
"zoneid": cls.zone.id,
- "url":
"SP_API_HTTP=10.2.23.248:81;SP_AUTH_TOKEN=6549874687;SP_TEMPLATE=%s" %
cls.sp_template_2,
+ "url": "SP_API_HTTP=%s:%s;SP_AUTH_TOKEN=%s;SP_TEMPLATE=%s" %
(zone.spEndpoint, zone.spEndpointPort, zone.spAuthToken, cls.sp_template_2),
"scope": "zone",
"capacitybytes": 564325555333,
"capacityiops": 1554,
diff --git a/test/integration/plugins/storpool/TestTagsOnStorPool.py
b/test/integration/plugins/storpool/TestTagsOnStorPool.py
index 554e905d2f3..6d13e2081d9 100644
--- a/test/integration/plugins/storpool/TestTagsOnStorPool.py
+++ b/test/integration/plugins/storpool/TestTagsOnStorPool.py
@@ -77,7 +77,13 @@ class TestStoragePool(cloudstackTestCase):
@classmethod
def setUpCloudStack(cls):
- cls.spapi = spapi.Api(host="10.2.23.248", port="81",
auth="6549874687", multiCluster=True)
+ config = cls.getClsConfig()
+ StorPoolHelper.logger = cls
+
+ zone = config.zones[0]
+ assert zone is not None
+
+ cls.spapi = spapi.Api(host=zone.spEndpoint, port=zone.spEndpointPort,
auth=zone.spAuthToken, multiCluster=True)
testClient = super(TestStoragePool, cls).getClsTestClient()
cls.apiclient = testClient.getApiClient()
cls.unsupportedHypervisor = False
@@ -91,12 +97,10 @@ class TestStoragePool(cloudstackTestCase):
cls.services = testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
cls.domain = get_domain(cls.apiclient)
- cls.zone = None
- zones = list_zones(cls.apiclient)
-
- for z in zones:
- if z.name == cls.getClsConfig().mgtSvr[0].zone:
- cls.zone = z
+ cls.zone = list_zones(cls.apiclient, name=zone.name)[0]
+ cls.debug(cls.zone)
+ cls.debug(list_zones(cls.apiclient, name=zone.name))
+ assert cls.zone is not None
assert cls.zone is not None
diff --git a/test/integration/plugins/storpool/TestVmSnapshots.py
b/test/integration/plugins/storpool/TestVmSnapshots.py
index b1daa93edad..ab35c076b4e 100644
--- a/test/integration/plugins/storpool/TestVmSnapshots.py
+++ b/test/integration/plugins/storpool/TestVmSnapshots.py
@@ -60,6 +60,12 @@ class TestVmSnapshot(cloudstackTestCase):
@classmethod
def setUpCloudStack(cls):
+ config = cls.getClsConfig()
+ StorPoolHelper.logger = cls
+
+ zone = config.zones[0]
+ assert zone is not None
+
testClient = super(TestVmSnapshot, cls).getClsTestClient()
cls.apiclient = testClient.getApiClient()
cls._cleanup = []
@@ -74,13 +80,9 @@ class TestVmSnapshot(cloudstackTestCase):
cls.services = testClient.getParsedTestDataConfig()
# Get Zone, Domain and templates
cls.domain = get_domain(cls.apiclient)
- cls.zone = None
- zones = list_zones(cls.apiclient)
-
- for z in zones:
- if z.name == cls.getClsConfig().mgtSvr[0].zone:
- cls.zone = z
-
+ cls.zone = list_zones(cls.apiclient, name=zone.name)[0]
+ cls.debug(cls.zone)
+ cls.debug(list_zones(cls.apiclient, name=zone.name))
assert cls.zone is not None
cls.cluster = list_clusters(cls.apiclient)[0]
diff --git a/test/integration/plugins/storpool/sp_util.py
b/test/integration/plugins/storpool/sp_util.py
index 6517841354a..569aa4a2539 100644
--- a/test/integration/plugins/storpool/sp_util.py
+++ b/test/integration/plugins/storpool/sp_util.py
@@ -301,6 +301,12 @@ class TestData():
},
}
class StorPoolHelper():
+ def setUpClass(cls):
+ cls.logger = None
+
+ @classmethod
+ def logging(cls):
+ return cls.logger
@classmethod
def create_template_from_snapshot(self, apiclient, services,
snapshotid=None, volumeid=None):