Considere el siguiente Ansible tarea:
- name: "Install Python packages"
ansible.builtin.pip:
name:
- "foobar"
extra_args: "--no-index --find-links=file://{{ role_path }}/files/pip/"
Esta tarea se instala un paquete de Python de un pre-paquete descargado el archivo que se almacena con el Ansible papel.
Sin embargo, hay un problema aquí: si la ruta de acceso en el disco donde el Ansible papel está situado contiene espacios en blanco o una barra diagonal inversa, la --find-links
el argumento se analiza incorrectamente.
Lo que necesito es algún tipo de filtro o de la función que se aplicará el equivalente de printf '%q'
a la {{ role_path }}
variable, escapando de todos los espacios en blanco o caracteres especiales. Hay una función en Ansible o Jinja2?