Cp-ansible: ์•ค์„œ๋ธ” ๊ฐค๋Ÿญ์‹œ ์ง€์›

์— ๋งŒ๋“  2019๋…„ 07์›” 02์ผ  ยท  18์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: confluentinc/cp-ansible

๋จผ์ € ์ด ๋†€๋ผ์šด ์ผ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด ๋ ˆ์‹œํ”ผ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ , ansible์˜ ์ „๋ฌธ๊ฐ€๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๋ชจ๋“  ์ €์žฅ์†Œ ์ฝ˜ํ…์ธ ๋ฅผ ๋ณต์ œํ•˜๊ณ  ์—ญํ• ์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๊ฐ€์žฅ ์ข‹์€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์กฐ๊ธˆ ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์€ํ•˜๊ณ„์™€ ํ˜ธํ™˜๋˜๋„๋ก ๋งŒ๋“ค๋ ค๋Š” ์˜๋„๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

enhancement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

Ansible 2.9๋Š” Collections๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฐฐํฌ ํ˜•์‹์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ปฌ๋ ‰์…˜์— ํ”Œ๋ ˆ์ด๋ถ, ์—ญํ• , ๋ชจ๋“ˆ ๋ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋” ์ ํ•ฉํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ํฌ์ธํ„ฐ:

๋ชจ๋“  18 ๋Œ“๊ธ€

์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ํ”Œ๋ ˆ์ด๋ถ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฌ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ๋กœ์„œ๋Š” ๊ฐ€๋Šฅํ•œ ์€ํ•˜๊ณ„์— ํผ๋ธ”๋ฆฌ์‹ฑํ•  ๊ณ„ํš์ด ์—†์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ์ด๋ฅผ ์กฐ์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ๋‚ด๋ถ€ jira๋ฅผ ์ œ์ถœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๊ธฐ๋Œ€๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณต์ œํ•œ ๋‹ค์Œ ์ง€์ •๋œ ์„ค์ •์— ํ•„์š”ํ•œ ํ”Œ๋ ˆ์ด๋ถ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Ansible 2.9๋Š” Collections๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฐฐํฌ ํ˜•์‹์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ปฌ๋ ‰์…˜์— ํ”Œ๋ ˆ์ด๋ถ, ์—ญํ• , ๋ชจ๋“ˆ ๋ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋” ์ ํ•ฉํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ํฌ์ธํ„ฐ:

๋‚˜๋Š” ๊ฐค๋Ÿญ์‹œ ์ปฌ๋ ‰์…˜์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์ฐ”๋ €๊ณ  all.yml ํ”Œ๋ ˆ์ด๋ถ๊ณผ ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์„ฑ(ssl ๋ฐ sasl/plain ๋ฆฌ์Šค๋„ˆ)์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€๋Š” ๋งค์šฐ ํˆฌ๋ฐ•ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋‚ด๊ฐ€ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ํ•„ํ„ฐ์™€ ๋ชจ๋“ˆ์„ ์ฐธ์กฐํ•˜๋ ค๋ฉด ์ „์ฒด ์€ํ•˜ ์ด๋ฆ„ ๊ณต๊ฐ„์„ ์ฐธ์กฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์ ํ•ฉํ•˜๋ฉฐ ํŒ€์—์„œ ์ถ”๊ฐ€ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด PR์„ ์—ด๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

https://github.com/aig787/cp-ansible/tree/agriffin/5.4.1-repack

@aig787 ์ข‹์•„์š”! ๋‚˜๋Š” ํ•ญ์ƒ ์—…๊ทธ๋ ˆ์ด๋“œ ํ”Œ๋ ˆ์ด๋ถ์ด "ํ”Œ๋ ˆ์ด๋ถ" ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.
์—ญํ• ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๋˜ํ•œ confluentinc_cp ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

ํ•œ ๊ฐ€์ง€ ๊นŒ๋‹ค๋กœ์šด ๋ถ€๋ถ„์€ ansible.cfg์ž…๋‹ˆ๋‹ค. ์ €๋Š” ํ•ญ์ƒ ํ”Œ๋ ˆ์ด๋ถ ๋ฐ”๋กœ ์˜†์— ์žˆ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ญํ• ์€ ๋ชจ๋‘ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ† ๋ฆฌ(https://docs.ansible.com/ansible/devel/dev_guide/develping_collections.html#plugins-directory)์— ์žˆ๋Š” ํ•ญ๋ชฉ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ์ „์ฒด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•„ํ„ฐ๊ฐ€ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด KAFKA_OPTS: "{{ kafka_broker_final_java_args | java_arg_build_out }}" ๋ฅผ KAFKA_OPTS: "{{ kafka_broker_final_java_args | aig787.confluent_cp.java_arg_build_out }}" ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ confluentinc_cp ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•œ ์ƒํƒœ์—์„œ ์‹œ๋„ํ–ˆ๋Š”๋ฐ ์ œ๋Œ€๋กœ ์ž‘๋™ํ–ˆ์œผ๋ฏ€๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ansible-galaxy collection init ๋ถ€ํŠธ์ŠคํŠธ๋žฉํ•˜๊ณ  ์ƒ์„ฑ๋œ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

sible.cfg๊ฐ€ ๋‚˜๋จธ์ง€์™€ ํ•จ๊ป˜ ํ”Œ๋ ˆ์ด๋ถ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ํ”Œ๋ ˆ์ด๋ถ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์‚ฌ๋žŒ๋“ค์ด ์—ฌ์ „ํžˆ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•˜๊ณ  ์ง€๊ธˆ์ฒ˜๋Ÿผ ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค๊ณ  _์ƒ๊ฐ_ํ•ฉ๋‹ˆ๋‹ค. ์€ํ•˜๊ณ„์— ์žˆ๋Š” ๊ฒƒ์˜ ์žฅ์ ์€ ํ”Œ๋ ˆ์ด๋ถ์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ์‚ฌ๋žŒ๋“ค์ด ์ž์‹ ์˜ ์„ค์ •์—์„œ ์—ญํ• ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ๋‚ด 2 ์„ผํŠธ์ž…๋‹ˆ๋‹ค.

์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ansible.cfg๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”Œ๋ ˆ์ด๋ถ์„ ์‹คํ–‰ํ•˜๊ณ  ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€sible.cfg๊ฐ€ ์žˆ๋Š” ์œ„์น˜๊ฐ€ ์•„๋‹ˆ๋ฉด ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ๋งŒ ์••๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ค€์ˆ˜ํ•˜๊ณ  ์ปฌ๋ ‰์…˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์˜ ๊ฐ€์น˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ์ปฌ๋ ‰์…˜์„ ์€ํ•˜๊ณ„์— ๊ฒŒ์‹œํ•จ์œผ๋กœ์จ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด์ ์ด ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ฐ€์‹œ์„ฑ?

๋‚˜์—๊ฒŒ ์€ํ•˜๊ณ„์™€ ์šฐ๋ฆฌ ์ง€์‚ฌ์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ๋งŽ์€ ์˜ค๋ฒ„ํ—ค๋“œ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ์‚ฌ์šฉ์˜ ์šฉ์ด์„ฑ ์ด๋“์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ์— ๊ธฐ๋ณธ ๊ตฌ์„ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”Œ๋ ˆ์ด๋ถ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ์š”๊ตฌ ์‚ฌํ•ญ ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜๊ณ  `ansible-galaxy install -r requirements.yml'์„ ์‹คํ–‰ํ•˜๊ณ  ๋ณต์ œํ•  ํ•„์š” ์—†์ด ๊ธฐ์กด ํ”Œ๋ ˆ์ด๋ถ์—์„œ kafka ์—ญํ• ์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ํ”Œ๋ ˆ์ด๋ถ์„ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์—ญํ•  ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ๊ฒŒ์‹œํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์— ๊ด€ํ•ด์„œ๋Š” ์ปฌ๋ ‰์…˜์ด ์—ญํ• ๊ณผ ๊ฐ™์€ ์ž์‹ ์ฐธ์กฐ๋ฅผ ์ง€์›ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(https://galaxy.ansible.com/docs/using/installing.html#installing-multiple-roles-from-a -file ๋Œ€ https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#install-multiple-collections-with-a-requirements-file). ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ์˜ ์–‘์— ๋Œ€ํ•ด ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์•ฝ๊ฐ„ ๋ฌด๊ฑฐ์›Œ ๋ณด์ž…๋‹ˆ๋‹ค.

์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ Galaxy์— ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์— ์ƒ๊ด€ํ•˜์ง€ ์•Š์ง€๋งŒ ์š”๊ตฌ ์‚ฌํ•ญ ํŒŒ์ผ์—์„œ ๋‹ค๋ฅธ ์—ญํ• ์„ ์‰ฝ๊ฒŒ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ •๋ง ๊ฐ์‚ฌํ•  ์ผ์ž…๋‹ˆ๋‹ค.์Šค๋งˆ์ผ:

์ƒˆ ๋ฌธ์ œ๋ฅผ ๋“ฑ๋กํ•˜๋ ค๊ณ  ํ–ˆ์œผ๋‚˜ ๋‚ด ๋ฌธ์ œ๊ฐ€ ์ด ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—ฌ๊ธฐ์—์„œ ์ฝ”๋ฉ˜ํŠธ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๊ด€๋ฆฌ์ž์™€ ์ง€์ผœ๋ณด๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋กœ๋ถ€ํ„ฐ ์ดˆ๊ธฐ ํ”ผ๋“œ๋ฐฑ์„ ์–ป์œผ์‹ญ์‹œ์˜ค.

์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์—ญํ• ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ ๋‚ด ์‚ฌ์šฉ์ž ์ง€์ • ์—ญํ• (์—ญํ•  ํ™•์žฅ)์˜ ์—ญํ•  ์ข…์†์„ฑ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ”Œ๋ ˆ์ด๋ถ(all.yml)์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ์ •ํ™•ํ•œ ํƒ€์ด๋ฐ์— ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ ์šฉํ•˜๋Š” ๋ฐ ๋งŽ์€ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ฒซ ๋ฒˆ์งธ(์ฐจ๋‹จ) ๋ฌธ์ œ๋Š” https://github.com/confluentinc/cp-ansible/pull/442 ๋กœ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค

[DEPRECATION WARNING]: Included file 
'/builds/kafka/provisioner/tasks/failure_handling.yml' not found, however since
 this include is not explicitly marked as 'static: yes', we will try and 
include it dynamically later. In the future, this will be an error unless 
'static: no' is used on the include task. If you do not want missing includes 
to be considered dynamic, use 'static: yes' on the include or set the global 
ansible.cfg options to make all includes static for tasks and/or handlers. This
 feature will be removed from ansible-base in version 2.12. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

๋””ํ…Œ์ผ์„ ๋ณด๋‹ˆ ์ „์ฒด์ ์ธ ๋ฌธ์ œ๋Š” ํ˜„์žฌ ์—ญํ• ์ด ์ž์กฑ์ ์ด์ง€ ์•Š๋‹ค๋Š” ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ Ansible Galaxy์— ์—ญํ•  ๋˜๋Š” ์—ญํ•  ์ปฌ๋ ‰์…˜์„ ๊ฒŒ์‹œํ•˜๊ธฐ ์œ„ํ•œ ํ•„์ˆ˜ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ์—ญํ•  ๋‚ด์—์„œ ๋‹ค์Œ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ /filter_plugins ๋ฐ /tasks ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋กœ ์š”์•ฝ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ์•„์ฃผ ์‰ฝ๊ฒŒ ๊ณ ์น  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

pull ์š”์ฒญ์œผ๋กœ ๋‹ค์Œ ์ž‘์—…์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

  1. /filter_plugins ํด๋”๋ฅผ confluent.variables ์—ญํ• ๋กœ ์ด๋™ํ•˜์—ฌ ํ•ด๋‹น ์—ญํ• ์˜ ์ผ๋ถ€๋กœ ๋งŒ๋“œ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ํ•„ํ„ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ตœ์†Œํ•œ ์ด ์—ญํ• ์—์„œ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค.

  2. /tasks ์˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ž‘์—… ํŒŒ์ผ์„ ๊ธฐ์กด ์—ญํ•  ์ค‘ ํ•˜๋‚˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ confluent.common ๊ฐ€ ๊ธฐ์กด ์—ญํ• ์— ๊ฐ€์žฅ ์ ํ•ฉํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น ์—ญํ• ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์ „์šฉ ์—ญํ• ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค( confluent.common_tasks )? ๊ทธ๋ฆฌ๊ณ  include_role#tasks_from์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ์‚ฌ์šฉ๋œ ์ž‘์—… ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ:

Index: roles/confluent.zookeeper/tasks/health_check.yml
<+>UTF-8
===================================================================
--- roles/confluent.zookeeper/tasks/health_check.yml    (revision 0d369ae20c8215dd2ec469f269dc804539f58190)
+++ roles/confluent.zookeeper/tasks/health_check.yml    (date 1602793473938)
@@ -25,7 +25,9 @@
   ignore_errors: true

 - name: Fetch Files for Debugging Failure
-  include: tasks/failure_handling.yml
+  include_role:
+    name: confluent.common
+    tasks_from: failure_handling.yml
   vars:
     service_name: "{{zookeeper_service_name}}"
     config_file: "{{zookeeper.config_file}}"

@erikgb ๊ณผ๊ฑฐ์— ๋‚ด๋ถ€์ ์œผ๋กœ ๋…ผ์˜ํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ์ž์ฒด ํฌํ•จ๋œ ์—ญํ• ๊ณผ ์ฝ”๋“œ ์ค‘๋ณต ์ตœ์†Œํ™”์— ๋Œ€ํ•œ ๋…ผ์˜๊ฐ€ ์ƒ๋‹นํžˆ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. 2.12์—์„œ๋Š” ์ด๊ฒƒ์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฒฝ๊ณ ์— ๋”ฐ๋ผ Ansible์ด ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์œผ๋ฏ€๋กœ /filter_plugins ๋ฐ /tasks ๋ฅผ ๋ชจ๋‘ confluent.common ์—ญํ• ๋กœ ์ด๋™ํ•œ ๋‹ค์Œ ์ ์ ˆํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ์—ญํ• ์˜ import ๋ฌธ.

@domenicbove ๋‹น์‹ ์˜ ์ƒ๊ฐ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๊ธฐ๋Šฅ์ด ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€๋˜๋Š” ํ•œ ํŒŒ์ผ ์œ„์น˜๋ฅผ ์ด๋™ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. @erikgb @JumaX.
์ด๊ฒƒ์€ ์šฐ๋ฆฌ์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ด์•ผ ํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ํฐ ์ž‘์—…์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@domenicbove ๋‹ค์Œ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•œ ์ž‘์—…์— ๋™์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. @erikgb ๋‚ด๋ถ€ JIRA๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ด๋ฅผ ์ถ”์ ํ•˜๊ณ  ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์˜ ๋กœ๋“œ๋งต์— ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋˜๋Š” @erikgb ๋ธŒ๋žœ์น˜์— ์ž‘์—…์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— PR์„ ์ž‘์„ฑํ•˜๋ฉด ๊ฒ€ํ† ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์ด ๋ฌธ์ œ๋ฅผ ์™„์ „ํžˆ ํ•ด๊ฒฐํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ์€ํ•˜๊ณ„๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค? ๊ทธ๊ฒƒ์ด Confluent Platform 7์ด ๋ ๊นŒ์š”? ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ฃผ์š” ์ง„์ž…์ ์ด ํ”Œ๋ ˆ์ด๋ถ๊ณผ ์—ญํ• ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ํ•œ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. CP 7 ์ด์ „์— ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜„

@erikgb CP 6.1

@domenicbove @JumaX CP 6.1์ด ๋” ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ ํ›„๋ฐ˜์— pull ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์‹œ๊ฐ„์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฆฌํŒฉํ† ๋ง์„ ์˜๋ฏธ ์žˆ๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

@erikgb ์—ฌ๋Ÿฌ PR๋กœ ๋ถ„ํ• ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๊ฐ PR์ด ์ถ”๊ฐ€ PR ์—†์ด ๊ณ„์† ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ทธ๊ฒƒ์„ ์ž˜ ์ง„์ˆ ํ–ˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. :). ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋ฅผ ๋ชฉํ‘œ๋กœ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰