Cp-ansible: Espace de noms de la variable {{broker.id}} dans le fichier de propriétés du serveur Kafka Broker

Créé le 2 avr. 2019  ·  5Commentaires  ·  Source: confluentinc/cp-ansible

Dans le fichier modèle des propriétés du courtier kafka, nous utilisons la variable {{kafka.broker.id}} faisant référence au fichier d'inventaire hosts.yml . Mais la variable {{kafka}} est définie dans le defaults du rôle.

Cela fonctionnera toujours correctement en raison de la hiérarchie de priorité des variables d' {{kafka.broker.id}} sera d'abord extraite du dictionnaire inventory_host , mais pour plus de clarté, il serait préférable de ne pas mélanger les espaces de noms.

Je pense que nous devrions utiliser {{ inventory_hostname.kafka.broker.id }} pour que cela soit clair.

enhancement

Commentaire le plus utile

Je vois maintenant que c'est ce que fait la propriété de fusion de ansible.cfg . Je pense toujours que cela rend le playbook moins lisible et plus difficile à apprendre.

Tous les 5 commentaires

La même chose se produit avec listeners=PLAINTEXT://:{{broker.config.port}} . Dans ce cas, {{broker}} vient du confluent.common/defaults/main.yml . Un meilleur espacement des noms ici rendra les choses plus claires.

Je vois maintenant que c'est ce que fait la propriété de fusion de ansible.cfg . Je pense toujours que cela rend le playbook moins lisible et plus difficile à apprendre.

Je souffre du même problème lorsque j'exécute le rôle 'confluent.kafka-broker' aujourd'hui et passe plusieurs heures à le trouver.

@chuck-confluent - J'ai rencontré cette situation aujourd'hui. Lorsque je mets à jour le modèle Jinja base_server_properties pour utiliser broker.id={{ inventory_hostname.kafka.broker.id }} et que je réexécute Ansible, j'obtiens l'erreur suivante. J'essaye toujours de déboguer pourquoi.

TÂCHE [confluent.kafka-broker : broker sasl_ssl config] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
fatal : [localhost] : ÉCHEC ! => {"changé": false, "msg": "AnsibleUndefinedVariable: 'ansible.parsing.yaml.objects.AnsibleUnicode object' n'a pas d'attribut 'kafka'"}

@chuck-confluent, nous venons de fusionner le PR suivant, ce qui rend la plupart, sinon toutes les propriétés, substituables. Devrait résoudre les problèmes que vous rencontrez.

https://github.com/confluentinc/cp-ansible/pull/124

Cette page vous a été utile?
0 / 5 - 0 notes