ANSIBLE:boto - “TypeError:需要类似字节的对象,而不是‘str’”

问题描述 投票:0回答:2

使用 ansible=2.10.0boto=2.49.0,尝试执行 ec2_vol playbook 以使用代理环境管理 AWS 实例的磁盘时。 收到此错误 -

connection.py",第 796 行,在 proxy_ssl 中,sock.sendall("CONNECT %s HTTP/1.0 “ % host), TypeError: 需要一个类似字节的对象,而不是“str”,

boto 有开放 PR 来修复它,但尚未合并 - https://github.com/boto/boto/pull/3699。 有社区模块也不适用于 ec2_vol,例如 - https://galaxy.ansible.com/community/aws

除了像Python中的monkeypatching一样使用fork来解决之外,还有其他解决方案吗?

python-3.x amazon-ec2 ansible boto
2个回答
0
投票

经过长时间的研发,我找到了上述错误的解决方案 -

我们可以使用

amazon.aws:1.4.1
版本来解决这个问题。 我没有像上面的 ec2_vol 任务那样抛出错误。


0
投票

对于 ansible 集合的 ec2 模块,我遇到了相同的错误。将ansible升级到4.10.0也不起作用。它推出了集合 1.5.1。它仍然调用相同的 boto 包 Connection.py 并且第 796 行在 exceptiob 之上抛出异常。 知道我们是否可以使用不同的模块来仅启动或重新启动 AWS ec2 实例吗?

© www.soinside.com 2019 - 2024. All rights reserved.