)]}'
{"specs/liberty/all/refactor_config_templates.rst":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"55582926de23a0ee08fcf926b1f84e432dbd53ac","unresolved":false,"context_lines":[{"line_number":19,"context_line":"the years and it is getting harder and harder to figure out where to set a"},{"line_number":20,"context_line":"specific option that goes into the config files. The same is true for reading"},{"line_number":21,"context_line":"these configuration files after they have been rendered, since they contain a"},{"line_number":22,"context_line":"lot more options and code than acutally needed or used. Additionally every time"},{"line_number":23,"context_line":"one of the OpenStack service projects adds or removes an configuration option,"},{"line_number":24,"context_line":"we manually need to add an attribute, some conditions and an entry in the"},{"line_number":25,"context_line":"template for this. Same goes for every change in the defaults, that is either"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_9078d3c5","line":22,"updated":"2015-09-05 04:18:52.000000000","message":"s/acutally/actually/","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":27,"context_line":"which is just unneeded code after all.  Finally, the fact that all of our"},{"line_number":28,"context_line":"templates are quite big blocks of code and even contain some hardcoded values"},{"line_number":29,"context_line":"for specific configuration options, which came from the original configuration"},{"line_number":30,"context_line":"files imported year ago, does not help with keeping up with the multiple changes"},{"line_number":31,"context_line":"in the service projects."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_01007265","line":30,"updated":"2015-09-09 14:57:49.000000000","message":"years","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"55582926de23a0ee08fcf926b1f84e432dbd53ac","unresolved":false,"context_lines":[{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"The templates for OpenStack service configurations files should implement or use"},{"line_number":37,"context_line":"a logic of setting the needed key-value configuration options in the appropiate"},{"line_number":38,"context_line":"section automatically from properly defined chef attributes."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* a logic to render proper configuration files needs to be defined and added"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_905f7340","line":37,"updated":"2015-09-05 04:18:52.000000000","message":"s/appropiate/appropriate/","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":37,"context_line":"a logic of setting the needed key-value configuration options in the appropiate"},{"line_number":38,"context_line":"section automatically from properly defined chef attributes."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* a logic to render proper configuration files needs to be defined and added"},{"line_number":41,"context_line":"* attributes used for or in configurations templates need to be checked and"},{"line_number":42,"context_line":"  refactored to fit this logic"},{"line_number":43,"context_line":"* commonly used configuration options should be handeled in one place"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_0185d2cd","line":40,"updated":"2015-09-09 14:57:49.000000000","message":"some logic?","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"55582926de23a0ee08fcf926b1f84e432dbd53ac","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* a logic to render proper configuration files needs to be defined and added"},{"line_number":41,"context_line":"* attributes used for or in configurations templates need to be checked and"},{"line_number":42,"context_line":"  refactored to fit this logic"},{"line_number":43,"context_line":"* commonly used configuration options should be handeled in one place"},{"line_number":44,"context_line":"* only needed configuration options should be set in the configuration files"},{"line_number":45,"context_line":"  after rendering the template"},{"line_number":46,"context_line":"* configuration options that are specific to only a few setups should be moved"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_30378700","line":43,"updated":"2015-09-05 04:18:52.000000000","message":"s/handeled/handled/","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":43,"context_line":"* commonly used configuration options should be handeled in one place"},{"line_number":44,"context_line":"* only needed configuration options should be set in the configuration files"},{"line_number":45,"context_line":"  after rendering the template"},{"line_number":46,"context_line":"* configuration options that are specific to only a few setups should be moved"},{"line_number":47,"context_line":"  to the documentation"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Scope"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_e19d3e0b","line":46,"updated":"2015-09-09 14:57:49.000000000","message":"Not sure I understand what this means?  shouldn\u0027t all config options/attributes have some type of documentation?","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"55582926de23a0ee08fcf926b1f84e432dbd53ac","unresolved":false,"context_lines":[{"line_number":50,"context_line":"-----"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"This spec tries to define a refactoring process that implements a more elegant"},{"line_number":53,"context_line":"handling of template files for OpenStack service configurations troughout all"},{"line_number":54,"context_line":"cookbooks used to deploy OpenStack."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_10192388","line":53,"updated":"2015-09-05 04:18:52.000000000","message":"s/troughout/throughout/","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":60,"context_line":"* Users of the cookbooks will be able to wrap all OpenStack chef cookbook more"},{"line_number":61,"context_line":"  easily and set configuration options if needed without patching the actual"},{"line_number":62,"context_line":"  templates."},{"line_number":63,"context_line":"* Old wrapper cookbooks before this change might stop working partially and"},{"line_number":64,"context_line":"  would need to be refactored accordingly."},{"line_number":65,"context_line":"* Reading configuration files will become a lot easier, since only specifically"},{"line_number":66,"context_line":"  wanted and needed options will be included in them."}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_4428b885","line":63,"updated":"2015-09-09 14:57:49.000000000","message":"Yes, this would break existing users, not just wrapper cookbook folks, we need to be clear on that up front.   Not that it\u0027s a huge deal, but refactoring at this level will be a re-write for most users.","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":62,"context_line":"  templates."},{"line_number":63,"context_line":"* Old wrapper cookbooks before this change might stop working partially and"},{"line_number":64,"context_line":"  would need to be refactored accordingly."},{"line_number":65,"context_line":"* Reading configuration files will become a lot easier, since only specifically"},{"line_number":66,"context_line":"  wanted and needed options will be included in them."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_040ba025","line":65,"updated":"2015-09-09 14:57:49.000000000","message":"Would we also allow the flexibility of having an optional configuration option description or comment flow into the generated conf file to allow for organizational/product/feature specific information to be included.   Today we are just pulling in the static comments defined in the template, but this would allow for someone to put comments in where it\u0027s really critical to the environment.","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"36aa47a56da7a55a57451065e5d9877b07f1ba99","unresolved":false,"context_lines":[{"line_number":62,"context_line":"  templates."},{"line_number":63,"context_line":"* Old wrapper cookbooks before this change might stop working partially and"},{"line_number":64,"context_line":"  would need to be refactored accordingly."},{"line_number":65,"context_line":"* Reading configuration files will become a lot easier, since only specifically"},{"line_number":66,"context_line":"  wanted and needed options will be included in them."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_6c3c9fbf","line":65,"in_reply_to":"da20952f_040ba025","updated":"2015-09-10 09:44:10.000000000","message":"added an option for that in the logic","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":98,"context_line":"      options:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        [section]"},{"line_number":101,"context_line":"        key \u003d value"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* create a logic to render configuration files from properly set chef attributes"},{"line_number":104,"context_line":"    * attributes could look like this for main configuration files (e.g. nova-"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_64bdbc01","line":101,"updated":"2015-09-09 14:57:49.000000000","message":"I would take this one step further with something like this:\n\n [section]\n\n # optional comment or description\n key \u003d value (usually simple boolean, numeric or string)\n\n key \u003d [ array which could be large ]\n\n key \u003d { hash which could be large ]\n\n key \u003d nil or empty (might be required in some special cases)\n\n\nThe optional comment would be just a:\n\n default[\u0027openstack\u0027][service][\u0027conf\u0027][section][key][\u0027comment\u0027] attribute","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"36aa47a56da7a55a57451065e5d9877b07f1ba99","unresolved":false,"context_lines":[{"line_number":98,"context_line":"      options:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        [section]"},{"line_number":101,"context_line":"        key \u003d value"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* create a logic to render configuration files from properly set chef attributes"},{"line_number":104,"context_line":"    * attributes could look like this for main configuration files (e.g. nova-"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_510cd841","line":101,"in_reply_to":"da20952f_64bdbc01","updated":"2015-09-10 09:44:10.000000000","message":"i have not found a needed nil or empty value, if needed in a special case, this can be added as empty string or \u0027nil\u0027 i think. Same is true for hashes and i do not think that python could handle the ruby hash construct.","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":107,"context_line":"      default[\u0027openstack\u0027][service][\u0027conf\u0027][section][key][value]"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      cookbook-openstack-compute/templates/nova.conf.erb :"},{"line_number":110,"context_line":"        \u003c% node[\u0027openstack\u0027][\u0027compute\u0027][\u0027conf\u0027].each do |section, values| -%\u003e"},{"line_number":111,"context_line":"        [\u003c%\u003d section %\u003e]"},{"line_number":112,"context_line":"          \u003c% values.each do |key, value| -%\u003e"},{"line_number":113,"context_line":"        \u003c%\u003d key %\u003e \u003d \u003c%\u003d value %\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_8499f07b","line":110,"updated":"2015-09-09 14:57:49.000000000","message":"Lets still include the template header for usability, but have a common one?   And this could be dymanically injected into the various templates with the common code (as shown below comment)","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"36aa47a56da7a55a57451065e5d9877b07f1ba99","unresolved":false,"context_lines":[{"line_number":107,"context_line":"      default[\u0027openstack\u0027][service][\u0027conf\u0027][section][key][value]"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      cookbook-openstack-compute/templates/nova.conf.erb :"},{"line_number":110,"context_line":"        \u003c% node[\u0027openstack\u0027][\u0027compute\u0027][\u0027conf\u0027].each do |section, values| -%\u003e"},{"line_number":111,"context_line":"        [\u003c%\u003d section %\u003e]"},{"line_number":112,"context_line":"          \u003c% values.each do |key, value| -%\u003e"},{"line_number":113,"context_line":"        \u003c%\u003d key %\u003e \u003d \u003c%\u003d value %\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_ec018f05","line":110,"in_reply_to":"da20952f_8499f07b","updated":"2015-09-10 09:44:10.000000000","message":"sure, i just forgot to add it in here","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      cookbook-openstack-compute/templates/nova.conf.erb :"},{"line_number":110,"context_line":"        \u003c% node[\u0027openstack\u0027][\u0027compute\u0027][\u0027conf\u0027].each do |section, values| -%\u003e"},{"line_number":111,"context_line":"        [\u003c%\u003d section %\u003e]"},{"line_number":112,"context_line":"          \u003c% values.each do |key, value| -%\u003e"},{"line_number":113,"context_line":"        \u003c%\u003d key %\u003e \u003d \u003c%\u003d value %\u003e"},{"line_number":114,"context_line":"            \u003c% end -%\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_64929cf8","line":111,"updated":"2015-09-09 14:57:49.000000000","message":"to reduce duplication, would it make sense to have the key \u003d value rendering logic in a \"Common\" place and pull that in here with a simple partial template.  Something like:\n\n\n \u003c%\u003d render \"standard_key_value_pairs.erb\", :variables \u003d\u003e {:service \u003d\u003e \u0027compute\u0027 }, :cookbook \u003d\u003e \u0027Common\u0027 %\u003e \n\n\nThen most conf file templates would be just 1 line of code, and in cases where we could need special support is would be very easy to add and standout clearly.\n\nThe could easily bring in common key values (keystone, logging, ...) with other  partial templates.","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"36aa47a56da7a55a57451065e5d9877b07f1ba99","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"      cookbook-openstack-compute/templates/nova.conf.erb :"},{"line_number":110,"context_line":"        \u003c% node[\u0027openstack\u0027][\u0027compute\u0027][\u0027conf\u0027].each do |section, values| -%\u003e"},{"line_number":111,"context_line":"        [\u003c%\u003d section %\u003e]"},{"line_number":112,"context_line":"          \u003c% values.each do |key, value| -%\u003e"},{"line_number":113,"context_line":"        \u003c%\u003d key %\u003e \u003d \u003c%\u003d value %\u003e"},{"line_number":114,"context_line":"            \u003c% end -%\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_2c18e774","line":111,"in_reply_to":"da20952f_64929cf8","updated":"2015-09-10 09:44:10.000000000","message":"sounds good, i pushed a new possible solution for that, since i have not found an option to include partial templates from other cookbooks","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        \u003c% node[\u0027openstack\u0027][\u0027compute\u0027][\u0027conf\u0027].each do |section, values| -%\u003e"},{"line_number":111,"context_line":"        [\u003c%\u003d section %\u003e]"},{"line_number":112,"context_line":"          \u003c% values.each do |key, value| -%\u003e"},{"line_number":113,"context_line":"        \u003c%\u003d key %\u003e \u003d \u003c%\u003d value %\u003e"},{"line_number":114,"context_line":"            \u003c% end -%\u003e"},{"line_number":115,"context_line":"        \u003c% end -%\u003e"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_2787c613","line":113,"updated":"2015-09-09 14:57:49.000000000","message":"As stated above, not sure if this will properly handle arrays and hashes.","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"36aa47a56da7a55a57451065e5d9877b07f1ba99","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        \u003c% node[\u0027openstack\u0027][\u0027compute\u0027][\u0027conf\u0027].each do |section, values| -%\u003e"},{"line_number":111,"context_line":"        [\u003c%\u003d section %\u003e]"},{"line_number":112,"context_line":"          \u003c% values.each do |key, value| -%\u003e"},{"line_number":113,"context_line":"        \u003c%\u003d key %\u003e \u003d \u003c%\u003d value %\u003e"},{"line_number":114,"context_line":"            \u003c% end -%\u003e"},{"line_number":115,"context_line":"        \u003c% end -%\u003e"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_6c357fd9","line":113,"in_reply_to":"da20952f_2787c613","updated":"2015-09-10 09:44:10.000000000","message":"it should hande arrays properly","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            \u003c% end -%\u003e"},{"line_number":115,"context_line":"        \u003c% end -%\u003e"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* add a link to documentation/config reference to all config files"},{"line_number":118,"context_line":"* refactor currently used attributes to fit into that logic"},{"line_number":119,"context_line":"* adapt specs"},{"line_number":120,"context_line":"* define a set of minimal needed attributes to create a working stack and move"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_47843a5c","line":117,"updated":"2015-09-09 14:57:49.000000000","message":"Humm, this would be a hard coded top level comment, like our banner is today, and would probably point to something like topics in here:\nhttp://docs.openstack.org/kilo/config-reference/content/","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"473470b401c31a1f1699fa0fef12f497a479fd99","unresolved":false,"context_lines":[{"line_number":117,"context_line":"* add a link to documentation/config reference to all config files"},{"line_number":118,"context_line":"* refactor currently used attributes to fit into that logic"},{"line_number":119,"context_line":"* adapt specs"},{"line_number":120,"context_line":"* define a set of minimal needed attributes to create a working stack and move"},{"line_number":121,"context_line":"  the rest of the attributes into documentation"},{"line_number":122,"context_line":"* remove attributes that would set configuration options that are equal to the"},{"line_number":123,"context_line":"  defaults"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_a7dc3675","line":120,"updated":"2015-09-09 14:57:49.000000000","message":"I think this really means creating/updating our existing repo environments to maybe cover a bit more ground.","commit_id":"99ab9ba5df86a01e949726b9c6746185d5364a11"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"26dbc2438b79057d8fdc380f8ad7748fc4d95388","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        key \u003d [ array which could be large ]"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"* create a logic to render configuration files from properly set chef attributes"},{"line_number":113,"context_line":"    * attributes could look like this for main configuration files (e.g. nova-"},{"line_number":114,"context_line":"      or neutron.conf):"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"      default[\u0027openstack\u0027][service][\u0027conf\u0027][section][key] \u003d value"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da20952f_173410dc","line":113,"updated":"2015-09-10 10:16:26.000000000","message":"s/nova-/nova/","commit_id":"ebc46a64c3b81da4dc5067b2d72e401dac1c1119"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"26dbc2438b79057d8fdc380f8ad7748fc4d95388","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"      with a comment:"},{"line_number":123,"context_line":"              default[\u0027openstack\u0027][service][\u0027conf\u0027][section][\u0027debug\u0027] \u003d"},{"line_number":124,"context_line":"                { set_to: true, comment: \u0027this options is is the switch to enable/disable debug loggging\u0027 }"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"      cookbook-openstack-common/templates/common.conf.erb :"},{"line_number":127,"context_line":"        \u003c% @service_config.each do |section, values| -%\u003e"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da20952f_372fd489","line":124,"updated":"2015-09-10 10:16:26.000000000","message":"an extra \"is\"","commit_id":"ebc46a64c3b81da4dc5067b2d72e401dac1c1119"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"26dbc2438b79057d8fdc380f8ad7748fc4d95388","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"      cookbook-openstack-compute/recipes/common.rb :"},{"line_number":140,"context_line":"        ..."},{"line_number":141,"context_line":"        # activesupport currently needs to be upgraded, since the one used in"},{"line_number":142,"context_line":"        # chef 12 is too old (3.2.19) and does not include the needed deep_merge"},{"line_number":143,"context_line":"        chef_gem \u0027activesupport\u0027 do"},{"line_number":144,"context_line":"          action :upgrade"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da20952f_17be50ff","line":141,"updated":"2015-09-10 10:16:26.000000000","message":"I think you can add a reference about activesupport  link.","commit_id":"ebc46a64c3b81da4dc5067b2d72e401dac1c1119"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"d97a4b2b769bbf9d11d889d55023b5e57ca0abe5","unresolved":false,"context_lines":[{"line_number":112,"context_line":"* attributes could look like this for main configuration files (e.g. nova"},{"line_number":113,"context_line":"  or neutron.conf):"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":".. code-block:: ruby"},{"line_number":116,"context_line":"  default[\u0027openstack\u0027][service][\u0027conf\u0027][section][key] \u003d"},{"line_number":117,"context_line":"    value"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_dc269dcd","line":115,"updated":"2015-09-23 05:43:24.000000000","message":"need a blank line between line#115 and 116","commit_id":"57f22c86523f1fdac69096815f7ced940ffa0cb6"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"d97a4b2b769bbf9d11d889d55023b5e57ca0abe5","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    value"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"without a comment:"},{"line_number":120,"context_line":".. code-block:: ruby"},{"line_number":121,"context_line":"  default[\u0027openstack\u0027][service][\u0027conf\u0027][section][\u0027debug\u0027] \u003d"},{"line_number":122,"context_line":"    true"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_fc2361bb","line":120,"updated":"2015-09-23 05:43:24.000000000","message":"same","commit_id":"57f22c86523f1fdac69096815f7ced940ffa0cb6"},{"author":{"_account_id":8112,"name":"Ma Wen Cheng","email":"wenchma@cn.ibm.com","username":"wenchma"},"change_message_id":"d97a4b2b769bbf9d11d889d55023b5e57ca0abe5","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    true"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"with a comment:"},{"line_number":125,"context_line":".. code-block:: ruby"},{"line_number":126,"context_line":"  default[\u0027openstack\u0027][service][\u0027conf\u0027][section][\u0027debug\u0027] \u003d"},{"line_number":127,"context_line":"    { set_to: true, comment: \u0027this options is the switch to enable/disable debug loggging\u0027 }"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_9c2ca5ad","line":125,"updated":"2015-09-23 05:43:24.000000000","message":"same","commit_id":"57f22c86523f1fdac69096815f7ced940ffa0cb6"},{"author":{"_account_id":9488,"name":"chenzhiwei","email":"zhiweik@gmail.com","username":"chenzhiwei"},"change_message_id":"50350790cd6b14cf23fd15d745dbbe4efbb79538","unresolved":false,"context_lines":[{"line_number":136,"context_line":"  [\u003c%\u003d section %\u003e]"},{"line_number":137,"context_line":"    \u003c% values.each do |key, value| -%\u003e"},{"line_number":138,"context_line":"      \u003c% if value.class \u003d\u003d Hash -%\u003e"},{"line_number":139,"context_line":"  \u003c%\u003d \"##{value}\" -%\u003e"},{"line_number":140,"context_line":"  \u003c%\u003d key %\u003e \u003d \u003c%\u003d value[\u0027set_to\u0027] %\u003e"},{"line_number":141,"context_line":"      \u003c% else -%\u003e"},{"line_number":142,"context_line":"  \u003c%\u003d key %\u003e \u003d \u003c%\u003d value %\u003e"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba15a1d1_058835c4","line":139,"updated":"2015-09-23 09:41:11.000000000","message":"should be #{value[\u0027comment\u0027]}","commit_id":"86a26c16499749038f24655131a15c198f11a1b4"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"756698f9cf3ecb0721e61ec68b347f2d58bc3272","unresolved":false,"context_lines":[{"line_number":44,"context_line":"* commonly used configuration options should be handled in one place"},{"line_number":45,"context_line":"* only needed configuration options should be set in the configuration files"},{"line_number":46,"context_line":"  after rendering the template"},{"line_number":47,"context_line":"* configuration options that are specific to only a few setups should be removed"},{"line_number":48,"context_line":"  from the default attributes (especially the switchcases for them) and moved to"},{"line_number":49,"context_line":"  the documentation"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_efeb1caf","line":47,"updated":"2015-09-24 18:00:10.000000000","message":"Probably need to clarify what we really mean here.  If we are going to remove some functionality that might be a bigger concern for some folks.","commit_id":"5689cc86d8417e79e68e0f25efeda32e5ba94b52"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"756698f9cf3ecb0721e61ec68b347f2d58bc3272","unresolved":false,"context_lines":[{"line_number":129,"context_line":"::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"  default[\u0027openstack\u0027][service][\u0027conf\u0027][section][\u0027debug\u0027] \u003d"},{"line_number":132,"context_line":"    { set_to: true, comment: \u0027this options is the switch to enable/disable debug loggging\u0027 }"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"cookbook-openstack-common/templates/common.conf.erb :"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_8f962093","line":132,"updated":"2015-09-24 18:00:10.000000000","message":"option","commit_id":"5689cc86d8417e79e68e0f25efeda32e5ba94b52"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"756698f9cf3ecb0721e61ec68b347f2d58bc3272","unresolved":false,"context_lines":[{"line_number":161,"context_line":"  require \u0027active_support\u0027"},{"line_number":162,"context_line":"  ..."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"  neutron_admin_password \u003d get_password \u0027service\u0027, \u0027openstack-network\u0027"},{"line_number":165,"context_line":"  ..."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"  secrets \u003d {"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_8ff940cb","line":164,"updated":"2015-09-24 18:00:10.000000000","message":"Another good example to keep in mind is all the bindings and URLs that are generated and placed into the conf files.","commit_id":"5689cc86d8417e79e68e0f25efeda32e5ba94b52"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"756698f9cf3ecb0721e61ec68b347f2d58bc3272","unresolved":false,"context_lines":[{"line_number":206,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"* lint and style tests with rubocop (as is)"},{"line_number":209,"context_line":"* unit tests with chefspec (as is)"},{"line_number":210,"context_line":"* integration testing with chef provisioning"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_2fbb54c6","line":209,"updated":"2015-09-24 18:00:10.000000000","message":"Would like to make sure that since we are forcing the use of sections in the conf files, we should make sure that ALL unit tests are updated to check for sections.  So, I would not consider this as-is, there is work to do in the unit tests to refactor for section checking.","commit_id":"5689cc86d8417e79e68e0f25efeda32e5ba94b52"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"c87a86e5c0876e4b0478ba66ca2212f9b317350d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  functionality in the sense of removing some switchcases and attributes in the"},{"line_number":51,"context_line":"  original cookbooks, this should not mean to loose these completely, but rather"},{"line_number":52,"context_line":"  move them to the documentation to allow an easy implementation in wrapper"},{"line_number":53,"context_line":"  cookbooks.  "},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Scope"},{"line_number":56,"context_line":"-----"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9a1a9d01_a9899fcc","line":53,"updated":"2015-09-24 19:16:19.000000000","message":"ws","commit_id":"994f8f220c4f2f2bd31fae1fa15a60ce9e1591ad"}]}
