#!/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 <tarive...@gmail.com> 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 
ansible-project+unsubscr...@googlegroups.com<mailto:ansible-project+unsubscr...@googlegroups.com>.
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 ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/91673BEE-1CF8-40AB-83DB-DD140DE43C4B%40nist.gov.

Reply via email to