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)
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_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)
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)
def get_task_nodes_for_cluster(cls, cluster): return cls.prepare_nodes_for_task(TaskHelper.nodes_to_delete(cluster))