WedX - журнал о программировании и компьютерных науках

Ansible приостанавливает работу на неопределенный срок

Я пытаюсь запустить ansible playbook, и после сбора фактов Ansible останавливается на первой задаче, которая должна занять меньше секунды, и не будет двигаться дальше. Что я могу проверить? Я пытался:

  • Подробный режим (-vvv).. но я не вижу много полезной информации
  • обеспечение работы соединений (работает ansible all -m ping)
  • запуск различных команд (с -t).. все они приостанавливаются, хотя
  • изменение команды на просто эхо «привет».. ansible все еще делает паузу
22.08.2013

Ответы:


1

Вам НЕ НУЖЕН sudo без пароля, вам просто нужно сопоставить свои параметры с вашей средой sudo. Если вам нужно указать пароль sudo, вы можете просто добавить -K (--ask-sudo-pass) к вашему вызову ansible.

29.08.2013

2

Узнал, что мне нужен sudo без пароля. Я изменил /etc/sudoers:

%admin ALL=(ALL) NOPASSWD:ALL
22.08.2013

3

попробуйте опции "-k" и в системе должен быть установлен sshpass

ansible servers -vvvv   -m ping -i inventory -u vagrant -k

Выход

SSH password:   <<USEr PASSWORD>>

Консольный вывод подробного

<precise32> ESTABLISH CONNECTION FOR USER: vagrant
<precise32> REMOTE_MODULE ping
<precise32> EXEC ['sshpass', '-d6', 'ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 'ControlPath=/home/vagrant/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'GSSAPIAuthentication=no', '-o', 'PubkeyAuthentication=no', '-o', 'ConnectTimeout=10', 'precise32', "/bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1423020915.88-101376543892740 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1423020915.88-101376543892740 && echo $HOME/.ansible/tmp/ansible-tmp-1423020915.88-101376543892740'"]
<precise32> PUT /tmp/tmpNGxttI TO /home/vagrant/.ansible/tmp/ansible-tmp-1423020915.88-101376543892740/ping
<precise32> EXEC ['sshpass', '-d6', 'ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 'ControlPath=/home/vagrant/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'GSSAPIAuthentication=no', '-o', 'PubkeyAuthentication=no', '-o', 'ConnectTimeout=10', 'precise32', u"/bin/sh -c 'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python /home/vagrant/.ansible/tmp/ansible-tmp-1423020915.88-101376543892740/ping; rm -rf /home/vagrant/.ansible/tmp/ansible-tmp-1423020915.88-101376543892740/ >/dev/null 2>&1'"]

Окончательный результат

precise32 | success >> {
    "changed": false, 
    "ping": "pong"
}
04.02.2015

4

Ansible по умолчанию будет блокироваться в тех случаях, когда блокируется ssh-командная строка. Иногда это может вас укусить, если вы подключаетесь к большому количеству серверов, и один из входов в систему не удался и запрашивает пароль вашего закрытого ключа или что-то глупое. Запуск ваших плейбуков следующим образом:

ANSIBLE_SSH_ARGS="-o BatchMode=yes" ansible-playbook -i inventory/foo playbook.yml

должен просто привести к сбою ssh вместо того, чтобы запрашивать вас.

11.04.2015

5

Ваша книга воспроизведения зависает, поскольку она выполняет какую-то задачу, для которой требуются учетные данные. Вы должны указать пользователя внутри книги воспроизведения, который должен использоваться при запуске книги воспроизведения, он должен выглядеть примерно так

hosts: thinkingmonster
vars:
http_port: 80
max_clients: 200
remote_user: root
 tasks:
– name: ensure apache is installed
  yum: pkg=httpd state=latest
– name: place configuration file
  template: src=/etc/httpd/conf/httpd.conf  dest=/etc/httpd.conf
  notify:
  – restart apache
  – name: ensure apache is running
service: name=httpd state=started enabled=yes
handlers:
– name: restart apache
service: name=httpd state=restarted

Убедитесь, что я использовал удаленного пользователя как root. Но если вы не указываете это в playbook, вам нужно передать то же самое в командной строке при запуске playbook как

ansible-playbook <your-playbook-name> -u <user> -k <password> 

и если для выполнения задачи требуется пользователь sudo, то

ansible-playbook <your-playbook-name> -u <user> -k <password> --sudo -K
25.05.2015

6

Мои два цента - sudo без пароля может быть неподходящим решением, поскольку в большинстве случаев узлы защищены паролем sudo. Рекомендуется использовать пароль sudo в playbook в качестве переменной и передавать значение из файла конфигурации, и этот файл конфигурации можно зашифровать с помощью ansible-vault.

12.06.2015

7

Возможный источник проблемы может быть связан с https://github.com/ansible/ansible/issues/30411, который представляет собой отчет об ошибке Ansible, бесконечно зависающий. Не отображается вывод, где именно висит Ansible. После этой проблемы с Github сама проблема заключается не в Ansible, а скорее в целевом хосте (ах), к которому в настоящее время подключается Ansible (например, неработающий df из-за недоступного монтирования). Это случилось со мной сегодня, когда я запускал плейбук для большой группы целей, и Ansible просто зависал без дополнительной информации. Я столкнулся с проблемой Github и в конце концов нашел проблемный целевой хост; да, это было подвесное крепление NFS.

30.01.2019
Новые материалы

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


Для любых предложений по сайту: [email protected]