首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行带有localhost的ansible-playbook时出错

运行带有localhost的ansible-playbook时出错
EN

Stack Overflow用户
提问于 2017-09-01 12:31:53
回答 1查看 3.7K关注 0票数 3

我使用VM和Intershop 7.8来运行ansible-playbook (使用本教程 )。在安装Ansible、复制存储库的内容并对其进行配置(如“快速安装指南”所示)之后,我尝试使用命令ansible-playbook setupci.yml运行ansible-playbook“ansible-playbook setupci.yml”。测试这是第一次发生错误provided hosts list is empty, only localhost available。通过创建一个"hosts.yml“文件来解决这个问题,在该文件中,我声明了一个主机名,并使用其他命令运行了剧本,出现了两个新的错误。

我在ci-set-ansible-playbook目录中尝试了以下命令:

代码语言:javascript
复制
$ --limit @[…]/ci-setup-ansible-playbook/setupci

我也试过:

代码语言:javascript
复制
$ ansible-playbook setupci.yml –connection=local

但这两者都导致了错误:

致命: 127.0.0.1:失败!=> {“更改”:false,“连接”:“关闭”,“内容”:“n \n 404 -未找到 致命: 127.0.0.1: FAILED!=> {“failed”:true,“msg”:“字段‘args’有一个无效的值,该值似乎包含一个未定义的变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-04 09:05:48

我猜ansible无法为您的主机加载主机vars,因为您在hosts.yml中定义的主机名与/etc/ansible/ host _vars/目录中的文件名不匹配。也许您没有重命名sample.yml文件,它需要匹配主机名。

请参阅inventory.html

更新

我在码头中心7号的图片上试用了这本可操作的剧本。我也有一些问题,使它正确运行。不过,我确实有一种联系。确保将git的内容复制到/etc/ansible

代码语言:javascript
复制
/etc/ansible
-rw-r--r--. 1 root root  9191 Sep  7 12:22 LICENSE.md
-rw-r--r--. 1 root root  5672 Sep  7 12:22 README.asciidoc
-rw-r--r--. 1 root root   555 Sep  7 12:22 Vagrantfile
-rw-r--r--. 1 root root 18066 Jun  1 21:49 ansible.cfg
drwxr-xr-x. 2 root root    42 Sep  7 12:26 group_vars
-rw-r--r--. 1 root root  1050 Sep  7 12:31 hosts
-rw-r--r--. 1 root root    97 Sep  7 12:22 ishsystem.yml
-rw-r--r--. 1 root root  9191 Sep  7 12:22 license-2.0.txt
drwxr-xr-x. 9 root root  4096 Sep  7 12:22 roles
-rw-r--r--. 1 root root   138 Sep  7 12:39 setupci.ym

编辑主机文件

代码语言:javascript
复制
##content of hosts
ciserver ansible_connection=local

检查ansible是否可以连接到主机

代码语言:javascript
复制
ansible all -m ping
ciserver | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

将group_var中的group_var复制到ciserver.yml (与主机中的名称相同)文件并编辑它。

代码语言:javascript
复制
/etc/ansible/group_vars 
-rw-r--r--. 1 root root 1882 Sep  7 12:26 ciserver.yml
-rw-r--r--. 1 root root 1873 Sep  7 12:22 sample.yml

运行剧本

代码语言:javascript
复制
ansible-playbook setupci.yml

当我的脚本试图启动/停止防火墙时会停止。服务在centos上不存在,所以它失败了。看看你能不能走这么远。

代码语言:javascript
复制
fatal: [ciserver]: FAILED! => {"changed": false, "failed": true, "msg": "Could not find the requested service firewalld.service: host"}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46000374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档