- 主题:这几天的折腾
昨天终于忍不住了要把组里用的ansible从2.5.0升级到当前版2.9.3
先检查了一下旧安装,是pip on 系统自带python的
新的是yum,提供ansible和ansible-python3两个
毫无疑问选后者啊!
先pip删除旧的那个,把/usr/bin/ansible这个入口文件腾出来。然后yum install
ansible-python3装上
然后过了一会儿同事说某个工具不能用了
检查发现那破玩意居然间接import了ansible的文件,而中间那层库安装在python2里面,
而且不兼容python3
于是我只好yum安装了ansible on 系统python2,让他们三个都在ansible2里吧。感谢
ansible目前还没抛弃python2
然后过了一会儿同事说那个工具又换了一种方式不能用了。检查发现那破玩意虽然import
了ansible的文件,但是调用ansible的时候却是用popen的,还妄图解析ansible的输出文
字。新版本的PLAY RECAP这段多了几个条目它就不认识了
改了两行,搞定。提交合并,发现那个库最后一次更新是3年前,比服务器上安装的版本
还高不少呢。按照pip显示的版本号去git里找,发现都没这个版本……
--
FROM 113.108.77.*
既认真上devops,又随性升级基础设施?
【 在 JulyClyde (我的月份又来了) 的大作中提到: 】
: 昨天终于忍不住了要把组里用的ansible从2.5.0升级到当前版2.9.3
: 先检查了一下旧安装,是pip on 系统自带python的
: 新的是yum,提供ansible和ansible-python3两个
: ...................
--
FROM 122.225.220.*
旧版本好多功能都没有,比如动态判断被控端用哪个python
【 在 adoal (阿豆) 的大作中提到: 】
: 既认真上devops,又随性升级基础设施?
--
FROM 113.108.77.*
问题是没在新版本上测试你们写的“业务”就悄悄
把干活的环境换成新版本了?
【 在 JulyClyde (我的月份又来了) 的大作中提到: 】
: 旧版本好多功能都没有,比如动态判断被控端用哪个python
--
FROM 115.192.117.*
你胆子够大啊
【 在 JulyClyde 的大作中提到: 】
: 昨天终于忍不住了要把组里用的ansible从2.5.0升级到当前版2.9.3
: 先检查了一下旧安装,是pip on 系统自带python的
: 新的是yum,提供ansible和ansible-python3两个
: ...................
--
FROM 183.95.135.*
我们这里都cpp的“业务”啊
运维工具也分好几个流派,另一部分在另一个单独的python里,依赖旧版本hashlib和旧
版本openssl,打包拷贝到新操作系统运行的时候还得附加一个旧版openssl才能成功运行
【 在 adoal (阿豆) 的大作中提到: 】
: 问题是没在新版本上测试你们写的“业务”就悄悄
: 把干活的环境换成新版本了?
--
FROM 58.250.8.*
不是说你们真正的业务系统,是说devops组的“业务”,
比如自己写的ansible playbooks和其它工具,你没找个测试机先
做个升级演练就悄悄在线上系统升级ansible了真的很大胆啊。
【 在 JulyClyde (我的月份又来了) 的大作中提到: 】
: 我们这里都cpp的“业务”啊
: 运维工具也分好几个流派,另一部分在另一个单独的python里,依赖旧版本hashlib和旧
: 版本openssl,打包拷贝到新操作系统运行的时候还得附加一个旧版openssl才能成功运行
: ...................
--
FROM 122.225.220.*
处理好与旧版本 python 的兼容,也属于 python 的开发知识。如果一定要兼容旧版本 python 已经过时的 openssl,那就需要特别的开发手段,比如使用系统上面的其它 ssl 库,或者自己链接一个新版本 libressl/openssl 一起分发等等。
没处理好这些事情,我觉得是程序员的锅。
【 在 JulyClyde (我的月份又来了) 的大作中提到: 】
: 我们这里都cpp的“业务”啊
: 运维工具也分好几个流派,另一部分在另一个单独的python里,依赖旧版本hashlib和旧
: 版本openssl,打包拷贝到新操作系统运行的时候还得附加一个旧版openssl才能成功运行
: ...................
--
FROM 110.81.41.*
现在我说了算
【 在 adoal (阿豆) 的大作中提到: 】
: 不是说你们真正的业务系统,是说devops组的“业务”,
: 比如自己写的ansible playbooks和其它工具,你没找个测试机先
: 做个升级演练就悄悄在线上系统升级ansible了真的很大胆啊。
--
FROM 58.250.8.*
如果现场安装hashlib应该就没事
可惜他们是直接把一份python打包到处发送的……
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 处理好与旧版本 python 的兼容,也属于 python 的开发知识。如果一定要兼容旧版本 python 已经过时的 openssl,那就需要特别的开发手段,比如使用系统上面的其它 ssl 库,或者自己链接一个新版本 libressl/openssl 一起分发等等。
: 没处理好这些事情,我觉得是程序员的锅。
--
FROM 58.250.8.*