áááŁáŠ áá
ááá˘
á¨ááá°áá ááá áááľ áááŽ, ááááá áŽáľ á ááľ áááá, ááááŤáąá á¨áááť ááłáŚá˝ á¨á áľá¨áá áĽáááł ááá¨áľ ááááŤá. áá áĽáŠá ááĽáá á áá°ááᣠááá¨áŤá¨á á áľá¸á᪠á¨áá áĽá á áĽáŽ ááá áŤáá áľ á¨á°á°á ááᢠá¨áá áá°áľ á áŤá áĽáá°áá áá°áľ ááᢠáá á¨á° áááľá áĽáá° áŽáľ áá°áľ. á áááľ ááľáĽ Ansible áĽáá´áľ áá áľ áĽáá°ááá˝á áłáŞáŠ ááááá˘
á¨á ááľ áá°áľ
áá #1ᥠá¨áłáŤá ááŽ
á á ááľ áá áľ áááłá ááŽáááľ áá áᢠá¨á´á áááľ áĄáľá áĽá á¨áŚááľ áááá˛áśá˝ áá áŠáľá˘ áĽááą á°ááłáłá á˝áá áĽá¨ááą áá á: á ááááŽá˝á áĽáá´áľ áá°ááŤáľ áĽá áá°áá áŞáŤá áááľ áĽáá°ááťá. á˝áአáĽáŤááłááą áĄáľá áá áá á˝áá á áŤáą ááááľ á¨ááłá áá áᢠá ááŽáááą áá á á´á áĽá áŚááľ áĄáľáá˝ ááŤá¨á áĽáááľá ááááłá°á Ansible á ááá áá á°ááľááá˘
áá # 89: á¨á ááľ áá°áľ
áĽáŤáłá¸áá áłáŤáá á á°áťá áá á á á°áťá áá á ááŤá°áááľ áááá áá á, ááá áá á ááľ áá á°áá. áá áĽáá´áľ áááá?
- áĽáá á áľá¸áłá á°ááŁá á áá ᣠááťáť á áá áĽááľáá áĽá á¨á፠áĽááľá°áŤáááá˘
- á°ááśá˝á ááťá á áŤáľáááááľá áĽá ááá ááá áĽáá áá áĽá¨á°á°á¨á áĽááłá ááá˝ áá.
- áĽá Asible/Python/Bash/Teraform á áááá! áĽáá´áľ ááŤá áĽáá°áá˝á á°ááá¨áľ!
- áĽá Full Stack Overflow ááᢠáá áĽá áá áá á¨á°á°áŤáŤá˘ áá°áľ áááĽáŁááᣠáĽáá´áľ áĽáá°áá°áŤ á ááá áᣠáá á áŞá áááľáá áĽá á˝ááŠá áááłáá˘
á áá¤áąá, ááá á áááľ á°ááľ á¨ááá áľá ááá¨áłáľ á¨áááťá á¨áŽáľ á áááľ ááááľ áá˝áá, áá áĽáá°áá°áŤ ááá˝ á áá°áá, á áľááá áĽáá°áá ááá˝ á áá°áá, ááá áá á˝áአáĽáąá ááłá á, ááľá°áŤá¨á, ááŤáá˝ áĽá áľááá˝á áá¨áá áŤáľáááááłá. , áááłáá á¨á áá áŤáŁáĽá°áá.
- hosts: localhost
tasks:
- shell: echo -n Z >> a.txt && cat a.txt
register: output
delay: 1
retries: 5
until: not output.stdout.find("ZZZ")
áá #109: á¨á˝ááŠá áááá¤
ááááŞáŤ áá á¨á°ááá°á áĽá á¨á°á°áá á¨á á¨IaC áá´á á¨á°á áááá˝á/áááľ/á¨ááá˝ áĄáľáá˝á ááľáááśá˝ á áŤáááᣠáĽá á áá á¨á° áááľ áá áááŚá˝á áááľá¨á ááá á áá á°ááŁáááľ á¨áááᢠá áá áá, áááᤠá¨áááŁá áĽááá áááá°áľ ááá áá.
IaC refactoring
áá #139: á áĽááἠáá°áľ áŤáľáááááłá?
áá° á°ááľáś á¨áá¸áŽáá á ááľáŁ á ááŤáł á áľááá áĽáŤááá˝á ááááľ á ááŚáľáĄ-
- áá áá ááá áŤáľáááááłá?
- áá á áá ?
- áĽáááľ á á áá?
ááĽáŤáááš áĽáá´áľ áááľ ááľá áľ áĽááłááŚáľ áŤáááᣠá°ááľáśá áá á¨áááአá ááľ áŤá ááᣠááá á°áá áĽá¨áŁá° áááľ áá˝ááᢠááááŤáąá áááľ áá á¨á (
áá # 149: áá°áľá á áááááľ áá
á¨ááááŞáŤá ááá áááááľ áá. áá áĽáá°ááá°áá áááľá. áá áá áááľá¨á, áĽáááááá, á¨á˝áá áŚáłáá˝á áĽááááá áĽá áĽááąá ááááłáľ ááááśá˝á áĽáááľáłáá. á¨áá¤áąá á áá°-ááłáŚá˝ á áá ááááľ áĽáááááŁáá, áááłá á ááľ ááŁáĽá á áááŁáŁáľ, áľááá áĽáŤá á áááłá áľ áá "ááἠáááľáá?" ááá "áľááááá á¨áľáá áá?" ááááłá˝á á áá áááᢠá áĽá áááł, á ááłáĄ áá á°áŁáĽáá á¨áááá áá: áá á¨á° áááľá áá° áľááá˝ áááĽáŤáŽá˝ / áĄáŚá˝ áĽáá¨áááá. áá á ááŤá¨áĽ áááá°á á¨áá áá á¨á° áááľ áĽáá˛ááľáą ᣠáá áĽáá°áá°áŤ áĽáá˛á¨áą ᣠá áá°ááá˝ áĽáá˛á¸áááľ áĽá áááááá ááá áááľá á áłááአáĽáá˛ááአáŤáľá˝áááłáá˘
á¨áá á¨á° áááľ áá¨áŤ á¨áááá áľááá áá á°áá áĽá áĽáá á¨áá°á¨á° áááľ áá¨áŤ ááŤááľ ááĽááľ á°áᢠááᢠá áľááá á áááľ áá áŤááᣠááá á¨á° áááľ áá á°ááłáłá ááłáĽáĄ- ááá áááŽá˝á á¨áááľáš áĽáá° á˘áá°áá´á˝á áŤá ááŤá˝ ááŁá áá°ááá˝ áá° ááľ áá áá°á¨á° áááśá˝ áá°ááŤá°áአáá°ááá˝ áĽá¨á°á¸áááá ááá˘
ááá á¨áá˝á á¨áá¨áŤ áá¨áŤáá˝
á ááŽáááą áá áá°á¨á á¨áá˝á áá°ááá˝á áĽáá´áľ áĽáá°á¸ááá ááááá á¨áááłá˝á á ááľáŁ á¨ááłááášá á ááľ ááá¨áłáľ áá°á á˛á ááá áá áĽáľáá áŤááááŁá¸áá áá¨áŤáá˝ áĽá á ááŤá¨áŚá˝ áĽáááťááá˘
áá ááĽá -997: SDS á á ááŚáľ
áááááŞáŤ áá Ansibleá á¨áá¨ááŠáľ SDS (Software Defined Storage) ááááááľ á ááŽáááľ áá áá áᢠá áá
áááľ áá á¨á°áᨠá˝áá á á
áá # -701ᥠá¨ááťá áĽá á¨áá¨áŤ áἠá¤áľ
ᨠAnsible á¨áá°á ááłáĽ áĽáľááľ ááá á¨áá ááłáŞáŤáá˝á áááľá á¨áá¨áŤ áŠá˝á / áŠá˝á-ᲠáĽá á˘ááľááá˝á áá áá áá áᢠáááŤá á¨ááá°áá á áŠá˘ áĽáááľ áá (áá áá áááá áá Ꮰáá áŤááá ááŁáĽá áááá¨áąáĄ-
á á á ááá, áááľáá á ááˇá, ááá áá á á°ááŤá¨ ááŠááľ ááááŤáľ á ááłááľ á°áá á á. á¨á°áá°á á°áá˝ ááĽá áá° 13 áá°á¨áłá áááá˝ áĽá 2 ááł áááá˝ áľááá˝ áááá˝á á ááŁáá á˛á¨áá á áľáááľ áá°áááš á 70 á°áááá˝ ááŽáĽ ááአáá á áá° 2 áá áŤá á áá¨áááᢠáľá XP (áĽá á á áŁá ááŽááŤááá) áááśá˝ áááŤáľ á áľá¸á᪠áá á ááááŤáąá... ááá 70 á°áá áá á á á áááááᢠá ááŤá¨áĄá áááá¨á ááááŤáľ á¨ááá áá áá áá˘
áá # -601: ááťá á¨áá˝á áĽá áááŞáá
á á áá°-ááłáĽ ᣠáá ᨠtestkitchen áá á°ááłáłá áá ᣠáĽá áĽáť áá áá¨áŤá áá° áśá¨á á áááłá á°áá áĽá ááá ááá¨áᢠá áá¤áąá, ááá á 20 áááá˝ áá° á¨á°á¨áá 25-7 á°áááá˝ á°áááˇá.
á¨á°áá¨áŠáľá áááá˝ ááĽá áá° 17 á ááłá°á áĽá 45 áááá˝á á áááááľ áá áá á 28 á°áá ááľáĽ á 2 á¨áááŞááľ áŁáŞáŤáá˝ áá áŽá áá˘
áá #167ᥠá ááŽáááą áá ááá á¨áá˝á áá°ááá˝á áá¨áá
ááááŁáľá, á¨áá°áľ áľáŤáá á á˝áŽá áá¨ááá á ááťáá. á áľááá˝ áááĽáŤáŽá˝ ááá°á á¨áááá ááŤá á áťá áááŞáŤ ááĽááľ áĽááľáľá˝á áľáŤá á¨áá፠ááá á áá áľá˘ á áľááááá á á áŁáŤ áĽá¨á°áá áĽáá°ááᣠááá áŤá á áá áááľ áĽááłááŚáľ áááᤠááá á áá áľá˘
á á á ááá áĽáá´áľ áĽáá°áá°á¨á ááá ááἠá áŤááŁá, á áá¨ááľ áá ááťá, á áá°áá°áŞáŤá áá á°ááŁááá˝á ááľáááĽ, á á፠ááľáĽ áľáŤáá˝á ááá á áá˝áá, ááá ááá á°ááśá˝á á¨áá°á á áá áŤááá áááł ááťá. áĽááŤá˘ áĽááŽáš á¨áá á ááľ áá°áą áá˛áŤáá á áá°áá, á¨á á áĽá á á°ááş áááá. á ááłáĽá áĽáá˛áá áᣠáĽáá˛á°áá áĽá áĽáá˛á°áá á¨áááá ááá á°á á¨ááááľá ááá ááá˘
á¨áááś áááá áá°áľ ááá áá-
- ááááĄ.
- áĽáá áá.
- áŽáľ
- ᨠIaC áá¨áŤ
- áľáá
áĽá á¨áłá°á á áἠáá áĽáľááá°ááľ áľá¨áľ áá áá áĽáá°ááááá.
áááá ááá áá˛áŤáá ááá¨á ááá˝á áá˝áá, áľááá á¨ááááŞáŤ áľáŤá˝á á áá°áá°á áĽá á ááŁáĽ á ááŁáŤáľ áááá áá á.
áá #181: á á¨ááá´ áááŁáł ááľá°á
ááá˛áá áá° á á¨ááá´ áááŁáł ááľá°á áľáá˝ á¨ááááŞáŤ áĽááá ááᢠáá ááá áááľ ááťáá á áá°áĽáá, ááá áá áá°áśá˝á ááá¨á áĽá á áááŞááľ ááľáĽ á á¨ááá´ áááŁáłáá˝á áááĽáŤáľ áŤáľá˝áááłá. ááłáĄ á áĄáľá ááŤá¨á áááśá˝á ááłá á áá-
- áá áá¨áŤáá˝ ááĽá áá¸á.
- á¨áá ááá ááá áá ááŁá áĽá á á°ááłáłá áá áŽáąá á¨áĽááľá á ááľ á¨áá á¨á áľáá˝ á¨á°áťá áŤáľáááľá˘
áá #193: á¨ááá˛áá áĽáľá¨ ááá áá¨áŤáá˝
áŽáąá áá° ááłá á¨áááŁáľ áá°áľá á¨ááᥠᣠá¨á°á¨á á á°á¨á ááťáťáŤ áá°áąá áááá áá˝áá - á˝ááá á á áľáá᪠áááá˝ á áá°áŤáľ ᣠáŤá á á áá áĽááłá ááľá¨á áá˝ááᢠáááá˝á áĽáá´áľ áĽáá°áá°áá አáĽá áĽáá´áľ áĽáá°áá°áŠ áá¨áłáľ á ááĽááľ.
áá #211ᥠá¨á ááľ áá° áá á°áľ áá¨áŤáá˝
á áĽááááš áááá˝ á áŠááľ áá°ááá˝ á˛á¸áá áĽá ááá ááá á á°á¸áá ááᣠáá° áá á°áľ áá¨áŤáá˝á áá¨á ááá á áá˝ááᢠáĽáááŤá˘ á áá á¨á° áááľ ááľáĽ á ááľ áá á áĄáĽ ááá¨á á áá°áá, ááá áá á¨áĽááą áĽáá¨áľ, áááłá, áá ááłá áá á.
áááŞááľá á áá áá áááá˝á/ááŤááť áá˝ááá˝á á áľááŠáŁ á¨ááŤá á áŽáá´áááŽá˝ ááľáĽ á¨áŠááľ áá¨áŤáá˝á áĽá á áá¨á¨áťá á¨áá á°áľ áá¨áŤáá˝á á¨ááŤá°áá áĽá á°á¨ááá˝á ááĽá¨ááá˘
áááŞááľ + áśá¨á + ááťá á¨áá˝á = áá¨áŤáá˝
- áŞáá áááľáš áĽá á¨áááŁáł á°á¨ááá˝á áŤáááąá˘
- á¨lint playbook á°á¨ááá˝á á áľáአáŤááąá˘
- á¨áááľ áá á°á¨ááá˝á á áľáአáŤáŤááąá˘
- á¨á ááŁáĽ áá°áť áá á°á¨ááá˝á á áľáአáŤááąá˘
- á¨áá¨áŤ áá á°á¨ááá˝á á áľáአáŤááąá˘
- á¨áááľ áá.
- á ááá˝ áááá˝ áá áĽááááľá áŤá¨áááĄá˘
- á ááŁáĽ áŤá¨áááĄá˘
- áśá¨á ááłá áá á
- áááŞáá á ááľ/ááŁáŞ/playbook.yml.
- á á áá áŤá¨áááĄá˘
- á¨áá á°áľ áá¨áŤáá˝á áŤááą
- áŞá¨á°
áá # 271: á¨á ááśáĄáľ ááááŤáľ
ááááŞáŤ áá á¨áá°áľ áľáŤ á áááľ ááá áśáľáľ á°áá˝ á áľáá˝ áĄáľá á°áŤááˇá. á ááłá ááľáĽ áŤááá áŽáľ ááááááᢠá áá áá°áľ, áĄáľá áŽáľ áĽá áŽáľ áááá áĽáá´áľ áĽáá°ááťá ááááľ á áłáĽáŻá áľá áá°á¨á° áááą áĽá áĽáá´áľ áĽáá°áá°áŤ ááááľá ááá°áŤá¨áľ á áľá°áá ጠá áľááá. áĽáá áá áááś á¨ááłá¨á ááááááš á á ááľ áááááĽá áá á¨áľ á ááľ á á ááľ ááá¨áŁá¸á ááᣠáááľá. á á°áá°á á°á¨á áá° á á˛áľ áá á¨á° áááľ áľááŁáá˝áá˘
áĽá áĽáá ááš ááá á áá áľ. áááá áááľá¨á ááš áá, á á¨áľáá á°ááŁá áĽáá°á°á°áŤ áĽá á¨ááááľ áłáŞáá áááá¨áą. á¨á°áááą áááŞááľ + á˘áľáĄáŹáľ + á፠á ááá˘
áá áĽáá°áá ᣠáááá ááᲠá áá°áá ᣠá áá áááᾠᣠáá° ááľá°á áŽáľ ááŁá ᣠáá á áá°ááá˝á áĽááľáááĽá á áľáááá
- get_url:
url: "{{ actk_certs }}/{{ item.1 }}"
dest: "{{ actk_src_tmp }}/"
username: "{{ actk_mvn_user }}"
password: "{{ actk_mvn_pass }}"
with_subelements:
- "{{ actk_cert_list }}"
- "{{ actk_certs }}"
delegate_to: localhost
- copy:
src: "{{ actk_src_tmp }}/{{ item.1 }}"
dest: "{{ actk_dst_tmp }}"
with_subelements:
- "{{ actk_cert_list }}"
- "{{ actk_certs }}"
á¨ááŤá á áľá°áŤááá, ááá áá ááŞá áá¨.
get_url:
url: "{{ actk_certs }}/{{ actk_item }}"
dest: "{{ actk_src_tmp }}/{{ actk_item }}"
username: "{{ actk_mvn_user }}"
password: "{{ actk_mvn_pass }}"
loop_control:
loop_var: actk_item
with_items: "{{ actk_cert_list }}"
delegate_to: localhost
- copy:
src: "{{ actk_src_tmp }}/{{ actk_item }}"
dest: "{{ actk_dst_tmp }}"
loop_control:
loop_var: actk_item
with_items: "{{ actk_cert_list }}"
áá # 311: áá¨áŤáá˝á ááá á
á áá áá°áľáŁ áĽá áá¨áŤáá˝ áá áŠáŁáááŁáłáá˝ ááľ áĽáá áĽá¨ááą á á¨á áááł áĽáľá¨ á ááľ á°á áľ áľá¨áľ ááąá˘ á á áá°áá áŹáľáŽ áá âáá¨áŤáá˝ áááŤá¸á áĽáŠ ááᣠáá áááá áá¸áâ á¨áá áá¨á áá á¨á˘ á áá¤áąáᣠá áááŁá áá˝áá˝ áá áŤá á¨áá á°áľ áá¨áŤáá˝á áľá°á ááŁá áááľá¨á ááśá¨á á áľá°áŤááááᢠáĽáá˛áá áĽá á áá á¨ááááľá ááłáŞáŤáá˝ áĽááľ áááááľ testinfraá á á áľá°áá á á¨ááá á°áá°ááá˘
á áľááá á ááááᣠá¨áĽááááá˝ áľáĽáľáĽ áá ááĄ-
- áá° áśá¨á áááá˘
- á áĽáááá˝ ááááŤáľ á¨á°áŁááá á¨áá áá¨áŤá áŤáľáááąá˘
- á¨áŁáŞáŤáá˝á áĽááľ áá¨ááŠ.
- á¨áá¨áŤ á ááľ á á°á á°á¨á°á.
- á¨ááá ἠá˝ááł ááá á á áŤáŁá˘á á¨á ááľ áľááá áá.
á áá ááááŤáľ á áááŞááľ áá áŤáá á¨á§á᧠ááľáá áĽáá˛á á ááľ ááá
- á¨áááŁáł á°á¨ááá˝á ááá áŠ.
- áááá á áľááŠ.
- á¨áá¨áŤ áá á°á¨ááá˝á á áľáአáŤááąá˘
- á¨ááľ.
á¨ááááá áľáá ááľ á°ááŻá
ááá á ááá á°ááááŽá˝á áŤáľáááą
ááłáá
á¨áá˝á á ááá áá á°ááááŽá˝á áá ááá, á á
áš ááľáĽ á¨áá áááľá á á
á ááľ ááłá ááľáĽá
ᢠááá¨á role_a
и role_b
# cat role_a/defaults/main.yml
---
msg: a
# cat role_a/tasks/main.yml
---
- debug:
msg: role_a={{ msg }}
# cat role_b/defaults/main.yml
---
msg: b
# cat role_b/tasks/main.yml
---
- set_fact:
msg: b
- debug:
msg: role_b={{ msg }}
- hosts: localhost
vars:
msg: hello
roles:
- role: role_a
- role: role_b
tasks:
- debug:
msg: play={{msg}}
á áŁá á¨ááŤáľá á ááá á¨ááŤááť áá˝áááľ áá¤áľ áááá ááá˝ áŁááá áááŽá˝ áá ááá°áá, áááłá áááá˝ á á°áá¨ááŠá áľ á á°á á°á¨á°á áá. áĽáá° á áááłá°á áá ᣠáá á¨á áá˛áŞá á°ááĽáŽ áá áĽá áá°áŤ á¨áá˝áá áĽáŠá ááá á ááľ ááááľ áľááááľá áá áá áá ᣠáááłá ᣠá á ááľ áá ááľáĽ ᣠá áá áá ááľáĽ á¨á°ááá¸áá á°áááá áĽáť áá ááá˘
á¨ááĽáááá á áá á°áááá á°á áá.
# cat roles/some_role/tasks/main.yml
---
debug:
var: java_home
áĽáŠ: ᪠defaults
á áľááááášá á°ááááŽá˝ ááááš áĽá á áá áĽááąá áĽáť áá ááá˘
# cat roles/some_role/defaults/main.yml
---
r__java_home:
"{{ java_home | default('/path') }}"
# cat roles/some_role/tasks/main.yml
---
debug:
var: r__java_home
áá á°ááááŽá˝ á áľá á áĽáŤ
á¨ááĽáááá á áá á°áááá á°á áá.
# cat roles/some_role/defaults/main.yml
---
db_port: 5432
áĽáŠá á°áááá áááá˝ ááľáĽáŁ á¨áá áľá á áľá á áĽáŤ áŤáá¸á á°ááááŽá˝á áá ááᣠáá ᣠá˘ááŹááśáŞá á áá¨áľáŁ áĽá¨áá áŤááá ááá ááá¨áłáľ ááá áŤá°ááááá˘
# cat roles/some_role/defaults/main.yml
---
some_role__db_port: 5432
ᨠloop áááŁá áŞáŤ á°áááá á°á áá
á¨ááĽááá°á á á°áááá á loops áá áá item
áá
á°ááŁá/ááŤááť á°áĽá°á á¨áá áŚáł á¨á°áŤá°á° áá
áá° áŤáá°á á á áŁá
᪠ááŤá፠áá˝ááá˘
---
- hosts: localhost
tasks:
- debug:
msg: "{{ item }}"
loop:
- item1
- item2
áĽáŠá loop ááľáĽ á°ááááá áĽáá°áá áááľá loop_var
.
---
- hosts: localhost
tasks:
- debug:
msg: "{{ item_name }}"
loop:
- item1
- item2
loop_control:
loop_var: item_name
á¨áá¤áľ á°ááááŽá˝á áŤá¨áááĄ
á°áááá á áľá-á áĽáŤáá˝á ááá áá á°áľááá°ááᤠáĽáá°á á á áá ááááťá¸áá áĽá áááłá á áŁáś áĽá´áľ áĽááłáá°ááá ááááአáĽá á á¨áá á ááááá˘
áĽáŠá°ááááŽá˝á áŤá¨áááĄá˘
- name: "Verify that required string variables are defined"
assert:
that: ahs_var is defined and ahs_var | length > 0 and ahs_var != None
fail_msg: "{{ ahs_var }} needs to be set for the role to work "
success_msg: "Required variables {{ ahs_var }} is defined"
loop_control:
loop_var: ahs_var
with_items:
- ahs_item1
- ahs_item2
- ahs_item3
á¨áá˝ áááá áááľá áŤáľáááąáŁ á ááŁá ááá á áá áá
á ááľ áá á á ááą áááááá˝ ááľáĽ áá˝/áááá -áááľá á¨áá áĽá á¨ááᣠá¨ááá áááááá˝ á ááąá ááááἠá¨áááá áááá áá˝/áááá -áááľ ááťá á ááĽáᣠáá á á¨áá á ááľáĽáľáĽááľá áá¨ááŤáá˘
á¨ááĽááá˝/áááá áááľ á°á ááá˘
---
user:
name: admin
group: admin
áĽáŠ: á ááŁá á°áááá ááá á áá áá.
---
user_name: admin
user_group: "{{ user_name }}"
áááá á¨ááŤááť áá˝áááľá áĽá áááá˝á ááá áŠ
áááá˝ áĽá á¨ááŤááť á°áĽá°áŽá˝ áááá ááá á ááŁá¸á ᣠááááŤáąá á¨áá á¨áľ ááá¸áŤá°áľá áĽá á¨ááá ááá á¨áá°á á ááááľá ááááłáᢠáá áááŞááá á¨á°á áá áá ááŁáŞ áŁá ᪠ááá˘
á¨áľáĽáá áźá áááá˝á á¨áá áá ááá áĄ
á¨áźá ááá áá áá á¨á áľááłá áááť ááłáá áŤáľáááᣠá¨áááá ááá ᣠáĽáąá á¨á áá˛áĽá áĽááĽááľá˘
áááá˝áá á áááŞáá ááááŠ
áááŞáá á áŁá á°áááá ááá áá, áĽááľ áááłáá˝á áĽáááá¨áľ.
áááŞáá á ááŤáł á ááŁááá˝
Đ molecule.yml
á ááá ááľáĽ platforms
áá°ááŤáľ á¨ááľá˝áá¸á áĽá á áľá°áááá˝á áááá˝ áľá˝ááá
á˘
---
driver:
name: docker
platforms:
- name: postgresql-instance
hostname: postgresql-instance
image: registry.example.com/postgres10:latest
pre_build_image: true
override_command: false
network_mode: host
- name: app-instance
hostname: app-instance
pre_build_image: true
image: registry.example.com/docker_centos_ansible_tests
network_mode: host
á áá
áá á¨áľ áĽááá
á áľá°áááá˝ á¨á፠ááá áá˝áá converge.yml
á°á áááĄ
---
- name: Converge all
hosts: all
vars:
ansible_user: root
roles:
- role: some_role
- name: Converge db
hosts: db-instance
roles:
- role: some_db_role
- name: Converge app
hosts: app-instance
roles:
- role: some_app_role
ááťá á¨áá˝á á á¨ááá
á áááŞáá ááľáĽ ááłáá á áľááá ááááŠá áááá°á˝ á á áá áá áá ááťááᣠá á°á¨ááŞá áá á¨á°ááá á áá 3 ááŁáŞ ááᢠáĽáá° testinfra/inspec á°áááá á áá°ááᣠááá áá á¨ááá áááśá˝ á¨ááá áĽáá áá áĽáá°ááááą áá¨ááἠáĽáá˝ááááĄ-
---
- name: Verify
hosts: all
tasks:
- name: copy config
copy:
src: expected_standalone.conf
dest: /root/wildfly/bin/standalone.conf
mode: "0644"
owner: root
group: root
register: config_copy_result
- name: Certify that standalone.conf changed
assert:
that: not config_copy_result.changed
ááá á áááááąá áŤá°ááŠáŁ áĽáľáŞáá áľá¨áľ áá áĽá áĽá á¨ááľ ááá፠áŤáľáááĄ
---
- name: Verify
hosts: solr
tasks:
- command: /blah/solr/bin/solr start -s /solr_home -p 8983 -force
- uri:
url: http://127.0.0.1:8983/solr
method: GET
status_code: 200
register: uri_result
until: uri_result is not failed
retries: 12
delay: 10
- name: Post documents to solr
command: /blah/solr/bin/post -c master /exampledocs/books.csv
ááľáĽáľáĽ áááá áá° áááá˝ áĽá á°á°áŞáá˝ áŤáľááĄ
ááťá á¨áá˝á ááá á áŤááľá áá°áááᣠáľááá á¨áŽáľ á áááŤáᣠá¨ááἠáááĽáŁ á¨áźá áááá˝ á˛á°áŠ áŽáą áááá ἠá áľá¸á᪠ááááᢠáá áá áááááľ áĽá ááá¨áłáľ ááá áááľá¨á á¨áĽáŤáľáá áááá˝ á ááá á áá áá ááľáĽáľáĽááľ áááááľ á¨áá á ááááá˘
á áá áááŽá˝á áĽá áá´áá˝á áŤá ááá
- ááá á ááá á°ááááŽá˝á áŤáľáááą.
- áá á°ááááŽá˝ á áľá á áĽáŤá˘
- ᨠloop áááŁá áŞáŤ á°áááá á°á ááá˘
- á¨áá¤áľ á°ááááŽá˝á áŤá¨áááĄá˘
- á¨áá˝ áááá áááľá áŤáľáááąáŁ á ááŁá ááá á áá ááá˘
- áááá á¨ááŤááť áá˝áááľá áĽá áááá˝á ááá áŠá˘
- á¨áľáĽáá áźá áááá˝á á¨áá áá ááá áĄá˘
- áááá˝áá á áááŞáá ááááŠá˘
- ááľáĽáľáĽ áááá áá° áááá˝ áĽá á°á°áŞáá˝ áŤáľááĄá˘
áá°áá°ááŤ
á ááŽáááľ áá áá á¨á° áááľá áá°áľ áĽáť áłááá IaC á˘ááááľáᢠáá áľáááľáľ, áá áĽá áĽáááľ á¨áá áá á¨á á áá°áľ áá.
á áááá˝
- áľáááľ
áĽáá´áľ áĽáá°ááťá ááá°á˝ áĽá ááá á áááą - áŞá˛áŽ
áĽáá´áľ áĽáá°ááťá ááá°á˝ áĽá ááá á áááą 200 á¨áá°á¨á° áááľ áŽáľ ááľááŽá˝á á ááá¨á á¨á°áááŠáľ ááťá á¨áá˝áᥠá¨120 áŞá¤á áá á á¨Corios áá° á´ááśáľ á 18 ááŤáľ ááľáĽ áľá°áľ áľáááľáá á ááááŠá áľ áá áĽáľáááśá˝á á ááŤáá˝ áá áĽáá´áľ áĽáá°áá°áĽáŠ á¨áťáá ááľáá ááá á¨YML ááŽááŤááŽá˝ á¨ááá¨á á áá áŤáá˝á ááľáá? ááŠá á¨IaC áá¨áŤ ááŁáĽáá˝áŁ ááááŽá˝ áĽá á áááá˝ áááá ááľáá ááĽá áĽááááá áľáŞáľ
UPD1 2020.05.01 20:30 â ááá á¨ááŤááť áá˝áááľ ááá፠áá áá áľá˝ááá
callback_whitelist = profile_tasks
á áľááá áá¨á
á áá áá áĽáá°áá°áŤ ááá¨áłáľ. á¨ááŤá áĽááááá
UPD2 2020.05.03 16:34 -
ááá: hab.com