Check role restriction also before provisioning
Currently the nodes which need provisioning and then deployment avoid role restrictions check because of their 'not ready for deployment' status. This commit adds unprovisioned nodes to the list of checked nodes. Change-Id: I7b19d1beeb71849e2def465127873821a4f93052 Closes-Bug: #1605472
This commit is contained in:
parent
ed04b0f592
commit
bb37dbd4a9
|
@ -1517,7 +1517,7 @@ class CheckBeforeDeploymentTask(object):
|
|||
|
||||
models = objects.Cluster.get_restrictions_models(cluster)
|
||||
|
||||
nodes = TaskHelper.nodes_to_deploy(cluster)
|
||||
nodes = objects.Cluster.get_nodes_not_for_deletion(cluster)
|
||||
roles_metadata = objects.Cluster.get_roles(cluster)
|
||||
|
||||
for node in nodes:
|
||||
|
|
|
@ -315,6 +315,13 @@ class TestCheckBeforeDeploymentTask(BaseTestCase):
|
|||
self.env.db.commit()
|
||||
self.assertEqual(self.node.error_type, error_type)
|
||||
|
||||
@mock.patch('nailgun.task.task.assignment.NodeAssignmentValidator')
|
||||
def test_not_yet_provisioned_nodes_roles_are_validated(self, validator):
|
||||
self.set_node_status(consts.NODE_STATUSES.discover)
|
||||
task.CheckBeforeDeploymentTask._check_nodes_roles(self.task)
|
||||
validator.check_roles_for_conflicts.assert_called_once()
|
||||
validator.check_roles_requirement.assert_called_once()
|
||||
|
||||
def test_check_nodes_online_raises_exception(self):
|
||||
self.node.online = False
|
||||
self.env.db.commit()
|
||||
|
|
Loading…
Reference in New Issue