You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by sa...@apache.org on 2016/02/24 11:30:00 UTC
[1/2] git commit: updated refs/heads/master to 8df8094
Repository: cloudstack
Updated Branches:
refs/heads/master 4480d0515 -> 8df8094a0
CLOUDSTACK-9140: Testcase to verify if Dedicated cluster is used for virtual routers that belong to non dedicated account
--Adding verification steps to make sure that vm and VR are being
deployed on dedicated cluster
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/764afb49
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/764afb49
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/764afb49
Branch: refs/heads/master
Commit: 764afb49fe7b489de626c6e4d9d7e1e7fb8b40b3
Parents: 3ded3e9
Author: Priti Sarap <pr...@clogeny.com>
Authored: Fri Dec 11 15:47:21 2015 +0530
Committer: Priti Sarap <pr...@clogeny.com>
Committed: Wed Feb 17 12:36:44 2016 +0530
----------------------------------------------------------------------
.../maint/testpath_disable_enable_zone.py | 199 ++++++++++++++++++-
1 file changed, 196 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/764afb49/test/integration/component/maint/testpath_disable_enable_zone.py
----------------------------------------------------------------------
diff --git a/test/integration/component/maint/testpath_disable_enable_zone.py b/test/integration/component/maint/testpath_disable_enable_zone.py
index a15173e..1537fc5 100644
--- a/test/integration/component/maint/testpath_disable_enable_zone.py
+++ b/test/integration/component/maint/testpath_disable_enable_zone.py
@@ -21,6 +21,11 @@ from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import cloudstackTestCase
from marvin.lib.utils import (cleanup_resources,
validateList)
+from marvin.cloudstackAPI import (dedicateCluster,
+ listDedicatedClusters,
+ releaseDedicatedCluster,
+ listAffinityGroups)
+
from marvin.lib.base import (Account,
VirtualMachine,
ServiceOffering,
@@ -40,7 +45,10 @@ from marvin.lib.common import (get_domain,
get_template,
list_volumes,
list_snapshots,
- get_builtin_template_info
+ get_builtin_template_info,
+ list_routers,
+ list_virtual_machines,
+ list_hosts
)
from marvin.cloudstackAPI import (updateZone,
@@ -280,7 +288,7 @@ class TestDisableEnableZone(cloudstackTestCase):
self.testdata["privatetemplate"]["hypervisor"] = builtin_info[1]
self.testdata["privatetemplate"]["format"] = builtin_info[2]
"""
- //commenting it for now will uncomment once expected behaviour is known
+ //commenting it for now will uncomment once expected behaviour is known
Template.register(
self.apiclient,
self.testdata["privatetemplate"],
@@ -295,7 +303,7 @@ class TestDisableEnableZone(cloudstackTestCase):
diskofferingid=self.disk_offering.id
)
"""
- //commenting it for now will uncomment once expected behaviour is known
+ //commenting it for now will uncomment once expected behaviour is known
Iso.create(
self.apiclient,
self.testdata["iso2"],
@@ -1691,3 +1699,188 @@ class TestDisableEnableHost(cloudstackTestCase):
)
return
+
+
+class TestClusterDedication(cloudstackTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ testClient = super(TestClusterDedication, cls).getClsTestClient()
+ cls.apiclient = testClient.getApiClient()
+ cls.testdata = testClient.getParsedTestDataConfig()
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
+
+ # Get Zone, Domain and templates
+ cls.domain = get_domain(cls.apiclient)
+ cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
+
+ cls.template = get_template(
+ cls.apiclient,
+ cls.zone.id,
+ cls.testdata["ostype"])
+
+ cls.Skiptest = False
+ cls._cleanup = []
+ cls.clusters = Cluster.list(cls.apiclient, zoneid=cls.zone.id)
+ if len(cls.clusters) < 2:
+ cls.Skiptest = True
+
+ try:
+ # Create an account
+ cls.account_1 = Account.create(
+ cls.apiclient,
+ cls.testdata["account"],
+ domainid=cls.domain.id
+ )
+
+ cls._cleanup.append(cls.account_1)
+
+ cls.account_2 = Account.create(
+ cls.apiclient,
+ cls.testdata["account"],
+ domainid=cls.domain.id
+ )
+
+ cls._cleanup.append(cls.account_2)
+ # Create user api client of the account
+ cls.userapiclient_1 = testClient.getUserApiClient(
+ UserName=cls.account_1.name,
+ DomainName=cls.account_1.domain
+ )
+ cls.userapiclient_2 = testClient.getUserApiClient(
+ UserName=cls.account_2.name,
+ DomainName=cls.account_2.domain
+ )
+
+ # Create Service offering
+ cls.service_offering = ServiceOffering.create(
+ cls.apiclient,
+ cls.testdata["service_offering"],
+ )
+ cls._cleanup.append(cls.service_offering)
+
+ cls.disk_offering = DiskOffering.create(
+ cls.apiclient,
+ cls.testdata["disk_offering"],
+ )
+
+ cls._cleanup.append(cls.disk_offering)
+
+ except Exception as e:
+ cls.tearDownClass()
+ raise e
+ return
+
+ @classmethod
+ def tearDownClass(cls):
+ try:
+ cleanup_resources(cls.apiclient, cls._cleanup)
+ except Exception as e:
+ raise Exception("Warning: Exception during cleanup : %s" % e)
+
+ def setUp(self):
+
+ if self.Skiptest:
+ self.skipTest("Insufficient clusters to run the test")
+
+ self.apiclient = self.testClient.getApiClient()
+ self.dbclient = self.testClient.getDbConnection()
+ self.cleanup = []
+
+ def tearDown(self):
+ try:
+ listClusterscmd = listDedicatedClusters.listDedicatedClustersCmd()
+ listClusterscmd.clusterid = self.clusters[0].id
+ ret_list = self.apiclient.listDedicatedClusters(listClusterscmd)
+ if ret_list:
+ dedicateCmd = releaseDedicatedCluster.\
+ releaseDedicatedClusterCmd()
+ dedicateCmd.clusterid = self.clusters[0].id
+ self.apiclient.releaseDedicatedCluster(dedicateCmd)
+
+ cleanup_resources(self.apiclient, self.cleanup)
+ except Exception as e:
+ raise Exception("Warning: Exception during cleanup : %s" % e)
+ return
+
+ @attr(tags=["basic", "advanced"], required_hardware="false")
+ def test_01_dedicated_cluster_allocation(self):
+ """ Dedicated cluster and router allocation
+ 1. Dedicate a cluster to one account
+ 2. Deploy a VM on dedicated account
+ 3. Deploy another VM on another account.
+ 4. Verify the dedicated cluster is not used for
+ virtual routers that belong to non-dedicated account
+ """
+
+ # Step 1
+ dedicateCmd = dedicateCluster.dedicateClusterCmd()
+ dedicateCmd.clusterid = self.clusters[0].id
+ dedicateCmd.domainid = self.domain.id
+ dedicateCmd.account = self.account_1.name
+ self.apiclient.dedicateCluster(dedicateCmd)
+
+ afcmd = listAffinityGroups.listAffinityGroupsCmd()
+ afcmd.account = self.account_1.name
+ afcmd.domainid = self.account_1.domainid
+ affinitygr_list = self.apiclient.listAffinityGroups(afcmd)
+
+ # Step 2
+ self.vm = VirtualMachine.create(
+ self.userapiclient_1,
+ self.testdata["small"],
+ templateid=self.template.id,
+ accountid=self.account_1.name,
+ domainid=self.account_1.domainid,
+ serviceofferingid=self.service_offering.id,
+ affinitygroupids=[affinitygr_list[0].id],
+ zoneid=self.zone.id,
+ mode=self.zone.networktype
+ )
+ # Steps to verify if VM is created on dedicated account
+ vmlist = list_virtual_machines(self.apiclient,
+ id=self.vm.id)
+
+ hostlist = list_hosts(self.apiclient,
+ id=vmlist[0].hostid)
+
+ self.assertEqual(hostlist[0].clusterid,
+ self.clusters[0].id,
+ "check if vm gets deployed on dedicated clusture"
+ )
+ # Step 3
+ self.vm_1 = VirtualMachine.create(
+ self.userapiclient_2,
+ self.testdata["small"],
+ templateid=self.template.id,
+ accountid=self.account_2.name,
+ domainid=self.account_2.domainid,
+ serviceofferingid=self.service_offering.id,
+ zoneid=self.zone.id,
+ mode=self.zone.networktype
+ )
+
+ # Steps to verify if VM is created on dedicated account
+ vmlist_1 = list_virtual_machines(self.apiclient,
+ id=self.vm_1.id)
+
+ hostlist_1 = list_hosts(self.apiclient,
+ id=vmlist_1[0].hostid)
+
+ self.assertNotEqual(hostlist_1[0].clusterid,
+ self.clusters[0].id,
+ "check if vm gets deployed on correct clusture"
+ )
+
+ # Step 4
+ routerList = list_routers(self.apiclient,
+ clusterid=self.clusters[0].id,
+ networkid=self.vm_1.nic[0].networkid
+ )
+ self.assertEqual(
+ routerList,
+ None,
+ "Check Dedicated cluster is used for virtual routers \
+ that belong to non-dedicated account")
+
+ return
[2/2] git commit: updated refs/heads/master to 8df8094
Posted by sa...@apache.org.
Merge pull request #1218 from pritisarap12/CLOUDSTACK-9140-Testcase-to-verify-if-Dedicated-cluster-is-used-for-virtual-routers-that-belong-to-non-dedicated-account
CLOUDSTACK-9140: Testcase to verify if Dedicated cluster is used for virtual routers that belong to non dedicated account
* pr/1218:
CLOUDSTACK-9140: Testcase to verify if Dedicated cluster is used for virtual routers that belong to non dedicated account --Adding verification steps to make sure that vm and VR are being deployed on dedicated cluster
Signed-off-by: sanjeev <sa...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8df8094a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8df8094a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8df8094a
Branch: refs/heads/master
Commit: 8df8094a01d1bb0c78c6ec88ee23f37d2dd0f914
Parents: 4480d05 764afb4
Author: sanjeev <sa...@apache.org>
Authored: Wed Feb 24 15:59:10 2016 +0530
Committer: sanjeev <sa...@apache.org>
Committed: Wed Feb 24 15:59:17 2016 +0530
----------------------------------------------------------------------
.../maint/testpath_disable_enable_zone.py | 199 ++++++++++++++++++-
1 file changed, 196 insertions(+), 3 deletions(-)
----------------------------------------------------------------------