#!/bin/sh ansible-playbook /etc/ansible/playbook-redis.yml -vv \
--extra-vars='redis_admin_user=admin redis_admin_password=mypass' \
--extra-vars='redis_cluster_members="10.226.2.194:6379 10.226.2.196:6379
10.226.2.195:6379" redis_cluster_replicas=1'
Leave off the = and use a space for --extra_vars.
-e EXTRA_VARS, --extra-vars EXTRA_VARS
set additional variables as key=value or YAML/JSON, if
filename prepend with @
Walter
--
Walter Rowe, Division Chief
Infrastructure Services, OISM
Mobile: 202.355.4123
On Feb 9, 2023, at 7:01 AM, tariver 16 <[email protected]> wrote:
Greeting!
Asked it on
stackoverflow<https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F75388765%2Fhow-can-i-pass-variables-to-command-modules-argv-parameter-in-ansible&data=05%7C01%7Cwalter.rowe%40nist.gov%7C94f29a33acd543c8715a08db0a95a44d%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C638115410049764256%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=dlQYpZzruYpfh0ZCkXEH6eeCY0kf6hQ3prXV%2FcWSb2I%3D&reserved=0>,
but didn't get an answer, so I'm trying my luck here.
A bit condensed version:
I'm trying to write a role that creates a Redis cluster. At some point I must
execute redis-cli binary with some parameters:
/usr/bin/redis-cli --user admin --pass mypass --cluster create
10.226.2.194:6379 10.226.2.196:6379 10.226.2.195:6379 --cluster-replicas 1
--cluster-yes
I pass all the required parameters as extra variables when I call the playbook
with a shell script:
#!/bin/sh ansible-playbook /etc/ansible/playbook-redis.yml -vv \
--extra-vars='redis_admin_user=admin redis_admin_password=mypass' \
--extra-vars='redis_cluster_members="10.226.2.194:6379 10.226.2.196:6379
10.226.2.195:6379" redis_cluster_replicas=1'
At first I tried the following:
- name: Create Redis cluster
ansible.builtin.command:
argv:
- /usr/bin/redis-cli
- "--user {{ redis_admin_user }}"
- "--pass {{ redis_admin_password }}"
- "--cluster create {{ redis_cluster_members }}"
- "--cluster-replicas {{ redis_cluster_replicas }}"
- --cluster-yes
And got error "Unrecognized option or bad number of args for: '--user admin'"
which is a redis-cli error.
After some experimenting I found out that if I pass the variables in a separate
line some of them work. So this task works and returns info about server.
- name: Get server info
ansible.builtin.command:
argv:
- /usr/bin/redis-cli
- --user
- "{{ redis_admin_user }}"
- --pass
- "{{ redis_admin_password }}"
- info
So the username and password are recognized be redis-cli, but, unfortunately
not the "redis_cluster_members". The following task:
- name: Create Redis cluster
ansible.builtin.command:
argv:
- /usr/bin/redis-cli
- --user
- "{{ redis_admin_user }}"
- --pass
- "{{ redis_admin_password }}"
- --cluster create
- "{{ redis_cluster_members }}"
- --cluster-replicas
- "{{ redis_cluster_replicas }}"
- --cluster-yes
returns error "Unrecognized option or bad number of args for: '--cluster
create'"
I wonder if I'm missing some syntax error or misread the documentation and
trying to use argv not the way it's supposed to be used?
--
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]<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/18d93d65-bd16-45d1-a813-9be828ffed68n%40googlegroups.com<https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2F18d93d65-bd16-45d1-a813-9be828ffed68n%2540googlegroups.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=05%7C01%7Cwalter.rowe%40nist.gov%7C94f29a33acd543c8715a08db0a95a44d%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C638115410049764256%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=M3QL%2B3oKTNyrx%2Bxj4%2BIOqmiW9rjcQAKjsx19M5odDaA%3D&reserved=0>.
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/91673BEE-1CF8-40AB-83DB-DD140DE43C4B%40nist.gov.