def test_deploy_shrink_controllers(self):
        cluster = self.create_env(
            nodes_kwargs=[
                {'roles': ['controller']},
                {'roles': ['controller'], 'pending_deletion': True},
                {'roles': ['controller'], 'pending_deletion': True}])

        # Check that we are deleting 2 controllers
        d_nodes = TaskHelper.nodes_to_delete(cluster)
        self.assertEqual(len(d_nodes), 2)

        supertask = self.env.launch_deployment()
        self.assertEqual(supertask.name, consts.TASK_NAMES.deploy)
        self.assertNotEqual(supertask.status, consts.TASK_STATUSES.error)

        controllers = self.filter_by_role(cluster.nodes, 'controller')
        self.assertEqual(len(controllers), 1)
Example #2
0
    def test_deletion_offline_node(self):
        self.env.create(
            nodes_kwargs=[
                {"online": False, "pending_deletion": True},
                {"status": "ready"}
            ]
        )

        to_delete = TaskHelper.nodes_to_delete(self.env.clusters[0])
        to_delete_ids = [node.id for node in to_delete]
        self.assertEqual(len(to_delete_ids), 1)

        supertask = self.env.launch_deployment()
        self.env.wait_ready(supertask, timeout=5)

        self.assertEqual(self.env.db.query(models.Node).count(), 1)
        remaining_node = self.env.db.query(models.Node).first()
        self.assertNotIn(remaining_node.id, to_delete_ids)
Example #3
0
    def test_deletion_offline_node(self):
        self.env.create(nodes_kwargs=[{
            "online": False,
            "pending_deletion": True
        }, {
            "status": "ready"
        }])

        to_delete = TaskHelper.nodes_to_delete(self.env.clusters[0])
        to_delete_ids = [node.id for node in to_delete]
        self.assertEqual(len(to_delete_ids), 1)

        supertask = self.env.launch_deployment()
        self.env.wait_ready(supertask, timeout=5)

        self.assertEqual(self.env.db.query(models.Node).count(), 1)
        remaining_node = self.env.db.query(models.Node).first()
        self.assertNotIn(remaining_node.id, to_delete_ids)
    def test_deploy_shrink_controllers(self):
        cluster = self.create_env(
            nodes_kwargs=[
                {'roles': ['controller']},
                {'roles': ['controller'], 'pending_deletion': True},
                {'roles': ['controller'], 'pending_deletion': True}])

        # Check that we are deleting 2 controllers
        d_nodes = TaskHelper.nodes_to_delete(cluster)
        self.assertEquals(len(d_nodes), 2)

        supertask = self.env.launch_deployment()
        self.assertEquals(supertask.name, 'deploy')

        self.env.wait_ready(supertask)
        self.assertEquals(supertask.status, 'ready')

        controllers = self.filter_by_role(cluster.nodes, 'controller')
        self.assertEquals(len(controllers), 1)
Example #5
0
    def test_deploy_shrink_controllers(self):
        cluster = self.create_env(
            nodes_kwargs=[
                {"roles": ["controller"]},
                {"roles": ["controller"], "pending_deletion": True},
                {"roles": ["controller"], "pending_deletion": True},
            ]
        )

        # Check that we are deleting 2 controllers
        d_nodes = TaskHelper.nodes_to_delete(cluster)
        self.assertEqual(len(d_nodes), 2)

        supertask = self.env.launch_deployment()
        self.assertEqual(supertask.name, "deploy")

        self.env.wait_ready(supertask)
        self.assertEqual(supertask.status, "ready")

        controllers = self.filter_by_role(cluster.nodes, "controller")
        self.assertEqual(len(controllers), 1)
Example #6
0
 def get_task_nodes_for_cluster(cls, cluster):
     return cls.prepare_nodes_for_task(TaskHelper.nodes_to_delete(cluster))
Example #7
0
 def get_task_nodes_for_cluster(cls, cluster):
     return cls.prepare_nodes_for_task(TaskHelper.nodes_to_delete(cluster))