ansible 踩坑总结

12报错
12.1 libselinux-python aren’t installed
[[email protected] ~]# yum -y install libselinux-python
有时候这个包需要在所管理的机器上安装,要不然就会报错

12.2 failed to resolve remote temporary directory from ansible-tmp
这个问题google了好多,发现这个问题是个通病,会随机的出现如下错误

2.0和2.1的版本都会有这种问题,但是在乌班图系统上可能会好点,网友提供了个方法,比如,加参数,这个貌似在乌班图上有用,但是在centos上不行
[[email protected] ~]# ansible other1024 -i /etc/ansible/hosts -m ping --ssh-extra-args="-o ControlMaster=no -o ControlPath=none -o ControlPersist=no"
但是还是会报如下错误

最后百度了国人的一篇文章,说是升级openssh就可以了
然后自己执行一下命令,问题解决了
yum -y install openssh*
12.3 Authentication or permission failure
老是报下边的这个错误,我记得以前是通的了,怎么现在不通了

后来查看磁盘空间的时候,发现磁盘空间满了,将所在安装目录空间清空以后,就可以了

12.4 Cannot retrieve repository metadata
[[email protected] yml]# yum --disablerepo=epel -y update ca-certificates //需要更新ca证书

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
[[email protected] ~]# 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
}
于是检查配置文件信息,确实端口不对,重新设置端口后成功
[[email protected] ~]# 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,那么则不会执行,如下

12.7后边没有空格
这是因为:后边没有空开一行,所以报错

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可以,但是我这边并不行

原文地址:http://blog.51cto.com/zhangdl/2349420

时间: 02-12

ansible 踩坑总结的相关文章

阿里云磁盘扩容踩坑总结

公司半年前上线一个新的项目,采购了一批阿里云主机,磁盘组成是40G系统盘+100G的数据盘,数据库采用MariaDB Galera Cluster集群部署,由于业务数据量快速增长,导致磁盘存储空间剩余量很少,急需要扩容,先总结整个项目规划中埋下的坑: 1.没有DBA对数据库的容量规划,而前期的运维人员采购时选用100G的SSD云盘: 2.数据库默认使用共享表空间,缺点是删除数据后不释放空间,当数据快速增长后,我们采取了先删除临时表数据的方式来尽量避免暴力扩容,争取在春节期间稳定,删除部分数据后,

Zabbix 踩坑之旅——zabbix触发重启tomcat

一.实验需求 公司tomcat服务经常自动崩溃,导致业务中断,暂时用zabbix对其执行监控,在tomcat崩溃时能够先自动启动,保证业务尽快恢复正常. 二.准备环境 系统环境:CentOS 6.5 IP地址: zabbix-server: 192.168.239.128 zabbix-agent: 192.168.239.130 zabbix的服务端和客户端的安装此处都以rpm包安装,配置略过.agent端上安装好tomcat. 三.开启踩坑之旅--agent端 ① 修改zabbix-agen

Android开发在路上:少去踩坑,多走捷径【转】

作者:gzjay,腾讯MIG无线产品部 高级工程师 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的,所以有了这个小分享. 1.目前, Android APP开发完成后,通常需要在哪些机型上进行测试? 2.目前, 开发Android APP时,需要考虑的分辨率有哪些? 这两个问题可以合起来回答的. http://developer.android.com/about/dashboards/index.html 源自Google Play的数据,每月都会进行upd

ELK之ES2.4.1双实例平滑升级至5.2.1踩坑并supervisor管理记

ES老集群用的2.4.1版本,跑的比较好就一直没动,最近看资料ES5.X已经稳定,并且性能有较大提升,心里就发痒了,但由于业务要保持高可以用的属性,就得想一个平滑升级的方案,最后想到了多实例过度的办法,5.X版本网上介绍配置变化较大,也做好了踩坑准备,确定好要升级后,立刻动手. 一.对应升级改造方案 使用端口9220和9330 安装并配置好新的ES5.2.1实例-->关掉logstash并将ES2.4.1实例堆栈调小重启(kafka保留3个小时日志所以不会丢失)-->启动ES5.2.1并将lo

vue+ vue-router + webpack 踩坑之旅

说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案   老司机可以忽略下面的内容了 1)起因  考虑到数据分离的问题  因为server是express搭的   自然少不了res.render("xx",data)    这句话的意思就是去查找相应的模板文件然后在用数据去渲染在将渲染好的页面去返回给浏览器,给浏览器去解析,渲染模板其实就是做的替换字符串+拼接字符串的活  各种的模板引擎也有各个优化的点(比如可以将对应的模板编译的函数保存在内存中,然后在通

AI相关 TensorFlow -卷积神经网络 踩坑日记之一

上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是google开源出来的人工智能库,由python语言写的 官网地址:http://www.tensorflow.org/   请用科学上网访问 中文地址:http://www.tensorfly.cn/ 当然还有其他AI库,不过大多数都是由python 写的 .net 的AI库叫 Accord.net

之后要接触更多代码管理的知识——2015踩坑有感

前言 学习是没有止境的,管理代码的能力也永远需要提高. 前几个月还觉得R语言,业务上要用的都学得七七八八了呢,这几个月在自家部门吭哧吭哧搞报表自动化时,各个坑一踩一个准,才明白写代码,懂得一点语言特性固然重要,弄一套科学地管理代码的方法,却是势在必行. 因此在这里总结一下这几个月来我踩过的种种坑,以及之后在查阅种种大神的经验,以及学软件工程这门课时看到的一些比较妥当的方法,算是这几个月的一个总结.2016年的时候,真的要多学学如何科学地管理代码,科学开发 请注意,因为我属于跨专业半路出家写代码,

运维小白部署网站踩坑全过程

作为一名一个星期之前还是个运维小白的我,经过一番摸爬滚打终于把我的小网站部署上去了 一.服务器环境 OK,一开始我得到的是一台centos的服务器,没有装apache/nginx.mysql和php环境,一开始我是使用lnmp一键安装包,结果发现php好多扩展和依赖缺失,重装了php后才解决了问题,mysql也遇到一些问题,所以建议大家在装环境时除非一键lamp/lnmp安装包经历过实践的考验,不然还是老老实实地一个一个组件安装,php.mysql.nginx. lnmp/lamp安装成功的标志

unionId突然不能获取的踩坑记录

昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html),unionid可以在第二步(https://api.weixin.qq.com/sns/oauth2/access_token)和第四步的2个接口中获得.其中,第四步的接口是

Java踩坑之路

陆陆续续学Java也快一年多了,从开始的一窍不通到现在的初窥门径,我努力过,迷茫过,痛过,乐过,反思过,沉淀过.趁着新年,我希望能把这些东西记下来,就当是我一路走来的脚印. 一.初识网站应用 记得第一次接触Java,是写一个小网站,当时用servlet+tomcat做服务端,数据库是mysql.那时我对于网站应用的概念一片空白,之前接触的都是C++和MFC写桌面程序.我花了一周时间看完了<java servlet programming>这本书,然后我就开始写代码了.但是,真的当我写代码的时候