Thank you for your reply

Changed the shell script to the following:

#!/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'" \
--extra-vars "redis_cluster_replicas=1"

Got the same error "Unrecognized option or bad number of args for: 
'--cluster create'"
четверг, 9 февраля 2023 г. в 16:00:41 UTC+3, [email protected]: 

> #!/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 <(202)%20355-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].
> 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/e7cee569-acb1-4e19-9d7f-39331b730ff2n%40googlegroups.com.

Reply via email to