ãHabrahabrãã®èªè ã«ãèšäºãOpenStackããã³ããããäŒããããã®ã°ãããã©ã¯ãã£ã¹ ãã®ç¿»èš³ãæäŸããŸãã
1 Git Commitãã¹ããã©ã¯ãã£ã¹
以äžã®ããã¥ã¡ã³ãã¯ãlibvirtãQEMUãOpenStack Novaãªã©ãGitã䜿çšããå€ãã®ãããžã§ã¯ãã§ã®ã³ãŒãéçºçµéšããã°ä¿®æ£ãããã³ã³ãŒãã¬ãã¥ãŒã«åºã¥ããŠããŸãã KernelãCoreUtilsãGNULIBãªã©ãä»ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ããèæ ®ãããšããããã¯ãã¹ãŠããªãäžè¬çãªæ £è¡ã«åŸãããšã瀺åãããŠããŸãã ããã¯ãNova Gitã¹ããŒãªãŒã®å質ãæ¹åããããšããé¡æã«åºã¥ããŠããŸãã å質ã¯ãéçºã«ãããå®çŸ©ã®æœè±¡çãªçšèªã§ãã ãã人ã«ãšã£ãŠç¹å®ã®ã³ãŒãããThing of Beautyãã§ããå Žå-å¥ã®äººã«ãšã£ãŠã¯ãæŸèæãïŒEvil HackïŒã§ãã ããã§ããOpenStackã®ãããžã§ã¯ããšããŒãžããããã«Gitã³ããããéä¿¡ããéã«ãã©ã®ããã«ãäœããã¹ããããŸãã¯éã«äœããã¹ãã§ãªããã«ã€ããŠãããã€ãã®äžè¬çãªæšå¥šäºé ãçå®ã§ããŸãã
ãã®ãããã¯ã¯2ã€ã®é åã«åããããšãã§ããŸãã
- è€æ°ã®ã³ãããã«çµåãŸãã¯åå²ããæé
- ã³ãããã¡ãã»ãŒãžã®æ å ±
å 容
- 1 Git Commitãã¹ããã©ã¯ãã£ã¹
1.1æŠèŠ
ãã®ããã¥ã¡ã³ãã§èª¬æããèããšäŸã¯ãå€æŽãé£ç¶ããã³ãããã®ã°ã«ãŒãã«åå²ããããšã®éèŠæ§ãšããããã«é©åãªã¡ãã»ãŒãžãæžã蟌ãããšã®éèŠæ§ãæ確ã«ç€ºãå¿ èŠããããŸãã ãããã®æé ãåºãé©çšãããå Žåãããã«ããOpenStackã®gitå±¥æŽã®å質ãå€§å¹ ã«åäžããŸãã gitã®å±¥æŽãå¹æçã«å€æŽããã«ã¯ããã³ãžã³ãšã¹ãã£ãã¯ãå¿ èŠã§ãã ãã®ææžã¯ãã³ãžã³ã§ããå¿ èŠããããå©ç¹ãšå©ç¹ã«äººã ã®æ³šæãåŒãä»ããŸãããä»ã®äººã«ãšã£ãŠã¯ãGerrit Collective Code Inspection Systemã®äœ¿çšã¯éã®ããã«æ¯ãèããŸãã ;-P
èšãæããã°ãGerritã§æ€æ»ãããšããã³ãŒãã®æ£ç¢ºãã ããèŠãå¿ èŠã¯ãããŸããã æ€æ»ãããšãã¯ããŸãã³ãããã¡ãã»ãŒãžã調ã¹ãŠãã¡ãã»ãŒãžèªäœã®æ¹åã瀺ãå¿ èŠããããŸãã å€ãã®è«ççãªå€æŽãçµåããéä¿¡è ãããããå¥ã ã®ã³ãããã«åå²ããããšãå¿ èŠãšããã³ãããã詳ãã調ã¹ãŠãã ããã ã€ã³ãã³ãã®ãã©ãŒãããã®å€æŽãæ©èœã®å€æŽãšçµã¿åããããŠããªãããšã確èªããŠãã ããã ãŸããã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ãæ©èœã®å€æŽãªã©ãšã¯å¥ã«ä¿®æ£ãããããã«ããŠãã ããã
Gerritã®äžé£ã®ãããã®åŠçãå®å šã«çæ³çã§ã¯ãªãããšã«ãèšåãã䟡å€ããããŸãã ãã ããäžé£ã®ãããã®äœæãé¿ããããã«ããããæ£åœãªçç±ãšèŠãªãã¹ãã§ã¯ãããŸããã 䜿çšããããŒã«ã¯éçºè ã®ããŒãºã«å¯Ÿå¿ããå¿ èŠããããŸãããŸãããããã¯ãªãŒãã³ãœãŒã¹ã§ãããããä¿®æ£ãŸãã¯æ¹åã§ããŸãã ãœãŒã¹ã³ãŒãã¯ãããèªãŸããæã æžãããŸããããããã£ãŠãæãéèŠãªåºæºã¯ãã³ãã¥ããã£ã®å€æ°ã®éçºè ã®å©ããåããŠã³ãŒãã®é·æãµããŒããæ¹åããããšã§ããããäžåºŠã³ãŒãã
ãããŠä»ã詳现ãªååã ãã§ãªããè¯ãç¿æ £ãšæªãç¿æ £ã®äŸãã
1.2å€æŽã®æ§é çãªåé¢
é©åãªã³ããããäœæããããã®åºæ¬çãªã«ãŒã«ã¯ãã³ãããããšã«ãè«çå€æŽãã1ã€ã ãæäŸããããšã§ãã ãã®éèŠãªã«ãŒã«ã«ã¯å€ãã®çç±ããããŸãã
- ã³ãŒãã®å€æŽãå°ãªãã»ã©ãæœåšçãªåŒ±ç¹ã®ãã§ãã¯ãšç¹å®ãããè¿ éãã€å®¹æã«ãªããŸãã
- ã³ããããæ£ãããªããå£ããŠããããšãå€æããå Žåãäžæ£ãªã³ããããããŒã«ããã¯ãããå¯èœæ§ããããŸãã ãŸããå ã®ã³ããããšæ··åããã³ãŒãã«ä»ã®ç¡é¢ä¿ãªå€æŽããªããã°ãããã¯ã¯ããã«ç°¡åã«ãªããŸãã
- git bisectã³ãã³ãã䜿çšãããªã©ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãè¡ãå Žåãå°èŠæš¡ã§æŽåœ¢åŒã®ã³ãããã¯ãã³ãŒãå ã§åé¡ãçºçããå Žæãšææãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
- git annotateãŸãã¯git blameã§gitã®å±¥æŽã衚瀺ãããšããå°ããªæŽåœ¢åŒã®ã³ãããã¯ãã³ãŒãã®åé¡éšåãèŠã€ããŠåãåããåé¡ã®æçãã©ãããæ¥ãã®ããç解ããã®ã«åœ¹ç«ã¡ãŸãã
1.2.1ã³ããããäœæããéã«é¿ããã¹ãããš
æªãç¿æ £ã®äžè¬çãªäŸãç¥ããç解ããå¿ èŠããããŸãïŒ
- ãã©ãŒãããã®ã€ã³ãã³ããšã¹ããŒã¹ãã³ãŒãã®æ©èœçãªå€æŽãšçµã¿åãããŸãã
å€æŽããã©ãŒããããããšãéèŠãªæ©èœã®å€æŽããããŸãã«ãªããã¬ãã¥ãŒã¢ãã³ãããã®æ£ç¢ºããæ£ç¢ºã«å€æããããšãé£ãããªããŸãã 解決çïŒ 2ã€ã®ã³ããããäœæããŸãã1ã€ã¯ãã©ãŒãããã®å€æŽããã1ã€ã¯æ©èœã®å€æŽã§ãã éåžžãã€ã³ãã³ããæåã«è¡ãããŸãããããã¯å³å¯ãªèŠåã§ã¯ãããŸããã
- 2ã€ã®ç¡é¢ä¿ãªæ©èœå€æŽãæ··åããŸãã
ç¹°ãè¿ããŸãããã¬ãã¥ã¢ãŒã¯ã2ã€ã®ç¡é¢ä¿ãªå€æŽãæ··åšããããšãæ¬ é¥ãç¹å®ããããšãããé£ãããªããŸãã å£ããã³ããããåŸã§ããŒã«ããã¯ããå¿ èŠãããå Žåã¯ã2ã€ã®ç¡é¢ä¿ãªå€æŽãèŠã€ããŠè§£æ±ºããå¿ èŠããããŸãããæ°ãããšã©ãŒãçºçãããªã¹ã¯ããããŸãã
- 1ã€ã®å·šå€§ãªã³ãããã§åªããæ°æ©èœãéä¿¡ããŸãã
æ°ããé¢æ°ã®ã³ãŒãã¯ãå®è£ å šäœãååšããå Žåã«ã®ã¿æçšã§ããå¯èœæ§ããããŸãã ãã ããããã¯ã1åã®ã³ãããã§æ©èœå šäœãæäŸããå¿ èŠããããšããæå³ã§ã¯ãããŸããã å€ãã®å Žåãæ°æ©èœã¯æ¢åã®ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ã䌎ããŸãã æ°ããé¢æ°ãå®è£ ãããŠããã³ãããã§ã¯ãªããåå¥ã®ã³ãããã§ãªãã¡ã¯ã¿ãªã³ã°ãå®è¡ããããšãéåžžã«æãŸããã§ãã ããã¯ããªãã¡ã¯ã¿ãªã³ã°ã«æå³ããªãæ©èœå€æŽããªãããšãã¬ãã¥ãŒã¢ãŒãšãã¹ãã¹ã€ãŒãã確èªããã®ã«åœ¹ç«ã¡ãŸãã æè¿æžãããã³ãŒãã§ãããå€ãã®å Žåãç¬ç«ããŠèæ ®ã§ããããã€ãã®éšåã«åå²ã§ããŸãã ããšãã°ãæ°ããå éšAPIãŸãã¯ã¯ã©ã¹ãè¿œå ããå€æŽã¯ãåå¥ã®ã³ãããã§è¡ãããšãã§ããŸãã ç¹°ãè¿ããŸãããããã«ããã³ãŒãæ€èšŒã容æã«ãªããŸãã ãŸããæ°ããæ©èœãããŒãžããæºåãã§ããŠããªãå Žåãä»ã®éçºè ãgit cherry-pickã䜿çšããŠäœæ¥ã®å°ããªå¡ãååŸã§ããããã«ããŸãã æ°ãããããªãã¯HTTP APIãŸãã¯RPCã€ã³ã¿ãŒãã§ã€ã¹ã®è¿œå ã¯ãå®éã®å éšå®è£ ãšã¯å¥ã®ã³ãããã§è¡ãå¿ èŠããããŸãã ããã«ãããäœæè ãšã¬ãã¥ãŒæ åœè ã¯ãçŸåšéžæãããŠããå éšå®è£ ã«ãšã£ãŠç°¡åãªèšèšãéžæããã ãã§ãªããAPIãŸãã¯RPCã®å šäœçãªèšèšã«ã€ããŠèããããã«ãªããŸãã ãããããããªãã¯HTTPã«åœ±é¿ããå Žåã¯ãAPIImpactãã©ã°ã䜿çšããŸãïŒ å€éšãªã³ã¯ã®æå¹åãåç §ïŒã
åŸãã¹ãäž»ãªãã®ã¯ã«ãŒã«ã§ãïŒ
, . - . .
1.2.2æªãç¿æ £
ããã§ã¯ãGit Novaã®æŽå²ããããã€ãã®äŸã瀺ããŸãããã 泚ïŒã³ãããããã·ã¥ã¯åç §çšã«åŒçšãããŠããŸãããèè ã®ååã¯åé€ãããŠããŸãã1人ã®äººã責ããããæããããããªãã§ãã ããã æã ãç§ãã¡ã¯ãããããè¯ã圢ã®èŠåãç Žã£ãããšã責ããã¹ãã§ãã ããã«ããããã®ã³ããããã¬ãã¥ãŒããŠæ¿èªãã人ã¯ãããããäœæããŠéä¿¡ãã人ãšåãããã«æ眪ã§ãã
1.2.2.1äŸ1
: ae878fc8b9761d099a4145617e4a48cbeb390623 : [] : . 1 01:44:02 2012 . +0000 create libvirt * create * wait_for_destroy undefine * * reset create / destroy * resume_host_state hard_reboot * rescue/unrescue Change-Id: I2072f93ad6c889d534b04009671147af653048e7
ãã®ã³ãããã«ãããå°ãªããšã2ã€ã®ç¬ç«ããå€æŽãè¡ãããŸããã
- hard_rebootã¡ãœããã§æ°ãããªã»ããAPIã䜿çšããããã«åãæ¿ãã
- ãhard_rebootãã䜿çšããªãããã«å éšãã©ã€ããŒã¡ãœãããä¿®æ£
ããã§ã®åé¡ã¯äœã§ããïŒ
- ãŸãããããã®å€æŽãåæã«ïŒ1åã®ã³ãããã§ïŒè¡ãå¿ èŠãããçç±ã¯ãããŸããã æåã®ã³ãããã«ã¯ãhard_rebootã¡ãœããã®ããŸããŸãªå Žæã§åŒã³åºããçµäºããå€æŽãå«ãŸããå ŽåããããŸãã 2çªç®ã®ã³ãããã¯ãhard_rebootã®å®è£ ãäžæžãããå¯èœæ§ããããŸãã
- 第äºã«ãreset libvirtã¡ãœããã®äœ¿çšãžã®ç§»è¡ã¯ã倧èŠæš¡ãªã³ãŒããªãã¡ã¯ã¿ãªã³ã°ã§é ãããŠãããããã¬ãã¥ãŒæ åœè ã¯èŠéããŠããŸããã ãã®ã³ãããã¯ããã«åé¡ã«ãªãããšãããããŸããããç¡é¢ä¿ãªå€æŽãå€æ°ãããããäºçŽ°ãªããŒã«ããã¯ã¯äžå¯èœã§ãã
1.2.2.2äŸ2
: e0540dfed1c1276106105aea8d5765356961ef3d : [] : C. 16 15:17:53 2012 +0400 lvm-disk-images LVM VM. LVM libvirt. VM- LVM `libvirt_images_volume_group`. `libvirt_local_images_type` , . : `raw`, `lvm`, `qcow2`, `default`. `libvirt_local_images_type` = `default`, `use_cow_images`. `libvirt_sparse_logical_volumes` , ( virtualsize ). `False`. : `Raw`, `Qcow2` `Lvm`. , `LibvirtConnection._cache_image` ` libvirt_info` `LibvirtGuestConfigDisk` libvirt. `Backend` , . Change-id: I0d01cb7d2fd67de2565b8d45d34f7846ad4112c2
ãã®å€æŽã«ããã1ã€ã®æ°ããäž»èŠãªæ©èœãå°å ¥ããããããäžèŠãåäžã®ã³ãããã䜿çšããã®ãåççãšæãããŸãããããããèŠããšãæ°ããLVMæ©èœã«ãã倧éã®ã³ãŒããªãã¡ã¯ã¿ãªã³ã°ãå«ãŸããŠãããããæããã«éåžžã«æ··ä¹±ããŠããŸãã ãã®äºå®ã«ãããQCow2 / Rawç»åã®ãµããŒãã«ãããå¯èœæ§ã®ããååž°ãç¹å®ããããšãé£ãããªããŸãã å°ãªããšã4ã€ã®å¥ã ã®ã³ãããã«åå²ããå¿ èŠããããŸãã
- use_cow_imagesæ§æãã©ã°ã¯ãå»æ¢ãããuse_cow_imagesãã©ã°ã®åŸæ¹äºææ§ããµããŒãããæ°ããlibvirt_local_images_typeãã©ã°ã«çœ®ãæããããŸããã
- å éšã¯ã©ã¹ãImageãã®äœæãšRawããã³QCow2ã®ãµãã¯ã©ã¹ã®å®è£ ã
- æ°ããImageã¯ã©ã¹ãåŒã³åºããŠãraw / qcow2ã€ã¡ãŒãžç®¡çã³ãŒãã眮ãæããlibvirtãã©ã€ããŒããªãã¡ã¯ã¿ãªã³ã°ããŸãã
- LVMã€ã¡ãŒãžã¯ã©ã¹ã®æ°ããå®è£ ã®çŽ¹ä»ã
1.2.3ã°ãããã©ã¯ãã£ã¹ã®äŸ
1.2.3.1äŸ1
: 3114a97ba188895daff4a3d337b2c73855d4632d : [] : . 11 17:16:10 2012 +0100 KVM VM PIT RTC : 573ada525b8a7384398a8d7d5f094f343555df56 : [] : . 1 17:09:32 2012 + 0100 VM libvirt
ããã2ã€ã®å€æŽã«ãããã²ã¹ãKVMã¿ã€ããŒã®æ§æããµããŒããããŸãã libvirt XMLæ§æãäœæããããã®æ°ããAPIã®å®è£ ã¯ãæ°ããAPIãäœæããããã®KVMã²ã¹ãããªã·ãŒã®å€æŽããæ確ã«åé¢ãããŸããã
1.2.3.2äŸ2
: 62bea64940cf629829e2945255cc34903f310115 : [] : . 1 14:49:42 2012 -0400 rpc.queue_get_for(). Change-Id: Ifa7d648e9b33ad2416236dc6966527c257baaf88 : cf2b87347cd801112f89552a78efabb92a63bac6 : [] : . 30 14:57:03 2012 -0400 shared_storage_test rpcapi. ...... get_instance_disk_info rpcapi. ...... remove_volume_connection rpcapi. ...... compare_cpu rpcapi. ...... get_console_topic() rpcapi. ...... refresh_provider_fw_rules() rpcapi. ... ...
ãã®ã³ãããã·ãŒã±ã³ã¹ã«ããããã©ã°ã€ã³ã¡ãã»ãŒãžã³ã°å®è£ ã䜿çšã§ããããã«ãOpenStack ComputeïŒNovaïŒå ã®RPC APIã¬ã€ã€ãŒå šäœãåç·šæãããŸããã æ©èœã®äž»èŠéšåã®ãã®ãããªéèŠãªå€æŽã®éèŠãªãã€ã³ãã¯ãäœæ¥ã倧ããªã³ãããã·ãŒã±ã³ã¹ã«åå²ããããšã§ãããããã«ãããæå³ã®ããã³ãŒããã§ãã¯ãå¯èœã«ãªããããã»ã¹ã®å段éã§å€æŽã®è¿œè·¡ãšå¯èœãªååž°ã®æ€çŽ¢ãç°¡çŽ åãããŸããã
1.3ã³ãããã¡ãã»ãŒãžã®æ å ±
ã³ãããã¡ãã»ãŒãžã®ããã¹ãã¯ãã³ãŒãèªäœãå€ããã®ãšåããããéèŠã§ãã ã¡ãã»ãŒãžãäœæãããšããçæãã¹ãéèŠãªããšãããã€ããããŸãã
- ã¬ãã¥ãŒã¢ãæåããåé¡ãäœã§ããããç解ããŠãããšæã蟌ãŸãªãã§ãã ããã
ãã°ã¬ããŒããšããã€ãã®ã³ã¡ã³ããèªãã ãšããŠããåé¡ãäœã§ããããåžžã«æ確ã§ã¯ãªãããšããããããŸãã ã³ãããã¡ãã»ãŒãžã«ã¯ãå ã®åé¡ã®æ確ãªèª¬æãå«ããå¿ èŠããããŸãã ç¹å®ã®ãã°ã¯ãåé¡ã®ç¹å®æ¹æ³ã«é¢ããèå³æ·±ãæŽå²çèæ¯ã«ãããŸããã ã¬ãã¥ãŒã¢ã¯ããšã©ãŒè¿œè·¡ã·ã¹ãã ã§ãã®æ¬ é¥ã調æ»ããããšãªããææ¡ãããããããæ£ãã決å®ãè¡ãããã«äœãè¡ãããç解ããå¿ èŠããããŸãã
- ã¬ãã¥ãŒã¢ãå€éšã®WebãµãŒãã¹ãŸãã¯ãµã€ãã«ã¢ã¯ã»ã¹ã§ãããšæ³å®ããªãã§ãã ããã
6ãæåŸãé»è»/é£è¡æ©/ãã¹/ããŒã/ããŒã«ä¹ã£ãŠãã人ãåé¡ãä¿®æ£ããŠgitã®å±¥æŽã衚瀺ãããšããªã³ã©ã€ã³ãšã©ãŒã¬ããŒããŸãã¯ããã¥ã¡ã³ãã䜿çšããŠãµãŒããŒã«ã¢ã¯ã»ã¹ã§ããä¿èšŒã¯ãããŸããã åæ£ãœãŒã¹ã³ãŒã管çïŒSCMïŒã·ã¹ãã ã¯ããªããžããªå ã®ãã¹ãŠã®æ å ±ã«ã¢ã¯ã»ã¹ããããã«ãªã³ã©ã€ã³ã§ããå¿ èŠããªããªã£ããšããç¹ã§ã倧ããªäžæ©ãèžã¿åºããŸããã ã³ãããã¡ãã»ãŒãžã¯ãgitã®ã¡ãªããã享åãç¶ããããã«ãå®å šã«èªçµŠèªè¶³ã§ãªããã°ãªããŸããã
- ã³ãŒããèªæ/èªå·±ææžåã§ãããšæ³å®ããªãã§ãã ããã
ãã人ã«ãšã£ãŠæãããªããšã¯ãå¥ã®äººã«ãšã£ãŠå®å šã«ç解ã§ããªãå ŽåããããŸãã ãã¡ãããæãããªèª€åãæžåŒã®å€æŽãä¿®æ£ããå Žåãé€ããå€æŽããšã«ãå ã®åé¡ã®å 容ãšä¿®æ£æ¹æ³ãåžžã«ææžåããŸãã
- å€æŽãè¡ãããçç±ã説æããŠãã ãã ã
ããããééãã¯ãéçºè ããã®ããã«æ±ºå®ããçç±ã説æããã«ãã³ãŒãã®èšè¿°æ¹æ³ãåã«èª¬æããããšã§ãã æãéèŠãªããšã¯ãå€æŽã®æå³ãšåæ©ã説æããããšã§ãããã³ãŒãã®äžè¬çãªæ§é ã説æããããšãå¿ããªãã§ãã ããã
- ã³ãããã¡ãã»ãŒãžãèªãã§ãã³ãŒãæ§é ã®æ¹åã瀺ããŠãããã©ããã確èªããŸãã
å€ãã®å Žåã倧ããªã¡ãã»ãŒãžã説æãããšããå€æŽã2ã€ä»¥äžã®éšåã«åå²ããå¿ èŠãããããšãæããã«ãªããŸãã æ»ã£ãŠè€æ°ã®ã³ãããã«åå²ããããšãæããªãã§ãã ããã
- äœããã§ãã¯ããããé©åã«æ±ºå®ããããã«ååãªæ å ±ãæäŸããŸãã
Gerritãæ°ããããããããã«é¢ããé»åã¡ãŒã«ã¢ã©ãŒããéä¿¡ãããšãé»åã¡ãŒã«ã«ã¯æå°éã®æ å ±ãäž»ã«ã³ãããã¡ãã»ãŒãžãšå€æŽããããã¡ã€ã«ã®ãªã¹ããå«ãŸããŸãã 倧éã®ããããããããããã¹ãŠã®ã¬ãã¥ãŒæ åœè ããããã詳现ã«èª¿æ»ããããšãæåŸ ããªãã§ãã ããã ãããã£ãŠãã³ãããã¡ãã»ãŒãžã«ã¯ããããèŠãªããã°ãªããªããããã§ããããšãæœåšçãªã¬ãã¥ãŒã¢ã«èŠåããã®ã«ååãªæ å ±ãå«ããå¿ èŠããããŸãã
- ã³ãããã®æåã®è¡ãæãéèŠã§ãã
Gitã§ã¯ãã³ãããã¡ãã»ãŒãžã®æåã®è¡ã«ã¯ç¹å¥ãªæå³ããããŸãã ãã©ã³ãããããã¹ãçšã®ã¹ããŒã¹ãããŸããªãä»ã®å€ãã®å ŽæãããŒãžãããšãã«ãgit annotateããŒã ã®ã¡ãã»ãŒãžãgitkãã¥ãŒã¢ããã°ã©ã ã§é»åã¡ãŒã«ã®ä»¶åãšããŠäœ¿çšãããŸãã å€æŽèªäœã®ç°¡åãªèª¬æã«å ããŠã圱é¿ãåããã³ãŒãã®éãå¿ããªãã§ãã ããã ããšãã°ããããlibvirtãã©ã€ããŒã«åœ±é¿ããå Žåãæåã®è¡ã®ã©ããã«ãlibvirtããæå®ããŸãã
- çŸåšã®ã³ãŒãã®å¶éã説æããŸãã
å€æŽäžã®ã³ãŒãã«å°æ¥ã®æ©èœæ¡åŒµãæ¢ç¥ã®å¶éãããå¯èœæ§ãããå Žåã¯ãã³ãããã¡ãã»ãŒãžã§ããããå¿ ãèšèŒããŠãã ããã ããã¯ãèè ãããåºãèŠéãæ€èšããé·æçãªæ¬²æ±ãšæ¯èŒããçæçãªç®æšã«é¢ããŠã©ã®ãããªåŠ¥åãè¡ãããããã¬ãã¥ãŒã¢ã«ç€ºããŠããŸãã
- ãã®ãããã«åºæã®ã³ã¡ã³ããå«ããªãã§ãã ããã
ã€ãŸããã³ããããããçŽãå Žåã¯ãã¡ãã»ãŒãžã«ããããã»ãã2ïŒãªããŒã¹ããè¿œå ããªãã§ãã ããã å€æŽãããŒãžããŠããéãã¯çããŸããã ãã ããå€æŽã«é¢ããã³ã¡ã³ããšããŠGerritã«ã¡ã¢ãæžããŸãã ããã¯ãã¬ãã¥ãŒæ åœè ããããã»ããéã§äœãå€æŽãããããèŠã€ããã®ã«åœ¹ç«ã¡ãŸãã ããã¯ããè¿œå ãããåäœãã¹ããããä¿®æ£ãããããŒã«ãªãŒãŒã·ã§ã³ã®åé¡ãããŸãã¯ã³ãããã®å šäœçãªç®çã«åœ±é¿ãäžããªããã®ä»ã®ããããªã©ã®ã³ã¡ã³ãã«ãé©çšãããŸãã
åŸãã¹ãäž»ãªãã®ã¯ã«ãŒã«ã§ãïŒ
, . - . .
1.3.1å€éšãªã³ã¯ã®å å«
ã¡ãã»ãŒãžã¯äž»ã«äººéã«ãã解éãç®çãšããŠããŸãããåžžã«ãã·ã³åŠçãç®çãšããã¡ã¿ããŒã¿ãå«ãŸããŠããŸãã OpenStackã§ã¯ããChange-Idãã«å ããŠããã°èå¥åãžã®ãªãã·ã§ã³ãªã³ã¯ããã«ãŒããªã³ãïŒã¹ããŒã/ããã¥ã¡ã³ãïŒãžã®ãªã³ã¯ãDocImpactãã©ã°ãAPIImpactãã©ã°ãããã³SecurityImpactãã©ã°ãå«ãŸããŸãã
- ãChange-Idãè¡ã¯ãGitããã¯ã«ãã£ãŠçæãããå€æŽãèšè¿°ããäžæã®ããã·ã¥ã§ãã rebaseã³ãã³ãã§ã³ããããç·šéããå Žåãæ€æ»åŸã«å€æŽãããã¹ãã§ã¯ãããŸããããŸãããããããŒãžã§ã³ã远跡ããããã«Gerritã«ãã£ãŠäœ¿çšãããŸãã
- æåå 'bug'ã¯ãããã€ãã®æ¹æ³ã§ãšã©ãŒãåç
§ã§ããŸãã ã¬ãã¥ãŒæ
åœè
ãLaunchpadã§ãšã©ãŒã«ãã°ããã¢ã¯ã»ã¹ã§ããããã«ãGerritã¯review.openstack.orgã®ãããã衚瀺ãããšãã«ãšã©ãŒãªã³ã¯ãäœæããŸãã
- Closes-BugïŒïŒ1234567-ã³ããããåç §ããŠãããšã©ãŒãå®å šã«æé€ããŠéããããšãæå³ããŠããå Žåã¯ããCloses-Bugãã䜿çšããŸãã
- éšåãã°ïŒïŒ1234567-ã³ããããéšåçãªä¿®æ£ã§ããããã®ãã°ãä¿®æ£ããããã«ããã«äœæ¥ãå¿ èŠãªå Žåã¯ããéšåãã°ãã䜿çšããŸãã
- Related-BugïŒïŒ1234567-ã³ããããæå®ããããšã©ãŒã«åã«é¢é£ããŠããå Žåã¯ã 'Related-Bug'ã䜿çšããŸãã
- ã³ããããç¹å®ã®æ©èœãå®è£ ããããšãæå³ããŠããå Žåãè¡ãblueprintãã¯ãLaunchpad blueprintïŒLaunchpad Webãµã€ãã®ææžïŒãšããååã瀺ãå¿ èŠããããŸãã ã¬ãã¥ãŒæ åœè ãLaunchpadã®ããã¥ã¡ã³ãã«ãã°ããã¢ã¯ã»ã¹ã§ããããã«ãGerritã¯review.openstack.orgã§ãããã衚瀺ãããšãã«ãã«ãŒããªã³ããžã®ãªã³ã¯ãäœæããŸãã
- DocImpactè¡ã«ã¯ã DocImpactè¡ãšããã®å€æŽãããã¥ã¡ã³ãã«åœ±é¿ããçç±ã«é¢ããã³ã¡ã³ããå«ãŸããŠããŸãã DocImpactãå¥ã®è¡ã«é 眮ããŸãã ã¬ãã¥ãŒæ åœè ãå€æŽã®çç±ãç解ã§ããããã«ããã®ãã©ã°ã䜿çšããŠãããã¥ã¡ã³ãããããã«å«ãŸããŠããããå€æŽãããã¥ã¡ã³ãã«åœ±é¿ããããšã瀺ããŸãã ã§ããã ãå€ãã®æ å ±ãå«ããŠãã ããã ãã®ãã©ã°ãã³ãããã¡ãã»ãŒãžã«å«ãŸãããšãGerritã¯openstack-manualsãããžã§ã¯ãã®ãã°ã¬ããŒãïŒopenstackåœä»€ïŒãäœæããŠãå®è¡ã远跡ããã³ã·ãŒã±ã³ã¹ããããå¿ èŠã«å¿ããŠopenstack-api-siteã«ç§»åããŸãã
- APIImpactè¡ã«ã¯ã APIImpactè¡ãšããã®å€æŽããããªãã¯HTTP APIã«åœ±é¿ããçç±ã«é¢ããã³ã¡ã³ããå«ãŸããŠããŸãã APIImpactãå¥ã®è¡ã«é 眮ããŸãã ãã®ãã©ã°ã䜿çšããŠããããããããªãã¯HTTP APIãäœæãæŽæ°ãåé€ãããããããªãã¯APIã®åäœãå€æŽããããšã瀺ããŸãã ã§ããã ãå€ãã®æ å ±ãå«ããŠãã ããã ãã®ãã©ã°ãã³ãããã¡ãã»ãŒãžã«å«ãŸããŠããå Žåãé¢é£ãããã¹ãŠã®ã¬ãã¥ãŒã¯ãã®ãªã³ã¯ã䜿çšããŠèŠã€ããããšãã§ãã API_Working_Groupããã¥ã¡ã³ãã®ããŒãžãé¢é£ããã¬ãã¥ãŒãèŠã€ããã®ã«åœ¹ç«ã¡ãŸãã ããã«ãFreenode ïŒopenstack-sdksãã£ãã«ã® IRCãä»ããŠAPIã¯ãŒãã³ã°ã°ã«ãŒãã«çŽæ¥é£çµ¡ã§ããŸã ã
- SecurityImpactæååã«ã¯ãåã«SecurityImpactæååãå«ãŸããŸãã å€æŽãã»ãã¥ãªãã£ã«åœ±é¿ãããããOpenStack Security Groupã«ããã¬ãã¥ãŒãå¿ èŠã§ããããšã瀺ãããã«äœ¿çšãããŸãã
- UpgradeImpactè¡ã«ã¯ã UpgradeImpactè¡ãšããã®å€æŽãæŽæ°ã«åœ±é¿ããçç±ã«é¢ããã³ã¡ã³ããå«ãŸããŠããŸãã ããã¯ãå€æŽãç¶ç¶çãªå±éããŸãã¯NããN + 1ãžã®æŽæ°ãè¡ã£ãŠãããŠãŒã¶ãŒã®ã¢ããã°ã¬ãŒãã®çµæã§ããããšã瀺ãããã«äœ¿çšãããŸãã ãŸãã圱é¿ãåãããããžã§ã¯ãã®ãªãªãŒã¹ããŒãã®ã¢ããã°ã¬ãŒãããŒãã»ã¯ã·ã§ã³ãžã®æŽæ°ã瀺ãå ŽåããããŸãã
ãã¹ãŠã®ã¡ã¿ããŒã¿ã¯ãã·ã³çšã§ããã人ã ã«ãšã£ãŠäºæ¬¡çãªéèŠæ§ããããããã³ãããã¡ãã»ãŒãžã®æåŸã«ãã¹ãŠã®ã¡ã¿ããŒã¿ãã°ã«ãŒãåããå¿ èŠããããŸãã
泚ïŒGitã䜿çšããå€ãã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ã¯ããSigned-off-byãã¿ã°ïŒãgit commit -sãã³ãã³ãã䜿çšããŠçæãããïŒãå«ããã®ãäžè¬çã§ãããããã¯OpenStackã«ã¯äžèŠã§ãã ã³ãŒããGerritã«éä¿¡ããåã«ãOpenStackã¯ãã¹ãŠã®ã¡ã³ããŒãCLAïŒContributor License AgreementïŒã«çœ²åããããšãèŠæ±ããŸããããã¯åçã®ç®çãæãããŸãã
ç¹å®ã®ãããã«åãçµãã 人ã ã瀺ãããã«ãã³ãããã¡ãã»ãŒãžã§name-name@example.com ïŒ Collaboration ïŒã®Co-Authored-Byã䜿çšããããšããå§ãããŸãã ããã¯è€æ°ã®èè ã®æ¿èªã«é¢ããåæã§ãããç§ãã¡ã®ãããžã§ã¯ãã¯ãçµ±èšåéããŒã«ãããããåæããéã«ãããã®ãã£ãŒã«ããç£èŠããããšã奚å±ããŠããŸãã
1.3.2ã³ãããã¡ãã»ãŒãžã®æ§é ã®æŠèŠ
- æåã®è¡ã«ãå€æŽã®ç°¡åãªèª¬æãå ¥åããŸãã
- æåã®è¡ã®åŸã«ç©ºã®è¡ãæ¿å ¥ããŸãã
- 次ã®è¡ã«ãå€æŽã®è©³çŽ°ãªèª¬æãæžããå¿ èŠã«å¿ããŠåé¡ããŸãã
- æåã®è¡ã¯50æåã«å¶éããå¿ èŠããããããªãªãã§çµäºããªãã§ãã ããã
- åŸç¶ã®è¡ã¯72æåã§å²ãå¿
èŠããããŸãã
- vimïŒã»ãšãã©ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®$ EDITORç°å¢å€æ°ã®ããã©ã«ãïŒã¯ãèªåçã«æååãã©ããã§ããŸãã ã»ãšãã©ã®å Žåãvimrcãµã³ãã«ãã¡ã€ã«ïŒ
/usr/share/vim/vim74/vimrc_example.vim
ïŒã~/.vimrc
ã«ã³ããŒããã ãã§ãã - 段èœãç·šéããåŸããšã¹ã±ãŒãããŒãæŒããŠã段èœå
ã«ã«ãŒãœã«ã眮ããçµã¿åãã
gqip
ãå ¥åããããšã§ã段èœãã©ããã§ããŸãã
- vimïŒã»ãšãã©ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®$ EDITORç°å¢å€æ°ã®ããã©ã«ãïŒã¯ãèªåçã«æååãã©ããã§ããŸãã ã»ãšãã©ã®å Žåãvimrcãµã³ãã«ãã¡ã€ã«ïŒ
- å¿ èŠã«å¿ããŠããChange-idãããCloses-Bug #NNNNNãããblueprint NNNNNNNNNNNNãã®è¡ãæåŸã«é 眮ããŸãã
äŸïŒ
libvirt get_cpu_info API get_cpu_info libvirt XPath XML . LibvirtConfigCaps. . DocImpact Closes-Bug: #1003373 Implements: blueprint libvirt-xml-cpu-model Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657
1.3.3æªãç¿æ £ã®äŸ
Git Novaã®æŽå²ããããã€ãã®äŸãèŠãŠã¿ãŸããããèè ã®ååãåé€ãããŠããŸããã ããéé£ãããæããããããããªãã®ã§ã
1.3.3.1äŸ1
: 468e64d019f51d364afb30b0eed2ad09483e0b98 : [] : . 18 16:07:37 2012 -0400 compute/utils.py Fixes bug #1014829
åé¡ïŒã€ã³ããŒããããããšã«ãªã£ãŠãããã®ããã®ã€ã³ããŒãã§ã¯äžååãªå Žæãããã³ãªãå¿ èŠãªã®ãã«ã€ããŠã¯èšåãããŠããŸããã ãã®æ å ±ã¯ãã°è¿œè·¡ããŒã«ã«å«ãŸããŠãããèªå·±å®çµåã®èª¬æãæäŸããããã«ã³ãããã¡ãã»ãŒãžã«ã³ããŒããå¿ èŠããããŸããã äŸïŒ
"exception" compute/utils.py nova/compute/utils.py exception.NotFound, .
1.3.3.2äŸ2
: 2020fba6731634319a0d541168fbf45138825357 : [] : . 15 11:12:45 2012 -0600 ec2id Fixes bug #1013765 * ec2utils.id_to_ec2_id() Change-Id: I5e574f8e60d091ef8862ad814e2c8ab993daa366
åé¡ïŒçŸåšã®ïŒééã£ãïŒåœ¢åŒã®äœãééã£ãŠããã®ãããŸãã¯æ°ããåºå®åœ¢åŒãäœã§ããã®ãã«ã€ããŠã¯èšåããŠããŸããã ãã®æ å ±ã¯ãšã©ãŒãã©ãã«ãŒã§ãå©çšå¯èœã§ãããã³ãããã¡ãã»ãŒãžã«å«ããå¿ èŠããããŸãã ããã«ããã®ãšã©ãŒã¯ä»¥åã®å€æŽã«ãã£ãŠåŒãèµ·ãããããªã°ã¬ãã·ã§ã³ãä¿®æ£ããŸãããã以åã«äœãèµ·ãã£ããã«ã€ããŠã¯èšåãããŠããŸããã äŸïŒ
ec2id uuid' , XXXXXXX, ec2 (i-xxxxx). vol-xxx snap-xxxx. ec2utils.id_to_ec2_id () Fixes bug #1013765
1.3.3.3äŸ3
: f28731c1941e57b776b519783b0337e52e1484ab : [] : . 13 10:11:04 2012 -0400 libvirt. Fixes LP bug #1012689 Change-Id: I91c0b7c41804b2b25026cbe672b9210c305dc29b
åé¡ïŒãã®ã³ãããã§ã¯ãã¡ãã»ãŒãžã¯åã«äœãè¡ãããããèšé²ããã ãã§ããªãè¡ãããã®ããèšé²ããŸããã 以åã«äžé£ã®å€æŽã«ããlibvirtã®æ°ããæå°ããŒãžã§ã³ãå°å
¥ãããããšã«èšåãã䟡å€ããããŸããã æ€èšŒã倱æããå ŽåãçŸåšã®åäœãå ±åããããšãå¿
èŠã§ããã
äŸïŒ
libvirt, 0.9.7 XXXXXXXX API 'reset' libvirt 0.9.7 . libvirt , . , . Fixes LP bug #1012689 Change-Id: I91c0b7c41804b2b25026cbe672b9210c305dc29b
1.3.4ã°ãããã©ã¯ãã£ã¹ã®äŸ
1.3.4.1äŸ1
: 3114a97ba188895daff4a3d337b2c73855d4632d : [] : . 17 17:16:10 2012 +0100 KVM VM PIT RTC PIT RTC KVM () . , Windows 7 KVM , Linux . PIT , , .. RTC , , '' libvirt XML <clock offset='utc'> <timer name='pit' tickpolicy='delay'/> <timer name='rtc' tickpolicy='catchup'/> </clock> KVM -no-kvm-pit-reinjection -rtc base=utc,driftfix=slew , . Closes-Bug: #1011848 Change-Id: Iafb0e2192b5f3c05b6395ffdfa14f86a98ce3d1f
, :
- , ( KVM )
- ( PIT / RTC)
- ( XML / QEMU args)
- ( )
- Closes-Bug
1.3.4.2 2
: 31336b35b4604f70150d0073d77dbf63b9bf7598 : [] : . 06 22:45:25 2012 -0400 CPU , , ARM X86_64 . , . libvirt permitted_instances_types cpu_info . Xen . permitted_instances_types . ARM . ArchFilter . Change-Id: I17bd103f00c25d6006a421252c9c8dcfd2d2c49b
, :
- , ( )
- ( )
- ( libvirt )
- (, Xen)