๋์ ์ธ๋ฒคํ ๋ฆฌ : ec2.py
ansible 2.1.0.0
Python 2.7.10
๋งฅ OS X 10.11.6
ec2.py ๋ ๋ฆฝ ์คํ ํ์ ์คํํ๋ฉด ๊ฐ์ ธ ์ค๊ธฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
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์์ ์๊ฐ๋์์ต๋๋ค.
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
๋ฅผ ์ฌ์ฉํ ์์๋ ๊ฒฝ์ฐ ์คํฌ๋ฆฝํธ์์ ์ ๋ณด ์ค๋ฅ๋ฅผ ๋ฐ์ ์ํค๋๋ก ํ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฒ๊ทธ๊ฐ ์๋๋ผ ๋ ๋คํ์ ๋๋ค. ๋ฌธ์ ์ด๋๊ฐ์ ์ค๋ช ๋์ด ์์ต๋๊น?
๋๋ ๊ฒฐ๊ตญ ๊ทธ ์์ธ์ ์์ ๋์ต๋๋ค.
brew
๋ก Ansible์ ์ค์นํ๋ฉด Python ์ธํฐํ๋ฆฌํฐ๊ฐ ansible์ ์ฌ์ฉํ ์ ์๊ฒ๋์์ต๋๋ค.์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Ansible์ ์ ๊ฑฐํ๊ณ pip๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์ค์นํ์ต๋๋ค.
์ด์ ansible์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์คํฌ๋ฆฝํธ๊ฐ ์์๋๋ก ์๋ํฉ๋๋ค.
๋ฌธ์์ ์ด๋๊ฐ์ ์ด๊ฒ์ ์ธ๊ธ ํ ๊ฐ์น๊ฐ ์๊ฑฐ๋ ํ์ด์ฌ ๊ฒฝ๋ก์์
ansible
๋ฅผ ์ฌ์ฉํ ์์๋ ๊ฒฝ์ฐ ์คํฌ๋ฆฝํธ์์ ์ ๋ณด ์ค๋ฅ๋ฅผ ๋ฐ์ ์ํค๋๋ก ํ ์ ์์ต๋๋ค.