ansible: ‘dict object’ не имеет атрибута ‘port’

#ansible

#ansible

Вопрос:

я пытаюсь запустить клон ansible-kafka playbook из репозитория github и случайно получаю приведенный ниже ‘dict object’ не имеет атрибута ‘port’

что я делаю не так с этим

репозиторий github: https://github.com/jaytaylor/ansible-kafka

playbook.yml

 ---

- hosts: dev

  roles:
   - ansible-kafka

  vars:
    zookeeper_hosts: "kafka-d1:2181,kafka-d2:2181,kafka-d3:2181"
    kafka_zookeeper_hosts: [ 'kafka-d1','kafka-d2','kafka-d3' ]
    kafka_zookeeper_port: 2181
    kafka_hosts:
      - dev
    kafka_healthcheck_address: "kafka-d1:2181,kafka-d2:2181,kafka-d3:2181/kafka"
    kafka_server_port: 9092
    kafka_connection_string: [ 'kafka-d1','kafka-d2','kafka-d3' ]

- name: "Generate the kafka hosts connection string"
  set_fact: kafka_connection_string="{{ kafka_hosts | join(':' ~ kafka_server.port ~ ',') }}:{{ kafka_server.port }}"
  

ЗАДАЧА [ansible-kafka: сгенерировать строку подключения к хостам kafka]
******************************************************************************************** фатальный: [kafka-d1]: СБОЙ! => {«сообщение»: «Задача включает в себя опцию
с неопределенной переменной. Ошибка заключалась в том, что ‘dict object’ не имеет
атрибут ‘port’ nn Ошибка, похоже, была в
‘/home/ahshan.md/ansible/ansible-кафка/задачи/кафка-cfg.yml’: строка 31,
столбец 3, но может находиться в другом месте файла в зависимости от точного
проблема с синтаксисом.nn Появляется строка-нарушитель

Ответ №1:

 set_fact: kafka_connection_string="{{ kafka_hosts | join(':' ~ kafka_server_port ~ ',') }}:{{ kafka_server_port }}"
  

Подчеркивание вместо точки перед port. Точно так же, как вы объявили свои переменные.