Exemplo n.º 1
0
    def separate_db_service_add_delete_node(self):
        """Add and delete database node

        Scenario:
            1. Revert snapshot separate_db_service
            2. Add one database node and re-deploy cluster
            3. Run network verification
            4. Run OSTF
            5. Check hiera hosts are the same for
               different group of roles
            6. Delete one database node
            7. Run network verification
            8. Run ostf
            9. Check hiera hosts are the same for
               different group of roles

        Duration 30m
        """
        self.env.revert_snapshot("separate_db_service")
        cluster_id = self.fuel_web.get_last_created_cluster()

        node = {'slave-09': ['standalone-database']}
        self.fuel_web.update_nodes(cluster_id, node, True, False)

        self.fuel_web.deploy_cluster_wait(cluster_id)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id,
                               test_sets=['sanity', 'smoke', 'ha'])

        checkers.check_hiera_hosts(
            self.fuel_web.client.list_cluster_nodes(cluster_id),
            cmd='hiera memcache_roles')

        database_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
            cluster_id, ['standalone-database'])
        logger.debug("database nodes are {0}".format(database_nodes))
        checkers.check_hiera_hosts(database_nodes, cmd='hiera corosync_roles')

        nailgun_node = self.fuel_web.update_nodes(cluster_id, node, False,
                                                  True)
        nodes = [
            _node for _node in nailgun_node
            if _node["pending_deletion"] is True
        ]
        self.fuel_web.deploy_cluster_wait(cluster_id, check_services=False)
        wait(lambda: self.fuel_web.is_node_discovered(nodes[0]),
             timeout=6 * 60)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id,
                               test_sets=['sanity', 'smoke', 'ha'])

        checkers.check_hiera_hosts(
            self.fuel_web.client.list_cluster_nodes(cluster_id),
            cmd='hiera memcache_roles')

        database_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
            cluster_id, ['standalone-database'])
        logger.debug("database nodes are {0}".format(database_nodes))
        checkers.check_hiera_hosts(database_nodes, cmd='hiera corosync_roles')
Exemplo n.º 2
0
    def separate_db_service_add_delete_node(self):
        """Add and delete database node

        Scenario:
            1. Revert snapshot separate_db_service
            2. Add one databse node and re-deploy cluster
            3. Run network verification
            4. Run OSTF
            5. Check hiera hosts are the same for
               different group of roles
            6. Delete one database node
            7. Run network verification
            8. Run ostf
            9. Check hiera hosts are the same for
               different group of roles

        Duration 30m
        """
        self.env.revert_snapshot("separate_db_service")
        cluster_id = self.fuel_web.get_last_created_cluster()

        node = {"slave-09": ["standalone-database"]}
        self.fuel_web.update_nodes(cluster_id, node, True, False)

        self.fuel_web.deploy_cluster_wait(cluster_id)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id, test_sets=["sanity", "smoke", "ha"])

        checkers.check_hiera_hosts(
            self, self.fuel_web.client.list_cluster_nodes(cluster_id), cmd="hiera memcache_roles"
        )

        database_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(cluster_id, ["standalone-database"])
        logger.debug("database nodes are {0}".format(database_nodes))
        checkers.check_hiera_hosts(self, database_nodes, cmd="hiera corosync_roles")

        nailgun_node = self.fuel_web.update_nodes(cluster_id, node, False, True)
        nodes = filter(lambda x: x["pending_deletion"] is True, nailgun_node)
        self.fuel_web.deploy_cluster_wait(cluster_id, check_services=False)
        wait(lambda: self.fuel_web.is_node_discovered(nodes[0]), timeout=6 * 60)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id, test_sets=["sanity", "smoke", "ha"])

        checkers.check_hiera_hosts(
            self, self.fuel_web.client.list_cluster_nodes(cluster_id), cmd="hiera memcache_roles"
        )

        database_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(cluster_id, ["standalone-database"])
        logger.debug("database nodes are {0}".format(database_nodes))
        checkers.check_hiera_hosts(self, database_nodes, cmd="hiera corosync_roles")
Exemplo n.º 3
0
    def separate_rabbit_service_add_delete_node(self):
        """Add and delete rabbit node

        Scenario:
            1. Revert snapshot separate_rabbit_service
            2. Add one rabbit node and re-deploy cluster
            3. Run network verification
            4. Run OSTF
            5. Check hiera hosts are the same for
               different group of roles
            6. Delete one rabbit node
            7. Run network verification
            8. Run ostf
            9. Check hiera hosts are the same for
               different group of roles

        Duration 120m
        """
        self.env.revert_snapshot("separate_rabbit_service")
        cluster_id = self.fuel_web.get_last_created_cluster()

        node = {'slave-09': ['standalone-rabbitmq']}
        self.fuel_web.update_nodes(
            cluster_id, node, True, False)

        self.fuel_web.deploy_cluster_wait(cluster_id)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id,
                               test_sets=['sanity', 'smoke', 'ha'])
        checkers.check_hiera_hosts(
            self.fuel_web.client.list_cluster_nodes(cluster_id),
            cmd='hiera amqp_hosts')

        checkers.check_hiera_hosts(
            self.fuel_web.client.list_cluster_nodes(cluster_id),
            cmd='hiera memcache_roles')

        rabbit_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
            cluster_id, ['standalone-rabbitmq'])
        logger.debug("rabbit nodes are {0}".format(rabbit_nodes))
        checkers.check_hiera_hosts(
            rabbit_nodes,
            cmd='hiera corosync_roles')

        nailgun_node = self.fuel_web.update_nodes(cluster_id, node,
                                                  False, True)
        nodes = [_node for _node in nailgun_node
                 if _node["pending_deletion"] is True]
        self.fuel_web.deploy_cluster_wait(cluster_id)
        wait(lambda: self.fuel_web.is_node_discovered(nodes[0]),
             timeout=6 * 60)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id,
                               test_sets=['sanity', 'smoke', 'ha'])
        checkers.check_hiera_hosts(
            self.fuel_web.client.list_cluster_nodes(cluster_id),
            cmd='hiera amqp_hosts')

        checkers.check_hiera_hosts(
            self.fuel_web.client.list_cluster_nodes(cluster_id),
            cmd='hiera memcache_roles')

        rabbit_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
            cluster_id, ['standalone-rabbitmq'])
        logger.debug("rabbit nodes are {0}".format(rabbit_nodes))
        checkers.check_hiera_hosts(
            rabbit_nodes,
            cmd='hiera corosync_roles')
Exemplo n.º 4
0
    def separate_keystone_service_add_delete_node(self):
        """Add and delete keystone node

        Scenario:
            1. Revert snapshot separate_keystone_service
            2. Add one keystone node and re-deploy cluster
            3. Run network verification
            4. Run OSTF
            5. Check hiera hosts are the same for
               different group of roles
            6. Delete one keystone node
            7. Run network verification
            8. Run ostf
            9. Check hiera hosts are the same for
               different group of roles

        Duration 30m
        """
        self.env.revert_snapshot("separate_keystone_service")
        cluster_id = self.fuel_web.get_last_created_cluster()

        node = {'slave-09': ['standalone-keystone']}
        self.fuel_web.update_nodes(
            cluster_id, node, True, False)

        self.fuel_web.deploy_cluster_wait(cluster_id)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id,
                               test_sets=['sanity', 'smoke', 'ha'])

        keystone_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
            cluster_id, ['standalone-keystone'])
        logger.debug("keystone nodes are {0}".format(keystone_nodes))
        checkers.check_hiera_hosts(
            self, keystone_nodes,
            cmd='hiera memcache_roles')

        other_nodes = []
        for role in ['compute', 'cinder', 'controller']:
            for nodes_list in self.fuel_web.get_nailgun_cluster_nodes_by_roles(
                    cluster_id, [role]):
                other_nodes.append(nodes_list)
        logger.debug("other nodes are {0}".format(other_nodes))
        checkers.check_hiera_hosts(
            self, other_nodes,
            cmd='hiera memcache_roles')

        checkers.check_hiera_hosts(
            self, keystone_nodes,
            cmd='hiera corosync_roles')

        nailgun_node = self.fuel_web.update_nodes(cluster_id, node,
                                                  False, True)
        nodes = filter(lambda x: x["pending_deletion"] is True, nailgun_node)
        self.fuel_web.deploy_cluster_wait(cluster_id, check_services=False)
        wait(lambda: self.fuel_web.is_node_discovered(nodes[0]),
             timeout=6 * 60)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id,
                               test_sets=['sanity', 'smoke', 'ha'])

        keystone_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
            cluster_id, ['standalone-keystone'])
        logger.debug("keystone nodes are {0}".format(keystone_nodes))
        checkers.check_hiera_hosts(
            self, keystone_nodes,
            cmd='hiera memcache_roles')

        other_nodes = []
        for role in ['compute', 'cinder', 'controller']:
            for nodes_list in self.fuel_web.get_nailgun_cluster_nodes_by_roles(
                    cluster_id, [role]):
                other_nodes.append(nodes_list)
        logger.debug("other nodes are {0}".format(other_nodes))
        checkers.check_hiera_hosts(
            self, other_nodes,
            cmd='hiera memcache_roles')

        checkers.check_hiera_hosts(
            self, keystone_nodes,
            cmd='hiera corosync_roles')
Exemplo n.º 5
0
    def separate_keystone_service_add_delete_node(self):
        """Add and delete keystone node

        Scenario:
            1. Revert snapshot separate_keystone_service
            2. Add one keystone node and re-deploy cluster
            3. Run network verification
            4. Run OSTF
            5. Check hiera hosts are the same for
               different group of roles
            6. Delete one keystone node
            7. Run network verification
            8. Run ostf
            9. Check hiera hosts are the same for
               different group of roles

        Duration 30m
        """
        self.env.revert_snapshot("separate_keystone_service")
        cluster_id = self.fuel_web.get_last_created_cluster()

        node = {'slave-09': ['standalone-keystone']}
        self.fuel_web.update_nodes(cluster_id, node, True, False)

        self.fuel_web.deploy_cluster_wait(cluster_id)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id,
                               test_sets=['sanity', 'smoke', 'ha'])

        keystone_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
            cluster_id, ['standalone-keystone'])
        logger.debug("keystone nodes are {0}".format(keystone_nodes))
        checkers.check_hiera_hosts(self,
                                   keystone_nodes,
                                   cmd='hiera memcache_roles')

        other_nodes = []
        for role in ['compute', 'cinder', 'controller']:
            for nodes_list in self.fuel_web.get_nailgun_cluster_nodes_by_roles(
                    cluster_id, [role]):
                other_nodes.append(nodes_list)
        logger.debug("other nodes are {0}".format(other_nodes))
        checkers.check_hiera_hosts(self,
                                   other_nodes,
                                   cmd='hiera memcache_roles')

        checkers.check_hiera_hosts(self,
                                   keystone_nodes,
                                   cmd='hiera corosync_roles')

        nailgun_node = self.fuel_web.update_nodes(cluster_id, node, False,
                                                  True)
        nodes = filter(lambda x: x["pending_deletion"] is True, nailgun_node)
        self.fuel_web.deploy_cluster_wait(cluster_id, check_services=False)
        wait(lambda: self.fuel_web.is_node_discovered(nodes[0]),
             timeout=6 * 60)
        self.fuel_web.verify_network(cluster_id)
        self.fuel_web.run_ostf(cluster_id=cluster_id,
                               test_sets=['sanity', 'smoke', 'ha'])

        keystone_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
            cluster_id, ['standalone-keystone'])
        logger.debug("keystone nodes are {0}".format(keystone_nodes))
        checkers.check_hiera_hosts(self,
                                   keystone_nodes,
                                   cmd='hiera memcache_roles')

        other_nodes = []
        for role in ['compute', 'cinder', 'controller']:
            for nodes_list in self.fuel_web.get_nailgun_cluster_nodes_by_roles(
                    cluster_id, [role]):
                other_nodes.append(nodes_list)
        logger.debug("other nodes are {0}".format(other_nodes))
        checkers.check_hiera_hosts(self,
                                   other_nodes,
                                   cmd='hiera memcache_roles')

        checkers.check_hiera_hosts(self,
                                   keystone_nodes,
                                   cmd='hiera corosync_roles')