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.
