Ansible: `add_host` рдореЙрдбреНрдпреВрд▓ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╣реЛрд╕реНрдЯ рдкрд░ рдЬрд┐рд╕ рдкрд░ рдирд╛рдЯрдХ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ

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

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░:

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рдорд╛рди #9931

рдЙрддреНрддрд░рджрд╛рдпреА рд╕рдВрд╕реНрдХрд░рдг:
  • рдЙрддреНрддрд░рджрд╛рдпреА 1.8.4 (рдЕрд▓рдЧ рд╕рд┐рд░ ebc8d48d34) рдЕрдВрддрд┐рдо рдЕрджреНрдпрддрди 2015/04/14 17:59:44 (рдЬреАрдПрдордЯреА +000)
  • рдЙрддреНрддрд░рджрд╛рдпреА 1.9.0 (рдЕрд▓рдЧ рд╕рд┐рд░ 717ffe2bea) рдЕрдВрддрд┐рдо рдЕрджреНрдпрддрди 2015/04/14 17:58:24 (рдЬреАрдПрдордЯреА +000)
  • рдЙрддреНрддрд░ 2.0.0 (рдбреЗрд╡реЗрд▓ 0345b675f8) рдЕрдВрддрд┐рдо рдЕрджреНрдпрддрди 2015/04/14 17:27:56 (рдЬреАрдПрдордЯреА +000)
    рд╡рд╛рддрд╛рд╡рд░рдг:

рдЙрдмрдВрдЯреВ 14.04

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

add_host рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рдПрдХ рдирд╛рдЯрдХ рдХреА рдореЗрдЬрдмрд╛рди рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдореЗрдЬрдмрд╛рди рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг:

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

---
- name: Environment group_vars
  hosts: all
  gather_facts: no
  tasks:

    - debug: var=inventory_hostname

    - name: Add to group
      add_host: name={{inventory_hostname}} groups={{env}}

- name: Groups
  hosts: all
  gather_facts: no
  tasks:
    - debug: var=group_names
    - debug: var=groups[env]
    - fail: msg="done"

рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдлрд╝рд╛рдЗрд▓ try.yml

10.0.0.70
10.0.1.171

рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди

ansible-playbook -i ansible/try ansible/try.yml -e 'env=acceptance'

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

рдореИрдВ рдЙрд╕ рдХрд╛рд░реНрдп рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ add_host рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ , рджреЛ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдирд╛рдЯрдХ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ред рдирд╛рдЯрдХ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдЬрдмрд╛рди acceptance рд╕рдореВрд╣ рдореЗрдВ рд╣реЛрдЧрд╛ред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо:
PLAY [Environment group_vars] *************************************************

TASK: [debug var=inventory_hostname] ******************************************
ok: [10.0.0.70] => {
    "var": {
        "inventory_hostname": "10.0.0.70"
    }
}
ok: [10.0.1.171] => {
    "var": {
        "inventory_hostname": "10.0.1.171"
    }
}

TASK: [Add to group] **********************************************************
ok: [10.0.0.70]

PLAY [Groups] *****************************************************************                                                                                                                                                                                        [30/1905]

TASK: [debug var=group_names] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "group_names": [
            "acceptance",
            "ungrouped"
        ]
    }
}
ok: [10.0.1.171] => {
    "var": {
        "group_names": [
            "ungrouped"
        ]
    }
}

TASK: [debug var=groups[env]] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}

TASK: [debug var=groups[env]] *************************************************
ok: [10.0.0.70] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}
ok: [10.0.1.171] => {
    "var": {
        "groups[env]": [
            "10.0.0.70"
        ]
    }
}

TASK: [fail msg="done"] *******************************************************
failed: [10.0.0.70] => {"failed": true}
msg: done
failed: [10.0.1.171] => {"failed": true}
msg: done

FATAL: all hosts have already failed -- aborting

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

@bcoca , рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдореВрд╣ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдореЗрдВ рдирдпрд╛ рд╣реЛрд╕реНрдЯ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ?

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

рд╕рдВрднрд╛рд╡рд┐рдд рдЧрд▓рддрдлрд╣рдореА

рдирдорд╕реНрддреЗ!

Ansible рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред

рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЬреЛ рдЯрд┐рдХрдЯ рджрд╛рдЦрд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕реЗ рдХреБрдЫ рдЧрд▓рдд рд╕рдордЭрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдмрд╛рдд рдмрддрд╛рдИ рдЧрдИ рд╕реЗ рдереЛрдбрд╝реА рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рдЬреЛ рдЗрд╕ рдкреГрд╖реНрда (рдиреЛрдЯ) рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ:

http://docs.ansible.com/add_host_module.html#id3

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рд╖рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд╕рд╛рде рдХреБрдЫ рдФрд░ рд╕рд╣рд╛рдпрддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж рдФрд░ Ansible рдореЗрдВ рдЖрдкрдХреА рд░реБрдЪрд┐!

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

@bcoca , рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдореВрд╣ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдореЗрдВ рдирдпрд╛ рд╣реЛрд╕реНрдЯ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ?

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

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

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

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

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

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

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