我正在尝试使用 Ansible Jinja 模板将 ansible vault 文件加载到 k8 configmap YAML 文件中,但面临一个问题,即在 YAML 文件内容的末尾添加了尾随空格。这导致错误如下:
Vault format unhexlify error: Odd-length string
正在使用的 ansible 模板示例是:
剧本 main.yml -
- name: display multiple files shell: cat /tmp/test.yml register: test
Ansible Jinja 模板
apiVersion: v1 data: test.yml: |- {{ test.stdout.splitlines()|indent(4, false)|trim|replace(' ','') }} kind: ConfigMap metadata: name: test namespace: test-namespace
test.yml 示例:
$ANSIBLE_VAULT;1.1;AES256 62313365396662343061393464336163383764373764613633653634306231386433626436623361 6134333665353966363534333632666535333761666131620a663537646436643839616531643561 63396265333966386166373632626539326166353965363262633030333630313338646335303630 3438626666666137650a353638643435666633633964366338633066623234616432373231333331 6564
从 Jinja 模板创建的输出 YAML 如下
apiVersion: v1 data: test.yml: $ANSIBLE_VAULT;1.1;AES256 62313365396662343061393464336163383764373764613633653634306231386433626436623361 6134333665353966363534333632666535333761666131620a663537646436643839616531643561 63396265333966386166373632626539326166353965363262633030333630313338646335303630 3438626666666137650a353638643435666633633964366338633066623234616432373231333331 6564 kind: ConfigMap metadata: name: test namespace: test-namespace
您能否让我知道我的 ansible 模板文件中可能缺少什么来解决上述尾随空格问题。