Чтение переменных из файла CSV с помощью Ansible - PullRequest
0 голосов
/ 23 сентября 2019

Пожалуйста, посмотрите мой существующий код, и он работает нормально, как и ожидалось.

Из кода ниже вы можете видеть, что я статически определил vars для list3 и list4:

- hosts: localhost
  gather_facts: false
  tasks:
  - name: "set fact for snow"
    set_fact:
      list2: "{{ hostvars['192.168.10.20']['list1'] }}"

  - include_tasks: loop1.yml
    vars:
      list3:
        - dev-cn-c1
        - dev-cn-c2
        - dev-cn-c3
        - dev-cn-c7
        - dev-cn-c8
        - dev-cn-c3
        - dev-cn-c10
    loop: "{{ list2 }}"
    loop_control:
      loop_var: outer_item
    when:
      - outer_item.type == 'CpmiGatewayCluster'
      - list3|intersect(outer_item.names)|length > 0
  - debug:
      msg: "{{ list2 }}"

  - include_tasks: loop2.yml
    vars:
      list4:
        - dev-cn-c1
        - dev-cn-c2
        - dev-cn-c3
        - dev-cn-c7
        - dev-cn-c8
        - dev-cn-c3
        - dev-cn-c10
    loop: "{{ list2 }}"
    loop_control:
      loop_var: outer_item
    when:
      - outer_item.type == "simple-gateway"
      - list4|intersect(outer_item.name)|length > 0

Я хочу динамически читать эти vars изФайл CSV, int.csv.

devicename,location
dev-cn-c1,32
dev-cn-c2,32
dev-cn-c3,56
dev-cn-c4,56

Возможно ли это?

1 Ответ

0 голосов
/ 23 сентября 2019

Начиная с версии 2.8 Ansible вы можете достичь своей цели, используя модуль read_csv .Документация там показывает уже немного похожий пример с вашим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...