
·ÖÀë+½èÖúÉçÇøÁ¦Á¿£º
OpenStack³ÖÐø½»¸¶½ø½×
·ÖÀë+½èÖúÉçÇøÁ¦Á¿£ºOpenStack³ÖÐø½»¸¶½ø½×
´ËÎÄÓÉÔÚUnitedStackÔËάÍŶӸºÔðÈËÓàÐ˳¬ÔÚ3ÔÂ21ÈÕOpenStack Meetup»î¶¯µÄ²¿·ÖÑݽ²ÕûÀí¶ø³É¡£ÔÚÉÏһƪÃûΪ¡¶OpenStack³ÖÐø½»¸¶µÄÁù´óÌôÕ½ÓëËĸöͳһ¡·µÄÎÄÕÂÖУ¬ÓàÐ˳¬½²ÊöÁËOpenStackÔÚʵ¼Ê·þÎñÔËά¹¤×÷ÖÐËùÓöµ½µÄ¾ßÌåÌôÕ½£¬ÒÔ¼°Í³Ò»ÔËάµÄ¾ßÌå²ßÂÔ¡£¶øÔÚͳһµÄ»ù´¡Ö®ÉÏ£¬ÎÒÃÇ»¹ÐèÒªÒÔÕûÌåµÄ½Ç¶ÈÈ¥¹Û²ìÕûÌ×OpenStack³ÖÐø½»¸¶ÏµÍ³£¬¶ÔÓÚϵͳµÄÔËάÍŶӶøÑÔ£¬»¹Óкܶàϸ»¯µÄ¹¤×÷Òª×ö¡£
¡¾»¶Ó´ó¼Ò¹Ø×¢UnitedStack¹Ù·½Î¢ÐÅ£¬ÎÒÃǽ«»áÔÚµÚһʱ¼äÓëÄú·ÖÏíUnitedStackµÄ¹¤³ÌʦÃǹ¤×÷ÖеľÑéÓëÐĵᣡ¿
Ò»¸ö²ÎÊýÒý·¢µÄ¹ÊÕÏ
2014Ä꣬ÎÒÔøÐ´¹ýһƪblog£¬ÌâĿΪ¡¶Ò»¸öpurge²ÎÊýÒý·¢µÄ²Ò°¸¡ª¡ª´ÓÏßÉÏhbaseÊý¾Ý±»É¾Ê¹Ê˵Æð¡·¡£ÔÚдÏÂÕâÆªÎÄ×Öǰ£¬ÎÒµÄÐÄÇéÊÇÈç´ËµÄìþìý£¬ËäÈ»Ôç¾ÍÃ÷°×ÔËά¹¤×÷ÈçÂı¡±ù£¬µ«Ã»ÓÐÁϵ½Õâôһ¸öϸСµÄÊ詾¹»á´øÀ´Èç´ËÑÏÖØµÄÔÖÄÑ¡£
Õâ¸öPuppet²ÎÊýµÄ¡°¿Ó¡±ÎÒÒ²Óöµ½¹ý£¬ÐÒÔ˵ÄÊǵ±Ê±ÊÇÔÚ¿ª·¢»·¾³ÖС£ÕâÑùµÄÒ»¸ö°¸ÀýÒý·¢ÁËÎҺܶàÓйØÔËάµÄ˼¿¼¡£
Õâ¸ö¹ÊÕϱ¾¿ÉÒÔ´Ó¶à¸ö²ãÃæÉÏÈ¥±ÜÃ⣺
1.²¿ÊðÂß¼µÄÉÏÏߣ¬ÐèÒª¾¿ª·¢ºÍ²âÊÔ»·¾³µÄÑéÖ¤£»
2.²»Ó¦Ã¤Ä¿Ê¹ÓõÚÈý·½Ä£¿é£¬Ê¹ÓÃǰӦ³ä·ÖÔĶÁÔ´Âë»òÕßREADMEÎĵµ£»
3.ÉÏÏßÁ÷³Ì×öºÃȨÏÞ·ÖÀ룬±£Ö¤ÓкÏÀíµÄÉóÅú»úÖÆ¡£
Ê×ÏÈÓÐÒ»¸ö¹ÛÄîÐèÒª½ÃÕý¡£ÓÐЩÈËÈÏΪ²¿ÊðÂß¼²»ÊôÓÚ¿ª·¢·¶³ë£¬ÍùÍù±àдºó²»¾²âÊÔ¾ÍÖ±½ÓÉÏÏß¡£ÆäÊµÖ»ÒªÉæ¼°µ½´úÂëµÄ±ä¸ü£¬ÎÞÂÛÊÇÒµÎñÂß¼»¹ÊDz¿ÊðÂß¼£¬¶¼ÐèҪͨ¹ý¿ª·¢»·¾³ºÍ²âÊÔ»·¾³µÄÑéÖ¤¡£ÄÇô£¬µ½µ×Ó¦¸ÃÈçºÎ±ÜÃâÀàËÆ¹ÊÕϵķ¢ÉúÄØ£¿
·ÖÀëÓë½âñî
·ÖÀëÊǹؼü£ººÏÀíµÄ·ÖÀë¿ÉÒÔ¶Ô¸´ÔÓÂß¼ºÍ»·¾³½øÐнâñ¿ÉÒÔÉèÁ¢Ã÷ÎúµÄ°²È«±ß½ç£¬¿ÉÒÔ¸üºÃµØÏ¸»¯¹¤×÷¡£
1.»·¾³µÄ·ÖÀë
»·¾³º¸ÇÁ˲¿ÊðÂß¼ÓëÒµÎñÂß¼µÄ»·¾³£¬ËüÃǷֱ𱻻®·ÖΪdev¡¢test¡¢productionÈýÖÖ»·¾³£»ÆäÖУ¬Éú²ú»·¾³ÓÖ±»½øÒ»²½Ï¸·ÖΪpre_production£¨Ô¤·¢²¼£©ºÍproduction£¨Õýʽ£©»·¾³¡£
2.²Ö¿âµÄ·ÖÀë
²Ö¿â·ÖÀëÊÇÔ´×ÔÓÚÎÒÃÇÔÚÈí¼þ°ü¹ÜÀíÉÏËù¾Àú¹ýµÄѪºÍÀáµÄ½Ìѵ£º
Ê×ÏÈ£¬¸ù¾Ý°üµÄÀàÐÍ»®·ÖΪ3Àà²Ö¿â£»
Æä´Î£¬Ã¿¸ö²Ö¿âÒ²ÐèÒª¸ù¾Ý»·¾³»®·ÖΪdevel¡¢test¡¢productsÈý¸ö×Ӳֿ⣻
×îºó£¬Ã¿¸ö¼¯ÈºÓµÓÐÍêÈ«¶ÀÁ¢µÄÈí¼þ²Ö¿â£»
3.²¿ÊðÂß¼ºÍÊý¾Ý·ÖÀë
ÎÒÃÇÒª¶ÔÅäÖùÜÀí¹¤×÷½øÐл®·Ö£¬Ä¿µÄÊÇΪÁ˽âñ²¢½µµÍά»¤³É±¾¡£¾ßÌ廹˵ÎÒÃǰÑÅäÖùÜÀí¹¤×÷»®·ÖΪÈýÀ࣬¾ßÌåÈçÏ£º
²¿ÊðÂß¼¹ÜÀí: modules Èí¼þºÍ·þÎñµÄÅäÖùÜÀí´úÂ뼯ºÏ£»
²¿ÊðÊý¾Ý¹ÜÀí: hieradata º¸ÇÁËËùÓм¯ÈºÈí¼þºÍ·þÎñµÄ¶¨ÖÆ»¯Êý¾Ý£»
½Úµã½ÇÉ«¹ÜÀí: manifests ËùÓб»¹ÜÀíµÄ·þÎñÆ÷µÄ½ÇÉ«¶¨Ò弯ºÏ£»
4.½ÇÉ«µÄ·ÖÀë
½ÇÉ«·ÖÀëÊÇΪÁËʵÏÖOpenStackÁé»îµÄ²¿Êð¼Ü¹¹¡£ÒòΪÎÒÃÇÇ°ÃæÒѾÌáµ½£¬ÎÒÃÇ¿ÉÒÔ¶ÔOpenStackµÄ²¿Êð¼Ü¹¹½øÐÐËæÒâµÄµ÷Õû¡£Ä¿Ç°£¬ÎÒÃÇÒ»¹²º¸ÇÁË49ÖÖÔª½ÇÉ«£¬¿ÉÒÔ¸ù¾ÝÐèÒª½øÐÐ×ÔÓÉ×éºÏ¡£±È·½Ëµ£¬Controller
= API + MySQL + MQ + MC£»Comb = Compute + OSD + OVS¡£
5.ȨÏÞ·ÖÀë
ȨÏÞ·ÖÀëµÄÄ¿µÄÊÇΪÁËÉèÁ¢°²È«±ß½ç¡£
ÎÞÂÛÊDz¿ÊðÂß¼¡¢²¿ÊðÊý¾Ý»ò±ä¸ü½Å±¾£¬¶¼ÐèҪͨ¹ý°æ±¾¿ØÖƹ¤¾ß¹ÜÀí£¬ÆäÖв¿ÊðÊý¾ÝÏîĿֻÓÐÉÙÊýÔ±¹¤ÓµÓзÃÎÊȨÏÞ£¬ÒòΪÆäÖаüÀ¨ÁËÃô¸ÐµÄÃÜÂë»òÕßÃÜÔ¿ÐÅÏ¢£»´úÂëÒª½øÈë²Ö¿â£¬±ØÐëͨ¹ýÏîÄ¿¸ºÔðÈ˵ÄÈ˹¤Éó²é£¬ÕâÓëOpenStackÉçÇøµÄ´úÂ뿪·¢Á÷³ÌÊÇÏàͬµÄ£»ÒªÖ´ÐÐÏßÉÏÒµÎñ±ä¸ü£¬¸ù¾Ý±ä¸üµÄÀàÐͺͼ¶±ð£¬Ðëͨ¹ýÏà¹Ø¸ºÔðÈ˵ÄÉóºË£»×îºó£¬ÎÒÃÇΪ²»Í¬»·¾³µÄ¼¯ÈºÌṩͳһÈë¿Ú£¬ºó¶Ë»®·Ö¶ÀÁ¢µÄÅäÖùÜÀí·þÎñÆ÷£¬Ã¿Ì¨·þÎñÆ÷Óв»Í¬µÄ·ÃÎÊȨÏÞ¡£
½èÖú¿ªÔ´µÄÁ¦Á¿
ÎÒÃÇÇ°ÃæÌáµ½OpenstackÏîÄ¿Öڶ࣬¼´Ê¹ÎÒÃÇ×öµ½ÁËͳһ£¬×öµ½Á˽âñ×öµ½Á˸ôÀ룬ÕâÖ»ÄÜ˵ÎÒÃǰÑÕâ¸ö¼Ü×Ó´îºÃÁË£¬»¹ÓÐÄÇô¶àµÄÄ£¿éÐèҪͶÈ뾫Á¦È¥¿ª·¢¡£¶øÒ»¸öÈ˵ľ«Á¦±Ï¾¹ÊÇÓÐÏ޵ġ£ÎÒ×öÁËÒ»¸ö¼òµ¥µÄͳ¼Æ£¬Ä¿Ç°ÎÒÃÇͨ¹ýgit
submoduleµÄ·½Ê½¹ÜÀíÁË£º85¸öpuppet module¡¢67698ÐеÄpuppet´úÂë¡¢79868ÐÐruby´úÂëºÍ19371ÐеÄyaml¸ñʽÊý¾Ý¡£ÄÇô¹Ø¼üµãÔÚÓÚÄÄ£¿ÊǼӰàÂð£¿
µ±È»²»ÊÇ£¡ÎÒÃÇÐèÒª½èÖú¿ªÔ´µÄÁ¦Á¿¡£Puppet-OpenstackÏîÄ¿ÊÇOpenStackÉçÇøÍÆ³öµÄһϵÁеÄpuppet
modules£¬Ö¼ÔÚÌṩOpensStack¸÷·þÎñµÄÅäÖùÜÀí¡££¨https://wiki.openstack.org/wiki/Puppet-openstack£©
stackforge/puppet-openstacklib
stackforge/puppet-openstack-specs
stackforge/puppet-openstack_extras
ÕâЩÊÇPuppetµÄ¹«¹²¿âÒÔ¼°Blue Print CollectionÏîÄ¿£¬ÔÚHavana Desigin
SummitÉÏ£¬ÎÒÃǾö¶¨¿ªÊ¼°ÑһЩ¹«¹²µÄ´úÂë³éÈ¡³öÀ´£¬×÷ΪPuppet-Openstack»ù´¡Ä£¿éµÄ¹«¹²¿â£¬Ìá¸ß´úÂëµÄ¸´ÓÃÂÊ¡£
ÔÚÕâÀïÎÒÏëÇ¿µ÷£¬Ò»¸ö¿ªÔ´ÏîÄ¿µÄ³É¹¦Óë·ñ£¬¹Ø¼üÔÚÓÚËüµÄÓû§ÊýºÍ»îÔ¾¶È¡£ÄÇôÎÒÃǾÍÀ´¿´¿´PuppetÏîÄ¿µÄÓû§¡£Mirantis
FuelºÍRedHat PackstackÊÇĿǰÖ÷Á÷µÄOpenStack²¿Ê𹤾ߡ£ÆäÖУ¬Mirantis
Fuel µÄ²¿ÊðÂ߼ʹÓÃÁËPuppet-Openstack Ä£¿é£¬µ±È»Mirantis ½øÐÐÁËһЩ¶¨ÖÆ»¯µÄÐ޸ģ¬Ö÷ÒªÔÚHA·½Ã棬ͬʱËüÌṩÁËÁé»î¶à±äµÄ²¿Êð·½Ê½¡£RedHat
PackstackÔòÖ±½ÓʹÓÃÁËupstreamµÄPuppet-OpenstackÄ£¿é¡£

ÕâÊÇÔÚJuno Operator Puppet SessionÉÏ×öµÄÒ»¸öͳ¼Æ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½Ë¼¿Æ¡¢Å·ÖÞÔ×ÓÄÜ¡¢Godaddy¡¢¼×¹ÇÎÄ¡¢Ê±´ú»ªÄɵȹ«Ë¾¶¼ÔÚʹÓÃÕâ¸öÏîÄ¿¡£µ±È»£¬Í¨¹ýÕâÕűíÎÒ¾ªÆæµØ·¢ÏÖ´ó¼Ò¸üϲ»¶ÓÃUbuntu¡£

ÕâÕÅͼÀ´×ÔOpenstackÉçÇøµÄ¹Ù·½Óû§µ÷²é£¬¹ØÓÚ²¿Ê𹤾ßÕ¼ÓÐÂʵÄ×îÐÂÊý¾Ýͳ¼Æ¡£¿ÉÒÔ¿´µ½£¬ÔÚËùÓйæÄ£µÄOpenstack¼¯Èº²¿Êðµ÷ÑÐÖУ¬PuppetµÄÕ¼ÓÐÂÊÅÅÃûµÚÒ»¡£
UnitedStackÈçºÎ²ÎÓëÉçÇø£¿
²ÎÓëÉçÇøµÄÄ¿µÄÊÇʲô£¬Ã¿¸öÈ˶¼»áÓÐ×Ô¼ºµÄ´ð°¸¡£ÎÒ´Ó×Ô¼ºµÄ½Ç¶ÈÀ´»Ø´ðÖ÷ÒªÓÐÈýµã£ºÊ×ÏÈ£¬Äܹ»¸ü¼ÓÉîÈëµØÀí½âÔ´´úÂ룻µÚ¶þ£¬Äܹ»ÕÆÎÕÏîÄ¿µÄ·¢Õ¹¶¯Ì¬£»µÚÈý£¬Äܹ»ÓÐЧÌáÉýÏîÄ¿µÄ´úÂëÖÊÁ¿¡£
UnitedStackÔÚÉçÇø×öÁ˲»ÉٵŤ×÷£¬¾ÍÄÃ×î½üÒ»¸ö±È½ÏÖØÒªµÄ±ä¸üÀ´Ëµ£¬ÊǹØÓÚÅäÖùÜÀíµÄ¸Ä½øºÍ±äǨµÄ¡£ÊÂʵÉÏ£¬ÉçÇøÔÚÈçºÎ¸ÄÉÆÅäÖÃÎļþµÄ¹ÜÀíÉÏ£¬³ÖÐøÍ¶ÈëÁË´óÁ¿µÄ¾«Á¦¡£ÎÒÃÇÔÚ2014ÄêÌá½»µÄÊý¸öPatchÈÃÅäÖòÎÊýµÄ¹ÜÀí±äµÃ¸ü¼ÓÁé»î¡£
ÅäÖÃÎļþ¹ÜÀíµÄÖÕ¼«Ä¿±êÊÇÓÐЧ¡¢Áé»îºÍµÍ³É±¾¡£ÔÚÔçÆÚ£¬ÅäÖÃÎļþµÄ¹ÜÀíÊÇ¡°Ä£°åͳÖÎÒ»ÇС±µÄʱ´ú¡£Òª¹ÜÀínova.confÖеÄlibvirt_typeÑ¡ÏÊ×ÏÈÔÚnovaÄ£¿éµÄtemplatesÎļþ¼ÐϵÄnova.conf.erbÎļþ£¬Ê¹ÓÃERBÓï·¨ÔÚÀïÃæÌí¼ÓÒÔÏÂÒ»ÐдúÂ룺

È»ºó£¬ÔÚnovaÄ£¿éinit.ppÖУ¬Ê¹ÓÃfile resourceÀ´¹ÜÀínova.confÅäÖÃÎļþ¡£

È»¶ø£¬Í¨¹ýÄ£°åÀ´¹ÜÀíÅäÖÃÎļþÊǷdz£¸´ÔӺͷ±ËöµÄ£¬ÒÔnova.confΪÀý£¬ËãÉÏ×¢ÊÍÎļþ£¬´úÂ볬¹ý1700¶àÐС£Õâ¸öÅÓ´óµÄÄ£°åÎļþÊǷdz£ÄÑÓÚά»¤µÄ¡£
ºóÀ´£¬ÉçÇøÖгöÏÖÁËÆ´½Ó£¨Concat£©µÄ·½·¨À´È¡´úÄ£°å£¬Ëü°ÑÒ»¸öÄ£°å²ð·ÖΪ¶à¸ö×ÓÄ£°å½øÐйÜÀí£¬È»ºóÔÙ½øÐÐÆ´½Ó¡£OpenStackµÄÅäÖÃÎļþÊDZê×¼µÄINI¸ñʽ£¬Ã¿¸öÅäÖÃÎļþÓɶà¸ösection×é³É¡£ÀýÈ磬ÔÚswiftµÄproxy-server.confÖÐÓÐ[default]¡¢[pipeline:main]¡¢[app:proxy-server]µÈ¡£
concatÄ£¿é½«ÅäÖòð·Ö³ÉÁË×ÓÄ£°å£¬È»ºóʹÓÃconcat::fragment define°ÑÕâЩTemplateÆ´½ÓÆðÀ´¡£Ê¹Ó÷½Ê½ºÍfile
resourceÀ´äÖȾtemplateÀàËÆ£¬Î¨Ò»µÄÇø±ð¾ÍÊÇorder²ÎÊý£¬Ö¸Ã÷ÕâÆ¬£¨fragment£©ÅäÖÃÔÚÄ¿±êÅäÖÃÎļþÖеÄ˳Ðò£¬ÉýÐòÅÅÁС£
ÊÂʵÉÏ£¬Æ´½Ó·½·¨µÄ³öÏÖÖ»ÊÇÌá¸ßÁË´úÂëµÄ¿Éά»¤ÐÔ£¬²¢Ã»ÓдøÀ´ÊµÖʵı仯¡£
ʹÓÃÄ£°å½øÐÐÅäÖÃÎļþ¹ÜÀíµÄ×îÖ÷Ҫȱµã¾ÍÊÇ·±Ëö£ºÃ¿´ÎÌí¼ÓÒ»¸öбäÁ¿£¬¶¼ÐèÒªÐÞ¸ÄÈý¸ö²»Í¬µÄ´úÂëÎļþ¡£
ÔÚtemplateÎļþÀïÌí¼ÓÉÏÕâ¸öбäÁ¿£º
<%= @new_variable %>
ÔÚclassÎļþÖÐÌí¼ÓÕâ¸ö±äÁ¿£º
$new_vairable = ¡®hello¡¯
×îºóÔÚhieradataÎļþÖÐ¶ÔÆä¸³Öµ£º
xxx::new_vairable:: ¡®hey¡¯
¶ÔÓÚÒ»¸ö³ÉÊìµÄÏîÄ¿À´Ëµ£¬ÅäÖñä¸ü²¢²»Æµ·±£¬Ê¹ÓÃÄ£°åÊÇÀíËùµ±È»µÄ¡£µ«ÊǶÔÓÚ¿ìËÙµü´ú¡¢Æµ·±±ä¸üµÄOpenstackÏîÄ¿À´Ëµ£¬Ä£°å½«³ÉΪһ¸öÃÎ÷Ê¡£PTLÔø¾×öÁËÒ»¸öͳ¼Æ£¬ÔÚG°æÇ°µÄ¹ý°ëÌá½»¶¼ÊǺÍÅäÖÃÑ¡ÏîÓйصġ£
Òò´Ë£¬ÔÚÄ£°åÖ®ºó£¬ÉçÇøÊ¹ÓÃRubyÀ©Õ¹ÁËÒ»ÖÖ×Ô¶¨ÒåµÄ×ÊÔ´ÀàÐÍ£¬À´¹ÜÀíÅäÖÃÑ¡Ïз½Ê½µÄ³É±¾ÊÇ£¬ÐÂÔöÒ»¸öÅäÖÃÑ¡ÏîÐèÒªÐÞ¸ÄÁ½¸öÅäÖÃÎļþ¡£ÒÔnovaΪÀý£¬ÉçÇø¿ª·¢ÁËnova_config
custom resource type¡£ÔÚ¹ÜÀílibvirt_type = ¡®kvm¡¯Ñ¡Ïîʱ£¬ÎÞÐèÔÚÄ£°åÀﶨÒ壬ֱ½ÓÔÚclassÖж¨Ò壺
nova_config { ¡®default/libvirt_type': value => $libvirt_type;}
µ«ÊÇÒ»¸öеÄÎÊÌâ²úÉúÁË£º ÐÂÔöÒ»¸öÅäÖÃÑ¡Ïî = ÔÚÁ½¸öÅäÖÃÎļþÖи÷Ìí¼ÓÒ»ÐдúÂë¡£
ÀÁÊdzÌÐòÔ±µÄÌìÐÔ¡£ÓÐûÓÐÒ»ÖÖ°ì·¨²»ÐèÒªÊÂÏȶ¨Ò壬²¢ÇÒÖ»ÐèÒªÉùÃ÷Ò»´Î¾ÍÄÜÌí¼ÓÒ»¸öÅäÖòÎÊýµÄÄØ£¿±È·½Ëµ£¬Ä³Ð©plugin»òÕßdriverµÄÅäÖÃÑ¡ÏîȱʧÁË£¬ÀýÈçcinderµÄsolidfire£¬neutronµÄibm
pluginµÈµÈ£»»¹ÓÐÒ»¶¨×Ô¶¨Òå²ÎÊý¡£ ÀýÈ磬ÎÒÃÇÕë¶ÔNeutron¡¢Nova¡¢Ceilometer¡¢Keystone×öÁ˶¨ÖÆ»¯Ð޸ģ¬Ìí¼ÓÁË´óÁ¿µÄ×Ô¶¨ÒåÑ¡Ïî¡£
ÇýʹÎÒÕâÑùÈ¥×öµÄ¶¯Á¦ÊÇUnitedStack»îÁ¦Ê®×ãµÄÍøÂç×éͬÊ¡£ÕâЩͬÊÂÿÌì¶¼»áÔÚÐ×÷ƽ̨ÉϸøÎÒ·ÖÉÏÒ»¶Ñ·Ç³£ÓÐȤµÄÈÎÎñ£¬ÆäÖкÍÅäÖÃÏà¹ØµÄÈÎÎñÎÒ´óÖ·ֳÉÁËÒ»ÏÂÈýÀà¡£
a. ÔÚ²âÊÔ»·¾³ÖУ¬ÔÚabcÅäÖÃÎļþÖÐÌí¼Ó²ÎÊýx
b. °Ñ²ÎÊýxµÄÖµÐÞ¸ÄΪy
c. ɾ³ý²ÎÊýx
±»ÕÛÌÚÁËÁ½¸ö¶àÔºó£¬ÎÒÖÕÓÚÑá¾ëÕâÑù·³ÔêµÄÖØ¸´ÀͶ¯ÁË£¬¿ªÊ¼Ë¼¿¼ÈËÉú¡£ÎÒÔø¾ºÍiwebµÄMathieu£¨ÉçÇøµÄһλºËÐÄ¿ª·¢Õߣ©¶Ô´ËÒ²½øÐйýÌÖÂۺͳ¢ÊÔ£¬ÒòΪËûÒ²±¥ÊÜÏàͬµÄÍ´¿à¡£
ÎÒÃÇÔÚ2014Äê6ÔÂÌá³öÁËÒ»¸ö¹ØÓÚÁé»î¹ÜÀí×Ô¶¨Òå²ÎÊýµÄBP£¬ËüµÄ´úÂëÆäʵºÜ¼ò½à£¬ºËÐÄÔÚÓÚcreate_resoucesº¯ÊýËù×öµÄµü´ú£¬ÀàËÆÓÚ±à³ÌÓïÑÔÖеÄforÑ»·¡£Puppet
3.5֮ǰ»¹²»Ö§³ÖÕâÖÖÓï·¨µÄµü´ú£¨ËäÈ»ÓÐtrick¿ÉÒÔ×öµ½£©¡£create_resources½ÓÊÜÁ½¸ö²ÎÊý£¬µÚÒ»¸öÊÇresource
name£¬µÚ¶þ¸öÊÇ´øÓжà×é¼üÖµµÄhashÊý¾Ý¡£
ÏÂÃæÊÇÒ»¸öµ÷ÓõÄÓÃÀý£¨²»ÐèÒªÔÚPuppet´úÂëÖÐÔ¤Ïȶ¨Ò壬ֱ½Óµ÷Óü´¿É£©£º
nova::config class£ºÓÃÓÚ¹ÜÀí×Ô¶¨Òå²ÎÊý

nova::configµÄµ÷ÓÃÓÃÀý
 |