Ansible: Ec2.py рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдИрдореЗрд▓ рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХреЛ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдирд╣реАрдВ рдХрд░реЗрдЧреА

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЕрдкреНрд░реИрд▓ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ansible/ansible

рд╡рд┐рд╖рдп рд╡рд░реНрдЧ
  • рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ
    рдЙрддреНрддрд░рджрд╛рдпреА рд╕рдВрд╕реНрдХрд░рдг
ansible 2.0.1.0
рд╡рд┐рдиреНрдпрд╛рд╕
рдУрдПрд╕ / рдкрд░реНрдпрд╛рд╡рд░рдг

рд╕рд╛рд░рд╛рдВрд╢

рдореИрдВ рдЕрдкрдиреЗ рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдЙрди рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП "рд╕реНрд╡рд╛рдореА" рдЯреИрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЛрдИ рднреА рдЙрддреНрддрд░рджрд╛рдпреА рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЬрд┐рдирдХрд╛ рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдИрдореЗрд▓ рдкрддрд╛ рд╣реИред

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдХрд┐ рдЯреИрдЧ рдорд╛рди рдореМрдЬреВрдж рд╣реИрдВ:

./ec2.py --list >> aws_example.json

рдФрд░ рдореИрдВ "рд╕реНрд╡рд╛рдореА" рдЯреИрдЧ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

...
"ec2_tag_Owner": "infrastructure",
...
"ec2_tag_Owner": "[email protected]",
...

рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрддрд░рджрд╛рдпреА рдЖрджреЗрд╢ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдИрдореЗрд▓ рдкрддреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ:

ansible -i tools/ec2.py [email protected] -m ping
рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рдпрд╣рд╛рдБ рдХреЗрд╡рд▓ "рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░" рдХреЗ рдЯреИрдЧ рдорд╛рди рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдХрдорд╛рдВрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

ansible -i tools/ec2.py tag_Owner_infrastructure -m ping
The authenticity of host '52.53.222.209 (52.53.222.209)' can't be established.

рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдореЗрдЬрд╝рдмрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЙрд╕рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо
$ ansible -i tools/ec2.py [email protected] -m ping -vvvv
Using /Users/.../ansible/ansible.cfg as config file
ERROR! Specified hosts options do not match any hosts

рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдХреБрдВрдЬреА:"рд╕реНрд╡рд╛рдореА" рдФрд░ рдорд╛рди:" [email protected] " рдХреЗ рд╕рд╛рде рд╕рдВрдмрджреНрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@bhuddleston рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рд╛рд▓рд╛рдВрдХрд┐, ec2.py рдпрд╣ "рдЙрджреНрджреЗрд╢реНрдп рдкрд░" рдЙрддреНрдкрдиреНрди рд╕рдореВрд╣ рдирд╛рдо рдорд╛рдиреЛрдВ рдХреЛ ASCII рдЕрд▓реНрдлрд╛рдиреНрдпреВрдореЗрд░рд┐рдХ рдореЗрдВ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣рд╛ рд╣реИред

ec2.py рдореЗрдВ to_safe() рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ: https://github.com/ansible/ansible/blob/devel/contrib/inventory/ec2.py#L1367

рдЖрдкрдХреЗ рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо tag_Owner_it_domain_com рд░реВрдк рдореЗрдВ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЖрдк рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рдореЗрдЬрдмрд╛рди рдХреЗ рд╕рдВрджрд░реНрдн рд╕реЗ debug: var=groups рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд╕рдореВрд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ)ред

рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдереЛрдбрд╝рд╛ рдХрдареЛрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ '@' рдФрд░ 'ред' рдХреЗ рд╕рд╛рде рд╕рдореВрд╣ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ) - рдмреЗрдЭрд┐рдЭрдХ рдХреЛрдИ рдореБрджреНрджрд╛ рдпрд╛ рдкреАрдЖрд░ рджрд░реНрдЬ рдХрд░реЗрдВ (рдпрд╛ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░реЗрдВ) рд╣рдорд╛рд░реА рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА/рдЖрдИрдЖрд░рд╕реА) ec2.py рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЖрд╣! рдЕрдм рдЬрдм рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдореИрдВрдиреЗ "_" рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛! рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░, рдХреНрдпрд╛ рдпрд╣ рдХрд┐рд╕реА рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдХрд╣реАрдВ рднреА рд╡рд┐рд╕реНрддреГрдд рд╣реИ? рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдпрд╛рдж рдирд╣реАрдВ рдЖрдпрд╛ред

рдореИрдВ рдмрд╛рд╣рд░ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╣рдгрд╢реАрд▓ рд╣реИ рдпрд╛ рдирд╣реАрдВред


рдмреНрд░рд╛рдпрди рд╣рдбрд▓рд╕реНрдЯрди
рдУрдкрди рдЖрдИрдЯреА рдбрд┐рдЬрд╛рдЗрди (рдЖрдИрдЯреА рдЗрдВрдЬреАрдирд┐рдпрд░)
+1.510.460.1444 (рдореБрдЦреНрдп)
+1.510.780.2425 (рдлреИрдХреНрд╕)
[email protected]

реирео рдЕрдкреНрд░реИрд▓ реирежрезрем рдХреЛ рд╢рд╛рдо рел:режрел рдмрдЬреЗ рдореИрдЯ рдбреЗрд╡рд┐рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@bhuddleston рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рд╛рд▓рд╛рдВрдХрд┐, ec2.py рдпрд╣ "рдЙрджреНрджреЗрд╢реНрдп рдкрд░" рдЙрддреНрдкрдиреНрди рд╕рдореВрд╣ рдирд╛рдо рдорд╛рдиреЛрдВ рдХреЛ ASCII рдЕрд▓реНрдлрд╛рдиреНрдпреВрдореЗрд░рд┐рдХ рдореЗрдВ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣рд╛ рд╣реИред

ec2.py рдореЗрдВ to_safe() рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ: https://github.com/ansible/ansible/blob/devel/contrib/inventory/ec2.py#L1367

рдЖрдкрдХреЗ рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо tag_Owner_it_domain_com рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЖрдк рд╣рдореЗрд╢рд╛ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: var=groups рдЕрдкрдиреЗ рдореЗрдЬрдмрд╛рди рдХреЗ рд╕рдВрджрд░реНрдн рд╕реЗ рдЙрди рд╕рднреА рд╕рдореВрд╣реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ)ред

рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдереЛрдбрд╝рд╛ рдХрдареЛрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ '@' рдФрд░ 'ред' рдХреЗ рд╕рд╛рде рд╕рдореВрд╣ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ) - рдмреЗрдЭрд┐рдЭрдХ рдХреЛрдИ рдореБрджреНрджрд╛ рдпрд╛ рдкреАрдЖрд░ рджрд░реНрдЬ рдХрд░реЗрдВ (рдпрд╛ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░реЗрдВ) рд╣рдорд╛рд░реА рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА/рдЖрдИрдЖрд░рд╕реА) ec2.py рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рд╣рд╛рдБ, рдпрд╣ рдбрд╛рдпрдирд╛рдорд┐рдХ рдЗрдиреНрд╡реЗрдВрдЯрд░реА рдбреЙрдХреНрд╕ рдкреГрд╖реНрда рдореЗрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдЯреИрдЧ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдереЛрдбрд╝реЗ рджрдмреЗ рд╣реБрдП рд╣реИрдВ: "рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА/рдорд╛рди рдЬреЛрдбрд╝реА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЕрдкрдирд╛ рд╕рдореВрд╣ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдЯреИрдЧ_рдХреА_VALUE рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде"

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jiwong picture jiwong  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

robbwagoner picture robbwagoner  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

iven picture iven  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cowboy picture cowboy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rokka-n picture rokka-n  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ