Ansible: рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ: ec2 рдореЙрдбреНрдпреВрд▓ "рддреНрд░реБрдЯрд┐! рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреБрднрд╛рд╖рд┐рдпрд╛ рд▓рд╛рдЗрди рдЧрд╛рдпрдм рд╣реИ" рдХреЗ рд╕рд╛рде рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдЕрдХреНрддреВре░ 2015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ansible/ansible

рд╡рд┐рд╖рдп рд╡рд░реНрдЧ:

Bug Report

рдЙрддреНрддрд░рджрд╛рдпреА рд╕рдВрд╕реНрдХрд░рдг:

ansible 2.0.0 (devel 2963bba901) last updated 2015/10/14 15:07:35 (GMT +300)
  lib/ansible/modules/core: (devel 95b10c9fdd) last updated 2015/10/14 10:52:54 (GMT +300)
  lib/ansible/modules/extras: (devel 15480e3d04) last updated 2015/10/14 10:52:56 (GMT +300)
  config file = /etc/ansible/ansible.cfg
  configured module search path = None

рдЙрддреНрддрд░рджрд╛рдпреА рд╡рд┐рдиреНрдпрд╛рд╕:

Ansible.cfg . рдХреЗ рдЬреАрдердм рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рднреА рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рд╣реИ

рд╡рд╛рддрд╛рд╡рд░рдг:

MacOSX рдпреЛрд╕реЗрдорд╛рдЗрдЯ 10.10.5

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

рд╕рдмрд╕реЗ рд╣рд╛рд▓ рдХреЗ рдбреЗрд╡реЗрд▓ рдореЗрдВ ec2 рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред ec2_module -page рд╕реЗ рднреА рдореВрд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:

 fatal: [localhost]: FAILED! => {"failed": true, "msg": "ERROR! module is missing interpreter line"}

рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред

18e2ee16ef0895831ead312550eb5de44c99524c рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЯреВрдЯ рдЧрдИ рд╣реИред рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдХрд┐ рдЙрд╕ рдХрдорд┐рдЯрдореЗрдВрдЯ рдиреЗ ec2 рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреНрдпреЛрдВ рддреЛрдбрд╝рд╛ред

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

- hosts: localhost
  tasks:
   - ec2:
      key_name: mykey
      instance_type: t2.micro
      image: ami-123456
      wait: yes
      group: webserver
      count: 3
      vpc_subnet_id: subnet-29e63245
      assign_public_ip: yes

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо:

ec2 рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо:

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдореБрджреНрд░рд┐рдд рд╣реЛрддреА рд╣реИ рдФрд░ рдкреНрд▓реЗрдмреБрдХ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

fatal: [localhost -> localhost]: FAILED! => {"failed": true, "msg": "ERROR! module is missing interpreter line"}

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдмрд╕ рдПрдХ рдиреЛрдЯ, рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдЖрдк рдирд┐рдореНрди рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

#!/usr/bin/python

рдЖрдкрдХреА рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИрд╢рдмреИрдВрдЧред рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореБрдЭреЗ рдлрдБрд╕рд╛ рджрд┐рдпрд╛!

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

рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдеред рдпрд╣ рддреНрд░реБрдЯрд┐ рдЗрдВрдЧрд┐рдд рдХрд░ рд░рд╣реА рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкрде рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд░рддрд╛ рд╣реИ: https://github.com/ansible/ansible-modules-core/blob/devel/cloud/amazon/ec2.py#L1

рдкрде рд╕рдорд╕реНрдпрд╛ рдФрд░/рдпрд╛ рд╕реЗрдЯрдЕрдк рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ?

рдУрдПрд╕рдПрдХреНрд╕: 10.10.2

рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рд┐рд░:

PLAY ***************************************************************************

TASK [setup] *******************************************************************
ok: [localhost]

TASK [ec2 aws_secret_key=***** count=1 aws_access_key=****** group=All key_name=***** region=us-west-1 vpc_subnet_id=subnet-64e9d522 instance_type=t2.micro assign_public_ip=True image=ami-df6a8b9b wait=True] ***
changed: [localhost] => {"changed": true, "instance_ids": ["i-249c1196"], "instances": [{"ami_launch_index": "0", "architecture": "x86_64", "block_device_mapping": {"/dev/sda1": {"delete_on_termination": true, "status": "attached", "volume_id": "vol-c611fe3e"}}, "dns_name": "ec2-54-193-42-241.us-west-1.compute.amazonaws.com", "ebs_optimized": false, "groups": {"sg-f2953597": "All"}, "hypervisor": "xen", "id": "i-249c1196", "image_id": "ami-df6a8b9b", "instance_type": "t2.micro", "kernel": null, "key_name": "*****", "launch_time": "2015-10-20T05:02:16.000Z", "placement": "us-west-1a", "private_dns_name": "ip-172-31-10-161.us-west-1.compute.internal", "private_ip": "172.31.10.161", "public_dns_name": "ec2-54-193-42-241.us-west-1.compute.amazonaws.com", "public_ip": "54.193.42.241", "ramdisk": null, "region": "us-west-1", "root_device_name": "/dev/sda1", "root_device_type": "ebs", "state": "running", "state_code": 16, "tags": {}, "tenancy": "default", "virtualization_type": "hvm"}], "tagged_instances": []}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0

рдкрд░реАрдХреНрд╖рдг рдкреНрд░рддрд┐рдмрджреНрдз: 18e2ee16ef0895831ead312550eb5de44c99524c

PLAY ***************************************************************************

TASK [setup] *******************************************************************
ok: [localhost]

TASK [ec2 aws_secret_key=***** count=1 aws_access_key=*****group=All key_name=***** region=us-west-1 vpc_subnet_id=subnet-64e9d522 instance_type=t2.micro assign_public_ip=True image=ami-df6a8b9b wait=True] ***
changed: [localhost] => {"changed": true, "instance_ids": ["i-9d911c2f"], "instances": [{"ami_launch_index": "0", "architecture": "x86_64", "block_device_mapping": {"/dev/sda1": {"delete_on_termination": true, "status": "attached", "volume_id": "vol-7468878c"}}, "dns_name": "ec2-54-193-61-87.us-west-1.compute.amazonaws.com", "ebs_optimized": false, "groups": {"sg-f2953597": "All"}, "hypervisor": "xen", "id": "i-9d911c2f", "image_id": "ami-df6a8b9b", "instance_type": "t2.micro", "kernel": null, "key_name": "*****", "launch_time": "2015-10-20T05:21:45.000Z", "placement": "us-west-1a", "private_dns_name": "ip-172-31-5-245.us-west-1.compute.internal", "private_ip": "172.31.5.245", "public_dns_name": "ec2-54-193-61-87.us-west-1.compute.amazonaws.com", "public_ip": "54.193.61.87", "ramdisk": null, "region": "us-west-1", "root_device_name": "/dev/sda1", "root_device_type": "ebs", "state": "running", "state_code": 16, "tags": {}, "tenancy": "default", "virtualization_type": "hvm"}], "tagged_instances": []}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0

рдкреНрд▓реЗрдмреБрдХ:

- hosts: localhost
  connection: local
  tasks:
   - ec2:
      aws_access_key: '*****'
      aws_secret_key: '*****'
      region: us-west-1
      key_name: *****
      instance_type: t2.micro
      image: ami-df6a8b9b
      wait: yes
      group: All
      count: 1
      vpc_subnet_id: subnet-64e9d522
      assign_public_ip: yes

рдореИрдВрдиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдмрдЧ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ 'рд▓рд╛рдЗрдмреНрд░реЗрд░реА' -рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ ec2.ini рдерд╛ рдФрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЬрдм рдпрд╣ ec2 -module рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдерд╛ рддреЛ рдЗрд╕реЗ рдЙрдард╛ рд░рд╣рд╛ рдерд╛ред ec2.ini рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ ec2_dynamic_inventory.ini рдХрд░ рджрд┐рдпрд╛ рдФрд░ 'export EC2_INI_PATH=library/ec2_dynamic_inventory.ini' рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИред

рдмрд╕ рдПрдХ рдиреЛрдЯ, рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдЖрдк рдирд┐рдореНрди рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

#!/usr/bin/python

рдЖрдкрдХреА рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИрд╢рдмреИрдВрдЧред рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореБрдЭреЗ рдлрдБрд╕рд╛ рджрд┐рдпрд╛!

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

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

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

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

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

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

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