Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B5F2818911 for ; Wed, 3 Feb 2016 09:01:20 +0000 (UTC) Received: (qmail 26961 invoked by uid 500); 3 Feb 2016 09:01:16 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 26905 invoked by uid 500); 3 Feb 2016 09:01:16 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 26894 invoked by uid 99); 3 Feb 2016 09:01:16 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2016 09:01:16 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 2DBADDFC8F; Wed, 3 Feb 2016 09:01:16 +0000 (UTC) From: sanju1010 To: dev@cloudstack.apache.org Reply-To: dev@cloudstack.apache.org References: In-Reply-To: Subject: [GitHub] cloudstack pull request: CLOUDSTACK-9140: Testcase to verify if De... Content-Type: text/plain Message-Id: <20160203090116.2DBADDFC8F@git1-us-west.apache.org> Date: Wed, 3 Feb 2016 09:01:16 +0000 (UTC) Github user sanju1010 commented on a diff in the pull request: https://github.com/apache/cloudstack/pull/1218#discussion_r51693967 --- Diff: test/integration/component/maint/testpath_disable_enable_zone.py --- @@ -1691,3 +1696,159 @@ def test_01_disable_enable_host(self): ) 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) + + # 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, + zoneid=self.zone.id, + mode=self.zone.networktype + ) + --- End diff -- Can you please add few verification steps to make sure that vm and VR are being deployed on dedicated cluster when deploying with dedicated account? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastructure@apache.org or file a JIRA ticket with INFRA. ---