)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0ec9d7b41c82d793f5de09e2104b4a4001422b29","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Elliott Davis \u003celliott@excellent.io\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-11-27 12:49:19 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Closes Bug 1396908"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removed the route provider as an IP address is required."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a890539_85528866","line":7,"updated":"2014-11-28 10:26:46.000000000","message":"The exact syntax here would be:\n\nCloses-Bug: 1396908\n\nand that should be at the end of the message. The first line of the commit message is special and should contain a useful description of the patch. See e.g. https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"493b68580ee04d7680588773b55a7e7d0360726a"},{"author":{"_account_id":12588,"name":"Elliott Davis","email":"elliott@excellent.io","username":"elliott-davis"},"change_message_id":"e697bce8af66aa3a210f1320fb1efc236bb8f18e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Elliott Davis \u003celliott@excellent.io\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-11-27 12:49:19 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Closes Bug 1396908"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removed the route provider as an IP address is required."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a890539_3f30dc06","line":7,"in_reply_to":"5a890539_85528866","updated":"2014-12-01 20:36:41.000000000","message":"Done","commit_id":"493b68580ee04d7680588773b55a7e7d0360726a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0ec9d7b41c82d793f5de09e2104b4a4001422b29","unresolved":false,"context_lines":[{"line_number":11,"context_line":"As an alternative, I opted to use an execute and call ip link directly."},{"line_number":12,"context_line":"This should enable the interface before the execute to create the ovs-bridge."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Fixed lint error"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ia2978c44da66c145308dfccf4d99db91e207e917"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a890539_e5e0ac98","line":14,"updated":"2014-11-28 10:26:46.000000000","message":"You should not describe changes between patch sets.","commit_id":"493b68580ee04d7680588773b55a7e7d0360726a"},{"author":{"_account_id":12588,"name":"Elliott Davis","email":"elliott@excellent.io","username":"elliott-davis"},"change_message_id":"e697bce8af66aa3a210f1320fb1efc236bb8f18e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"As an alternative, I opted to use an execute and call ip link directly."},{"line_number":12,"context_line":"This should enable the interface before the execute to create the ovs-bridge."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Fixed lint error"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ia2978c44da66c145308dfccf4d99db91e207e917"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a890539_1f524035","line":14,"in_reply_to":"5a890539_e5e0ac98","updated":"2014-12-01 20:36:41.000000000","message":"Done","commit_id":"493b68580ee04d7680588773b55a7e7d0360726a"}],"recipes/l3_agent.rb":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"0ec9d7b41c82d793f5de09e2104b4a4001422b29","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  ext_bridge_iface \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge_interface\u0027]"},{"line_number":88,"context_line":"  execute \u0027enable external_network_bridge_interface\u0027 do"},{"line_number":89,"context_line":"    command \"ip link set #{ext_bridge_iface} up\""},{"line_number":90,"context_line":"    not_if \"ip link show #{ext_bridge_iface}\""},{"line_number":91,"context_line":"  end"},{"line_number":92,"context_line":"  execute \u0027create external network bridge\u0027 do"},{"line_number":93,"context_line":"    command \"ovs-vsctl add-br #{ext_bridge} \u0026\u0026 ovs-vsctl add-port #{ext_bridge} #{ext_bridge_iface}\""}],"source_content_type":"text/x-ruby","patch_set":2,"id":"5a890539_253554f7","line":90,"updated":"2014-11-28 10:26:46.000000000","message":"I don\u0027t think that this works, either. \"ip link show\" doesn\u0027t have a different return value for me that would indicate whether the link is up or down.\n\nYou could omit the not_if completely, as the \"ip link set ... up\" should be idempotent in itself.\n\nOne other possible issue: There may be distros that do not have the ip command installed at all, not sure whether we still need to care for that.","commit_id":"493b68580ee04d7680588773b55a7e7d0360726a"},{"author":{"_account_id":12588,"name":"Elliott Davis","email":"elliott@excellent.io","username":"elliott-davis"},"change_message_id":"e697bce8af66aa3a210f1320fb1efc236bb8f18e","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  ext_bridge_iface \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge_interface\u0027]"},{"line_number":88,"context_line":"  execute \u0027enable external_network_bridge_interface\u0027 do"},{"line_number":89,"context_line":"    command \"ip link set #{ext_bridge_iface} up\""},{"line_number":90,"context_line":"    not_if \"ip link show #{ext_bridge_iface}\""},{"line_number":91,"context_line":"  end"},{"line_number":92,"context_line":"  execute \u0027create external network bridge\u0027 do"},{"line_number":93,"context_line":"    command \"ovs-vsctl add-br #{ext_bridge} \u0026\u0026 ovs-vsctl add-port #{ext_bridge} #{ext_bridge_iface}\""}],"source_content_type":"text/x-ruby","patch_set":2,"id":"5a890539_5f4cc89d","line":90,"in_reply_to":"5a890539_253554f7","updated":"2014-12-01 20:36:41.000000000","message":"Done","commit_id":"493b68580ee04d7680588773b55a7e7d0360726a"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"21ad93e9ecdfe31879dc606294dbbe25e55e54c5","unresolved":false,"context_lines":[{"line_number":86,"context_line":"  ext_bridge \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge\u0027]"},{"line_number":87,"context_line":"  ext_bridge_iface \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge_interface\u0027]"},{"line_number":88,"context_line":"  execute \u0027enable external_network_bridge_interface\u0027 do"},{"line_number":89,"context_line":"    command \"ip link set #{ext_bridge_iface} up\""},{"line_number":90,"context_line":"  end"},{"line_number":91,"context_line":"  execute \u0027create external network bridge\u0027 do"},{"line_number":92,"context_line":"    command \"ovs-vsctl add-br #{ext_bridge} \u0026\u0026 ovs-vsctl add-port #{ext_bridge} #{ext_bridge_iface}\""}],"source_content_type":"text/x-ruby","patch_set":3,"id":"5a890539_d848c5b5","line":89,"updated":"2014-12-01 19:56:54.000000000","message":"should this be gated?\n\nnot_if \"ip link show #{ext_bridge_iface}\"","commit_id":"9fc8de278d33a0cd20c6f1b7002989c6e20deb28"},{"author":{"_account_id":12588,"name":"Elliott Davis","email":"elliott@excellent.io","username":"elliott-davis"},"change_message_id":"3c15b0adf57101ac1cc9bb919d6c740ba904c86a","unresolved":false,"context_lines":[{"line_number":86,"context_line":"  ext_bridge \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge\u0027]"},{"line_number":87,"context_line":"  ext_bridge_iface \u003d node[\u0027openstack\u0027][\u0027network\u0027][\u0027l3\u0027][\u0027external_network_bridge_interface\u0027]"},{"line_number":88,"context_line":"  execute \u0027enable external_network_bridge_interface\u0027 do"},{"line_number":89,"context_line":"    command \"ip link set #{ext_bridge_iface} up\""},{"line_number":90,"context_line":"  end"},{"line_number":91,"context_line":"  execute \u0027create external network bridge\u0027 do"},{"line_number":92,"context_line":"    command \"ovs-vsctl add-br #{ext_bridge} \u0026\u0026 ovs-vsctl add-port #{ext_bridge} #{ext_bridge_iface}\""}],"source_content_type":"text/x-ruby","patch_set":3,"id":"5a890539_1e295589","line":89,"in_reply_to":"5a890539_d848c5b5","updated":"2014-12-01 20:36:50.000000000","message":"Jens Rosenboom pointed out in patchset 2 that the gate was unnecessary.  ip link set #{ext_bridge_iface} up is idempotent on its own.  \n\nAlso, I believe to properly check if the interface was up you would have to:\n\nnot_if \"ip link show #{ext_bridge_iface} | grep DOWN\"","commit_id":"9fc8de278d33a0cd20c6f1b7002989c6e20deb28"}]}
