Skip to content

Commit 942fc98

Browse files
Gaurav AradhyeGirish Shilamkar
authored andcommitted
CLOUDSTACK-6887: Code enhancement to ensure better cleanup
1 parent e65b746 commit 942fc98

5 files changed

Lines changed: 125 additions & 122 deletions

File tree

test/integration/component/test_accounts.py

Lines changed: 44 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,8 @@ def setUpClass(cls):
272272
cls.services["account"]
273273
)
274274

275-
cls._cleanup = [
276-
cls.service_offering,
275+
cls._cleanup = [cls.account,
276+
cls.service_offering,
277277
]
278278
return
279279

@@ -774,6 +774,13 @@ def setUpClass(cls):
774774
domainid=cls.domain_2.id
775775
)
776776

777+
cls._cleanup = [
778+
cls.account_2,
779+
cls.domain_2,
780+
cls.account_1,
781+
cls.domain_1,
782+
]
783+
777784
builtin_info = get_builtin_template_info(cls.api_client, cls.zone.id)
778785
cls.services["template"]["url"] = builtin_info[0]
779786
cls.services["template"]["hypervisor"] = builtin_info[1]
@@ -794,14 +801,6 @@ def setUpClass(cls):
794801

795802
# Wait for template status to be changed across
796803
time.sleep(60)
797-
798-
cls._cleanup = [
799-
cls.account_2,
800-
cls.domain_2,
801-
cls.template,
802-
cls.account_1,
803-
cls.domain_1,
804-
]
805804
return
806805

807806
@classmethod
@@ -927,6 +926,13 @@ def setUpClass(cls):
927926
cls.services["service_offering"],
928927
domainid=cls.domain.id
929928
)
929+
930+
cls._cleanup = [
931+
cls.account_2,
932+
cls.account_1,
933+
cls.sub_domain,
934+
cls.service_offering
935+
]
930936
cls.template = get_template(
931937
cls.api_client,
932938
cls.zone.id,
@@ -950,12 +956,6 @@ def setUpClass(cls):
950956
domainid=cls.account_2.domainid,
951957
serviceofferingid=cls.service_offering.id
952958
)
953-
cls._cleanup = [
954-
cls.account_2,
955-
cls.account_1,
956-
cls.sub_domain,
957-
cls.service_offering
958-
]
959959
return
960960

961961
@classmethod
@@ -1574,16 +1574,17 @@ def test_forceDeleteDomain(self):
15741574
domainid=domain.id
15751575
)
15761576

1577-
self.debug("Creating a tiny service offering for VM deployment")
1578-
self.service_offering = ServiceOffering.create(
1577+
try:
1578+
self.debug("Creating a tiny service offering for VM deployment")
1579+
self.service_offering = ServiceOffering.create(
15791580
self.apiclient,
15801581
self.services["service_offering"],
15811582
domainid=self.domain.id
15821583
)
15831584

1584-
self.debug("Deploying virtual machine in account 1: %s" %
1585+
self.debug("Deploying virtual machine in account 1: %s" %
15851586
self.account_1.name)
1586-
vm_1 = VirtualMachine.create(
1587+
vm_1 = VirtualMachine.create(
15871588
self.apiclient,
15881589
self.services["virtual_machine"],
15891590
templateid=self.template.id,
@@ -1592,9 +1593,9 @@ def test_forceDeleteDomain(self):
15921593
serviceofferingid=self.service_offering.id
15931594
)
15941595

1595-
self.debug("Deploying virtual machine in account 2: %s" %
1596+
self.debug("Deploying virtual machine in account 2: %s" %
15961597
self.account_2.name)
1597-
vm_2 = VirtualMachine.create(
1598+
VirtualMachine.create(
15981599
self.apiclient,
15991600
self.services["virtual_machine"],
16001601
templateid=self.template.id,
@@ -1603,67 +1604,71 @@ def test_forceDeleteDomain(self):
16031604
serviceofferingid=self.service_offering.id
16041605
)
16051606

1606-
networks = Network.list(
1607+
networks = Network.list(
16071608
self.apiclient,
16081609
account=self.account_1.name,
16091610
domainid=self.account_1.domainid,
16101611
listall=True
16111612
)
1612-
self.assertEqual(
1613+
self.assertEqual(
16131614
isinstance(networks, list),
16141615
True,
16151616
"List networks should return a valid response"
16161617
)
1617-
network_1 = networks[0]
1618-
self.debug("Default network in account 1: %s is %s" % (
1618+
network_1 = networks[0]
1619+
self.debug("Default network in account 1: %s is %s" % (
16191620
self.account_1.name,
16201621
network_1.name))
1621-
src_nat_list = PublicIPAddress.list(
1622+
src_nat_list = PublicIPAddress.list(
16221623
self.apiclient,
16231624
associatednetworkid=network_1.id,
16241625
account=self.account_1.name,
16251626
domainid=self.account_1.domainid,
16261627
listall=True,
16271628
issourcenat=True,
16281629
)
1629-
self.assertEqual(
1630+
self.assertEqual(
16301631
isinstance(src_nat_list, list),
16311632
True,
16321633
"List Public IP should return a valid source NAT"
16331634
)
1634-
self.assertNotEqual(
1635+
self.assertNotEqual(
16351636
len(src_nat_list),
16361637
0,
16371638
"Length of response from listPublicIp should not be 0"
16381639
)
16391640

1640-
src_nat = src_nat_list[0]
1641+
src_nat = src_nat_list[0]
16411642

1642-
self.debug(
1643-
"Trying to create a port forwarding rule in source NAT: %s" %
1643+
self.debug(
1644+
"Trying to create a port forwarding rule in source NAT: %s" %
16441645
src_nat.ipaddress)
1645-
#Create NAT rule
1646-
nat_rule = NATRule.create(
1646+
#Create NAT rule
1647+
nat_rule = NATRule.create(
16471648
self.apiclient,
16481649
vm_1,
16491650
self.services["natrule"],
16501651
ipaddressid=src_nat.id
16511652
)
1652-
self.debug("Created PF rule on source NAT: %s" % src_nat.ipaddress)
1653+
self.debug("Created PF rule on source NAT: %s" % src_nat.ipaddress)
16531654

1654-
nat_rules = NATRule.list(self.apiclient, id=nat_rule.id)
1655+
nat_rules = NATRule.list(self.apiclient, id=nat_rule.id)
16551656

1656-
self.assertEqual(
1657+
self.assertEqual(
16571658
isinstance(nat_rules, list),
16581659
True,
16591660
"List NAT should return a valid port forwarding rules"
16601661
)
16611662

1662-
self.assertNotEqual(
1663+
self.assertNotEqual(
16631664
len(nat_rules),
16641665
0,
16651666
"Length of response from listLbRules should not be 0"
16661667
)
1668+
except Exception as e:
1669+
self.clenaup.append(self.account_1)
1670+
self.cleanup.append(self.account_2)
1671+
self.fail(e)
16671672

16681673
self.debug("Deleting domain with force option")
16691674
try:
@@ -1760,7 +1765,7 @@ def test_DeleteDomain(self):
17601765

17611766
self.debug("Deploying virtual machine in account 2: %s" %
17621767
self.account_2.name)
1763-
vm_2 = VirtualMachine.create(
1768+
VirtualMachine.create(
17641769
self.apiclient,
17651770
self.services["virtual_machine"],
17661771
templateid=self.template.id,

0 commit comments

Comments
 (0)