Ansible: невозможно получить доступ к вложенной переменной в файле group_vars - PullRequest
1 голос
/ 23 февраля 2020

У меня есть следующая книга воспроизведения, где я проверяю доступ к значениям в моем файле group_vars. Первая задача работает нормально, но вторая не выполняется. Я думал, что это был правильный синтаксис для доступа к вложенным данным из файла vars.

Failure message:
TASK [call 60 env FEX 141 uplink port from group_vars] ****************************************************************************************************************
fatal: [S70G1MS001]: FAILED! => {"msg": "The task includes an option with an undefined variable.  The error was: 'float object' has no attribute 'uplink'

У меня есть следующая структура данных в моем файле group_vars:

60:
 141:
   uplink: Eth1/6
   description: "FEX101@AA33"
IZ2:
 SW1: S70G1MS001
 SW2: S70G2MS002

Playbook:

---
- hosts: S70G1MS001
no_log: false
gather_facts: false
tasks:
  - name:  call IZ2 switch 2 from  group_vars
    debug:
      msg:
        - "{{ IZ2.SW2 }}"
  - name:  call 60 env FEX 141 uplink port from group_vars
    debug:
      msg:
        - "{{ 60.141.uplink }}"

1 Ответ

0 голосов
/ 23 февраля 2020

Doh! Я не смог использовать числа в моем файле group_vars для обозначения объектов в массиве. Мы используем цифровую систему для идентификации наших различных тестовых сред, поэтому я хотел использовать их в моем файле group_vars.

Пришлось сделать это так:

TEST:
  191:
    uplink: Eth1/24
    description: "FEX101@AA33"
...