Si consideri il seguente Ansible attività:
- name: "Install Python packages"
ansible.builtin.pip:
name:
- "foobar"
extra_args: "--no-index --find-links=file://{{ role_path }}/files/pip/"
Questa attività consente di installare un package Python da un pre-scaricato il pacchetto di file che è memorizzato con il Ansible ruolo.
Tuttavia, c'è un gotcha qui: se il percorso sul disco rigido in cui l'Ansible ruolo è situato contiene uno spazio o una barra rovesciata, il --find-links
argomento verrà analizzato in modo non corretto.
Ho bisogno di qualche forma di filtro o una funzione che applica l'equivalente di printf '%q'
per il {{ role_path }}
variabile, in fuga tutti gli spazi o caratteri speciali. C'è una funzione in Ansible o Jinja2?