У одного хозяина есть различные группы - PullRequest
0 голосов
/ 10 июля 2019

У меня есть файл инвентаризации, похожий на этот:

all:
  children:
    win:

      children:
        hi:
          hosts:
            10.50.127.18:
            10.50.127.19:

        bye:
          hosts:
            10.50.127.18:
            10.50.127.19:
    linux:
      children:
        hi:
          hosts:
            10.50.127.20:
        bye:
          hosts:
            10.50.127.20:  

в папке группы Vars у меня есть этот код hi.yml

services:
  - ls
  - pwd

bye.yml

services:
  - pwd

тогда в playbook у меня есть это:

- hosts: linux
  gather_facts: no
  tasks:
  - name: lalaland
    command: "{{ item }}"
    loop: "{{services}}"

но я получаю ошибки вроде:

fatal: [10.50.127.18]: FAILED! => {"msg": "Unexpected failure in finding the lookup named '{{services}}' in the available lookup plugins"}

Можете ли вы сказать мне, что я делаю неправильно?также знаете ли вы, если я пересек значения переменных, как в этом случае ([ls] и [ls, pwd]), я получу в списке результатов vars [ls, ls, pwd] или [ls, pwd]?

1 Ответ

0 голосов
/ 11 июля 2019

но я получаю такие ошибки, как:

Я сделал те же файлы, скопировав их содержимое из вашего вопроса, и он работает без ошибок в Ansible 2.8.

также знаете ли вы, если я пересек значения переменных, как в этом случае ([ls] и [ls, pwd]), я получу в списке результатов vars [ls, ls, pwd] или [ls, pwd ]

Групповые переменные будут применяться к хосту при разборе вашего инвентаря. И переменные с одинаковыми именами подставляются. Так как в вашем инвентаре последняя группа в алфавитном порядке "привет", ваши хосты будут иметь service = [ls, pwd].

...