У одного хоста есть вариации многих групп

У меня есть инвентарный файл, который выглядит примерно так:

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

до свидания

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]), получу ли я список результатов переменных [ls, ls, pwd] или [ls, pwd]?


person SimonZen    schedule 10.07.2019    source источник


Ответы (1)


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

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

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

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

person Anton    schedule 11.07.2019