Мне нужно запускать плейбуки на коробках Vagrant и на aws, когда я настраиваю среду с формированием облака.
В файле Vagrant я использую ansible-local, и все работает нормально.
name: Setup Unified Catalog Webserver
hosts: 127.0.0.1
connection: local
become: yes
become_user: root
roles: generic
Однако, когда я создаю экземпляр в AWS, ansible playbook завершается с ошибкой:sudo: sorry, you must have a tty to run sudo
Это происходит потому, что он запускается от имени пользователя root и не имеет tty. Но я не знаю, как это исправить, не внося изменения в /etc/sudoers
, чтобы разрешить !requiretty
Есть ли какие-либо флаги, которые я могу установить в файле ansible.cfg или в моем шаблоне Cloud Formation?
"#!/bin/bash\n", "\n", "
echo 'Installing Git'\n","
yum --nogpgcheck -y install git ansible htop nano wget\n",
"wget https://s3.eu-central-1.amazonaws.com/XXX -O /root/.ssh/id_rsa\n",
"chmod 600 /root/.ssh/id_rsa\n",
"ssh-keyscan 172.31.7.235 >> /root/.ssh/known_hosts\n",
"git clone [email protected]:something/repo.git /root/repo\n",
"ansible-playbook /root/env/ansible/test.yml\n