)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6994,"name":"Michael Chapman","email":"woppin@gmail.com","username":"michaeltchapman"},"change_message_id":"15e43cb30bf550a424cd13f1b214066d6aac3f6b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"provide a default store."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"It will also provide users with a notification when they declare a"},{"line_number":18,"context_line":"backup class informing them that the default_store must be set"},{"line_number":19,"context_line":"in glance::api."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I28a79ae36e673a3537ea16910d338666b65c80f7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a8ffd7b_e705e179","line":18,"updated":"2015-11-27 03:29:04.000000000","message":"s/backup/backend","commit_id":"be7782e4f9d027c7c8637d31d3c6e9fdab03b95c"}],"manifests/api.pp":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d73b494d3beffa9ff7d95bb51925a733f8808803","unresolved":false,"context_lines":[{"line_number":158,"context_line":"#   (optional)List of which store classes and store class locations are"},{"line_number":159,"context_line":"#    currently known to glance at startup."},{"line_number":160,"context_line":"#    Defaults to false."},{"line_number":161,"context_line":"#    Example: [\u0027glance.store.filesystem.Store\u0027,\u0027glance.store.http.Store\u0027]"},{"line_number":162,"context_line":"#"},{"line_number":163,"context_line":"# [*image_cache_dir*]"},{"line_number":164,"context_line":"#   (optional) Base directory that the Image Cache uses."}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba8a016a_f01cf1c2","side":"PARENT","line":161,"updated":"2015-11-18 01:04:46.000000000","message":"you\u0027re breaking backward compatibility.","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"91a73d85cc7c8aa914fe79716d878ecb708b065c","unresolved":false,"context_lines":[{"line_number":158,"context_line":"#   (optional)List of which store classes and store class locations are"},{"line_number":159,"context_line":"#    currently known to glance at startup."},{"line_number":160,"context_line":"#    Defaults to false."},{"line_number":161,"context_line":"#    Example: [\u0027glance.store.filesystem.Store\u0027,\u0027glance.store.http.Store\u0027]"},{"line_number":162,"context_line":"#"},{"line_number":163,"context_line":"# [*image_cache_dir*]"},{"line_number":164,"context_line":"#   (optional) Base directory that the Image Cache uses."}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba8a016a_c7322e5f","side":"PARENT","line":161,"in_reply_to":"ba8a016a_f01cf1c2","updated":"2015-11-18 16:43:59.000000000","message":"Done","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d73b494d3beffa9ff7d95bb51925a733f8808803","unresolved":false,"context_lines":[{"line_number":218,"context_line":"  $cert_file                \u003d false,"},{"line_number":219,"context_line":"  $key_file                 \u003d false,"},{"line_number":220,"context_line":"  $ca_file                  \u003d false,"},{"line_number":221,"context_line":"  $known_stores             \u003d false,"},{"line_number":222,"context_line":"  $database_connection      \u003d \u0027sqlite:///var/lib/glance/glance.sqlite\u0027,"},{"line_number":223,"context_line":"  $database_idle_timeout    \u003d 3600,"},{"line_number":224,"context_line":"  $image_cache_dir          \u003d \u0027/var/lib/glance/image-cache\u0027,"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba8a016a_907a45f0","side":"PARENT","line":221,"updated":"2015-11-18 01:04:46.000000000","message":"please deprecate parameters correctly, we have a documentation about it in our Wiki.","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"91a73d85cc7c8aa914fe79716d878ecb708b065c","unresolved":false,"context_lines":[{"line_number":218,"context_line":"  $cert_file                \u003d false,"},{"line_number":219,"context_line":"  $key_file                 \u003d false,"},{"line_number":220,"context_line":"  $ca_file                  \u003d false,"},{"line_number":221,"context_line":"  $known_stores             \u003d false,"},{"line_number":222,"context_line":"  $database_connection      \u003d \u0027sqlite:///var/lib/glance/glance.sqlite\u0027,"},{"line_number":223,"context_line":"  $database_idle_timeout    \u003d 3600,"},{"line_number":224,"context_line":"  $image_cache_dir          \u003d \u0027/var/lib/glance/image-cache\u0027,"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba8a016a_071cb6bf","side":"PARENT","line":221,"in_reply_to":"ba8a016a_907a45f0","updated":"2015-11-18 16:43:59.000000000","message":"Done","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d73b494d3beffa9ff7d95bb51925a733f8808803","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $stores {"},{"line_number":304,"context_line":"    if size($stores) \u003d\u003d 1 {"},{"line_number":305,"context_line":"      $auto_default_store \u003d $stores[0]"},{"line_number":306,"context_line":"      glance_api_config {"},{"line_number":307,"context_line":"        \u0027glance_store/default_store\u0027: value \u003d\u003e $auto_default_store;"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba8a016a_b07d09e9","line":304,"updated":"2015-11-18 01:04:46.000000000","message":"what if size \u003d\u003d 0 ?\nThis conditionnal is not finished I guess.","commit_id":"7d515299b68b44ec4f980dc52682458164cb3f7e"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"91a73d85cc7c8aa914fe79716d878ecb708b065c","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $stores {"},{"line_number":304,"context_line":"    if size($stores) \u003d\u003d 1 {"},{"line_number":305,"context_line":"      $auto_default_store \u003d $stores[0]"},{"line_number":306,"context_line":"      glance_api_config {"},{"line_number":307,"context_line":"        \u0027glance_store/default_store\u0027: value \u003d\u003e $auto_default_store;"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba8a016a_c7ceae2d","line":304,"in_reply_to":"ba8a016a_b07d09e9","updated":"2015-11-18 16:43:59.000000000","message":"I hadn\u0027t accounted for someone passing in an empty list, just undef the default false or passing in at least one. I\u0027ve updated this in my latest patch.","commit_id":"7d515299b68b44ec4f980dc52682458164cb3f7e"},{"author":{"_account_id":9060,"name":"Mike Dorman","email":"dorm@dorm.org","username":"gd-mdorman"},"change_message_id":"4be37e6399b3241e7fd1bf569d01d3da509eb1f8","unresolved":false,"context_lines":[{"line_number":316,"context_line":"        }"},{"line_number":317,"context_line":"      } else {"},{"line_number":318,"context_line":"        # More than one known store provided but none set as default"},{"line_number":319,"context_line":"        fail(\u0027default_store must be provided when multiple stores are configured\u0027)"},{"line_number":320,"context_line":"      }"},{"line_number":321,"context_line":"    } else {"},{"line_number":322,"context_line":"        # known_stores is an empty list"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba8a016a_5257d757","line":319,"updated":"2015-11-18 17:44:15.000000000","message":"Please change \"...when multiple stores are...\" to \"...when multiple known_stores are...\" to make it clear which parameter we\u0027re talking about.","commit_id":"5175fc5950039a7a8480e0b710ee079375e3a0c8"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"01cd631b17f50a1110d46c68668312e5ba9e0d5f","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  }"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $known_stores {"},{"line_number":304,"context_line":"    if size($known_stores) \u003d\u003d 1 {"},{"line_number":305,"context_line":"      # set default_store to only known store"},{"line_number":306,"context_line":"      $auto_default_store \u003d $known_stores[0]"}],"source_content_type":"text/x-puppet","patch_set":5,"id":"ba8a016a_8b6f452a","line":303,"updated":"2015-11-18 21:23:51.000000000","message":"Just to throw a few cents in here on readability, we might want to do the validation separately prior to setting the values (also reducing repetition)\n\nFor example\n\nif $known_stores and !empty($known_stores) {\n  if !$default_store and len($known_stores) \u003e 1 {\n    fail(\u0027default_store must be provided\u0027)\n  }\n  $stores_real \u003d join($known_stores, \u0027,\u0027)\n} elsif $default_store {\n  $stores_real \u003d $default_store\n} else {\n  $stores_real \u003d false\n}\n\nif $default_store {\n  $default_store_real \u003d $default_store\n} elsif $known_stores {\n  $default_store_real \u003d $known_stores[0]\n} else {\n  $default_store_real \u003d false\n}\n\nif ($default_store_real\n  glance_api_config {\n    \u0027glance_store/default_store\u0027: value \u003d\u003e $default_store_real;\n  }\n} else {\n  glance_api_config {\n    \u0027glance_store/default_store\u0027: ensure \u003d\u003e absent;\n  }\n}\nif $stores_real {\n  glance_api_config {\n    \u0027glance_store/stores\u0027: value \u003d\u003e $stores_real;\n  }\n} else {\n  glance_api_config {\n    \u0027glance_store/stores\u0027: ensure \u003d\u003e absent;\n  }\n}\n\n\nIt could be cleaned up further if false is replaced with $::os_services_default (if it makes sense) and then we could ditch the ensure \u003d\u003e absent as well.","commit_id":"f328bc05f0a2dcbd5125ac5cf0fa460b3c42393d"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"3a4877fa661a61aed56984b44c6545599392e27b","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  }"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $known_stores {"},{"line_number":304,"context_line":"    if size($known_stores) \u003d\u003d 1 {"},{"line_number":305,"context_line":"      # set default_store to only known store"},{"line_number":306,"context_line":"      $auto_default_store \u003d $known_stores[0]"}],"source_content_type":"text/x-puppet","patch_set":5,"id":"ba8a016a_f68c7bdb","line":303,"in_reply_to":"ba8a016a_255def46","updated":"2015-11-19 18:59:51.000000000","message":"wrong link to the is_default_function, the correct link is https://review.openstack.org/#/c/223672/.  I accidentally used the service_default function which was a proposed alternative to the $::os_service_default fact","commit_id":"f328bc05f0a2dcbd5125ac5cf0fa460b3c42393d"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"7eb4bd275d0ed3cbdf96617415e92f482b2f885b","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  }"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $known_stores {"},{"line_number":304,"context_line":"    if size($known_stores) \u003d\u003d 1 {"},{"line_number":305,"context_line":"      # set default_store to only known store"},{"line_number":306,"context_line":"      $auto_default_store \u003d $known_stores[0]"}],"source_content_type":"text/x-puppet","patch_set":5,"id":"ba8a016a_255def46","line":303,"in_reply_to":"ba8a016a_25f88fc2","updated":"2015-11-19 18:06:32.000000000","message":"Sure, so we have a fact that is included in openstacklib called $::os_service_default that stands provides a static value (\u0027\u003cSERVICE DEFAULT\u0027) that we use in our providers to determine if we should set the value in the config or not. If a variable is set to $::os_service_default and ultimately ends up being used like glance_api_config { \u0027something\u0027: value \u003d\u003e $::os_service_default}, it will result in ensure \u003d\u003e absent.  It basically allows for not having to do the if { set value } else { ensure absent } logic that is prevalent in many of the openstack modules.  It\u0027s fairly new and we\u0027re working on getting the value used in all of the modules. So newer requests should leverage if the module has already had the groundwork laid out.  It just simplifies some of these things.  \n\nHere\u0027s where the fact was put in place:\nhttps://review.openstack.org/#/c/229050/\n\nHere\u0027s a function that can be used to determine if a variable set to the service default fact:\nhttps://review.openstack.org/#/c/224187/\n\nHere is an example where we\u0027ve converted the cinder module:\nhttps://review.openstack.org/#/c/236004/","commit_id":"f328bc05f0a2dcbd5125ac5cf0fa460b3c42393d"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"f39c91cc7cc261841fc221e61ca9604038f689ac","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  }"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $known_stores {"},{"line_number":304,"context_line":"    if size($known_stores) \u003d\u003d 1 {"},{"line_number":305,"context_line":"      # set default_store to only known store"},{"line_number":306,"context_line":"      $auto_default_store \u003d $known_stores[0]"}],"source_content_type":"text/x-puppet","patch_set":5,"id":"ba8a016a_25f88fc2","line":303,"in_reply_to":"ba8a016a_8b6f452a","updated":"2015-11-19 17:53:47.000000000","message":"Hi Alex, thanks for the suggestion I\u0027ll definitely make that change. As far as $::os_services_default goes, I\u0027m still rather new to contributing to these modules, what is that variable used for?","commit_id":"f328bc05f0a2dcbd5125ac5cf0fa460b3c42393d"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"f3ccf6547b95f6295e1994ccb5ca255b2a11bc19","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  }"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $known_stores and !empty($known_stores) {"},{"line_number":304,"context_line":"    if !$default_store and size($known_stores) \u003e 1 {"},{"line_number":305,"context_line":"      fail(\u0027default_store must be provided when multiple known_stores are configured\u0027)"},{"line_number":306,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"ba8a016a_9194e444","line":303,"updated":"2015-11-20 16:31:10.000000000","message":"This is getting tricky with the service default thing, you might want to leave $known_stores as false or you\u0027ll have to use is_service_default(...) and is_array(...) in here as well or i think the empty/size will fail","commit_id":"91eb61458ced5d49dd97d646cee217598113ba46"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"d2989262af75e0d1c4bf4179fe4807c7df3b7ac1","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  }"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $known_stores and !empty($known_stores) {"},{"line_number":304,"context_line":"    if !$default_store and size($known_stores) \u003e 1 {"},{"line_number":305,"context_line":"      fail(\u0027default_store must be provided when multiple known_stores are configured\u0027)"},{"line_number":306,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"ba8a016a_910b842b","line":303,"in_reply_to":"ba8a016a_9194e444","updated":"2015-11-20 16:41:31.000000000","message":"Yeah I might put it back to false for now to be safe, and it can be changed later - this looks like it would be the first instance of $::os_service_default in the glance module.","commit_id":"91eb61458ced5d49dd97d646cee217598113ba46"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"f3ccf6547b95f6295e1994ccb5ca255b2a11bc19","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $known_stores and !empty($known_stores) {"},{"line_number":304,"context_line":"    if !$default_store and size($known_stores) \u003e 1 {"},{"line_number":305,"context_line":"      fail(\u0027default_store must be provided when multiple known_stores are configured\u0027)"},{"line_number":306,"context_line":"    }"},{"line_number":307,"context_line":"    $stores_real \u003d join($known_stores, \u0027,\u0027)"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"ba8a016a_b1ca486d","line":304,"updated":"2015-11-20 16:31:10.000000000","message":"For this you\u0027d want is_service_default($default_store)","commit_id":"91eb61458ced5d49dd97d646cee217598113ba46"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"d2989262af75e0d1c4bf4179fe4807c7df3b7ac1","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"  # stores config"},{"line_number":303,"context_line":"  if $known_stores and !empty($known_stores) {"},{"line_number":304,"context_line":"    if !$default_store and size($known_stores) \u003e 1 {"},{"line_number":305,"context_line":"      fail(\u0027default_store must be provided when multiple known_stores are configured\u0027)"},{"line_number":306,"context_line":"    }"},{"line_number":307,"context_line":"    $stores_real \u003d join($known_stores, \u0027,\u0027)"}],"source_content_type":"text/x-puppet","patch_set":7,"id":"ba8a016a_bc0f7f2d","line":304,"in_reply_to":"ba8a016a_b1ca486d","updated":"2015-11-20 16:41:31.000000000","message":"Ah thanks, is that why all those Jenkins tests failed? The local tests passed for me.","commit_id":"91eb61458ced5d49dd97d646cee217598113ba46"},{"author":{"_account_id":6994,"name":"Michael Chapman","email":"woppin@gmail.com","username":"michaeltchapman"},"change_message_id":"7ec0ea43a7a313aa4f05c9be3cfbc15c6b4db992","unresolved":false,"context_lines":[{"line_number":198,"context_line":"# [*known_stores*]"},{"line_number":199,"context_line":"#   (optional) DEPRECATED List of which store classes and store class"},{"line_number":200,"context_line":"#   locations are currently known to glance at startup. This parameter"},{"line_number":201,"context_line":"#   should be removed in the N or O release."},{"line_number":202,"context_line":"#   Defaults to false."},{"line_number":203,"context_line":"#   Example: [\u0027glance.store.filesystem.Store\u0027,\u0027glance.store.http.Store\u0027]"},{"line_number":204,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"9a8ffd7b_e08c6c81","line":201,"updated":"2015-12-01 03:31:11.000000000","message":"Sorry I wasn\u0027t clear in my earlier comment, best to just pick one of those releases. I\u0027d go with N (remove in the cycle after this one).","commit_id":"d6a416bd43d3f4172e93bb0b8a038536985179ed"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"c04359222ae13e9cf7cd721db704b98e62ee3fc6","unresolved":false,"context_lines":[{"line_number":198,"context_line":"# [*known_stores*]"},{"line_number":199,"context_line":"#   (optional) DEPRECATED List of which store classes and store class"},{"line_number":200,"context_line":"#   locations are currently known to glance at startup. This parameter"},{"line_number":201,"context_line":"#   should be removed in the N or O release."},{"line_number":202,"context_line":"#   Defaults to false."},{"line_number":203,"context_line":"#   Example: [\u0027glance.store.filesystem.Store\u0027,\u0027glance.store.http.Store\u0027]"},{"line_number":204,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"9a8ffd7b_1f3e86da","line":201,"in_reply_to":"9a8ffd7b_e08c6c81","updated":"2015-12-01 15:55:28.000000000","message":"Ah, okay that makes sense, thanks","commit_id":"d6a416bd43d3f4172e93bb0b8a038536985179ed"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"9f906c9e0bd1a7a82247c044304fabc922984807","unresolved":false,"context_lines":[{"line_number":162,"context_line":"#"},{"line_number":163,"context_line":"# [*default_store*]"},{"line_number":164,"context_line":"#   (optional) The default backend store. Value must be provided if more"},{"line_number":165,"context_line":"#   than one store is listed in \u0027stores\u0027."},{"line_number":166,"context_line":"#   Defaults to false"},{"line_number":167,"context_line":"#"},{"line_number":168,"context_line":"# [*image_cache_dir*]"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"7a740942_c62cd84c","line":165,"updated":"2015-12-04 10:47:04.000000000","message":"Add please, that this parameter should be a string. And make it undef by default.","commit_id":"5d7caafa9ec753f979a36f7bec05d2a12f12649e"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"802d88cde5cd02e5678d110a7f8fef72d09527be","unresolved":false,"context_lines":[{"line_number":162,"context_line":"#"},{"line_number":163,"context_line":"# [*default_store*]"},{"line_number":164,"context_line":"#   (optional) The default backend store. Value must be provided if more"},{"line_number":165,"context_line":"#   than one store is listed in \u0027stores\u0027."},{"line_number":166,"context_line":"#   Defaults to false"},{"line_number":167,"context_line":"#"},{"line_number":168,"context_line":"# [*image_cache_dir*]"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"7a740942_8cb02345","line":165,"in_reply_to":"7a740942_c62cd84c","updated":"2015-12-04 15:35:17.000000000","message":"Done","commit_id":"5d7caafa9ec753f979a36f7bec05d2a12f12649e"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"9f906c9e0bd1a7a82247c044304fabc922984807","unresolved":false,"context_lines":[{"line_number":318,"context_line":"    warning(\u0027The known_stores parameter is deprecated, use stores instead\u0027)"},{"line_number":319,"context_line":"    $stores_real \u003d $known_stores"},{"line_number":320,"context_line":"  }"},{"line_number":321,"context_line":"  if $stores_real and !empty($stores_real) {"},{"line_number":322,"context_line":"    if size($stores_real) \u003e 1 {"},{"line_number":323,"context_line":"      if !$default_store {"},{"line_number":324,"context_line":"        fail(\u0027default_store must be provided when multiple stores are configured\u0027)"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"7a740942_c637f8ae","line":321,"updated":"2015-12-04 10:47:04.000000000","message":"i\u0027m not sure, that we need to check stores_real parameter, we use it in prev if section. Just !empty check is fine.","commit_id":"5d7caafa9ec753f979a36f7bec05d2a12f12649e"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"802d88cde5cd02e5678d110a7f8fef72d09527be","unresolved":false,"context_lines":[{"line_number":318,"context_line":"    warning(\u0027The known_stores parameter is deprecated, use stores instead\u0027)"},{"line_number":319,"context_line":"    $stores_real \u003d $known_stores"},{"line_number":320,"context_line":"  }"},{"line_number":321,"context_line":"  if $stores_real and !empty($stores_real) {"},{"line_number":322,"context_line":"    if size($stores_real) \u003e 1 {"},{"line_number":323,"context_line":"      if !$default_store {"},{"line_number":324,"context_line":"        fail(\u0027default_store must be provided when multiple stores are configured\u0027)"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"7a740942_6c5e1714","line":321,"in_reply_to":"7a740942_c637f8ae","updated":"2015-12-04 15:35:17.000000000","message":"Done","commit_id":"5d7caafa9ec753f979a36f7bec05d2a12f12649e"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"9f906c9e0bd1a7a82247c044304fabc922984807","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    $stores_real \u003d $known_stores"},{"line_number":320,"context_line":"  }"},{"line_number":321,"context_line":"  if $stores_real and !empty($stores_real) {"},{"line_number":322,"context_line":"    if size($stores_real) \u003e 1 {"},{"line_number":323,"context_line":"      if !$default_store {"},{"line_number":324,"context_line":"        fail(\u0027default_store must be provided when multiple stores are configured\u0027)"},{"line_number":325,"context_line":"      }"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"7a740942_a6142cf5","line":322,"updated":"2015-12-04 10:47:04.000000000","message":"what about situation, when someone pass string here? You should use any2array or add validation_array for this parameter.\n\nhttps://forge.puppetlabs.com/puppetlabs/stdlib#size","commit_id":"5d7caafa9ec753f979a36f7bec05d2a12f12649e"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"802d88cde5cd02e5678d110a7f8fef72d09527be","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    $stores_real \u003d $known_stores"},{"line_number":320,"context_line":"  }"},{"line_number":321,"context_line":"  if $stores_real and !empty($stores_real) {"},{"line_number":322,"context_line":"    if size($stores_real) \u003e 1 {"},{"line_number":323,"context_line":"      if !$default_store {"},{"line_number":324,"context_line":"        fail(\u0027default_store must be provided when multiple stores are configured\u0027)"},{"line_number":325,"context_line":"      }"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"7a740942_0c9c33bf","line":322,"in_reply_to":"7a740942_a6142cf5","updated":"2015-12-04 15:35:17.000000000","message":"Done","commit_id":"5d7caafa9ec753f979a36f7bec05d2a12f12649e"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"9f906c9e0bd1a7a82247c044304fabc922984807","unresolved":false,"context_lines":[{"line_number":325,"context_line":"      }"},{"line_number":326,"context_line":"      $final_stores_real \u003d join($stores_real, \u0027,\u0027)"},{"line_number":327,"context_line":"    } else {"},{"line_number":328,"context_line":"      $final_stores_real \u003d $stores_real"},{"line_number":329,"context_line":"    }"},{"line_number":330,"context_line":"  } elsif $default_store {"},{"line_number":331,"context_line":"    $final_stores_real \u003d [$default_store]"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"7a740942_a6118cae","line":328,"updated":"2015-12-04 10:47:04.000000000","message":"$stores_real[0]","commit_id":"5d7caafa9ec753f979a36f7bec05d2a12f12649e"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"802d88cde5cd02e5678d110a7f8fef72d09527be","unresolved":false,"context_lines":[{"line_number":325,"context_line":"      }"},{"line_number":326,"context_line":"      $final_stores_real \u003d join($stores_real, \u0027,\u0027)"},{"line_number":327,"context_line":"    } else {"},{"line_number":328,"context_line":"      $final_stores_real \u003d $stores_real"},{"line_number":329,"context_line":"    }"},{"line_number":330,"context_line":"  } elsif $default_store {"},{"line_number":331,"context_line":"    $final_stores_real \u003d [$default_store]"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"7a740942_cca5cb04","line":328,"in_reply_to":"7a740942_a6118cae","updated":"2015-12-04 15:35:17.000000000","message":"Done","commit_id":"5d7caafa9ec753f979a36f7bec05d2a12f12649e"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"1be98ac8d8b981588066db547dc6dafb77ff29a7","unresolved":false,"context_lines":[{"line_number":262,"context_line":"  $database_max_retries     \u003d undef,"},{"line_number":263,"context_line":"  $database_retry_interval  \u003d undef,"},{"line_number":264,"context_line":"  $database_max_overflow    \u003d undef,"},{"line_number":265,"context_line":"  $database_connection      \u003d \u0027sqlite:///var/lib/glance/glance.sqlite\u0027,"},{"line_number":266,"context_line":"  $database_idle_timeout    \u003d 3600,"},{"line_number":267,"context_line":"  $image_cache_dir          \u003d \u0027/var/lib/glance/image-cache\u0027,"},{"line_number":268,"context_line":"  $os_region_name           \u003d \u0027RegionOne\u0027,"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"7a740942_83ed49b9","line":265,"updated":"2015-12-10 13:50:55.000000000","message":"it is already implemented above and you should not use here any values. Now we use db classes for all modules.","commit_id":"2f6305ecb87063c708f731fbe73730768edd11b8"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"c596890d8a476fcd0d747167282c8dccffcf841e","unresolved":false,"context_lines":[{"line_number":262,"context_line":"  $database_max_retries     \u003d undef,"},{"line_number":263,"context_line":"  $database_retry_interval  \u003d undef,"},{"line_number":264,"context_line":"  $database_max_overflow    \u003d undef,"},{"line_number":265,"context_line":"  $database_connection      \u003d \u0027sqlite:///var/lib/glance/glance.sqlite\u0027,"},{"line_number":266,"context_line":"  $database_idle_timeout    \u003d 3600,"},{"line_number":267,"context_line":"  $image_cache_dir          \u003d \u0027/var/lib/glance/image-cache\u0027,"},{"line_number":268,"context_line":"  $os_region_name           \u003d \u0027RegionOne\u0027,"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"7a740942_281549e4","line":265,"in_reply_to":"7a740942_83ed49b9","updated":"2015-12-10 16:06:03.000000000","message":"I think these got removed while I was updating the patch and since I didn\u0027t pull down master I didn\u0027t notice I still had them in when I made my latest commit. I\u0027ll remove them.","commit_id":"2f6305ecb87063c708f731fbe73730768edd11b8"}],"manifests/backend/cinder.pp":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"01cd631b17f50a1110d46c68668312e5ba9e0d5f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    \u0027glance_store/cinder_api_insecure\u0027: value \u003d\u003e $cinder_api_insecure;"},{"line_number":72,"context_line":"    \u0027glance_store/cinder_catalog_info\u0027: value \u003d\u003e $cinder_catalog_info;"},{"line_number":73,"context_line":"    \u0027glance_store/cinder_http_retries\u0027: value \u003d\u003e $cinder_http_retries;"},{"line_number":74,"context_line":"    \u0027glance_store/default_store\u0027:       value \u003d\u003e \u0027cinder\u0027;"},{"line_number":75,"context_line":"  }"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  glance_cache_config {"}],"source_content_type":"text/x-puppet","patch_set":5,"id":"ba8a016a_ab01e939","side":"PARENT","line":74,"updated":"2015-11-18 21:23:51.000000000","message":"Isn\u0027t this a backwards compatible breaking change?  For people who upgrade they will lose this.","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"}],"manifests/backend/file.pp":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"01cd631b17f50a1110d46c68668312e5ba9e0d5f","unresolved":false,"context_lines":[{"line_number":14,"context_line":") {"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"  glance_api_config {"},{"line_number":17,"context_line":"    \u0027glance_store/default_store\u0027:            value \u003d\u003e \u0027file\u0027;"},{"line_number":18,"context_line":"    \u0027glance_store/filesystem_store_datadir\u0027: value \u003d\u003e $filesystem_store_datadir;"},{"line_number":19,"context_line":"  }"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":5,"id":"ba8a016a_6bf78159","side":"PARENT","line":17,"updated":"2015-11-18 21:23:51.000000000","message":"same deal as cinder, not sure about the backwards compatibility of this","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"}],"manifests/backend/rbd.pp":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"01cd631b17f50a1110d46c68668312e5ba9e0d5f","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  }"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  glance_api_config {"},{"line_number":51,"context_line":"    \u0027glance_store/default_store\u0027:          value \u003d\u003e \u0027rbd\u0027;"},{"line_number":52,"context_line":"    \u0027glance_store/rbd_store_ceph_conf\u0027:    value \u003d\u003e $rbd_store_ceph_conf;"},{"line_number":53,"context_line":"    \u0027glance_store/rbd_store_user\u0027:         value \u003d\u003e $rbd_store_user;"},{"line_number":54,"context_line":"    \u0027glance_store/rbd_store_pool\u0027:         value \u003d\u003e $rbd_store_pool;"}],"source_content_type":"text/x-puppet","patch_set":5,"id":"ba8a016a_0b97d5ec","side":"PARENT","line":51,"updated":"2015-11-18 21:23:51.000000000","message":"same","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"}],"manifests/backend/s3.pp":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d73b494d3beffa9ff7d95bb51925a733f8808803","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  $large_object_chunk_size  \u003d 10,"},{"line_number":62,"context_line":"  $object_buffer_dir        \u003d undef,"},{"line_number":63,"context_line":"  $thread_pools             \u003d 10,"},{"line_number":64,"context_line":"  $default_store            \u003d true"},{"line_number":65,"context_line":") {"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  if !is_integer($large_object_chunk_size) or $large_object_chunk_size \u003c 5 {"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba8a016a_5084ddd2","side":"PARENT","line":64,"updated":"2015-11-18 01:04:46.000000000","message":"this is not backward compatible.","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"91a73d85cc7c8aa914fe79716d878ecb708b065c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  $large_object_chunk_size  \u003d 10,"},{"line_number":62,"context_line":"  $object_buffer_dir        \u003d undef,"},{"line_number":63,"context_line":"  $thread_pools             \u003d 10,"},{"line_number":64,"context_line":"  $default_store            \u003d true"},{"line_number":65,"context_line":") {"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  if !is_integer($large_object_chunk_size) or $large_object_chunk_size \u003c 5 {"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba8a016a_e7e3b2a2","side":"PARENT","line":64,"in_reply_to":"ba8a016a_5084ddd2","updated":"2015-11-18 16:43:59.000000000","message":"Done. I went and read the wiki on coding style, thanks for the pointer.","commit_id":"7eb99159757cab1350bc4686d6949affe0ed8507"}]}
