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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to