)]}'
{"recipes/default.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"09b55461aef1fd26bb4fb8b18a70ff3a721b104a","unresolved":false,"context_lines":[{"line_number":213,"context_line":"# Remove nil and repeated service plugins"},{"line_number":214,"context_line":"service_plugins_array.compact!"},{"line_number":215,"context_line":"service_plugins_array.uniq!"},{"line_number":216,"context_line":"service_plugins \u003d service_plugins_array.shift"},{"line_number":217,"context_line":"service_plugins_array.each do |plugin|"},{"line_number":218,"context_line":"  service_plugins +\u003d \u0027,\u0027"},{"line_number":219,"context_line":"  service_plugins +\u003d plugin"}],"source_content_type":"text/x-ruby","patch_set":4,"id":"9a0c5dc1_51888d22","line":216,"updated":"2015-05-12 15:05:37.000000000","message":"Why was this needed?  the old template code just did a .join(\u0027,\u0027)  which is what your doing here, right?","commit_id":"361c2f8f1b317e2ee7be05085a1489d09261a7d0"},{"author":{"_account_id":10486,"name":"Song Li","email":"lisongbj@cn.ibm.com","username":"sbookworm"},"change_message_id":"60bf2bf7749d83421591b6bc4f81369f3c671e51","unresolved":false,"context_lines":[{"line_number":213,"context_line":"# Remove nil and repeated service plugins"},{"line_number":214,"context_line":"service_plugins_array.compact!"},{"line_number":215,"context_line":"service_plugins_array.uniq!"},{"line_number":216,"context_line":"service_plugins \u003d service_plugins_array.shift"},{"line_number":217,"context_line":"service_plugins_array.each do |plugin|"},{"line_number":218,"context_line":"  service_plugins +\u003d \u0027,\u0027"},{"line_number":219,"context_line":"  service_plugins +\u003d plugin"}],"source_content_type":"text/x-ruby","patch_set":4,"id":"9a0c5dc1_ca9b8dc8","line":216,"in_reply_to":"9a0c5dc1_51888d22","updated":"2015-05-13 02:32:46.000000000","message":"The logic is the service_plugins get the first value from array, and add \u0027,\u0027 and another plugin. to make sure the service_plugins\u0027 format in neutron.conf like:\nservice_plugins \u003d service_plugin1,service_plugin2,service_plugin3\nThanks","commit_id":"361c2f8f1b317e2ee7be05085a1489d09261a7d0"},{"author":{"_account_id":10486,"name":"Song Li","email":"lisongbj@cn.ibm.com","username":"sbookworm"},"change_message_id":"822208b7da762c39ff018e10992c275aec86377c","unresolved":false,"context_lines":[{"line_number":213,"context_line":"# Remove nil and repeated service plugins"},{"line_number":214,"context_line":"service_plugins_array.compact!"},{"line_number":215,"context_line":"service_plugins_array.uniq!"},{"line_number":216,"context_line":"service_plugins \u003d service_plugins_array.shift"},{"line_number":217,"context_line":"service_plugins_array.each do |plugin|"},{"line_number":218,"context_line":"  service_plugins +\u003d \u0027,\u0027"},{"line_number":219,"context_line":"  service_plugins +\u003d plugin"}],"source_content_type":"text/x-ruby","patch_set":4,"id":"9a0c5dc1_32e85be2","line":216,"in_reply_to":"9a0c5dc1_51888d22","updated":"2015-05-13 07:53:03.000000000","message":"using concat instead of +\u003d in new patch.\nconcat is better performance than +\u003d","commit_id":"361c2f8f1b317e2ee7be05085a1489d09261a7d0"},{"author":{"_account_id":10486,"name":"Song Li","email":"lisongbj@cn.ibm.com","username":"sbookworm"},"change_message_id":"bcbf40fd45638c5528fda37b0381a0fe854a6e69","unresolved":false,"context_lines":[{"line_number":213,"context_line":"# Remove nil and repeated service plugins"},{"line_number":214,"context_line":"service_plugins_array.compact!"},{"line_number":215,"context_line":"service_plugins_array.uniq!"},{"line_number":216,"context_line":"service_plugins \u003d service_plugins_array.shift"},{"line_number":217,"context_line":"service_plugins_array.each do |plugin|"},{"line_number":218,"context_line":"  service_plugins +\u003d \u0027,\u0027"},{"line_number":219,"context_line":"  service_plugins +\u003d plugin"}],"source_content_type":"text/x-ruby","patch_set":4,"id":"9a0c5dc1_afa62bbf","line":216,"in_reply_to":"9a0c5dc1_51888d22","updated":"2015-05-13 01:54:36.000000000","message":"yes, I think  so. Thanks","commit_id":"361c2f8f1b317e2ee7be05085a1489d09261a7d0"},{"author":{"_account_id":7515,"name":"Jian LI","email":"ljianbj@cn.ibm.com","username":"leejian0612"},"change_message_id":"c65c6c54cf62e00bd9d07e2c6a9854064319228e","unresolved":false,"context_lines":[{"line_number":222,"context_line":"# Remove nil and repeated service providers"},{"line_number":223,"context_line":"service_provider_array.compact!"},{"line_number":224,"context_line":"service_provider_array.uniq!"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"template \u0027/etc/neutron/neutron.conf\u0027 do"},{"line_number":227,"context_line":"  source \u0027neutron.conf.erb\u0027"},{"line_number":228,"context_line":"  owner node[\u0027openstack\u0027][\u0027network\u0027][\u0027platform\u0027][\u0027user\u0027]"}],"source_content_type":"text/x-ruby","patch_set":5,"id":"9a0c5dc1_ede546a8","line":225,"updated":"2015-05-13 08:39:42.000000000","message":"I have a few questions on this patch.\n1.why add two additional parameters service_plugins_array service_provider_arry? I think we can use service_plugin and service_provider, which are arrays too, directly!\n2.Service plugins\u0027short name are supported, such as router vpnaas, fwaas, lbaas ,please consider it.\n3.Changing the default.rb like this may make some protential inconvenience, for example, if we set default vpn service_provider as openswan, and the user set it as strongswan in service_provider array, then both of them will be added in the configure file, but openswan and strongswan are compatible now, so the only way to implement this is to override the node[\u0027openstack\u0027][\u0027network\u0027][\u0027vpn\u0027][\u0027service_provider\u0027] as strongswan. So I think if we set default service_provider for advanced service, we should comment them to be clear.  \n\nI know add default value for service_plugin and service_provider is to make cookbook more easy to use, but I think this work is a little more complicated than we thought.","commit_id":"af474984f510aec21ab58290a9e5979e2d3ec5ac"},{"author":{"_account_id":10486,"name":"Song Li","email":"lisongbj@cn.ibm.com","username":"sbookworm"},"change_message_id":"7fdf10cdd209448c22b8391cab212e428550b07a","unresolved":false,"context_lines":[{"line_number":222,"context_line":"# Remove nil and repeated service providers"},{"line_number":223,"context_line":"service_provider_array.compact!"},{"line_number":224,"context_line":"service_provider_array.uniq!"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"template \u0027/etc/neutron/neutron.conf\u0027 do"},{"line_number":227,"context_line":"  source \u0027neutron.conf.erb\u0027"},{"line_number":228,"context_line":"  owner node[\u0027openstack\u0027][\u0027network\u0027][\u0027platform\u0027][\u0027user\u0027]"}],"source_content_type":"text/x-ruby","patch_set":5,"id":"9a0c5dc1_88659846","line":225,"in_reply_to":"9a0c5dc1_ede546a8","updated":"2015-05-13 08:59:57.000000000","message":"Thanks for the comments, that\u0027s valuable, I will submit a new patch to address the problems.","commit_id":"af474984f510aec21ab58290a9e5979e2d3ec5ac"}]}
