Fix large bm deploy file, ansible arugment to long
When using a very large baremetal deployment definition yaml file ansible-playbook fails with "too large argument". Instead of parsing the yaml file and passing the potentially large list to ansible use ansible's lookup plugin instead. Resolves rhbz#2249593 Change-Id: I02ffb9964b5758de396c8c9c686c1e21a0ba9cd0
This commit is contained in:
parent
b6fb1e58b1
commit
e4562bc876
|
@ -327,6 +327,7 @@ class TestProvisionNode(fakes.TestOvercloudNode):
|
|||
with tempfile.NamedTemporaryFile() as inp:
|
||||
with tempfile.NamedTemporaryFile() as outp:
|
||||
with tempfile.NamedTemporaryFile() as keyf:
|
||||
roles_file_path = inp.name
|
||||
inp.write(b'- name: Compute\n- name: Controller\n')
|
||||
inp.flush()
|
||||
keyf.write(b'I am a key')
|
||||
|
@ -351,10 +352,9 @@ class TestProvisionNode(fakes.TestOvercloudNode):
|
|||
mock_playbook.assert_called_once_with(
|
||||
extra_vars={
|
||||
'stack_name': 'overcloud',
|
||||
'baremetal_deployment': [
|
||||
{'name': 'Compute'},
|
||||
{'name': 'Controller'}
|
||||
],
|
||||
"baremetal_deployment": (
|
||||
'{{ lookup("file", "%s") | from_yaml }}'
|
||||
% roles_file_path),
|
||||
'baremetal_deployed_path': mock.ANY,
|
||||
'ssh_public_keys': 'I am a key',
|
||||
'ssh_user_name': 'tripleo-admin',
|
||||
|
@ -408,6 +408,7 @@ class TestUnprovisionNode(fakes.TestOvercloudNode):
|
|||
]))
|
||||
|
||||
with tempfile.NamedTemporaryFile() as inp:
|
||||
roles_file_path = inp.name
|
||||
inp.write(b'- name: Compute\n- name: Controller\n')
|
||||
inp.flush()
|
||||
argslist = ['--all', inp.name]
|
||||
|
@ -420,10 +421,9 @@ class TestUnprovisionNode(fakes.TestOvercloudNode):
|
|||
mock.call(
|
||||
extra_vars={
|
||||
'stack_name': 'overcloud',
|
||||
'baremetal_deployment': [
|
||||
{'name': 'Compute'},
|
||||
{'name': 'Controller'}
|
||||
],
|
||||
'baremetal_deployment': (
|
||||
'{{ lookup("file", "%s") | from_yaml }}'
|
||||
% roles_file_path),
|
||||
'all': True,
|
||||
'prompt': True,
|
||||
'unprovision_confirm': unprovision_confirm,
|
||||
|
@ -438,10 +438,9 @@ class TestUnprovisionNode(fakes.TestOvercloudNode):
|
|||
mock.call(
|
||||
extra_vars={
|
||||
'stack_name': 'overcloud',
|
||||
'baremetal_deployment': [
|
||||
{'name': 'Compute'},
|
||||
{'name': 'Controller'}
|
||||
],
|
||||
'baremetal_deployment': (
|
||||
'{{ lookup("file", "%s") | from_yaml }}'
|
||||
% roles_file_path),
|
||||
'all': True,
|
||||
'prompt': False,
|
||||
'manage_network_ports': True,
|
||||
|
|
|
@ -126,9 +126,6 @@ class DeleteOvercloud(command.Command):
|
|||
)
|
||||
|
||||
if parsed_args.baremetal_deployment:
|
||||
with open(parsed_args.baremetal_deployment, 'r') as fp:
|
||||
roles = yaml.safe_load(fp)
|
||||
|
||||
with utils.TempDirs() as tmp:
|
||||
utils.run_ansible_playbook(
|
||||
playbook='cli-overcloud-node-unprovision.yaml',
|
||||
|
@ -138,7 +135,8 @@ class DeleteOvercloud(command.Command):
|
|||
verbosity=utils.playbook_verbosity(self=self),
|
||||
extra_vars={
|
||||
"stack_name": parsed_args.stack,
|
||||
"baremetal_deployment": roles,
|
||||
"baremetal_deployment": ('{{ lookup("file", "%s") | from_yaml }}'
|
||||
% parsed_args.baremetal_deployment),
|
||||
"all": True,
|
||||
"prompt": False,
|
||||
"manage_network_ports": parsed_args.network_ports,
|
||||
|
|
|
@ -324,7 +324,8 @@ class ProvisionNode(command.Command):
|
|||
|
||||
extra_vars = {
|
||||
"stack_name": parsed_args.stack,
|
||||
"baremetal_deployment": roles,
|
||||
"baremetal_deployment": ('{{ lookup("file", "%s") | from_yaml }}'
|
||||
% roles_file_path),
|
||||
"baremetal_deployed_path": output_path,
|
||||
"ssh_public_keys": ssh_key,
|
||||
"ssh_private_key_file": key,
|
||||
|
@ -398,9 +399,6 @@ class UnprovisionNode(command.Command):
|
|||
'This option is no longer used, network ports '
|
||||
'are always managed.')
|
||||
|
||||
with open(parsed_args.input, 'r') as fp:
|
||||
roles = yaml.safe_load(fp)
|
||||
|
||||
with oooutils.TempDirs() as tmp:
|
||||
unprovision_confirm = os.path.join(tmp, 'unprovision_confirm.json')
|
||||
|
||||
|
@ -413,7 +411,9 @@ class UnprovisionNode(command.Command):
|
|||
verbosity=oooutils.playbook_verbosity(self=self),
|
||||
extra_vars={
|
||||
"stack_name": parsed_args.stack,
|
||||
"baremetal_deployment": roles,
|
||||
"baremetal_deployment": (
|
||||
'{{ lookup("file", "%s") | from_yaml }}'
|
||||
% parsed_args.input),
|
||||
"all": parsed_args.all,
|
||||
"prompt": True,
|
||||
"unprovision_confirm": unprovision_confirm,
|
||||
|
@ -464,7 +464,9 @@ class UnprovisionNode(command.Command):
|
|||
verbosity=oooutils.playbook_verbosity(self=self),
|
||||
extra_vars={
|
||||
"stack_name": parsed_args.stack,
|
||||
"baremetal_deployment": roles,
|
||||
"baremetal_deployment": (
|
||||
'{{ lookup("file", "%s") | from_yaml }}'
|
||||
% parsed_args.input),
|
||||
"all": parsed_args.all,
|
||||
"prompt": False,
|
||||
"manage_network_ports": True,
|
||||
|
|
Loading…
Reference in New Issue