4141 get_zone ,
4242 get_template ,
4343 list_routers )
44- from marvin .lib .utils import cleanup_resources
4544
4645
4746class Services :
@@ -384,13 +383,14 @@ def create_natrule(self, vm, public_ip, network, services=None):
384383 networkid = network .id ,
385384 vpcid = self .vpc .id
386385 )
387-
386+ self . cleanup . append ( nat_rule )
388387 self .debug ("Adding NetworkACL rules to make NAT rule accessible" )
389388 nwacl_nat = NetworkACL .create (self .apiclient ,
390389 networkid = network .id ,
391390 services = services ,
392391 traffictype = 'Ingress'
393392 )
393+ self .cleanup .append (nwacl_nat )
394394 self .debug ('nwacl_nat=%s' % nwacl_nat .__dict__ )
395395 return nat_rule
396396
@@ -403,6 +403,7 @@ def acquire_publicip(self, network):
403403 networkid = network .id ,
404404 vpcid = self .vpc .id
405405 )
406+ self .cleanup .append (public_ip )
406407 self .debug ("Associated %s with network %s" % (public_ip .ipaddress .ipaddress ,
407408 network .id
408409 ))
@@ -415,8 +416,7 @@ def create_vpc(self, cidr='10.1.2.1/16'):
415416 self .apiclient ,
416417 self .services ["vpc_offering" ]
417418 )
418-
419- self ._cleanup .append (vpc_off )
419+ self .cleanup .append (vpc_off )
420420 self .debug ("Enabling the VPC offering created" )
421421 vpc_off .update (self .apiclient , state = 'Enabled' )
422422
@@ -430,6 +430,7 @@ def create_vpc(self, cidr='10.1.2.1/16'):
430430 account = self .account .name ,
431431 domainid = self .account .domainid
432432 )
433+ self .cleanup .append (vpc )
433434 return vpc
434435
435436 def create_network (self , net_offerring , gateway = '10.1.1.1' , vpc = None ):
@@ -440,9 +441,9 @@ def create_network(self, net_offerring, gateway='10.1.1.1', vpc=None):
440441 net_offerring ,
441442 conservemode = False
442443 )
444+ self .cleanup .append (nw_off )
443445 # Enable Network offering
444446 nw_off .update (self .apiclient , state = 'Enabled' )
445- self ._cleanup .append (nw_off )
446447 self .debug ('Created and Enabled NetworkOffering' )
447448
448449 self .services ["network" ]["name" ] = "NETWORK-" + str (gateway )
@@ -456,6 +457,7 @@ def create_network(self, net_offerring, gateway='10.1.1.1', vpc=None):
456457 gateway = gateway ,
457458 vpcid = vpc .id if vpc else self .vpc .id
458459 )
460+ self .cleanup .append (obj_network )
459461 self .debug ("Created network with ID: %s" % obj_network .id )
460462 return obj_network
461463 except Exception as e :
@@ -473,6 +475,7 @@ def deployvm_in_network(self, network, host_id=None):
473475 networkids = [str (network .id )],
474476 hostid = host_id
475477 )
478+ self .cleanup .append (vm )
476479 self .debug ('Created VM=%s in network=%s' % (vm .id , network .name ))
477480
478481 return vm
@@ -497,6 +500,7 @@ def create_lbrule(self, public_ip, network, vmarray, services=None):
497500 vpcid = self .vpc .id ,
498501 domainid = self .account .domainid
499502 )
503+ self .cleanup .append (lb_rule )
500504 self .debug ("Adding virtual machines %s and %s to LB rule" % (vmarray ))
501505 lb_rule .assign (self .apiclient , vmarray )
502506 return lb_rule
@@ -509,13 +513,13 @@ def open_egress_to_world(self, network):
509513 services = self .services ["http_rule" ],
510514 traffictype = 'Ingress'
511515 )
516+ self .cleanup .append (nwacl_internet_1 )
512517
513518 return nwacl_internet_1
514519
515520 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
516521 def test_01_network_services_VPC_StopCreatePF (self ):
517522 """ Test : Create VPC PF rules on acquired public ip when VpcVirtualRouter is stopped
518- """
519523
520524 # Validate the following
521525 # 1. Create a VPC with cidr - 10.1.1.1/16
@@ -526,6 +530,7 @@ def test_01_network_services_VPC_StopCreatePF(self):
526530 # 6. Use the Create PF rule for vm in network1.
527531 # 7. Start VPC Virtual Router.
528532 # 8. Successfully ssh into the Guest VM using the PF rule
533+ """
529534
530535 network_1 = self .create_network (self .services ["network_offering" ])
531536 vm_1 = self .deployvm_in_network (network_1 )
@@ -535,6 +540,7 @@ def test_01_network_services_VPC_StopCreatePF(self):
535540 self .check_ssh_into_vm (vm_1 , public_ip_1 , testnegative = False )
536541 # remove the nat rule
537542 nat_rule .delete (self .apiclient )
543+ self .cleanup .remove (nat_rule )
538544
539545 router = self .stop_vpcrouter ()
540546 # recreate nat rule
@@ -546,7 +552,6 @@ def test_01_network_services_VPC_StopCreatePF(self):
546552 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
547553 def test_02_network_services_VPC_CreatePF (self ):
548554 """ Test Create VPC PF rules on acquired public ip when VpcVirtualRouter is Running
549- """
550555
551556 # Validate the following
552557 # 1. Create a VPC with cidr - 10.1.1.1/16
@@ -555,6 +560,7 @@ def test_02_network_services_VPC_CreatePF(self):
555560 # 4. Deploy vm1 in network1.
556561 # 5. Use the Create PF rule for vm in network1.
557562 # 6. Successfully ssh into the Guest VM using the PF rule
563+ """
558564
559565 network_1 = self .create_network (self .services ["network_offering" ])
560566 vm_1 = self .deployvm_in_network (network_1 )
@@ -566,7 +572,6 @@ def test_02_network_services_VPC_CreatePF(self):
566572 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
567573 def test_03_network_services_VPC_StopCreateMultiplePF (self ):
568574 """ Test Create multiple VPC PF rules on acquired public ip in diff't networks when VpcVirtualRouter is stopped
569- """
570575
571576 # Validate the following
572577 # 1. Create a VPC with cidr - 10.1.1.1/16
@@ -580,6 +585,7 @@ def test_03_network_services_VPC_StopCreateMultiplePF(self):
580585 # 9. Use the Create PF rule for vm2 in network2.
581586 # 10. Start VPC Virtual Router.
582587 # 11. Successfully ssh into the Guest VM1 and VM2 using the PF rule
588+ """
583589
584590 network_1 = self .create_network (self .services ["network_offering_no_lb" ])
585591 network_2 = self .create_network (self .services ["network_offering_no_lb" ], '10.1.2.1' )
@@ -602,7 +608,6 @@ def test_03_network_services_VPC_StopCreateMultiplePF(self):
602608 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
603609 def test_04_network_services_VPC_CreateMultiplePF (self ):
604610 """ Test Create multiple VPC PF rules on acquired public ip in diff't networks when VpcVirtualRouter is running
605- """
606611
607612 # Validate the following
608613 # 1. Create a VPC with cidr - 10.1.1.1/16
@@ -614,6 +619,7 @@ def test_04_network_services_VPC_CreateMultiplePF(self):
614619 # 7. Use the Create PF rule for vm1 in network1.
615620 # 8. Use the Create PF rule for vm2 in network2.
616621 # 9. Successfully ssh into the Guest VM1 and VM2 using the PF rule
622+ """
617623
618624 network_1 = self .create_network (self .services ["network_offering" ])
619625 network_2 = self .create_network (self .services ["network_offering_no_lb" ], '10.1.2.1' )
@@ -630,7 +636,6 @@ def test_04_network_services_VPC_CreateMultiplePF(self):
630636 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
631637 def test_05_network_services_VPC_StopDeletePF (self ):
632638 """ Test delete a PF rule in VPC when VpcVirtualRouter is Stopped
633- """
634639
635640 # Validate the following
636641 # 1. Create a VPC with cidr - 10.1.1.1/16
@@ -644,6 +649,7 @@ def test_05_network_services_VPC_StopDeletePF(self):
644649 # 9. Delete internet PF rule
645650 # 10. Start VPC Virtual Router.
646651 # 11. wget a file present on http server of VM1 should fail
652+ """
647653
648654 network_1 = self .create_network (self .services ["network_offering" ])
649655 vm_1 = self .deployvm_in_network (network_1 )
@@ -661,7 +667,6 @@ def test_05_network_services_VPC_StopDeletePF(self):
661667 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
662668 def test_06_network_services_VPC_DeletePF (self ):
663669 """ Test delete a PF rule in VPC when VpcVirtualRouter is Running
664- """
665670
666671 # Validate the following
667672 # 1. Create a VPC with cidr - 10.1.1.1/16
@@ -673,6 +678,7 @@ def test_06_network_services_VPC_DeletePF(self):
673678 # 7. Successfully wget a file on http server of VM1.
674679 # 9. Delete internet PF rule
675680 # 10. wget a file present on http server of VM1 should fail
681+ """
676682
677683 network_1 = self .create_network (self .services ["network_offering" ])
678684 vm_1 = self .deployvm_in_network (network_1 )
@@ -682,13 +688,13 @@ def test_06_network_services_VPC_DeletePF(self):
682688 self .check_ssh_into_vm (vm_1 , public_ip_1 , testnegative = False )
683689 self .check_wget_from_vm (vm_1 , public_ip_1 , testnegative = False )
684690 http_rule .delete (self .apiclient )
691+ self .cleanup .remove (http_rule )
685692 self .check_wget_from_vm (vm_1 , public_ip_1 , testnegative = True )
686693 return
687694
688695 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
689696 def test_07_network_services_VPC_StopDeleteAllPF (self ):
690697 """ Test delete all PF rules in VPC when VpcVirtualRouter is Stopped
691- """
692698
693699 # Validate the following
694700 # 1. Create a VPC with cidr - 10.1.1.1/16
@@ -703,6 +709,7 @@ def test_07_network_services_VPC_StopDeleteAllPF(self):
703709 # 10. Start VPC Virtual Router.
704710 # 11. wget a file present on http server of VM1 should fail
705711 # 12. ssh into Guest VM using the PF rule should fail
712+ """
706713
707714 network_1 = self .create_network (self .services ["network_offering" ])
708715 vm_1 = self .deployvm_in_network (network_1 )
@@ -723,7 +730,6 @@ def test_07_network_services_VPC_StopDeleteAllPF(self):
723730 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
724731 def test_08_network_services_VPC_DeleteAllPF (self ):
725732 """ Test delete all PF rules in VPC when VpcVirtualRouter is Running
726- """
727733
728734 # Validate the following
729735 # 1. Create a VPC with cidr - 10.1.1.1/16
@@ -736,6 +742,7 @@ def test_08_network_services_VPC_DeleteAllPF(self):
736742 # 8. Delete all PF rule
737743 # 9. wget a file present on http server of VM1 should fail
738744 # 10. ssh into Guest VM using the PF rule should fail
745+ """
739746
740747 network_1 = self .create_network (self .services ["network_offering" ])
741748 vm_1 = self .deployvm_in_network (network_1 )
@@ -745,7 +752,9 @@ def test_08_network_services_VPC_DeleteAllPF(self):
745752 self .check_ssh_into_vm (vm_1 , public_ip_1 , testnegative = False )
746753 self .check_wget_from_vm (vm_1 , public_ip_1 , testnegative = False )
747754 http_rule .delete (self .apiclient )
755+ self .cleanup .remove (http_rule )
748756 nat_rule .delete (self .apiclient )
757+ self .cleanup .remove (nat_rule )
749758 self .check_ssh_into_vm (vm_1 , public_ip_1 , testnegative = True )
750759 self .check_wget_from_vm (vm_1 , public_ip_1 , testnegative = True ,
751760 isVmAccessible = False , network = network_1 )
@@ -754,7 +763,6 @@ def test_08_network_services_VPC_DeleteAllPF(self):
754763 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
755764 def test_09_network_services_VPC_StopDeleteAllMultiplePF (self ):
756765 """ Test delete all PF rules in VPC across multiple networks when VpcVirtualRouter is Stopped
757- """
758766
759767 # Validate the following
760768 # 1. Create a VPC with cidr - 10.1.1.1/16.
@@ -771,6 +779,7 @@ def test_09_network_services_VPC_StopDeleteAllMultiplePF(self):
771779 # 12. Delete all PF rultes for vm1, vm2, vm3 and vm4.
772780 # 12. Start VPC Virtual Router.
773781 # 13. Fail to ssh and http to vm1, vm2, vm3 and vm4.
782+ """
774783
775784 network_1 = self .create_network (self .services ["network_offering" ])
776785 network_2 = self .create_network (self .services ["network_offering_no_lb" ], '10.1.2.1' )
@@ -800,13 +809,21 @@ def test_09_network_services_VPC_StopDeleteAllMultiplePF(self):
800809 self .check_wget_from_vm (vm_4 , public_ip_4 , testnegative = False )
801810 router = self .stop_vpcrouter ()
802811 nat_rule1 .delete (self .apiclient )
812+ self .cleanup .remove (nat_rule1 )
803813 nat_rule2 .delete (self .apiclient )
814+ self .cleanup .remove (nat_rule2 )
804815 nat_rule3 .delete (self .apiclient )
816+ self .cleanup .remove (nat_rule3 )
805817 nat_rule4 .delete (self .apiclient )
818+ self .cleanup .remove (nat_rule4 )
806819 http_rule1 .delete (self .apiclient )
820+ self .cleanup .remove (http_rule1 )
807821 http_rule2 .delete (self .apiclient )
822+ self .cleanup .remove (http_rule2 )
808823 http_rule3 .delete (self .apiclient )
824+ self .cleanup .remove (http_rule3 )
809825 http_rule4 .delete (self .apiclient )
826+ self .cleanup .remove (http_rule4 )
810827 self .start_vpcrouter (router )
811828 self .check_ssh_into_vm (vm_1 , public_ip_1 , testnegative = True )
812829 self .check_ssh_into_vm (vm_2 , public_ip_2 , testnegative = True )
@@ -825,7 +842,7 @@ def test_09_network_services_VPC_StopDeleteAllMultiplePF(self):
825842 @attr (tags = ["advanced" , "intervlan" ], required_hardware = "true" )
826843 def test_10_network_services_VPC_DeleteAllMultiplePF (self ):
827844 """ Test delete all PF rules in VPC across multiple networks when VpcVirtualRouter is Running
828- """
845+
829846 # Validate the following
830847 # 1. Create a VPC with cidr - 10.1.1.1/16.
831848 # 2. Create a Network offering - NO1 with all supported services.
@@ -839,6 +856,7 @@ def test_10_network_services_VPC_DeleteAllMultiplePF(self):
839856 # 10. Succesfully wget a file from http server present on vm1, vm2, vm3 and vm4.
840857 # 12. Delete all PF rultes for vm1, vm2, vm3 and vm4.
841858 # 13. Fail to ssh and http to vm1, vm2, vm3 and vm4.
859+ """
842860
843861 network_1 = self .create_network (self .services ["network_offering" ])
844862 network_2 = self .create_network (self .services ["network_offering_no_lb" ], '10.1.2.1' )
@@ -867,13 +885,21 @@ def test_10_network_services_VPC_DeleteAllMultiplePF(self):
867885 self .check_wget_from_vm (vm_3 , public_ip_3 , testnegative = False )
868886 self .check_wget_from_vm (vm_4 , public_ip_4 , testnegative = False )
869887 nat_rule1 .delete (self .apiclient )
888+ self .cleanup .remove (nat_rule1 )
870889 nat_rule2 .delete (self .apiclient )
890+ self .cleanup .remove (nat_rule2 )
871891 nat_rule3 .delete (self .apiclient )
892+ self .cleanup .remove (nat_rule3 )
872893 nat_rule4 .delete (self .apiclient )
894+ self .cleanup .remove (nat_rule4 )
873895 http_rule1 .delete (self .apiclient )
896+ self .cleanup .remove (http_rule1 )
874897 http_rule2 .delete (self .apiclient )
898+ self .cleanup .remove (http_rule2 )
875899 http_rule3 .delete (self .apiclient )
900+ self .cleanup .remove (http_rule3 )
876901 http_rule4 .delete (self .apiclient )
902+ self .cleanup .remove (http_rule4 )
877903 self .check_ssh_into_vm (vm_1 , public_ip_1 , testnegative = True )
878904 self .check_ssh_into_vm (vm_2 , public_ip_2 , testnegative = True )
879905 self .check_ssh_into_vm (vm_3 , public_ip_3 , testnegative = True )
0 commit comments