You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pr...@apache.org on 2013/04/11 22:25:09 UTC
[30/34] git commit: updated refs/heads/master to 6137d32
affinitygroup bvt: changes to the bvt for affinity groups
Added tags for the test, base.py extensions for list, craete, delete and
fixes to the test
Signed-off-by: Prasanna Santhanam <ts...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9de7a68e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9de7a68e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9de7a68e
Branch: refs/heads/master
Commit: 9de7a68e922951d9a92c6f6ac3ae1f06199a943c
Parents: 7201eb9
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Apr 9 16:31:18 2013 +0530
Committer: Prachi Damle <pr...@cloud.com>
Committed: Thu Apr 11 13:23:39 2013 -0700
----------------------------------------------------------------------
test/integration/smoke/test_affinity_groups.py | 23 +++++++++--------
tools/marvin/marvin/integration/lib/base.py | 25 +++++++++++-------
2 files changed, 27 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9de7a68e/test/integration/smoke/test_affinity_groups.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_affinity_groups.py b/test/integration/smoke/test_affinity_groups.py
index 0d06e64..832c4a4 100644
--- a/test/integration/smoke/test_affinity_groups.py
+++ b/test/integration/smoke/test_affinity_groups.py
@@ -52,12 +52,12 @@ class Services:
# In MBs
},
"ostype": 'CentOS 5.3 (64-bit)',
- "mode": 'advanced',
"virtual_machine" : {
"affinity": {
"name": "webvms",
"type": "host anti-affinity",
- }
+ },
+ "hypervisor" : "XenServer",
}
}
@@ -98,19 +98,22 @@ class TestDeployVmWithAffinityGroup(cloudstackTestCase):
cls.services["service_offering"]
)
- cls.ag = AffinityGroup.create(cls.api_client, cls.services["virtual_machine"]["affinity"], domainid=cls.domain.id)
+ cls.ag = AffinityGroup.create(cls.api_client, cls.services["virtual_machine"]["affinity"],
+ account=cls.services["account"], domainid=cls.domain.id)
cls._cleanup = [
cls.service_offering,
- cls.disk_offering,
cls.account,
]
return
- @attr(tags=["simulator", "basic", "advanced"])
+ @attr(tags=["simulator", "basic", "advanced", "multihost"])
def test_DeployVmAntiAffinityGroup(self):
"""
- Deploys a couple of VMs in the same affinity group and verifies they are not on the same host
+ test DeployVM in anti-affinity groups
+
+ deploy VM1 and VM2 in the same host-anti-affinity groups
+ Verify that the vms are deployed on separate hosts
"""
#deploy VM1 in affinity group created in setUp
vm1 = VirtualMachine.create(
@@ -120,8 +123,7 @@ class TestDeployVmWithAffinityGroup(cloudstackTestCase):
accountid=self.account.account.name,
domainid=self.account.account.domainid,
serviceofferingid=self.service_offering.id,
- affinitygroupnames=self.ag.name,
- mode=self.services["mode"]
+ affinitygroupnames=[self.ag.name]
)
list_vm1 = list_virtual_machines(
@@ -154,12 +156,11 @@ class TestDeployVmWithAffinityGroup(cloudstackTestCase):
accountid=self.account.account.name,
domainid=self.account.account.domainid,
serviceofferingid=self.service_offering.id,
- affinitygroupnames=self.ag.name,
- mode=self.services["mode"]
+ affinitygroupnames=[self.ag.name]
)
list_vm2 = list_virtual_machines(
self.api_client,
- id=self.vm1.id
+ id=vm2.id
)
self.assertEqual(
isinstance(list_vm2, list),
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9de7a68e/tools/marvin/marvin/integration/lib/base.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base.py b/tools/marvin/marvin/integration/lib/base.py
index 8c7470e..d27ab3b 100644
--- a/tools/marvin/marvin/integration/lib/base.py
+++ b/tools/marvin/marvin/integration/lib/base.py
@@ -90,10 +90,7 @@ class Account:
cmd.firstname = services["firstname"]
cmd.lastname = services["lastname"]
- # Password Encoding
- mdf = hashlib.md5()
- mdf.update(services["password"])
- cmd.password = mdf.hexdigest()
+ cmd.password = services["password"]
cmd.username = "-".join([services["username"], random_gen()])
if domainid:
@@ -223,7 +220,7 @@ class VirtualMachine:
def create(cls, apiclient, services, templateid=None, accountid=None,
domainid=None, zoneid=None, networkids=None, serviceofferingid=None,
securitygroupids=None, projectid=None, startvm=None,
- diskofferingid=None, affinitygroupname=None, hostid=None, mode='basic'):
+ diskofferingid=None, affinitygroupnames=None, hostid=None, mode='basic'):
"""Create the instance"""
cmd = deployVirtualMachine.deployVirtualMachineCmd()
@@ -270,6 +267,8 @@ class VirtualMachine:
if "affinitygroupnames" in services:
cmd.affinitygroupnames = services["affinitygroupnames"]
+ elif affinitygroupnames:
+ cmd.affinitygroupnames = affinitygroupnames
if projectid:
cmd.projectid = projectid
@@ -2441,13 +2440,19 @@ class AffinityGroup:
agCmd.type = services['type']
agCmd.account = services['account'] if 'account' in services else account
agCmd.domainid = services['domainid'] if 'domainid' in services else domainid
+ return AffinityGroup(apiclient.createAffinityGroup(agCmd).__dict__)
- def update(self):
+ def update(self, apiclient):
pass
- def delete(self):
- pass
+ def delete(self, apiclient):
+ cmd = deleteAffinityGroup.deleteAffinityGroupCmd()
+ cmd.id = self.id
+ return apiclient.deleteVPC(cmd)
+
@classmethod
- def list(cls):
- pass
\ No newline at end of file
+ def list(cls, apiclient, **kwargs):
+ cmd = listAffinityGroups.listAffinityGroupsCmd()
+ [setattr(cmd, k, v) for k, v in kwargs.items()]
+ return(apiclient.listVPCs(cmd))