gpt4 book ai didi

Ansible 错误读取配置文件 : File contains no section headers

转载 作者:行者123 更新时间:2023-12-04 16:44:10 25 4
gpt4 key购买 nike

概括
根据 Ansible Configuration Settings 的文档,我们可以放置ansible.cfg在我们正在处理的项目的当前目录中,Ansible 将按照上面链接中指定的顺序搜索配置文件。
但是,ansible 似乎无法正确解析 ansible.cfg我的项目目录中的文件。我不确定,但我认为它必须与 Ini ConfigParser
ANSIBLE 版本

  ansible 2.6.3
config file = /Users/pnotes/Code/Terraform/Blog/ansible/ansible.cfg
configured module search path = ['/Users/pnotes/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /Users/pnotes/.pyenv/versions/3.6.4/lib/python3.6/site-packages/ansible
executable location = /Users/pnotes/.pyenv/versions/3.6.4/bin/ansible
python version = 3.6.4 (default, Feb 26 2018, 21:07:35) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)]
配置
“ansible-config dump --only-changed”的输出
Error reading config file (/Users/pnotes/Code/Terraform/Blog/terraform/ansible.cfg): File contains no section headers.
file: '/Users/pnotes/Code/Terraform/Blog/terraform/ansible.cfg', line: 3
'vault_password_file = ~/.vault_pass.txt\n'
操作系统/环境
macOS Alpine 脉
  • terraform/ansible.cfg的内容:
      # If set, configures the path to the Vault password file as an 
    # alternative to specifying --vault-password-file on the command
    # line.
    vault_password_file = ~/.vault_pass.txt
    n

  • 备注 : 当 project_directory/terraform/ansible.cfg被注释掉,ansible 使用 ~/.ansible.cfg并且能够解密加密文件。
    预期成绩
    我希望 playbook 使用保存在项目目录中提供的配置文件 (ansible.cfg) 中提供的路径中的 ansible vault 密码解密所有加密的变量。
    实际结果
    我收到以下错误:
    Error: Error applying plan:

    1 error(s) occurred:

    * linode_linode.base: Error running command 'sleep 30; ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -u root --ask-pass -i '172.104.29.185,' ../ansible/provision.yml --extra-vars 'ip=000.111.22.185' -vvvv': exit status 5. Output: Error reading config file (/Users/pnotes/Code/Terraform/Test/terraform/ansible.cfg): File contains no section headers.
    file: '/Users/pnotes/Code/Terraform/Test/terraform/ansible.cfg', line: 3
    'vault_password_file = ~/.vault_pass.txt\n'
    有人可以解释为什么我不断收到错误** exit status 5. Output: Error reading config file (/Users/pnotes/Code/Terraform/Test/terraform/ansible.cfg): File contains no section headers.
  • 我还尝试寻找有关 ansible 如何生成默认值的信息 /etc/ansible.cfg文件,但似乎无法追踪它(我在有限的容量下使用 python,所以这可能是我遇到困难的原因)

  • 真的很感激。

    最佳答案

    ansible.cfg应该被分成带有 [section_name] 形式的标题的部分. vault_password_file选项,像大多数配置选项一样,属于 [defaults]部分,所以您的 ansible.cfg需要看起来像:

    [defaults]
    vault_password_file = ~/.vault_pass.txt

    关于Ansible 错误读取配置文件 : File contains no section headers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52378079/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com