)]}'
{"recipes/l3_agent.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f764bb3250e34dd101db9b6674dc79242f643533","unresolved":false,"context_lines":[{"line_number":120,"context_line":"when \u0027OVSInterfaceDriver\u0027"},{"line_number":121,"context_line":"  ext_bridge \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge\u0027]"},{"line_number":122,"context_line":"  ext_bridge_iface \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge_interface\u0027]"},{"line_number":123,"context_line":"  unless ext_bridge.to_s.empty?"},{"line_number":124,"context_line":"    execute \u0027create external network bridge\u0027 do"},{"line_number":125,"context_line":"      command \"ovs-vsctl add-br #{ext_bridge}\""},{"line_number":126,"context_line":"      action :run"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"1a4dcd0f_4f1aa270","line":123,"updated":"2015-08-12 14:25:20.000000000","message":"Maybe add a comment to this attribute about that nil or empty string will be handled by skipping this step.","commit_id":"a76b850f8287c38450319fa697d011b0d3c04272"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"c41dbcc6865845f990daa828467579f4b0458ec7","unresolved":false,"context_lines":[{"line_number":120,"context_line":"when \u0027OVSInterfaceDriver\u0027"},{"line_number":121,"context_line":"  ext_bridge \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge\u0027]"},{"line_number":122,"context_line":"  ext_bridge_iface \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge_interface\u0027]"},{"line_number":123,"context_line":"  # When external_network_bridge is empty to support multiple external networks, creation for external bridge"},{"line_number":124,"context_line":"  # will not be handled by skipping this step."},{"line_number":125,"context_line":"  unless ext_bridge.to_s.empty?"},{"line_number":126,"context_line":"    execute \u0027create external network bridge\u0027 do"}],"source_content_type":"text/x-ruby","patch_set":4,"id":"1a4dcd0f_84f4cccf","line":123,"updated":"2015-08-13 16:58:54.000000000","message":"Move this into the attribute file just above the external_network_bridge attribute so folks can easily find it.\n\nMaybe reword:\n\n\"When external_network_bridge is empty or nil, creation of external bridge will be skipped in the recipe.\"","commit_id":"f3e891f0bc77bdc3e37e5f8e8b719ef2c842b88b"}],"spec/l3_agent_spec.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f764bb3250e34dd101db9b6674dc79242f643533","unresolved":false,"context_lines":[{"line_number":160,"context_line":"      let(:cmd) { \u0027ovs-vsctl add-br br-ex\u0027 }"},{"line_number":161,"context_line":"      let(:iplink) { \u0027ip link set eth1 up \u0026\u0026 ovs-vsctl add-port br-ex eth1\u0027 }"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"      it \"doesn\u0027t add the external bridge and disable external_network_bridge_interface if external_network_bridge is empty\""},{"line_number":164,"context_line":"        node.set[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge\u0027] \u003d \u0027\u0027"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        expect(chef_run).not_to run_execute(cmd)"}],"source_content_type":"text/x-ruby","patch_set":1,"id":"1a4dcd0f_0f001a00","line":163,"updated":"2015-08-12 14:25:20.000000000","message":"missing \"do\" here?\nuse single quotes?","commit_id":"a76b850f8287c38450319fa697d011b0d3c04272"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f764bb3250e34dd101db9b6674dc79242f643533","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        expect(chef_run).not_to run_execute(iplink)"},{"line_number":168,"context_line":"      end"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"      it \"doesn\u0027t add the external bridge if it already exists\" do"},{"line_number":171,"context_line":"        stub_command(/ovs-vsctl br-exists/).and_return(true)"},{"line_number":172,"context_line":"        stub_command(/ip link show eth1/).and_return(true)"},{"line_number":173,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":1,"id":"1a4dcd0f_2fa156f8","line":170,"updated":"2015-08-12 14:25:20.000000000","message":"single quotes","commit_id":"a76b850f8287c38450319fa697d011b0d3c04272"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"f764bb3250e34dd101db9b6674dc79242f643533","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        expect(chef_run).to run_execute(iplink)"},{"line_number":176,"context_line":"      end"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"      it \"disable external_network_bridge_interface if the physical interface doesn\u0027t exist\" do"},{"line_number":179,"context_line":"        stub_command(/ovs-vsctl br-exists/).and_return(false)"},{"line_number":180,"context_line":"        stub_command(/ip link show eth1/).and_return(false)"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":1,"id":"1a4dcd0f_8f698ac0","line":178,"updated":"2015-08-12 14:25:20.000000000","message":"single quotes","commit_id":"a76b850f8287c38450319fa697d011b0d3c04272"}]}
