ITç°å¢ã¯ãŸããŸãè€éã«ãªã£ãŠããŸãã ãã®ãããªç¶æ³ã§ã¯ãIT èªååã·ã¹ãã ããããã¯ãŒã¯å
ã«ååšããåŠçã®å¯Ÿè±¡ãšãªãããŒãã«é¢ããææ°ã®æ
å ±ãä¿æããŠããããšãéèŠã§ãã Red Hat Ansible Automation Platform ã§ã¯ããã®åé¡ã¯ããããã€ã³ãã³ã㪠(
æãåçŽãªåœ¢åŒã§ã¯ãã€ã³ãã³ããªã¯éçãã¡ã€ã«ã§ãã ããã¯ãAnsible ã®äœ¿çšãéå§ããå Žåã«ã¯çæ³çã§ãããèªååãé²ãã«ã€ããŠäžååã«ãªããŸãã
ãããŠãããçç±ã§ãïŒ
- ç¶æ³ãåžžã«å€åããã¯ãŒã¯ããŒãããããŠãã®åŸã¯ãŒã¯ããŒããå®è¡ãããããŒããåºå ¥ãããå Žåãç£èŠå¯Ÿè±¡ããŒãã®å®å šãªãªã¹ããã©ã®ããã«æŽæ°ããŠç¶æããã°ããã§ãããã?
- ç¹å®ã®èªååãé©çšããããŒããå ·äœçã«éžæããããã«ãIT ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã³ã³ããŒãã³ããåé¡ããã«ã¯ã©ãããã°ããã§ãããã?
åçã€ã³ãã³ããªã¯ããããäž¡æ¹ã®è³ªåã«å¯ŸããçããæäŸããŸã (
Ansible Tower ã«ã¯ããã€ãã®æ©èœãä»å±ããŠããŸã
Ansible Tower ã«å«ãŸããæšæºãã©ã°ã€ã³ã«å ããŠãAnsible ã³ãã¥ããã£ã§ãµããŒããããŠããä»ã®ã€ã³ãã³ã㪠ãã©ã°ã€ã³ããããŸãã ãžã®ç§»è¡ã«äŒŽãã
ãã®æçš¿ã§ã¯ã顧客ããã¹ãŠã®ããã€ã¹ã«é¢ããæ
å ±ã CMDB ã«ä¿åããããšãå€ã人æ°ã® IT ãµãŒãã¹ç®¡çãã©ãããã©ãŒã ã§ãã ServiceNow ã®ã€ã³ãã³ã㪠ãã©ã°ã€ã³ã䜿çšããäŸãåãäžããŸãã ããã«ãCMDB ã«ã¯ããµãŒããŒææè
ããµãŒãã¹ ã¬ãã« (éçš/ééçš)ãã€ã³ã¹ããŒã«ãããŠããæŽæ°ããã°ã©ã ãã¡ã³ããã³ã¹æé垯ã«é¢ããæ
å ±ãªã©ãèªååã«åœ¹ç«ã€ã³ã³ããã¹ããå«ããããšãã§ããŸãã Ansible ã€ã³ãã³ã㪠ãã©ã°ã€ã³ã¯ ServiceNow CMDB ãšé£æºã§ããã³ã¬ã¯ã·ã§ã³ã®äžéšã§ãã
Gitãªããžããª
Ansible Tower ã®ã³ã¬ã¯ã·ã§ã³ããã€ã³ãã³ã㪠ãã©ã°ã€ã³ã䜿çšããã«ã¯ãããããããžã§ã¯ã ãœãŒã¹ãšããŠèšå®ããå¿ èŠããããŸãã Ansible Tower ã§ã¯ããããžã§ã¯ã㯠git ãªããžããªãªã©ãããçš®ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ãšã®çµ±åã§ãããèªååãã¬ã€ããã¯ã ãã§ãªãå€æ°ãã€ã³ãã³ã㪠ãªã¹ãã®åæã«ã䜿çšã§ããŸãã
ç§ãã¡ã®ãªããžããªã¯å®éã«ã¯éåžžã«ã·ã³ãã«ã§ãã
âââ collections
â âââ requirements.yml
âââ servicenow.yml
servicenow.yml ãã¡ã€ã«ã«ã¯ããã©ã°ã€ã³ ã€ã³ãã³ããªã®è©³çŽ°ãå«ãŸããŠããŸãã ãã®äŸã§ã¯ã䜿çšãã ServiceNow CMDB å ã®ããŒãã«ãæå®ããã ãã§ãã ãŸããããŒãå€æ°ãšããŠè¿œå ããããã£ãŒã«ããšãäœæããã°ã«ãŒãã«é¢ããç¹å®ã®æ å ±ãèšå®ããŸãã
$ cat servicenow.yml
plugin: servicenow.servicenow.now
table: cmdb_ci_linux_server
fields: [ip_address,fqdn,host_name,sys_class_name,name,os]
keyed_groups:
- key: sn_sys_class_name | lower
prefix: ''
separator: ''
- key: sn_os | lower
prefix: ''
separator: ''
ããã¯ãæ¥ç¶å ã® ServiceNow ã€ã³ã¹ã¿ã³ã¹ãæå®ãããã®ã§ã¯ãªããæ¥ç¶ã®ããã®è³æ Œæ å ±ãæå®ãããã®ã§ã¯ãªãããšã«æ³šæããŠãã ããã ããããã¹ãŠãåŸã§ Ansible Tower ã§èšå®ããŸãã
$ cat collections/requirements.yml
---
collections:
- name: servicenow.servicenow
ãã®èšå®ãããŒãžã§ã³ç®¡çã«ããã·ã¥ãããã察å¿ãããªããžããªãåç §ãããããžã§ã¯ãã Ansible Tower ã«äœæã§ããŸãã 以äžã®äŸã§ã¯ãAnsible Tower ã github ãªããžããªã«ãªã³ã¯ããŠããŸãã SCM URL ã«æ³šæããŠãã ãããããã«ããããã©ã€ããŒã ãªããžããªã«æ¥ç¶ããããã®ã¢ã«ãŠã³ããç»é²ãããããã§ãã¯ã¢ãŠãããç¹å®ã®ãã©ã³ããã¿ã°ããŸãã¯ã³ããããæå®ãããã§ããŸãã
ServiceNow ã®èªèšŒæ å ±ã®äœæ
åè¿°ããããã«ããªããžããªã®æ§æã«ã¯ ServiceNow ã«æ¥ç¶ããããã®è³æ Œæ
å ±ãå«ãŸããŠããããéä¿¡ãã ServiceNow ã€ã³ã¹ã¿ã³ã¹ãæå®ãããŠããŸããã ãããã£ãŠããã®ããŒã¿ãèšå®ããã«ã¯ãAnsible Tower ã§èªèšŒæ
å ±ãäœæããŸãã ã«ãããš
= username
The ServiceNow user account, it should have rights to read cmdb_ci_server (default), or table specified by SN_TABLE
set_via:
env:
- name: SN_USERNAME
ãã®å ŽåãSN_USERNAME ç°å¢å€æ°ãèšå®ãããŠããå Žåãã€ã³ãã³ã㪠ãã©ã°ã€ã³ã¯ããã ServiceNow ã«æ¥ç¶ããããã®ã¢ã«ãŠã³ããšããŠäœ¿çšããŸãã
SN_INSTANCE å€æ°ãš SN_PASSWORD å€æ°ãèšå®ããå¿ èŠããããŸãã
ãã ããAnsible Tower ã«ã¯ãServiceNow ã«ãã®ããŒã¿ãæå®ã§ãããã®ã¿ã€ãã®èªèšŒæ
å ±ã¯ãããŸããã ããããAnsible Tower ã䜿çšãããšã
ãã®å ŽåãServiceNow ã®ã«ã¹ã¿ã è³æ Œæ å ±ã®å ¥åæ§æã¯æ¬¡ã®ããã«ãªããŸãã
fields:
- id: SN_USERNAME
type: string
label: Username
- id: SN_PASSWORD
type: string
label: Password
secret: true
- id: SN_INSTANCE
type: string
label: Snow Instance
required:
- SN_USERNAME
- SN_PASSWORD
- SN_INSTANCE
ãããã®è³æ Œæ å ±ã¯ãåãååã®ç°å¢å€æ°ãšããŠå ¬éãããŸãã ããã«ã€ããŠã¯ãã€ã³ãžã§ã¯ã¿ãŒæ§æã§èª¬æããŸãã
env:
SN_INSTANCE: '{{ SN_INSTANCE }}'
SN_PASSWORD: '{{ SN_PASSWORD }}'
SN_USERNAME: '{{ SN_USERNAME }}'
å¿ èŠãªèªèšŒæ å ±ã®çš®é¡ãå®çŸ©ããã®ã§ã次ã®ããã« ServiceNow ã¢ã«ãŠã³ããè¿œå ããã€ã³ã¹ã¿ã³ã¹ããŠãŒã¶ãŒåããã¹ã¯ãŒããèšå®ã§ããŸãã
åšåº«ãäœæããŸã
ããã§ãAnsible Tower ã§ã€ã³ãã³ããªãäœæããæºåãæŽããŸããã ããã ServiceNow ãšåŒã³ãŸãããã
ã€ã³ãã³ããªãäœæããããããŒã¿ ãœãŒã¹ãã€ã³ãã³ããªã«ã¢ã¿ããã§ããŸãã ããã§ã¯ãåã«äœæãããããžã§ã¯ããæå®ãããœãŒã¹ç®¡çãªããžããªå ã® YAML ã€ã³ãã³ã㪠ãã¡ã€ã«ãžã®ãã¹ãå ¥åããŸãããã®äŸã§ã¯ããããžã§ã¯ã ã«ãŒãã«ãã servicenow.yml ã§ãã ããã«ãServiceNow ã¢ã«ãŠã³ãããªã³ã¯ããå¿ èŠããããŸãã
ãã¹ãŠãã©ã®ããã«æ©èœãããã確èªããããã«ã[ãã¹ãŠåæ] ãã¿ã³ãã¯ãªãã¯ããŠããŒã¿ ãœãŒã¹ãšã®åæãè©ŠããŠã¿ãŸãããã ãã¹ãŠãæ£ããæ§æãããŠããå Žåã¯ãããŒããã€ã³ãã³ããªã«ã€ã³ããŒããããã¯ãã§ãã
å¿ èŠãªã°ã«ãŒããäœæãããŠããããšã«æ³šæããŠãã ããã
ãŸãšã
ãã®æçš¿ã§ã¯ãServiceNow ãã©ã°ã€ã³ãäŸãšããŠãAnsible Tower ã®ã³ã¬ã¯ã·ã§ã³ããã€ã³ãã³ã㪠ãã©ã°ã€ã³ã䜿çšããæ¹æ³ã説æããŸããã ãŸããServiceNow ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããããã®èªèšŒæ å ±ãå®å šã«ç»é²ããŸããã ãããžã§ã¯ãããã€ã³ãã³ã㪠ãã©ã°ã€ã³ããªã³ã¯ãããšããµãŒãããŒã㣠ãã©ã°ã€ã³ãã«ã¹ã¿ã ãã©ã°ã€ã³ã ãã§ãªããäžéšã®æšæºã€ã³ãã³ããªã®æäœãå€æŽããããã«ã䜿çšã§ããŸãã ããã«ããããŸããŸãè€éåãã IT ç°å¢ãèªååããéã«ãAnsible Automation Platform ãæ¢åã®ããŒã«ãšç°¡åãã€ã·ãŒã ã¬ã¹ã«çµ±åã§ããããã«ãªããŸãã
ãã®æçš¿ã§èª¬æãããããã¯ããAnsible ã®äœ¿çšã«é¢ãããã®ä»ã®åŽé¢ã®è©³çŽ°ã«ã€ããŠã¯ã以äžãåç §ããŠãã ããã
- ã«ããããã°
Ansible ã䜿çšãã ServiceNow ã®èªåå . ç¬èªã®ã³ã¬ã¯ã·ã§ã³ãäœæããæ¹æ³ .- Automation Hub Web ãµã€ã㧠Red Hat ããµããŒãããã³ã¬ã¯ã·ã§ã³ã®ãªã¹ã (
ã¯ã©ãŠã.redhat.com ). Ansible èªååãã©ãããã©ãŒã ã®é»åæžç± .
*Red Hat ã¯ãããã«å«ãŸããã³ãŒããæ£ããããšãä¿èšŒããŸããã ãã¹ãŠã®è³æã¯ãç¹ã«æèšãããŠããªãéããéæšå¥šã«åºã¥ããŠæäŸãããŸãã
åºæïŒ habr.com