Comments (17)
我这执行并没有报错,麻烦使用-vvv查看一下具体报错信息
from alibaba.alicloud.
ansible-playbook 2.8.5
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible-playbook
python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
Using /etc/ansible/ansible.cfg as config file
host_list declined parsing /root/deploy/ansible/hosts as it did not pass it's verify_file() method
script declined parsing /root/deploy/ansible/hosts as it did not pass it's verify_file() method
auto declined parsing /root/deploy/ansible/hosts as it did not pass it's verify_file() method
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
Parsed /root/deploy/ansible/hosts inventory source with ini plugin
PLAYBOOK: get_ecs.yml ******************************************************************************************************************
1 plays in get_ecs.yml
PLAY [fetch instances details example] *************************************************************************************************
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1572424267.9-226961584106770 `" && echo ansible-tmp-1572424267.9-226961584106770="` echo /root/.ansible/tmp/ansible-tmp-1572424267.9-226961584106770 `" ) && sleep 0'
Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-267245NBGrr/tmpRDDaX6 TO /root/.ansible/tmp/ansible-tmp-1572424267.9-226961584106770/AnsiballZ_setup.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1572424267.9-226961584106770/ /root/.ansible/tmp/ansible-tmp-1572424267.9-226961584106770/AnsiballZ_setup.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1572424267.9-226961584106770/AnsiballZ_setup.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1572424267.9-226961584106770/ > /dev/null 2>&1 && sleep 0'
TASK [Gathering Facts] *****************************************************************************************************************
task path: /root/deploy/ansible/get_ecs.yml:1
ok: [localhost]
META: ran handlers
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856 `" && echo ansible-tmp-1572424270.75-262686878795856="` echo /root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856 `" ) && sleep 0'
Using module file /usr/lib/python2.7/site-packages/ansible/modules/cloud/alicloud/ali_instance_facts.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-267245NBGrr/tmpSKfRNO TO /root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/ /root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/ > /dev/null 2>&1 && sleep 0'
TASK [Find all instances in the specified region] **************************************************************************************
task path: /root/deploy/ansible/get_ecs.yml:10
The full traceback is:
Traceback (most recent call last):
File "/root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py", line 114, in <module>
_ansiballz_main()
File "/root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py", line 106, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py", line 49, in invoke_module
imp.load_module('__main__', mod, module, MOD_DESC)
File "/tmp/ansible_ali_instance_facts_payload_oEm44A/__main__.py", line 354, in <module>
File "/tmp/ansible_ali_instance_facts_payload_oEm44A/ansible_ali_instance_facts_payload.zip/ansible/module_utils/alicloud_ecs.py", line 33, in <module>
File "/usr/lib/python2.7/site-packages/footmark/ecs/__init__.py", line 4, in <module>
from footmark.ecs.connection import ECSConnection
File "/usr/lib/python2.7/site-packages/footmark/ecs/connection.py", line 29, in <module>
class ECSConnection(ACSQueryConnection):
File "/usr/lib/python2.7/site-packages/footmark/ecs/connection.py", line 32, in ECSConnection
DefaultRegionName = '杭州'.encode("UTF-8")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py\", line 114, in <module>\n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py\", line 106, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1572424270.75-262686878795856/AnsiballZ_ali_instance_facts.py\", line 49, in invoke_module\n imp.load_module('__main__', mod, module, MOD_DESC)\n File \"/tmp/ansible_ali_instance_facts_payload_oEm44A/__main__.py\", line 354, in <module>\n File \"/tmp/ansible_ali_instance_facts_payload_oEm44A/ansible_ali_instance_facts_payload.zip/ansible/module_utils/alicloud_ecs.py\", line 33, in <module>\n File \"/usr/lib/python2.7/site-packages/footmark/ecs/__init__.py\", line 4, in <module>\n from footmark.ecs.connection import ECSConnection\n File \"/usr/lib/python2.7/site-packages/footmark/ecs/connection.py\", line 29, in <module>\n class ECSConnection(ACSQueryConnection):\n File \"/usr/lib/python2.7/site-packages/footmark/ecs/connection.py\", line 32, in ECSConnection\n DefaultRegionName = '杭州'.encode(\"UTF-8\")\nUnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
PLAY RECAP *****************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
from alibaba.alicloud.
你使用的是最新版本的ansible-provider=1.11.0, 仅支持python3的,你的环境的python2
from alibaba.alicloud.
什么版本支持python2?
from alibaba.alicloud.
1.10.0支持python2, 后续新功能都是基于python3开发的
from alibaba.alicloud.
用python3还是有问题
TASK [Find all instances in the specified region] **************************************************************************************
task path: /root/deploy/ansible/get_ecs.yml:10
fatal: [dev-apollo]: FAILED! => {
"changed": false,
"module_stderr": "Shared connection to 192.168.8.16 closed.\r\n",
"module_stdout": "Traceback (most recent call last):\r\n File \"/root/.ansible/tmp/ansible-tmp-1572427267.57-44715287743651/AnsiballZ_ali_instance_facts.py\", line 114, in <module>\r\n _ansiballz_main()\r\n File \"/root/.ansible/tmp/ansible-tmp-1572427267.57-44715287743651/AnsiballZ_ali_instance_facts.py\", line 106, in _ansiballz_main\r\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\r\n File \"/root/.ansible/tmp/ansible-tmp-1572427267.57-44715287743651/AnsiballZ_ali_instance_facts.py\", line 49, in invoke_module\r\n imp.load_module('__main__', mod, module, MOD_DESC)\r\n File \"/usr/lib64/python3.6/imp.py\", line 235, in load_module\r\n return load_source(name, filename, file)\r\n File \"/usr/lib64/python3.6/imp.py\", line 170, in load_source\r\n module = _exec(spec, sys.modules[name])\r\n File \"<frozen importlib._bootstrap>\", line 618, in _exec\r\n File \"<frozen importlib._bootstrap_external>\", line 678, in exec_module\r\n File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\r\n File \"/tmp/ansible_ali_instance_facts_payload_edy3e1o6/__main__.py\", line 407, in <module>\r\n File \"/tmp/ansible_ali_instance_facts_payload_edy3e1o6/__main__.py\", line 399, in main\r\n File \"/usr/local/lib/python3.6/site-packages/footmark/ecs/connection.py\", line 266, in get_all_instances\r\n for inst in self.get_list_new(self.build_request_params(filters), ['Instances', Instance]):\r\nUnboundLocalError: local variable 'filters' referenced before assignment\r\n",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
from alibaba.alicloud.
解决方案: 卸载python3中的ansible, ansible-alicloud, footmark, 然后pip3 install ansible_alicloud --no-cache-dir, 使用ansible-playbook命令时指定python3 Interpreter.
from alibaba.alicloud.
aliyun-python-sdk-core 这个sdk只支持python2
[root@apollo ansible]# pip3 install footmark==1.12.0
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting footmark==1.12.0
Using cached https://files.pythonhosted.org/packages/16/3c/ae404cf60e143ad91f02c679fa8e4e2e77d1ab9f4bf8f8a2c3ff7adad61c/footmark-1.12.0.tar.gz
Collecting aliyun-python-sdk-core<2.9.6,>=2.9.5 (from footmark==1.12.0)
Using cached https://files.pythonhosted.org/packages/ca/89/834d50f84329123b3d77c68591569e126d427a8bcd6004edb426ab438c51/aliyun-python-sdk-core-2.9.5.tar.gz
aliyun-python-sdk-core requires Python '<3' but the running Python is 3.6.8
from alibaba.alicloud.
卸载python3中的ansible, ansible-alicloud, footmark, 然后pip3 install ansible_alicloud --no-cache-dir
from alibaba.alicloud.
还是不行
The full traceback is:
Traceback (most recent call last):
File "/root/.ansible/tmp/ansible-tmp-1572849563.7723527-81283504198962/AnsiballZ__ali_instance_facts.py", line 102, in <module>
_ansiballz_main()
File "/root/.ansible/tmp/ansible-tmp-1572849563.7723527-81283504198962/AnsiballZ__ali_instance_facts.py", line 94, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/root/.ansible/tmp/ansible-tmp-1572849563.7723527-81283504198962/AnsiballZ__ali_instance_facts.py", line 40, in invoke_module
runpy.run_module(mod_name='ansible.modules.cloud.alicloud._ali_instance_facts', init_globals=None, run_name='__main__', alter_sys=False)
File "/usr/lib64/python3.6/runpy.py", line 208, in run_module
return _run_code(code, {}, init_globals, run_name, mod_spec)
File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/tmp/ansible_ali_instance_facts_payload_c127ikho/ansible_ali_instance_facts_payload.zip/ansible/modules/cloud/alicloud/_ali_instance_facts.py", line 410, in <module>
File "/tmp/ansible_ali_instance_facts_payload_c127ikho/ansible_ali_instance_facts_payload.zip/ansible/modules/cloud/alicloud/_ali_instance_facts.py", line 402, in main
File "/usr/local/lib/python3.6/site-packages/footmark/ecs/connection.py", line 266, in get_all_instances
for inst in self.get_list_new(self.build_request_params(filters), ['Instances', Instance]):
UnboundLocalError: local variable 'filters' referenced before assignment
fatal: [dev-apollo]: FAILED! => {
"changed": false,
"module_stderr": "Shared connection to 192.168.8.16 closed.\r\n",
"module_stdout": "Traceback (most recent call last):\r\n File \"/root/.ansible/tmp/ansible-tmp-1572849563.7723527-81283504198962/AnsiballZ__ali_instance_facts.py\", line 102, in <module>\r\n _ansiballz_main()\r\n File \"/root/.ansible/tmp/ansible-tmp-1572849563.7723527-81283504198962/AnsiballZ__ali_instance_facts.py\", line 94, in _ansiballz_main\r\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\r\n File \"/root/.ansible/tmp/ansible-tmp-1572849563.7723527-81283504198962/AnsiballZ__ali_instance_facts.py\", line 40, in invoke_module\r\n runpy.run_module(mod_name='ansible.modules.cloud.alicloud._ali_instance_facts', init_globals=None, run_name='__main__', alter_sys=False)\r\n File \"/usr/lib64/python3.6/runpy.py\", line 208, in run_module\r\n return _run_code(code, {}, init_globals, run_name, mod_spec)\r\n File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\r\n exec(code, run_globals)\r\n File \"/tmp/ansible_ali_instance_facts_payload_c127ikho/ansible_ali_instance_facts_payload.zip/ansible/modules/cloud/alicloud/_ali_instance_facts.py\", line 410, in <module>\r\n File \"/tmp/ansible_ali_instance_facts_payload_c127ikho/ansible_ali_instance_facts_payload.zip/ansible/modules/cloud/alicloud/_ali_instance_facts.py\", line 402, in main\r\n File \"/usr/local/lib/python3.6/site-packages/footmark/ecs/connection.py\", line 266, in get_all_instances\r\n for inst in self.get_list_new(self.build_request_params(filters), ['Instances', Instance]):\r\nUnboundLocalError: local variable 'filters' referenced before assignment\r\n",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
from alibaba.alicloud.
python2与3共存,命令容易混淆,建一个3的虚拟环境,按上述重新安装包,在虚拟环境中执行在试一下。
from alibaba.alicloud.
请问这个问题已经解决了吗?
from alibaba.alicloud.
没有解决
from alibaba.alicloud.
pip install virtualenv 安装虚拟环境
virtualenv env3 --python=python3 创建3的虚拟环境env3
source env3/bin/activate 激活虚拟环境
pip install ansible_alicloud 在虚拟环境中安装ansible_alicloud
另外最新版本中 ali_instance_facts 更名为 ali_instance_info
在虚拟环境中,麻烦再运行一下文件。
from alibaba.alicloud.
为啥不支持python2呢,ansible都没放弃。。。
from alibaba.alicloud.
如果必须使用python2,这个要如何解决
from alibaba.alicloud.
I meet the same problem.
from alibaba.alicloud.
Related Issues (20)
- delete instance has error in ansible alicloud
- ali_image_info has several problems
- Not able to add backend server to existing SLB
- Add the drive encryption option
- 运行alicloud.py报错
- 什么时候能支持ECS snapshot?
- The ali_instance module doesn't support cloud_essd as a system disk category
- Inventory plugin documentation
- footmark latest version (1.20.0) can not work with the latest Python (3.9)
- Error Create SLB (Server Load Balancer)
- Feature Request: Security Group Type for ali_security_group
- Stoping an ECS instance returns error HOT 1
- filters on tags does not work for alicloud_ecs.py with python 3.8 HOT 10
- Not on galaxy HOT 2
- ansible ali_instance system disk ESSD select performance level
- alicloud_ecs inventory plugin: allow to set replace_dash_in_groups = False HOT 1
- 考虑一下对阿里云dns record的支持? HOT 1
- ansible.builtin.cloud.alicloud.ali_security_group 幂等性异常问题
- ali_instance should support setting a private ip address when
- SecurityToken is None when using StsToken mode for inventory plugin
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alibaba.alicloud.