ansible-vault encrypt_string ’加密字符串,在使用过程中发现报错:Vault format unhexlify error: Odd-length string fatal,使用ansible-lint => {"msg": "Vault format unhexlify error: Odd-length string"} 二、ansible-lint ansible-lint是用于检测playbook 1.安装ansible-lint [root@ansible ansible]# pip install ansible-lint ? 2.检查yaml [root@ansible yaml]# ansible-lint encrypt_string.yaml [201] Trailing whitespace encrypt_string.yaml => {"msg": "Vault format unhexlify error: Odd-length string"}该报错由密码文件后面的空格引起,可以使用ansible-lint工具进行检查并及时修复
mirror.tuna.tsinghua.edu.cn/epel/7/x86_64/ yum install ansible -y 讲解:ansible主要有7个命令:ansible、ansible-doc、ansible-galaxy、ansible-lint 使用的是command模块 ansible-doc : 帮助文档(这点就非常好用,很有红帽的风格) ansible-galaxy 下载扩展模块的, 类似yum,pip,easy_install之类的 ansible-lint 比如: ansible-lint playbook.yml ansible-playbook : 用得最多的命令.
2、假设我们需要初始化所有测试(但ansible-lint除外): curl -X 'PUT' \ 'http://0.0.0.0:8000/projects/1e7b2a91-2896-40fd -8d53-83db56088026/checks/ansible-lint/disable' \ -H 'accept: application/json' 3、项目配置完成后,我们就可以选择需要扫描的文件并压缩
ansible-lint ansible-lint是对playbook的语法进行检查的一个工具。用法是ansible-lint playbook.yml 。
在执行 playbook 之前,您可以使用 ansible-lint 获取特定于 Ansible 的详细信息。 例如,如果在此页面顶部附近调用 verify-apache.yml 的 playbook 上运行 ansible-lint ,则应获得以下结果: $ ansible-lint verify-apache.yml installs should not use latest verify-apache.yml:8 Task/Handler: ensure apache is at the latest version ansible-lint
{result.stdout_lines}}" 第三步: 检查语法 两种方法 ansible-playbook main.yml --syntax-check 先安装 pip install ansible-lint ansible-lint main.yml 第四步: 执行 ansible-playbook main.yml 整个的编写流程大概是这样。
ansible---- ansible-doc # ----- 主要帮助文档---- ansible-playbook # 自定义组合ansible 流程化执行ansible ansible—galaxy ansible-lint
image: milcom/centos7-systemd privileged: true provisioner: name: ansible lint: name: ansible-lint 该掉毛操作执行yamllint,flake8以及ansible-lint: yamllint:此linter在角色目录中存在的所有YAML文件上执行。 ansible-lint:Ansible playbooks的这个linter在所有场景中都会执行。
image: milcom/centos7-systemd privileged: True provisioner: name: ansible lint: name: ansible-lint linting操作执行yamllint,flake8以及ansible-lint: yamllint:此linter被执行在角色目录中的所有YAML文件上。 ansible-lint:Ansible playbooks的这个linter在所有场景中都会执行。
$ ansible-lint playbook.yaml: 检查playbook的定义。