Cp-ansible: Namespace der Variablen {{broker.id}} in der Kafka Broker-Servereigenschaftendatei

Erstellt am 2. Apr. 2019  ·  5Kommentare  ·  Quelle: confluentinc/cp-ansible

In der Vorlagendatei für die kafka-Broker-Eigenschaften verwenden wir die Variable {{kafka.broker.id}} sich auf die Inventardatei hosts.yml bezieht. Aber die Variable {{kafka}} ist in der Rolle defaults .

Dies wird aufgrund der Ansible-Hierarchie der Variablenpriorität immer noch korrekt ausgeführt, da der Wert von {{kafka.broker.id}} zuerst aus dem inventory_host Wörterbuch genommen wird, aber der Übersichtlichkeit halber wäre es besser, Namensräume nicht zu mischen.

Ich denke, wir sollten {{ inventory_hostname.kafka.broker.id }} , um dies zu verdeutlichen.

enhancement

Hilfreichster Kommentar

Ich sehe jetzt, was die Merge-Eigenschaft von ansible.cfg tut. Ich denke immer noch, dass dies das Playbook weniger lesbar und schwieriger macht, daraus zu lernen.

Alle 5 Kommentare

Das gleiche passiert mit listeners=PLAINTEXT://:{{broker.config.port}} . In diesem Fall kommt {{broker}} von confluent.common/defaults/main.yml . Ein besserer Namespace hier wird die Dinge klarer machen.

Ich sehe jetzt, was die Merge-Eigenschaft von ansible.cfg tut. Ich denke immer noch, dass dies das Playbook weniger lesbar und schwieriger macht, daraus zu lernen.

Ich habe das gleiche Problem, wenn ich heute die Rolle 'confluent.kafka-broker' leite und mehrere Stunden damit verbringe, sie zu finden.

@chuck-confluent - Ich bin heute in diese Situation geraten. Wenn ich die base_server_properties Jinja-Vorlage aktualisiere, um broker.id={{ inventory_hostname.kafka.broker.id }} und Ansible erneut ausführe, erhalte ich die folgende Fehlermeldung. Versuche immer noch zu debuggen warum.

TASK [confluent.kafka-Broker: broker sasl_ssl config] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
fatal: [localhost]: FEHLGESCHLAGEN! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'ansible.parsing.yaml.objects.AnsibleUnicode object' hat kein Attribut 'kafka'"}

@chuck-confluent wir haben gerade den folgenden PR zusammengeführt, was die meisten, wenn nicht alle Eigenschaften überschreibbar macht. Sollte die Probleme beheben, die Sie sehen.

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen