صف القضية
استخدام كتاب اللعب الخاص بك مع sasl_protocol للانسحاب. إذا قمت بتعيين كلمة مرور مستخدم مؤمنة ، فلديك استثناء في هذه المهمة :
فادح: [XXXXXXX]: فشل! => {"msg": "حدث استثناء لم تتم معالجته أثناء عمل قالب '{{kafka_broker_combined_properties |
أعتقد أن المشكلة تطرح من وظيفة الجمع بين الخصائص لأن كلمة مرور التكوين الافتراضية هي سلسلة. لذا إذا كانت كلمة المرور عبارة عن vault ، قم بتشفير myabe ، فقم بإصلاحه باستخدام طريقة toString () python:
def combine_properties(self, properties_dict):
# Loops over master properties dictionary and combines sub elements if enabled
final_dict = {}
for prop in properties_dict:
if properties_dict[prop].get('enabled'):
final_dict.update(properties_dict[prop].get('properties'))
return final_dict
لإعادة إنتاج
تكوين جميع Vars:
sasl_protocol: scram
sasl_scram_users:
admin:
principal: "admin"
password: !vault |
$ANSIBLE_VAULT;1.1;AES256
32313537636131333038303532613231653233343565303831396530393061643031303432303632
6537306234393563343861643834336430353930643062370a663563376131653664653430363963
62303339313937646635663032326266383439623736623462373632313934643261303634663732
3331643634623337610a616365613231346630656564616265656231633238313932333437363461
65626165666531656463353562323165376135653631316435653337366164653063
client:
principal: "client"
password: !vault |
$ANSIBLE_VAULT;1.1;AES256
35653666663833386164616630353966363231633234633561663464653931393835653830303630
3263373337396137653637383332656539373766346438370a353164383737306535646234363065
66643863353439663064346564333062373265653036646137306531353336323931653931363032
3231373831366531640a323161386538333966646635353462623263346234306631383635646237
34613764663736346362616562623061333438613461616162386532373266393166
الحل
يوجد حل بديل ، تحتاج إلى تحويل سلسلة مشفرة لـ Vault:
sasl_protocol: scram
sasl_admin_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
32313537636131333038303532613231653233343565303831396530393061643031303432303632
6537306234393563343861643834336430353930643062370a663563376131653664653430363963
62303339313937646635663032326266383439623736623462373632313934643261303634663732
3331643634623337610a616365613231346630656564616265656231633238313932333437363461
65626165666531656463353562323165376135653631316435653337366164653063
sasl_client_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
35653666663833386164616630353966363231633234633561663464653931393835653830303630
3263373337396137653637383332656539373766346438370a353164383737306535646234363065
66643863353439663064346564333062373265653036646137306531353336323931653931363032
3231373831366531640a323161386538333966646635353462623263346234306631383635646237
34613764663736346362616562623061333438613461616162386532373266393166
sasl_scram_users:
admin:
principal: "admin"
password: "{{sasl_admin_password|string}}"
client:
principal: "client"
password: "{{sasl_client_password|string}}"
LGouellec هل يمكن أن تكون أفضل ممارسات Ansible التالية حلاً صالحًا لك: https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#keep -vaulted-variables- مرئية بأمان ، أو أنها غير ذات صلة بـ المشكلة؟
مرحبًا @ erikgb ،
نعم ، إنه حل بديل صالح.
هل تعذر علينا إدارة AnsibleVaultEncryptedUnicode في الوظيفة Combined_properties؟
نعم ، إنه حل بديل صالح.
هذا لطيف! 👍
هل تعذر علينا إدارة AnsibleVaultEncryptedUnicode في الوظيفة Combined_properties؟
نعم ، أعتقد أنه يمكن إصلاح هذا. يرجى تقديم PR لإصلاح هذا ، ويمكننا مراجعته. سيتم وضع هذا الخطأ في العمل المتراكم لدينا ومعالجته وفقًا لأفضل جهد كما هو موضح هنا . أو استخدم Confluent Support إذا كنت أحد العملاء المتميزين.
حل في PR # 640