ansible - ошибка playbook ОШИБКА! поле 'hosts' является обязательным, но не было установлено - PullRequest
0 голосов
/ 18 апреля 2020

Новое для ansible: пробовать сборник пьес, в котором есть 1 задание и 1 задание. Задача - скопировать файл, который успешно выполняется. Предварительная задача проверяет наличие домашнего кофе и, если он не установлен, установлена. Это бросает мне эту ошибку.

ОШИБКА! поле 'hosts' является обязательным, но оно не было установлено

Я уже установил значение hosts в верхней части книги воспроизведения как localhost, когда я использую только локальный хост. Я вставил сюда всю пьесу:

Спасибо за помощь. Спасибо

---
- hosts: localhost
  tasks:
   - copy: 
      src: "~/.master.testconfig" 
      dest: "~/.testconfig"

- pre_tasks:
   - name: Ensure Homebrew is Installed
     stat:
      path: /usr/local/bin/brew
      register: homebrew_check

   - name: Fail If Homebrew Is Not Installed
     fail: 
       msg: Homebrew is missing.. Install from http://brew.sh/
       when:
         - not homebrew_check.stat.exists

   - name: Installing Homebrew
     shell: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
     when:
       - not homebrew_check.stat.exists
       - install_homebrew_if_missing

Вывод: [ПРЕДУПРЕЖДЕНИЕ]: инвентаризация не была проанализирована, доступен только неявный localhost [ПРЕДУПРЕЖДЕНИЕ]: при условии, что список хостов пуст, доступен только localhost. Обратите внимание, что неявный localhost не соответствует 'all'

PLAY [localhost] ***************************** ************************************************** *****

ЗАДАЧА [Сбор фактов] ********************************** ******************************************** ok: [localhost]

ЗАДАНИЕ [копия] ***************************************** ************************************************ Хорошо: [localhost] ОШИБКА! поле 'hosts' является обязательным, но не было установлено

1 Ответ

1 голос
/ 18 апреля 2020

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

Правильный синтаксис:

---
- hosts: localhost
  tasks:
    - copy: 
        src: "~/.master.testconfig" 
        dest: "~/.testconfig"
  pre_tasks:
    - name: Ensure Homebrew is Installed
      stat:
        path: /usr/local/bin/brew
        register: homebrew_check

    - name: Fail If Homebrew Is Not Installed
      fail: 
        msg: Homebrew is missing.. Install from http://brew.sh/
      when: not homebrew_check.stat.exists

    - name: Installing Homebrew
      shell: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      when:
        - not homebrew_check.stat.exists
        - install_homebrew_if_missing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...