Cp-ansible: KafkaBrokerサーバーのプロパティファイル内の変数{{broker.id}}の名前空間

作成日 2019年04月02日  ·  5コメント  ·  ソース: confluentinc/cp-ansible

kafkaブローカープロパティのテンプレートファイルでは、インベントリファイルhosts.ymlを参照する変数{{kafka.broker.id}}を使用します。 ただし、 {{kafka}}変数は、ロールのdefaults定義されています。

{{kafka.broker.id}}は最初にinventory_hostディクショナリから取得されるため、 Ansibleの変数の優先順位の階層により、これは引き続き正しく実行されますが、わかりやすくするために、名前空間を混在させない方がよいでしょう。

これを明確にするために{{ inventory_hostname.kafka.broker.id }}を使用する必要があると思います。

enhancement

最も参考になるコメント

これがansible.cfgのマージプロパティが行っていることです。 私はまだこれがプレイブックを読みにくくし、学ぶのを難しくしていると思います。

全てのコメント5件

listeners=PLAINTEXT://:{{broker.config.port}}同じことが起こります。 その場合、 {{broker}}confluent.common/defaults/main.ymlます。 ここで名前空間をより適切にすると、状況がより明確になります。

これがansible.cfgのマージプロパティが行っていることです。 私はまだこれがプレイブックを読みにくくし、学ぶのを難しくしていると思います。

今日「confluent.kafka-broker」の役割を実行し、それを見つけるのに数時間を費やすと、同じ問題が発生します。

@ chuck-confluent-今日この状況に遭遇しました。 broker.id={{ inventory_hostname.kafka.broker.id }}を使用するようにbase_server_properties Jinjaテンプレートを更新し、Ansibleを再実行すると、次のエラーが発生します。 まだ理由をデバッグしようとしています。

TASK [confluent.kafka-broker:broker sasl_ssl config] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
致命的:[localhost]:失敗しました! => {"changed":false、 "msg": "AnsibleUndefinedVariable: 'ansible.parsing.yaml.objects.AnsibleUnicodeオブジェクト'には属性 'kafka'がありません"}

@ chuck-confluent次のPRをマージしました。これにより、すべてではないにしてもほとんどのプロパティがオーバーライド可能になります。 あなたが見ている問題を解決する必要があります。

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

このページは役に立ちましたか?
0 / 5 - 0 評価