If you don't need idempotence (I assume you don't since the shell module doesn't have idempotence either) I'd use the script module with your existing bash script.
-toshio On Dec 13, 2017 7:39 AM, "Justin Seiser" <[email protected]> wrote: > I see there was a feature > <https://github.com/ansible/ansible/issues/24278> request for this, but > they do not note how they actually worked around it. In a nutshell, we > download a groovy archive, unzip it, and create slaves for every file in > the archive that is not the groovy executable, and doesnt end with .bat. We > then do a update-alternatives for groovy. > > > > GROOVY_ALT_SLAVES="" > for f in $(ls /opt/groovy-${GROOVY_VERSION}/bin | fgrep -v .bat | > grep -v '^groovy$'); do > GROOVY_ALT_SLAVES=" ${GROOVY_ALT_SLAVES} --slave /usr/bin/${f} > ${f} /opt/groovy-${GROOVY_VERSION}/bin/${f}" > done > > update-alternatives --install /usr/bin/groovy groovy > /opt/groovy-${GROOVY_VERSION}/bin/groovy 2000 ${GROOVY_ALT_SLAVES} > update-alternatives --set groovy /opt/groovy-${GROOVY_VERSION}/ > bin/groovy > > I cant really wrap my head around the best way to dupe this, that isnt > just running the shell module. Once I resigned myself to using the shell > module, I then read that doing something like > > > - shell: GROOVY_ALT_SLAVES=" ${GROOVY_ALT_SLAVES} --slave /usr/bin/{{ item > }} {{ item }} /opt/groovy-{{ groovy_version }}/bin/{{ item }}" > with_items: ['file1', 'file2'] > > > > > Wouldn't work, since each shell run is a separate connection, so Im not > really building up a long string to then append to the update-alternatives > command. There is also the fact I have to manually specify a list of > items, since I cant use glob because i need to match files that do not > match a certain set of expressions. > > > Im sure Im missing something obvious, but I haven't made any progress on > this one and any help would be great. > > -- > 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/155465dd-7461-486c-9351-5a386c6c5f15%40googlegroups. > com > <https://groups.google.com/d/msgid/ansible-project/155465dd-7461-486c-9351-5a386c6c5f15%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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/CAPrnkaSiPiF-b9F0uXhoBfSL1rvv0pTnH_%3DhbZOh6V8kq6PPyQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
