ansible 踩坑总结

12报错
12.1 libselinux-python aren’t installed
[root@pythion ~]# yum -y install libselinux-python
有时候这个包须要在所管理的机器上安装,要否则就会报错
ansible 踩坑总结
12.2 failed to resolve remote temporary directory from ansible-tmp
这个问题google了好多,发现这个问题是个通病,会随机的出现以下错误
ansible 踩坑总结
2.0和2.1的版本都会有这种问题,可是在乌班图系统上可能会好点,网友提供了个方法,好比,加参数,这个貌似在乌班图上有用,可是在centos上不行
[root@rsync ~]# ansible other1024 -i /etc/ansible/hosts -m ping --ssh-extra-args="-o ControlMaster=no -o ControlPath=none -o ControlPersist=no"
可是仍是会报以下错误
ansible 踩坑总结
最后百度了国人的一篇文章,说是升级openssh就能够了
而后本身执行一下命令,问题解决了
yum -y install openssh*
12.3 Authentication or permission failure
总是报下边的这个错误,我记得之前是通的了,怎么如今不通了
ansible 踩坑总结
后来查看磁盘空间的时候,发现磁盘空间满了,将所在安装目录空间清空之后,就能够了
ansible 踩坑总结
ansible 踩坑总结python

12.4 Cannot retrieve repository metadata
[root@rsync yml]# yum --disablerepo=epel -y update ca-certificates //须要更新ca证书
ansible 踩坑总结
12.5 Failed to connect to the host via ssh.
176.27.1.205 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh.",
"unreachable": true
}
形成这个问题的缘由有不少种,并且须要提供更为详细的信息,这个报错是没法判断错误出在哪里的。
遇到这个问题很困惑,查了不少资料都没法解决,网友说能够升级ansible试试,因此我就使用yum升级了下ansible
[root@rsync ~]# ansible 176.27.1.205 -m command -a "date"
而后执行命令的时候,仍然失败,可是相比以前的报错,此次ansible给出了很明确的报错信息,以下
176.27.1.205 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh: connect to host 176.27.1.205 port 22: Connection refused\r\n",
"unreachable": true
}
因而检查配置文件信息,确实端口不对,从新设置端口后成功
[root@rsync ~]# ansible 176.27.1.205 -m command -a "date"
176.27.1.205 | SUCCESS | rc=0 >>
2017年 01月 16日 星期一 15:07:50 CST
12.6关键字写错
若是yml文件有语法错误,这个是关键字hosts写成了host,那么则不会执行,以下
ansible 踩坑总结
12.7后边没有空格
这是由于:后边没有空开一行,因此报错
ansible 踩坑总结
12.8磁盘空间已满
会提示以下报错
172.168.0.6 | FAILED! => {
"changed": false,
"checksum": "ad052d5c834bb9fa98202f3836f1bf9e4fcc958a",
"failed": true,
"module_stderr": "Shared connection to 172.168.0.6 closed.\r\n",
"module_stdout": "Traceback (most recent call last):\r\n File \"/tmp/ansible_e3s2ku/ansible_module_copy.py\", line 364, in <module>\r\n main()\r\n File \"/tmp/ansible_e3s2ku/ansible_module_copy.py\", line 343, in main\r\n module.atomic_move(b_mysrc, dest, unsafe_writes=module.params['unsafe_writes'])\r\n File \"/tmp/ansible_e3s2ku/ansible_modlib.zip/ansible/module_utils/basic.py\", line 2003, in atomic_move\r\nNameError: global name 'exception' is not defined\r\n",
"msg": "MODULE FAILURE"
12.9 filebeat服务起来了,可是端口没起来
京区十几台服务器,可是总有那么几个中心filebeat服务起来了,可是端口就是没有起来。重启了无数遍,看了配置文件,感受没什么改的。后来,看收集的日志,原来是日志没有进行读写,由于tmooc受到***,因此关了服务器。没有访问日志,全部就没有起端口进行链接,只要有日志写进去,就会起端口链接
12.10报错
执行task有错误,致使下边的也没法执行,增长忽略错误便可
ignore_errors: True
12.11 shell报错
在本地执行的命令取出来东西后,放到playbook中怎么都取不出来,发现确实还须要调整,不能本地执行成功的直接放到脚本里,下边这个就是在本地$3,在脚本就得取$4
shell: /bin/stat '{{remote_go_dir}}'/{{project}}/{{appname}}| head -1| awk '{print $4}'|sed 's/^.//'|sed 's/.$//'
12.12 变量问题
使用vars定义了变量 Env,而后在执行过程当中,老不能取出来这个值,可是其它的变量没有问题,而后使用了其它的变量就能够了
12.13 输出打印问题
老输出的是那种一坨,不是我想要的分开的那种,有人说用strdout_lines能够,可是我这边并不行linux

相关文章
相关标签/搜索