A new issue has cropped up for me with v1.6.8 when running a command
through the shell module that has an equal sign in the command:
- name: register the zone a nat instance
shell: 'aws --region {{ aws_region }} ec2 describe-instances --filters
"Name=tag:Name, Values=NAT Instance A" "Name=instance-state-code, Values=16"
--query "Reservations[*].Instances[*].InstanceId" | jq --raw-output ".[][]"'
changed_when: false
register: zone_a_nat_instance
...and the error I'm getting is:
TASK: [aws | register the zone a nat instance] ********************************
fatal: [localhost] => a duplicate parameter was found in the argument string
(Name)
FATAL: all hosts have already failed -- aborting
Although there are technically two instances of 'Name=' in my command, it's
not an actual Ansible module parameter, but part of the shell command I'd
like to run. This task worked previously and no matter how I quote the
above task (no surrounding quotes, single quotes, double quotes, -shell: >
with a newline then the command, etc.), it throws the same error.
I did find this GitHub issue regarding the same error, but it seems like
there are a number of issues going on in that thread:
https://github.com/ansible/ansible/issues/8233#issuecomment-49924707
Any quick fixes? Is this an unintended consequence of the security fix?
--
Aaron Bull Schaefer
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/d66b21ea-0570-4a37-a0d6-af8a3824e344%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.