)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"dcf3e7582ffdcbc708d55847b116ee16b78a4510","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Isaac Beckman \u003cisaacb@il.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-26 09:38:18 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Multinode interfaces on singlenode n-net create once."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Create the ovs gre bridge to nowhere only if it is not already created."},{"line_number":10,"context_line":"Trying to create \"br_flat\" and \"br_pub\" interfaces if they are already"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa80f949_41f9dc4c","line":7,"updated":"2015-11-03 12:14:24.000000000","message":"First line of commit message should be limited to 50 characters and should not end in a period.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"0a5f1fdc0cb056302df77190beae871dcb8c0453"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"dcf3e7582ffdcbc708d55847b116ee16b78a4510","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Multinode interfaces on singlenode n-net create once."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Create the ovs gre bridge to nowhere only if it is not already created."},{"line_number":10,"context_line":"Trying to create \"br_flat\" and \"br_pub\" interfaces if they are already"},{"line_number":11,"context_line":"exist throw an error."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I17ad30b562ed378fcff4ec7c20ebdf53aa6aad2a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa80f949_e117b052","line":10,"updated":"2015-11-03 12:14:24.000000000","message":"some language corrections:\n1. remove \"are\" \n2. change throw to \"throws\" or \"will throw\"","commit_id":"0a5f1fdc0cb056302df77190beae871dcb8c0453"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"304bbfc0d595981644d058f6083509d67bbe414a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Isaac Beckman \u003cisaacb@il.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-11-09 10:26:22 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Multinode i-faces on singlenode n-net create once"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Create the ovs gre bridge to nowhere only if it is not already created."},{"line_number":10,"context_line":"Trying to create \"br_flat\" and \"br_pub\" interfaces if they already"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba8a016a_c7cec782","line":7,"updated":"2015-11-24 06:53:57.000000000","message":"This is a little cryptic. Can you try to be more descriptive?\n\n\"Only create multinode GRE bridge interfaces once\" ?","commit_id":"adb2501589751c69d5ba088281a56c13e3c8a73d"}],"functions.sh":[{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"dcf3e7582ffdcbc708d55847b116ee16b78a4510","unresolved":false,"context_lines":[{"line_number":974,"context_line":"    if [[ \"$set_ips\" \u003d\u003d \"True\" ]] ; then"},{"line_number":975,"context_line":"        echo \"Set bridge: ${bridge_name}\""},{"line_number":976,"context_line":"        sudo ip addr show dev ${bridge_name}"},{"line_number":977,"context_line":"        no_bridge\u003d$?"},{"line_number":978,"context_line":"        if [[ \"$no_bridge\" !\u003d \"0\" ]] ; then"},{"line_number":979,"context_line":"            sudo ip addr add ${pub_addr_prefix}.${offset}/${pub_addr_mask} \\"},{"line_number":980,"context_line":"                dev ${bridge_name}"}],"source_content_type":"text/x-sh","patch_set":1,"id":"fa80f949_617c2021","line":977,"updated":"2015-11-03 12:14:24.000000000","message":"please add a comment to explain that the bridge may exist in advance","commit_id":"0a5f1fdc0cb056302df77190beae871dcb8c0453"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"dcf3e7582ffdcbc708d55847b116ee16b78a4510","unresolved":false,"context_lines":[{"line_number":1008,"context_line":"            options:remote_ip\u003d${host_ip} \\"},{"line_number":1009,"context_line":"            options:key\u003d${offset} \\"},{"line_number":1010,"context_line":"            options:local_ip\u003d${node_ip}"},{"line_number":1011,"context_line":""},{"line_number":1012,"context_line":"        if [[ \"$set_ips\" \u003d\u003d \"True\" ]] ; then"},{"line_number":1013,"context_line":"            remote_command $node_ip sudo ip addr show dev ${bridge_name}"},{"line_number":1014,"context_line":"            remote_bridge_exists\u003d$?"}],"source_content_type":"text/x-sh","patch_set":1,"id":"fa80f949_41d8fc1d","line":1011,"updated":"2015-11-03 12:14:24.000000000","message":"remove empty line","commit_id":"0a5f1fdc0cb056302df77190beae871dcb8c0453"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"a99131b936a5090f49a28beb7a9c29d828aca561","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"    sudo ip link set mtu $mtu dev $bridge_name"},{"line_number":1019,"context_line":"    if [[ \"$set_ips\" \u003d\u003d \"True\" ]] ; then"},{"line_number":1020,"context_line":"        echo \"Set bridge: ${bridge_name}\""},{"line_number":1021,"context_line":"        sudo ip addr show dev ${bridge_name}"},{"line_number":1022,"context_line":"        no_bridge\u003d$?"},{"line_number":1023,"context_line":"        # The bridge may already exist on the node"},{"line_number":1024,"context_line":"        if [[ \"$no_bridge\" !\u003d \"0\" ]] ; then"}],"source_content_type":"text/x-sh","patch_set":4,"id":"9a8ffd7b_ab314ea4","line":1021,"range":{"start_line":1021,"start_character":8,"end_line":1021,"end_character":29},"updated":"2015-11-25 10:28:45.000000000","message":"You should rely on the fact that \"ip addr show dev\" will exit with \"1\" if the device doesn\u0027t exist. So you should do:\n\nif ! sudo ip addr show dev ${bridge_name}; then\n  sudo ip addr add ${pub_addr_prefix} [...]\nfi","commit_id":"42af1696a0cd26f7ead12e31ed2e95aa61e2c9bf"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"a99131b936a5090f49a28beb7a9c29d828aca561","unresolved":false,"context_lines":[{"line_number":1055,"context_line":"            options:key\u003d${offset} \\"},{"line_number":1056,"context_line":"            options:local_ip\u003d${node_ip}"},{"line_number":1057,"context_line":"        if [[ \"$set_ips\" \u003d\u003d \"True\" ]] ; then"},{"line_number":1058,"context_line":"            remote_command $node_ip sudo ip addr show dev ${bridge_name}"},{"line_number":1059,"context_line":"            remote_bridge_exists\u003d$?"},{"line_number":1060,"context_line":"            if [[ $remote_bridge_exists !\u003d 0 ]] ; then"},{"line_number":1061,"context_line":"                remote_command $node_ip sudo ip addr add \\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"9a8ffd7b_2be55e08","line":1058,"updated":"2015-11-25 10:28:45.000000000","message":"Same here.","commit_id":"42af1696a0cd26f7ead12e31ed2e95aa61e2c9bf"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"b5599d10ea6307f7a962068e355054b4c55481e4","unresolved":false,"context_lines":[{"line_number":1055,"context_line":"        if [[ \"$set_ips\" \u003d\u003d \"True\" ]] ; then"},{"line_number":1056,"context_line":"            if ! remote_command $node_ip sudo ip addr show dev ${bridge_name} | \\"},{"line_number":1057,"context_line":"                grep -q ${pub_addr_prefix}.${offset}/${pub_addr_mask} ; then"},{"line_number":1058,"context_line":"                    remote_command $node_ip sudo ip addr add \\"},{"line_number":1059,"context_line":"                        ${pub_addr_prefix}.${offset}/${pub_addr_mask} \\"},{"line_number":1060,"context_line":"                        dev ${bridge_name}"},{"line_number":1061,"context_line":"            fi"}],"source_content_type":"text/x-sh","patch_set":6,"id":"9a8ffd7b_c465451e","line":1058,"updated":"2015-11-26 17:34:36.000000000","message":"\u003ccommand\u003e || true would be simpler but also hides other possible errors.","commit_id":"26fbe8366830f7f3d2c88fc793065b378b3dfcd8"}]}
