)]}'
{"metadata.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"0f524a0b3f4df56eb5b98196a6b6cf33de9030c3","unresolved":false,"context_lines":[{"line_number":14,"context_line":"recipe \u0027openstack-network::vpn_agent\u0027, \u0027Installs packages required for Network VPN Agent\u0027"},{"line_number":15,"context_line":"recipe \u0027openstack-network::hyperv\u0027, \u0027Installs packages required for OpenStack Network Hyperv drivers\u0027"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"%w(ubuntu fedora redhat centos suse).each do |os|"},{"line_number":18,"context_line":"  supports os"},{"line_number":19,"context_line":"end"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":24,"id":"5a5ae5dd_c8b1cb02","line":17,"updated":"2016-02-05 17:38:04.000000000","message":"make consistent with Common, remove fedora and  suse","commit_id":"6583fab9c3d28de4824ffc4deb47169c53880765"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"213c08300566fd2f771a3c072274a212f3fc1dfc","unresolved":false,"context_lines":[{"line_number":14,"context_line":"recipe \u0027openstack-network::vpn_agent\u0027, \u0027Installs packages required for Network VPN Agent\u0027"},{"line_number":15,"context_line":"recipe \u0027openstack-network::hyperv\u0027, \u0027Installs packages required for OpenStack Network Hyperv drivers\u0027"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"%w(ubuntu fedora redhat centos suse).each do |os|"},{"line_number":18,"context_line":"  supports os"},{"line_number":19,"context_line":"end"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":24,"id":"5a5ae5dd_9a1f6bb6","line":17,"in_reply_to":"5a5ae5dd_c8b1cb02","updated":"2016-02-08 09:30:55.000000000","message":"Done","commit_id":"6583fab9c3d28de4824ffc4deb47169c53880765"}],"recipes/default.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5c6fd82c69e00abb6a8e0c2cba7cf5c58e41d1b3","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    node.default[\u0027openstack\u0027][\u0027network\u0027][\u0027plugins\u0027][\u0027ml2\u0027][\u0027filename\u0027] \u003d \u0027ml2_conf.ini\u0027"},{"line_number":173,"context_line":"  end"},{"line_number":174,"context_line":"  node.default[\u0027openstack\u0027][\u0027network\u0027][\u0027plugins\u0027][\u0027ml2\u0027][\u0027conf\u0027][\u0027ml2\u0027][\u0027mechanism_drivers\u0027] \u003d \u0027openvswitch\u0027"},{"line_number":175,"context_line":"end"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"node.default[\u0027openstack\u0027][\u0027network\u0027][\u0027core_plugin_config_file\u0027] \u003d"},{"line_number":178,"context_line":"  File.join("}],"source_content_type":"text/x-ruby","patch_set":12,"id":"9a68dd71_e78243c8","line":175,"updated":"2016-01-20 20:42:45.000000000","message":"I guess I would rather see this implemented as a either an else Error or a  case/when/else Error to make it clear we don\u0027t support anything but ML2 right now.","commit_id":"2b901d4ce8ddb9b1c7e111fddf94b09580de9571"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5c6fd82c69e00abb6a8e0c2cba7cf5c58e41d1b3","unresolved":false,"context_lines":[{"line_number":180,"context_line":"    node[\u0027openstack\u0027][\u0027network\u0027][\u0027plugins\u0027][core_plugin][\u0027filename\u0027]"},{"line_number":181,"context_line":"  )"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"if node[\u0027openstack\u0027][\u0027network\u0027][\u0027plugins\u0027][\u0027ml2\u0027][\u0027conf\u0027]"},{"line_number":184,"context_line":"       .[](\u0027ml2\u0027)[\u0027mechanism_drivers\u0027] \u003d\u003d \u0027openvswitch\u0027"},{"line_number":185,"context_line":"  include_recipe \u0027openstack-network::openvswitch\u0027"},{"line_number":186,"context_line":"end"}],"source_content_type":"text/x-ruby","patch_set":12,"id":"9a68dd71_c7d85ff2","line":183,"updated":"2016-01-20 20:42:45.000000000","message":"Sicne this is specific to ML2, would be better to see it when the ML2 case/when block.","commit_id":"2b901d4ce8ddb9b1c7e111fddf94b09580de9571"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5c6fd82c69e00abb6a8e0c2cba7cf5c58e41d1b3","unresolved":false,"context_lines":[{"line_number":181,"context_line":"  )"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"if node[\u0027openstack\u0027][\u0027network\u0027][\u0027plugins\u0027][\u0027ml2\u0027][\u0027conf\u0027]"},{"line_number":184,"context_line":"       .[](\u0027ml2\u0027)[\u0027mechanism_drivers\u0027] \u003d\u003d \u0027openvswitch\u0027"},{"line_number":185,"context_line":"  include_recipe \u0027openstack-network::openvswitch\u0027"},{"line_number":186,"context_line":"end"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":12,"id":"9a68dd71_47c1cfe3","line":184,"updated":"2016-01-20 20:42:45.000000000","message":"There can be more than one mechanism driver, this should probably be a loop.  My vote would be to put the recipe name right in the conf data, then this loop becomes a generic include loop for ANY mechanism drivers.","commit_id":"2b901d4ce8ddb9b1c7e111fddf94b09580de9571"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5c6fd82c69e00abb6a8e0c2cba7cf5c58e41d1b3","unresolved":false,"context_lines":[{"line_number":185,"context_line":"  include_recipe \u0027openstack-network::openvswitch\u0027"},{"line_number":186,"context_line":"end"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"node[\u0027openstack\u0027][\u0027network\u0027][\u0027plugins\u0027].each_value do |plugin|"},{"line_number":189,"context_line":"  directory plugin[\u0027path\u0027] do"},{"line_number":190,"context_line":"    recursive true"},{"line_number":191,"context_line":"    owner node[\u0027openstack\u0027][\u0027network\u0027][\u0027platform\u0027][\u0027user\u0027]"}],"source_content_type":"text/x-ruby","patch_set":12,"id":"9a68dd71_6781738f","line":188,"updated":"2016-01-20 20:42:45.000000000","message":"Does this need to be created before we include the plugin recipes above? \n\nAnd is this specific to ML2 plugins?  I think it is, so then should be moved into the ML2 case/when block.","commit_id":"2b901d4ce8ddb9b1c7e111fddf94b09580de9571"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"0f524a0b3f4df56eb5b98196a6b6cf33de9030c3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"#"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# this is needed for querying the tenant_uuid of admin below"},{"line_number":24,"context_line":"include_recipe \u0027openstack-identity::client\u0027"},{"line_number":25,"context_line":"include_recipe \u0027openstack-network::client\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"require \u0027uri\u0027"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"5a5ae5dd_68bf77aa","line":24,"updated":"2016-02-05 17:38:04.000000000","message":"I don\u0027t see this being used anywhere, is it still needed?","commit_id":"6583fab9c3d28de4824ffc4deb47169c53880765"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"213c08300566fd2f771a3c072274a212f3fc1dfc","unresolved":false,"context_lines":[{"line_number":21,"context_line":"#"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# this is needed for querying the tenant_uuid of admin below"},{"line_number":24,"context_line":"include_recipe \u0027openstack-identity::client\u0027"},{"line_number":25,"context_line":"include_recipe \u0027openstack-network::client\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"require \u0027uri\u0027"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"5a5ae5dd_da70830d","line":24,"in_reply_to":"5a5ae5dd_68bf77aa","updated":"2016-02-08 09:30:55.000000000","message":"Done","commit_id":"6583fab9c3d28de4824ffc4deb47169c53880765"}],"recipes/fwaas.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5c6fd82c69e00abb6a8e0c2cba7cf5c58e41d1b3","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#  mode 00640"},{"line_number":17,"context_line":"#  # Only restart vpn agent to avoid synchronization problem, when vpn agent is enabled."},{"line_number":18,"context_line":"#  if node[\u0027openstack\u0027][\u0027network\u0027][\u0027enable_vpn\u0027]"},{"line_number":19,"context_line":"#    notifies :restart, \u0027service[neutron-vpn-agent]\u0027, :delayed"},{"line_number":20,"context_line":"#  else"},{"line_number":21,"context_line":"#    notifies :restart, \u0027service[neutron-l3-agent]\u0027, :immediately"},{"line_number":22,"context_line":"#  end"}],"source_content_type":"text/x-ruby","patch_set":12,"id":"9a68dd71_c31a926e","line":19,"updated":"2016-01-20 20:42:45.000000000","message":"need to pull these services names from attributes?","commit_id":"2b901d4ce8ddb9b1c7e111fddf94b09580de9571"}],"recipes/l3_agent.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"0f524a0b3f4df56eb5b98196a6b6cf33de9030c3","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  end"},{"line_number":46,"context_line":"  action :run"},{"line_number":47,"context_line":"  only_if do"},{"line_number":48,"context_line":"    (node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027gateway_external_network_id\u0027].nil? \u0026\u0026"},{"line_number":49,"context_line":"     node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027gateway_external_network_name\u0027])"},{"line_number":50,"context_line":"  end"},{"line_number":51,"context_line":"end"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"5a5ae5dd_68ed37b6","side":"PARENT","line":48,"updated":"2016-02-05 17:38:04.000000000","message":"how is this being resolved now if the gateway_external_network_id is nil?   a query into neutron is the only way to get this right?","commit_id":"56c95b6ce3ad2f9fd2ff2882a05e03781f73b8ca"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"213c08300566fd2f771a3c072274a212f3fc1dfc","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  end"},{"line_number":46,"context_line":"  action :run"},{"line_number":47,"context_line":"  only_if do"},{"line_number":48,"context_line":"    (node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027gateway_external_network_id\u0027].nil? \u0026\u0026"},{"line_number":49,"context_line":"     node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027gateway_external_network_name\u0027])"},{"line_number":50,"context_line":"  end"},{"line_number":51,"context_line":"end"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"5a5ae5dd_85538c16","side":"PARENT","line":48,"in_reply_to":"5a5ae5dd_68ed37b6","updated":"2016-02-08 09:30:55.000000000","message":"You are right, but if one needs to set an external network, one can still use something similar to the method here in a wrapper cookbook and set it from there. Users might want to set different external networks on multiple nodes or even run multiple l3-agents with different networks on one node and use their own logic to figure out the proper ids. If we want to keep this method in our cookbooks, we should move it to separate recipe to allow the user to choose to use our logic or apply his own.","commit_id":"56c95b6ce3ad2f9fd2ff2882a05e03781f73b8ca"}],"recipes/linuxbridge.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5c6fd82c69e00abb6a8e0c2cba7cf5c58e41d1b3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Encoding: utf-8"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Cookbook Name:: openstack-network"},{"line_number":4,"context_line":"# Recipe:: linuxbridge"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"# Copyright 2013, AT\u0026T"},{"line_number":7,"context_line":"#"}],"source_content_type":"text/x-ruby","patch_set":12,"id":"9a68dd71_03ad0ae9","side":"PARENT","line":4,"updated":"2016-01-20 20:42:45.000000000","message":"OVS is king?  hand not heard that yet...","commit_id":"56c95b6ce3ad2f9fd2ff2882a05e03781f73b8ca"}],"recipes/ml2_linuxbridge.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"0f524a0b3f4df56eb5b98196a6b6cf33de9030c3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# limitations under the License."},{"line_number":19,"context_line":"#"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# TODO: (jklare) This recipe is a WIP one, since we probably want to support"},{"line_number":22,"context_line":"# ml2_linuxbridge, but are not testing it right now. It will install the needed"},{"line_number":23,"context_line":"# packages on debian and rhel/fedora, set the proper ml2 mechanism_drivers and"},{"line_number":24,"context_line":"# set the proper attributes to create an empty linuxbridge_conf.ini in the"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"5a5ae5dd_4875dbf7","line":21,"updated":"2016-02-05 17:38:04.000000000","message":"+1 on supporting linuxbridge, probably need to add a repo env test for this path.","commit_id":"6583fab9c3d28de4824ffc4deb47169c53880765"},{"author":{"_account_id":11915,"name":"Jan Klare","email":"klare@osism.tech","username":"jklare"},"change_message_id":"213c08300566fd2f771a3c072274a212f3fc1dfc","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# limitations under the License."},{"line_number":19,"context_line":"#"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# TODO: (jklare) This recipe is a WIP one, since we probably want to support"},{"line_number":22,"context_line":"# ml2_linuxbridge, but are not testing it right now. It will install the needed"},{"line_number":23,"context_line":"# packages on debian and rhel/fedora, set the proper ml2 mechanism_drivers and"},{"line_number":24,"context_line":"# set the proper attributes to create an empty linuxbridge_conf.ini in the"}],"source_content_type":"text/x-ruby","patch_set":24,"id":"5a5ae5dd_e56b60b5","line":21,"in_reply_to":"5a5ae5dd_4875dbf7","updated":"2016-02-08 09:30:55.000000000","message":"agreed, we would need a separate test for this one or a method to revert the ovs config and replace it in another chef run with the linuxbridge one","commit_id":"6583fab9c3d28de4824ffc4deb47169c53880765"}],"recipes/openvswitch.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5c6fd82c69e00abb6a8e0c2cba7cf5c58e41d1b3","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    supports status: true, restart: true"},{"line_number":82,"context_line":"    action :enable"},{"line_number":83,"context_line":"    subscribes :restart, \u0027template[/etc/neutron/neutron.conf]\u0027"},{"line_number":84,"context_line":"    if platform_family?(\u0027rhel\u0027)"},{"line_number":85,"context_line":"      subscribes :restart, \u0027template[/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini]\u0027"},{"line_number":86,"context_line":"    end"},{"line_number":87,"context_line":"  end"}],"source_content_type":"text/x-ruby","patch_set":12,"id":"9a68dd71_0370aa71","line":84,"updated":"2016-01-20 20:42:45.000000000","message":"case above also has fedora, need to be consistent here?  or a common wrapper specific to our platform use case?","commit_id":"2b901d4ce8ddb9b1c7e111fddf94b09580de9571"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5c6fd82c69e00abb6a8e0c2cba7cf5c58e41d1b3","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    action :enable"},{"line_number":83,"context_line":"    subscribes :restart, \u0027template[/etc/neutron/neutron.conf]\u0027"},{"line_number":84,"context_line":"    if platform_family?(\u0027rhel\u0027)"},{"line_number":85,"context_line":"      subscribes :restart, \u0027template[/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini]\u0027"},{"line_number":86,"context_line":"    end"},{"line_number":87,"context_line":"  end"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":12,"id":"9a68dd71_03cc2a88","line":85,"updated":"2016-01-20 20:42:45.000000000","message":"Where is this template created? \n\nAnd if we have the specific template name for debian, why not make this generic to have it restart in both cases, no if platform check needed?","commit_id":"2b901d4ce8ddb9b1c7e111fddf94b09580de9571"}]}
