diff --git a/test/integration/component/test_netscaler_configs.py b/test/integration/component/test_netscaler_configs.py index bcea254d4fe..2ae642982f0 100644 --- a/test/integration/component/test_netscaler_configs.py +++ b/test/integration/component/test_netscaler_configs.py @@ -1239,21 +1239,21 @@ class TestNetScalerCustomCapacity(cloudstackTestCase): self.network_3 = Network.create( self.apiclient, self.services["network"], - accountid=self.account_3.account.name, - domainid=self.account_3.account.domainid, + accountid=self.account_3.name, + domainid=self.account_3.domainid, networkofferingid=self.network_offering.id, zoneid=self.zone.id ) self.debug("Created network with ID: %s" % self.network_3.id) - self.debug("Deploying VM in account: %s" % self.account_3.account.name) + self.debug("Deploying VM in account: %s" % self.account_3.name) with self.assertRaises(Exception): # Spawn an instance in that network virtual_machine_3 = VirtualMachine.create( self.apiclient, self.services["virtual_machine"], - accountid=self.account_3.account.name, - domainid=self.account_3.account.domainid, + accountid=self.account_3.name, + domainid=self.account_3.domainid, serviceofferingid=self.service_offering.id, networkids=[str(self.network_3.id)] ) @@ -1513,21 +1513,21 @@ class TestNetScalerNoCapacity(cloudstackTestCase): self.network_3 = Network.create( self.apiclient, self.services["network"], - accountid=self.account_3.account.name, - domainid=self.account_3.account.domainid, + accountid=self.account_3.name, + domainid=self.account_3.domainid, networkofferingid=self.network_offering.id, zoneid=self.zone.id ) self.debug("Created network with ID: %s" % self.network_3.id) - self.debug("Deploying VM in account: %s" % self.account_3.account.name) + self.debug("Deploying VM in account: %s" % self.account_3.name) with self.assertRaises(Exception): # Spawn an instance in that network virtual_machine_3 = VirtualMachine.create( self.apiclient, self.services["virtual_machine"], - accountid=self.account_3.account.name, - domainid=self.account_3.account.domainid, + accountid=self.account_3.name, + domainid=self.account_3.domainid, serviceofferingid=self.service_offering.id, networkids=[str(self.network_3.id)] ) diff --git a/test/integration/component/test_netscaler_lb.py b/test/integration/component/test_netscaler_lb.py index 3942f943b64..901e8a76c61 100644 --- a/test/integration/component/test_netscaler_lb.py +++ b/test/integration/component/test_netscaler_lb.py @@ -145,7 +145,6 @@ class Services: "mode": 'advanced' } - class TestLbSourceNat(cloudstackTestCase): @classmethod @@ -162,26 +161,28 @@ class TestLbSourceNat(cloudstackTestCase): cls.api_client, cls.zone.id, cls.services["ostype"] - ) - - cls.network_offering = NetworkOffering.create( + ) + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id - - cls.service_offering = ServiceOffering.create( + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.service_offering, - cls.network_offering, - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -354,7 +355,6 @@ class TestLbSourceNat(cloudstackTestCase): ) return - class TestLbOnIpWithPf(cloudstackTestCase): @classmethod @@ -372,25 +372,28 @@ class TestLbOnIpWithPf(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.service_offering, - cls.network_offering, - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -583,25 +586,28 @@ class TestPfOnIpWithLb(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.service_offering, - cls.network_offering, - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -795,25 +801,28 @@ class TestLbOnNonSourceNat(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=False ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.service_offering, - cls.network_offering, - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -1010,25 +1019,28 @@ class TestAddMultipleVmsLb(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.service_offering, - cls.network_offering, - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -1270,7 +1282,6 @@ class TestAddMultipleVmsLb(cloudstackTestCase): (self.services["netscaler"]["ipaddress"], e)) return - class TestMultipleLbRules(cloudstackTestCase): @classmethod @@ -1288,25 +1299,29 @@ class TestMultipleLbRules(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.service_offering, - cls.network_offering, - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) + return @classmethod @@ -1604,25 +1619,28 @@ class TestMultipleLbRulesSameIp(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.service_offering, - cls.network_offering - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -1913,6 +1931,7 @@ class TestLoadBalancingRule(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestLoadBalancingRule, cls @@ -1926,30 +1945,32 @@ class TestLoadBalancingRule(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls.account = Account.create( + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - - # Creating network using the network offering created - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + # Creating network using the network offering created + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -1958,8 +1979,8 @@ class TestLoadBalancingRule(cloudstackTestCase): zoneid=cls.zone.id ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -1967,24 +1988,23 @@ class TestLoadBalancingRule(cloudstackTestCase): serviceofferingid=cls.service_offering.id, networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls.lb_rule = LoadBalancerRule.create( + cls.lb_rule = LoadBalancerRule.create( cls.api_client, cls.services["lbrule"], ipaddressid=cls.public_ip.ipaddress.id, accountid=cls.account.name, networkid=cls.network.id ) - cls._cleanup = [ - cls.service_offering, - cls.account - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -2136,6 +2156,7 @@ class TestDeleteCreateLBRule(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestDeleteCreateLBRule, cls @@ -2149,30 +2170,31 @@ class TestDeleteCreateLBRule(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id - - cls.service_offering = ServiceOffering.create( + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls.account = Account.create( + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - - # Creating network using the network offering created - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + # Creating network using the network offering created + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -2181,8 +2203,8 @@ class TestDeleteCreateLBRule(cloudstackTestCase): zoneid=cls.zone.id ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -2190,17 +2212,16 @@ class TestDeleteCreateLBRule(cloudstackTestCase): serviceofferingid=cls.service_offering.id, networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls._cleanup = [ - cls.service_offering, - cls.account - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -2275,6 +2296,7 @@ class TestVmWithLb(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestVmWithLb, cls @@ -2288,30 +2310,32 @@ class TestVmWithLb(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls.account = Account.create( + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - - # Creating network using the network offering created - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + # Creating network using the network offering created + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -2320,8 +2344,8 @@ class TestVmWithLb(cloudstackTestCase): zoneid=cls.zone.id ) - # Spawn an instance in that network - cls.vm_1 = VirtualMachine.create( + # Spawn an instance in that network + cls.vm_1 = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -2329,7 +2353,7 @@ class TestVmWithLb(cloudstackTestCase): serviceofferingid=cls.service_offering.id, networkids=[str(cls.network.id)] ) - cls.vm_2 = VirtualMachine.create( + cls.vm_2 = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -2337,38 +2361,37 @@ class TestVmWithLb(cloudstackTestCase): serviceofferingid=cls.service_offering.id, networkids=[str(cls.network.id)] ) - cls.public_ip_1 = PublicIPAddress.create( + cls.public_ip_1 = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls.lb_rule_1 = LoadBalancerRule.create( + cls.lb_rule_1 = LoadBalancerRule.create( cls.api_client, cls.services["lbrule"], ipaddressid=cls.public_ip_1.ipaddress.id, accountid=cls.account.name, networkid=cls.network.id ) - cls.public_ip_2 = PublicIPAddress.create( + cls.public_ip_2 = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls.lb_rule_2 = LoadBalancerRule.create( + cls.lb_rule_2 = LoadBalancerRule.create( cls.api_client, cls.services["lbrule"], ipaddressid=cls.public_ip_2.ipaddress.id, accountid=cls.account.name, networkid=cls.network.id ) - cls._cleanup = [ - cls.service_offering, - cls.account - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod diff --git a/test/integration/component/test_netscaler_lb_algo.py b/test/integration/component/test_netscaler_lb_algo.py index 477bd69643a..80332288260 100644 --- a/test/integration/component/test_netscaler_lb_algo.py +++ b/test/integration/component/test_netscaler_lb_algo.py @@ -129,26 +129,28 @@ class TestLbWithRoundRobin(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id - - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.network_offering, - cls.service_offering - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -341,27 +343,30 @@ class TestLbWithLeastConn(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) - cls._cleanup = [ - cls.network_offering, - cls.service_offering - ] return @classmethod @@ -562,25 +567,28 @@ class TestLbWithSourceIp(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup = [ + cls.netscaler + ] + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls._cleanup = [ - cls.network_offering, - cls.service_offering - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -761,6 +769,7 @@ class TestLbAlgoRrLc(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestLbAlgoRrLc, cls @@ -774,20 +783,24 @@ class TestLbAlgoRrLc(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.account = Account.create( + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -795,16 +808,16 @@ class TestLbAlgoRrLc(cloudstackTestCase): networkofferingid=cls.network_offering.id, zoneid=cls.zone.id ) - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -812,17 +825,16 @@ class TestLbAlgoRrLc(cloudstackTestCase): serviceofferingid=cls.service_offering.id, networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls._cleanup = [ - cls.account, - cls.service_offering - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -973,6 +985,7 @@ class TestLbAlgoLcRr(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestLbAlgoLcRr, cls @@ -986,20 +999,24 @@ class TestLbAlgoLcRr(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.account = Account.create( + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -1007,16 +1024,16 @@ class TestLbAlgoLcRr(cloudstackTestCase): networkofferingid=cls.network_offering.id, zoneid=cls.zone.id ) - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -1024,17 +1041,16 @@ class TestLbAlgoLcRr(cloudstackTestCase): serviceofferingid=cls.service_offering.id, networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls._cleanup = [ - cls.account, - cls.service_offering - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -1182,6 +1198,7 @@ class TestLbAlgoRrSb(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestLbAlgoRrSb, cls @@ -1195,20 +1212,24 @@ class TestLbAlgoRrSb(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.account = Account.create( + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -1216,16 +1237,16 @@ class TestLbAlgoRrSb(cloudstackTestCase): networkofferingid=cls.network_offering.id, zoneid=cls.zone.id ) - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -1234,17 +1255,16 @@ class TestLbAlgoRrSb(cloudstackTestCase): networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls._cleanup = [ - cls.account, - cls.service_offering - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -1394,6 +1414,7 @@ class TestLbAlgoSbRr(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestLbAlgoSbRr, cls @@ -1407,21 +1428,25 @@ class TestLbAlgoSbRr(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') - cls.account = Account.create( + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -1429,16 +1454,16 @@ class TestLbAlgoSbRr(cloudstackTestCase): networkofferingid=cls.network_offering.id, zoneid=cls.zone.id ) - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -1447,16 +1472,16 @@ class TestLbAlgoSbRr(cloudstackTestCase): networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls._cleanup = [ - cls.account - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -1608,6 +1633,7 @@ class TestLbAlgoSbLc(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestLbAlgoSbLc, cls @@ -1621,21 +1647,25 @@ class TestLbAlgoSbLc(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') - cls.account = Account.create( + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -1643,16 +1673,16 @@ class TestLbAlgoSbLc(cloudstackTestCase): networkofferingid=cls.network_offering.id, zoneid=cls.zone.id ) - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -1661,17 +1691,16 @@ class TestLbAlgoSbLc(cloudstackTestCase): networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls._cleanup = [ - cls.service_offering, - cls.account - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod @@ -1822,6 +1851,7 @@ class TestLbAlgoLcSb(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestLbAlgoLcSb, cls @@ -1835,21 +1865,25 @@ class TestLbAlgoLcSb(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') - cls.account = Account.create( + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -1857,16 +1891,16 @@ class TestLbAlgoLcSb(cloudstackTestCase): networkofferingid=cls.network_offering.id, zoneid=cls.zone.id ) - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -1874,17 +1908,16 @@ class TestLbAlgoLcSb(cloudstackTestCase): serviceofferingid=cls.service_offering.id, networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls._cleanup = [ - cls.account, - cls.service_offering - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod diff --git a/test/integration/component/test_netscaler_lb_sticky.py b/test/integration/component/test_netscaler_lb_sticky.py index 1edfd7ba783..a3a18ec26d9 100644 --- a/test/integration/component/test_netscaler_lb_sticky.py +++ b/test/integration/component/test_netscaler_lb_sticky.py @@ -116,6 +116,7 @@ class TestLbStickyPolicy(cloudstackTestCase): @classmethod def setUpClass(cls): + cls._cleanup = [] cls.api_client = super( TestLbStickyPolicy, cls @@ -129,30 +130,32 @@ class TestLbStickyPolicy(cloudstackTestCase): cls.zone.id, cls.services["ostype"] ) - - cls.network_offering = NetworkOffering.create( + try: + cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, cls.services) + cls._cleanup.append(cls.netscaler) + cls.network_offering = NetworkOffering.create( cls.api_client, cls.services["network_offering"], conservemode=True ) - # Enable Network offering - cls.network_offering.update(cls.api_client, state='Enabled') - cls.services["virtual_machine"]["zoneid"] = cls.zone.id - cls.services["virtual_machine"]["template"] = cls.template.id + # Enable Network offering + cls.network_offering.update(cls.api_client, state='Enabled') + cls.services["virtual_machine"]["zoneid"] = cls.zone.id + cls.services["virtual_machine"]["template"] = cls.template.id - cls.service_offering = ServiceOffering.create( + cls.service_offering = ServiceOffering.create( cls.api_client, cls.services["service_offering"] ) - cls.account = Account.create( + cls.account = Account.create( cls.api_client, cls.services["account"], admin=True, domainid=cls.domain.id ) - - # Creating network using the network offering created - cls.network = Network.create( + cls._cleanup.insert(0,cls.account) + # Creating network using the network offering created + cls.network = Network.create( cls.api_client, cls.services["network"], accountid=cls.account.name, @@ -161,8 +164,8 @@ class TestLbStickyPolicy(cloudstackTestCase): zoneid=cls.zone.id ) - # Spawn an instance in that network - cls.virtual_machine = VirtualMachine.create( + # Spawn an instance in that network + cls.virtual_machine = VirtualMachine.create( cls.api_client, cls.services["virtual_machine"], accountid=cls.account.name, @@ -170,17 +173,16 @@ class TestLbStickyPolicy(cloudstackTestCase): serviceofferingid=cls.service_offering.id, networkids=[str(cls.network.id)] ) - cls.public_ip = PublicIPAddress.create( + cls.public_ip = PublicIPAddress.create( cls.api_client, accountid=cls.account.name, zoneid=cls.zone.id, domainid=cls.account.domainid, networkid=cls.network.id ) - cls._cleanup = [ - cls.service_offering, - cls.account - ] + except Exception as e: + cls.tearDownClass() + raise Exception ("Warning: Exception in setUpClass: %s" % e) return @classmethod diff --git a/tools/marvin/marvin/integration/lib/common.py b/tools/marvin/marvin/integration/lib/common.py index 4f5acef1a3a..7e8d92d6864 100644 --- a/tools/marvin/marvin/integration/lib/common.py +++ b/tools/marvin/marvin/integration/lib/common.py @@ -59,6 +59,35 @@ def wait_for_cleanup(apiclient, configs=None): time.sleep(int(config_desc.value)) return +def add_netscaler(apiclient, zoneid, services=None): + """ Adds Netscaler device and enables NS provider""" + + cmd = listPhysicalNetworks.listPhysicalNetworksCmd() + cmd.zoneid = zoneid + physical_networks = apiclient.listPhysicalNetworks(cmd) + if isinstance(physical_networks, list): + physical_network = physical_networks[0] + + netscaler = NetScaler.add( + apiclient, + services["netscaler"], + physicalnetworkid=physical_network.id + ) + + cmd = listNetworkServiceProviders.listNetworkServiceProvidersCmd() + cmd.name = 'Netscaler' + cmd.physicalnetworkid=physical_network.id + nw_service_providers = apiclient.listNetworkServiceProviders(cmd) + + if isinstance(nw_service_providers, list): + netscaler_provider = nw_service_providers[0] + if netscaler_provider.state != 'Enabled': + cmd = updateNetworkServiceProvider.updateNetworkServiceProviderCmd() + cmd.id = netscaler_provider.id + cmd.state = 'Enabled' + response = apiclient.updateNetworkServiceProvider(cmd) + + return netscaler def get_domain(apiclient, services=None): "Returns a default domain"