Add condition for IronicCopyBootstrapKey task
Ironic keys should be copied only ironic nodes.
Change-Id: Icb6c3cc01c194a60bc5324a963e2f30e149b4bcf
Closes-bug: #1536220
(cherry picked from commit a39027150d
)
This commit is contained in:
parent
19fb6afdaf
commit
7d7af2a2b2
|
@ -275,6 +275,9 @@ class IronicCopyBootstrapKey(CopyKeys):
|
|||
|
||||
identity = 'ironic_copy_bootstrap_key'
|
||||
|
||||
def should_execute(self):
|
||||
return len(self.role_resolver.resolve(['ironic'])) > 0
|
||||
|
||||
|
||||
class RestartRadosGW(GenericRolesHook):
|
||||
|
||||
|
|
|
@ -466,6 +466,24 @@ class TestHooksSerializers(BaseTaskSerializationTest):
|
|||
serialized = list(task.serialize())
|
||||
self.assertEqual(len(serialized), 0)
|
||||
|
||||
def test_serialize_ironic_copy_bootstrap_key(self):
|
||||
task_config = {'id': 'ironic_copy_bootstrap_key',
|
||||
'type': 'copy_files',
|
||||
'role': ['ironic'],
|
||||
'stage': 'post-deployment',
|
||||
'parameters': {
|
||||
'files': [{'src': '/1', 'dst': '/2'}],
|
||||
'permissions': '0600',
|
||||
'dir_permissions': '0700'}}
|
||||
task = tasks_serializer.IronicCopyBootstrapKey(
|
||||
task_config, self.cluster, self.nodes)
|
||||
self.assertFalse(task.should_execute())
|
||||
new_node = self.env.create_node(
|
||||
roles=['ironic'], cluster_id=self.cluster.id)
|
||||
task = tasks_serializer.IronicCopyBootstrapKey(
|
||||
task_config, self.cluster, [new_node])
|
||||
self.assertTrue(task.should_execute())
|
||||
|
||||
|
||||
class TestPreTaskSerialization(BaseTaskSerializationTestUbuntu):
|
||||
|
||||
|
|
Loading…
Reference in New Issue