Example #1
0
    def test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL(self):
        """ Create a redundant VPC with two networks with two VMs in each network """
        self.logger.debug(
            "Starting test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL")
        self.query_routers()
        net_off = get_default_network_offering(self.apiclient)
        self.networks.append(self.create_network(net_off, "10.1.1.1"))
        net_off_no_lb = get_default_network_offering_no_load_balancer(
            self.apiclient)
        self.networks.append(self.create_network(net_off_no_lb, "10.1.2.1"))
        self.check_routers_state()
        self.add_nat_rules()
        self.do_vpc_test(False)

        self.stop_router_by_type("MASTER")
        self.check_routers_state(1)
        self.do_vpc_test(False)

        self.delete_nat_rules()
        self.check_routers_state(count=1)
        self.do_vpc_test(True)
        self.delete_public_ip()

        self.start_routers()
        self.add_nat_rules()
        self.check_routers_state()
        self.do_vpc_test(False)
    def _test_04_rvpc_multi_tiers(self):
        """ Create a redundant VPC with 3 Tiers, 3 VMs, 3 PF rules"""
        self.logger.debug("Starting test_04_rvpc_multi_tiers")
        self.query_routers()

        net_off = get_default_network_offering(self.apiclient)
        network1 = self.create_network(net_off, "10.1.1.1", nr_vms=1)
        self.networks.append(network1)
        net_off_no_lb = get_default_network_offering_no_load_balancer(self.apiclient)
        self.networks.append(self.create_network(net_off_no_lb, "10.1.2.1", nr_vms=1))
        network2 = self.create_network(net_off_no_lb, "10.1.3.1", nr_vms=1)
        self.networks.append(network2)

        self.check_routers_state()
        self.add_nat_rules()
        self.do_vpc_test(False)

        self.destroy_vm(network1)
        network1.get_net().delete(self.apiclient)
        self.networks.remove(network1)

        self.check_routers_state(status_to_check="MASTER")
        self.do_vpc_test(False)

        self.destroy_vm(network2)
        network2.get_net().delete(self.apiclient)
        self.networks.remove(network2)

        self.check_routers_state(status_to_check="MASTER")
        self.do_vpc_test(False)
Example #3
0
    def test_04_rvpc_multi_tiers(self):
        """ Create a redundant VPC with 3 Tiers, 3 VMs, 3 PF rules"""
        self.logger.debug("Starting test_05_rvpc_multi_tiers")
        self.query_routers()

        net_off = get_default_network_offering(self.apiclient)
        network1 = self.create_network(net_off, "10.1.1.1", nr_vms=1)
        self.networks.append(network1)
        net_off_no_lb = get_default_network_offering_no_load_balancer(
            self.apiclient)
        self.networks.append(
            self.create_network(net_off_no_lb, "10.1.2.1", nr_vms=1))
        network2 = self.create_network(net_off_no_lb, "10.1.3.1", nr_vms=1)
        self.networks.append(network2)

        self.check_routers_state()
        self.add_nat_rules()
        self.do_vpc_test(False)

        self.destroy_vm(network1)
        network1.get_net().delete(self.apiclient)
        self.networks.remove(network1)

        self.check_routers_state(status_to_check="MASTER")
        self.do_vpc_test(False)

        self.destroy_vm(network2)
        network2.get_net().delete(self.apiclient)
        self.networks.remove(network2)

        self.check_routers_state(status_to_check="MASTER")
        self.do_vpc_test(False)
    def test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL(self):
        """ Create a redundant VPC with two networks with two VMs in each network """
        self.logger.debug("Starting test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL")
        self.query_routers()
        net_off = get_default_network_offering(self.apiclient)
        self.networks.append(self.create_network(net_off, "10.1.1.1"))
        net_off_no_lb = get_default_network_offering_no_load_balancer(self.apiclient)
        self.networks.append(self.create_network(net_off_no_lb, "10.1.2.1"))
        self.check_routers_state()
        self.add_nat_rules()
        self.do_vpc_test(False)

        self.stop_router_by_type("MASTER")
        self.check_routers_state(1)
        self.do_vpc_test(False)

        self.delete_nat_rules()
        self.check_routers_state(count=1)
        self.do_vpc_test(True)
        self.delete_public_ip()

        self.start_routers()
        self.add_nat_rules()
        self.check_routers_state()
        self.do_vpc_test(False)
Example #5
0
    def test_01_VPC_nics_after_destroy(self):
        """ Create a VPC with two networks with one VM in each network and test nics after destroy"""
        self.logger.debug("Starting test_01_VPC_nics_after_destroy")
        self.query_routers()

        net_off = get_default_network_offering(self.apiclient)
        net1 = self.create_network(net_off, "10.1.1.1")
        net_off_no_lb = get_default_network_offering_no_load_balancer(
            self.apiclient)
        net2 = self.create_network(net_off_no_lb, "10.1.2.1")

        self.networks.append(net1)
        self.networks.append(net2)

        self.add_nat_rules()
        self.check_ssh_into_vm()

        self.destroy_routers()
        time.sleep(30)

        net1.add_vm(self.deployvm_in_network(net1.get_net()))
        self.query_routers()

        self.add_nat_rules()
        self.check_ssh_into_vm()
    def test_01_single_VPC_iptables_policies(self):
        """ Test iptables default INPUT/FORWARD policies on VPC router """
        self.logger.debug("Starting test_01_single_VPC_iptables_policies")

        routers = self.entity_manager.query_routers()

        self.assertEqual(
            isinstance(routers, list), True,
            "Check for list routers response return valid data")

        net_off = get_default_network_offering(self.apiclient)
        self.entity_manager.create_network(net_off, self.vpc.id, "10.1.1.1")
        net_off_no_lb = get_default_network_offering_no_load_balancer(self.apiclient)
        self.entity_manager.create_network(net_off_no_lb, self.vpc.id, "10.1.2.1")

        self.entity_manager.add_nat_rules(self.vpc.id)
        self.entity_manager.do_vpc_test()

        for router in routers:
            if not router.isredundantrouter and router.vpcid:
                hosts = list_hosts(
                    self.apiclient,
                    id=router.hostid)
                self.assertEqual(
                    isinstance(hosts, list),
                    True,
                    "Check for list hosts response return valid data")

                host = hosts[0]
                host.user = self.services["configurableData"]["host"]["username"]
                host.passwd = self.services["configurableData"]["host"]["password"]
                host.port = self.services["configurableData"]["host"]["port"]
                tables = [self.services["configurableData"]["input"], self.services["configurableData"]["forward"]]

                for table in tables:
                    try:
                        result = get_process_status(
                            host.ipaddress,
                            host.port,
                            host.user,
                            host.passwd,
                            router.linklocalip,
                            'iptables -L %s' % table)
                    except KeyError:
                        self.skipTest(
                            "Provide a marvin config file with host\
                                    credentials to run %s" %
                            self._testMethodName)

                    self.logger.debug("iptables -L %s: %s" % (table, result))
                    res = str(result)

                    self.assertEqual(
                        res.count("policy DROP"),
                        1,
                        "%s Default Policy should be DROP" % table)
Example #7
0
    def test_01_single_VPC_iptables_policies(self):
        """ Test iptables default INPUT/FORWARD policies on VPC router """
        self.logger.debug("Starting test_01_single_VPC_iptables_policies")

        routers = self.entity_manager.query_routers()

        self.assertEqual(
            isinstance(routers, list), True,
            "Check for list routers response return valid data")

        net_off = get_default_network_offering(self.apiclient)
        self.entity_manager.create_network(net_off, self.vpc.id, "10.1.1.1")
        net_off_no_lb = get_default_network_offering_no_load_balancer(self.apiclient)
        self.entity_manager.create_network(net_off_no_lb, self.vpc.id, "10.1.2.1")

        self.entity_manager.add_nat_rules(self.vpc.id)
        self.entity_manager.do_vpc_test()

        for router in routers:
            if not router.isredundantrouter and router.vpcid:
                hosts = list_hosts(
                    self.apiclient,
                    id=router.hostid)
                self.assertEqual(
                    isinstance(hosts, list),
                    True,
                    "Check for list hosts response return valid data")

                host = hosts[0]
                host.user = self.services["configurableData"]["host"]["username"]
                host.passwd = self.services["configurableData"]["host"]["password"]
                host.port = self.services["configurableData"]["host"]["port"]
                tables = [self.services["configurableData"]["input"], self.services["configurableData"]["forward"]]

                for table in tables:
                    try:
                        result = get_process_status(
                            host.ipaddress,
                            host.port,
                            host.user,
                            host.passwd,
                            router.linklocalip,
                            'iptables -L %s' % table)
                    except KeyError:
                        self.skipTest(
                            "Provide a marvin config file with host\
                                    credentials to run %s" %
                            self._testMethodName)

                    self.logger.debug("iptables -L %s: %s" % (table, result))
                    res = str(result)

                    self.assertEqual(
                        res.count("DROP"),
                        1,
                        "%s Default Policy should be DROP" % table)
 def _test_02_redundant_VPC_default_routes(self):
     """ Create a redundant VPC with two networks with two VMs in each network and check default routes"""
     self.logger.debug("Starting test_02_redundant_VPC_default_routes")
     self.query_routers()
     net_off = get_default_network_offering(self.apiclient)
     self.networks.append(self.create_network(net_off, "10.1.1.1"))
     net_off_no_lb = get_default_network_offering_no_load_balancer(self.apiclient)
     self.networks.append(self.create_network(net_off_no_lb, "10.1.2.1"))
     self.check_routers_state()
     self.add_nat_rules()
     self.do_default_routes_test()
Example #9
0
 def test_02_redundant_VPC_default_routes(self):
     """ Create a redundant VPC with two networks with two VMs in each network and check default routes"""
     self.logger.debug("Starting test_02_redundant_VPC_default_routes")
     self.query_routers()
     net_off = get_default_network_offering(self.apiclient)
     self.networks.append(self.create_network(net_off, "10.1.1.1"))
     net_off_no_lb = get_default_network_offering_no_load_balancer(self.apiclient)
     self.networks.append(self.create_network(net_off_no_lb, "10.1.2.1"))
     self.check_routers_state()
     self.add_nat_rules()
     self.do_default_routes_test()
    def test_02_VPC_default_routes(self):
        """ Create a VPC with two networks with one VM in each network and test default routes"""
        self.logger.debug("Starting test_02_VPC_default_routes")
        self.query_routers()

        net_off = get_default_network_offering(self.apiclient)
        net1 = self.create_network(net_off, "10.1.1.1")
        net_off_no_lb = get_default_network_offering_no_load_balancer(self.apiclient)
        net2 = self.create_network(net_off_no_lb, "10.1.2.1")

        self.networks.append(net1)
        self.networks.append(net2)

        self.add_nat_rules()
        self.do_default_routes_test()
Example #11
0
    def test_02_VPC_default_routes(self):
        """ Create a VPC with two networks with one VM in each network and test default routes"""
        self.logger.debug("Starting test_02_VPC_default_routes")
        self.query_routers()

        net_off = get_default_network_offering(self.apiclient)
        net1 = self.create_network(net_off, "10.1.1.1")
        net_off_no_lb = get_default_network_offering_no_load_balancer(
            self.apiclient)
        net2 = self.create_network(net_off_no_lb, "10.1.2.1")

        self.networks.append(net1)
        self.networks.append(net2)

        self.add_nat_rules()
        self.do_default_routes_test()
    def test_01_VPC_nics_after_destroy(self):
        """ Create a VPC with two networks with one VM in each network and test nics after destroy"""
        self.logger.debug("Starting test_01_VPC_nics_after_destroy")
        self.query_routers()

        net_off = get_default_network_offering(self.apiclient)
        net1 = self.create_network(net_off, "10.1.1.1")
        net_off_no_lb = get_default_network_offering_no_load_balancer(self.apiclient)
        net2 = self.create_network(net_off_no_lb, "10.1.2.1")

        self.networks.append(net1)
        self.networks.append(net2)

        self.add_nat_rules()
        self.check_ssh_into_vm()

        self.destroy_routers()
        time.sleep(30)

        net1.add_vm(self.deployvm_in_network(net1.get_net()))
        self.query_routers()

        self.add_nat_rules()
        self.check_ssh_into_vm()