Доброй ночи,
Составляю роль для установки Rust.
Весь плейбук запущен под become_user = root
Игра фейлится после выполнения последнего таска, где нужно запустить скачаный скрипт от пользователя который был до become_user:
iwi.yml
---
- hosts: localhost
become: True
become_method: su
become_user: root
roles:
- iwi-sys-upgrade-install
- iwi-lang-rust
iwi-lang-rast/tasks/main.yml
---
- name: "download rustup-init.sh from https://www.rustup.rs"
get_url:
url: https://sh.rustup.rs
dest: /tmp/rustup-init.sh
mode: 0755
- name: "install Rust with /tmp/rustup-init.sh, run by {{ ansible_user_id }}"
become: yes
become_user: {{ ansible_user_id }}
shell: '/tmp/rustup-init.sh -y'
Почемуто выдает синтаксическую ошибку:
ERROR! Syntax Error while loading YAML.
The error appears to have been in '/home/Sharlatan/Projects/prj/iwi/Ansible/roles/iwi-lang-rust/tasks/main.yml': line 11, column 17, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
become: yes
become_user: {{ ansible_user_id }}
^ here
Ответ
Кавычки добавьте:
become_user: "{{ ansible_user_id }}"
Подробности в доках. Без " Ansible думает, что { - это словарик.
Комментариев нет:
Отправить комментарий