Ansible: AWS ๋™์  ์ธ๋ฒคํ† ๋ฆฌ Python ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2016๋…„ 08์›” 19์ผ  ยท  2์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ansible/ansible

๋ฌธ์ œ ์œ ํ˜•
  • ๋ฒ„๊ทธ ์‹ ๊ณ 
    ๊ตฌ์„ฑ ์š”์†Œ ์ด๋ฆ„

๋™์  ์ธ๋ฒคํ† ๋ฆฌ : ec2.py

ANSIBLE ๋ฒ„์ „
ansible 2.1.0.0
Python 2.7.10
OS / ํ™˜๊ฒฝ

๋งฅ OS X 10.11.6

์š”์•ฝ

ec2.py ๋…๋ฆฝ ์‹คํ–‰ ํ˜•์„ ์‹คํ–‰ํ•˜๋ฉด ๊ฐ€์ ธ ์˜ค๊ธฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„
  1. ๋ฌธ์„œ์˜ ์ง€์‹œ์— ๋”ฐ๋ผ ec2.py ๋™์  ์ธ๋ฒคํ† ๋ฆฌ ์Šคํฌ๋ฆฝํŠธ ๋ฐ ec2.ini ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  2. Python 2.7๋กœ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
python ec2.py --list
Traceback (most recent call last):
  File "ec2.py", line 134, in <module>
    from ansible.module_utils import ec2 as ec2_utils
ImportError: No module named ansible.module_utils
์˜ˆ์ƒ ๊ฒฐ๊ณผ

์ธ์Šคํ„ด์Šค ๋ชฉ๋ก

์‹ค์ œ ๊ฒฐ๊ณผ

์œ„์˜ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

from ansible.module_utils import ec2 as ec2_utils ์ค„์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด ๋ผ์ธ์€ # 16606์—์„œ ์†Œ๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

aws bug cloud

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹ˆ ๋‹คํ–‰์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ ์–ด๋”˜๊ฐ€์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ฒฐ๊ตญ ๊ทธ ์›์ธ์„ ์•Œ์•„ ๋ƒˆ์Šต๋‹ˆ๋‹ค. brew ๋กœ Ansible์„ ์„ค์น˜ํ•˜๋ฉด Python ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ansible์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Ansible์„ ์ œ๊ฑฐํ•˜๊ณ  pip๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

brew uninstall ansible
pip install ansible

์ด์ œ ansible์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

python -c "import ansible;print(ansible.__version__)"
2.1.1.0

์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ์˜ ์–ด๋”˜๊ฐ€์— ์ด๊ฒƒ์„ ์–ธ๊ธ‰ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ํŒŒ์ด์ฌ ๊ฒฝ๋กœ์—์„œ ansible ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ •๋ณด ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ค๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  2 ๋Œ“๊ธ€

https://github.com/ansible/ansible/commit/59e499f8f00e4068b68c147b8f3002535ad706e0 ์— ์˜ํ•ด ๊ฐ€์ ธ ์˜ค๊ธฐ๊ฐ€ ์ถ”๊ฐ€ ๋œ @jonatanblue ๋Š” boto ํด๋ผ์ด์–ธํŠธ ์„ค์ • ์ฝ”๋“œ๋ฅผ ์ •๊ทœํ™”ํ•˜๋ ค๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

์˜๋ฏธ๋Š” ์ธ๋ฒคํ† ๋ฆฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ธฐ๋ณธ ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์˜ ํŒŒ์ด์ฌ ๊ฒฝ๋กœ์—์„œ "ansible"์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹œ์Šคํ…œ์— ansible์„ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋™์  ์ธ๋ฒคํ† ๋ฆฌ ์Šคํฌ๋ฆฝํŠธ์—์„œ ansible ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•  ๊ณ„ํš์ด๋ฏ€๋กœ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋˜ ๋Œ๋ฆฌ์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹ˆ ๋‹คํ–‰์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ ์–ด๋”˜๊ฐ€์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ฒฐ๊ตญ ๊ทธ ์›์ธ์„ ์•Œ์•„ ๋ƒˆ์Šต๋‹ˆ๋‹ค. brew ๋กœ Ansible์„ ์„ค์น˜ํ•˜๋ฉด Python ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ansible์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Ansible์„ ์ œ๊ฑฐํ•˜๊ณ  pip๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

brew uninstall ansible
pip install ansible

์ด์ œ ansible์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

python -c "import ansible;print(ansible.__version__)"
2.1.1.0

์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ์˜ ์–ด๋”˜๊ฐ€์— ์ด๊ฒƒ์„ ์–ธ๊ธ‰ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ํŒŒ์ด์ฌ ๊ฒฝ๋กœ์—์„œ ansible ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ •๋ณด ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ค๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰