)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"26983a58ff6239ef2d294dd0f906da934dc2f922","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE in cleanup_neutron where refer it."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I69d113a7f3f7e67b09cb72fa0b0d3bba188e783a"},{"line_number":12,"context_line":"Close-Bug: #1474634"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a50d1a3_f5f00fcb","line":9,"updated":"2015-07-23 04:49:07.000000000","message":"\"when we refer to it\"","commit_id":"49ed062315ca17ab526718f8bd84c4d923ab3be3"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"53f08862380743af06056338a0e6821c7d96491f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE in cleanup_neutron where refer it."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I69d113a7f3f7e67b09cb72fa0b0d3bba188e783a"},{"line_number":12,"context_line":"Close-Bug: #1474634"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa1b9901_a45bb2f5","line":9,"in_reply_to":"3a50d1a3_f5f00fcb","updated":"2015-08-25 00:58:58.000000000","message":"Done","commit_id":"49ed062315ca17ab526718f8bd84c4d923ab3be3"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"eb7875945da264de081b09733bf94c4cc0c69099","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE in cleanup_neutron where we refer to it."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I69d113a7f3f7e67b09cb72fa0b0d3bba188e783a"},{"line_number":12,"context_line":"Close-Bug: #1474634"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"fa1b9901_c9b561ed","line":9,"updated":"2015-08-26 02:56:48.000000000","message":"It would be better to describe here why OVS_PHYSICAL_BRIDGE can be empty (e.g. \"when not using OVS plugin, blah blah\") and then it will be clear why skipping all this is the correct thing to do.","commit_id":"d7b2cadc9cb89894b735be782eb532e2c3b7f3f8"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"5d7e48b6849e6304d741ddc021fe35f824d8538e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE in cleanup_neutron where we refer to it."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I69d113a7f3f7e67b09cb72fa0b0d3bba188e783a"},{"line_number":12,"context_line":"Close-Bug: #1474634"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da20952f_c962bdd8","line":9,"in_reply_to":"fa1b9901_c9b561ed","updated":"2015-08-27 07:39:35.000000000","message":"Done","commit_id":"d7b2cadc9cb89894b735be782eb532e2c3b7f3f8"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"d02ee30ef6647c74c5604eff5d012cd004f46f63","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"OVS_PHYSICAL_BRIDGE is not always be set, like when you don\u0027t need specify the"},{"line_number":10,"context_line":"bridge mapping, and also it has no default value. So we need add verification"},{"line_number":11,"context_line":"of OVS_PHYSICAL_BRIDGE in cleanup_neutron function where we refer to it."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"da20952f_640e653c","line":9,"updated":"2015-09-08 04:55:27.000000000","message":"s/be//","commit_id":"3823723268f2dad045362f25c87fff1c6c08c9b5"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"d02ee30ef6647c74c5604eff5d012cd004f46f63","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add verification of OVS_PHYSICAL_BRIDGE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"OVS_PHYSICAL_BRIDGE is not always be set, like when you don\u0027t need specify the"},{"line_number":10,"context_line":"bridge mapping, and also it has no default value. So we need add verification"},{"line_number":11,"context_line":"of OVS_PHYSICAL_BRIDGE in cleanup_neutron function where we refer to it."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I69d113a7f3f7e67b09cb72fa0b0d3bba188e783a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"da20952f_c412d160","line":10,"updated":"2015-09-08 04:55:27.000000000","message":"s/need/need to/","commit_id":"3823723268f2dad045362f25c87fff1c6c08c9b5"}],"lib/neutron-legacy":[{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"7ab53b471777e7109a14cef468069d1abfb923d3","unresolved":false,"context_lines":[{"line_number":822,"context_line":"# cleanup_neutron() - Remove residual data files, anything left over from previous"},{"line_number":823,"context_line":"# runs that a clean run would need to clean up"},{"line_number":824,"context_line":"function cleanup_neutron {"},{"line_number":825,"context_line":"    if [[ ! -z $OVS_PHYSICAL_BRIDGE \u0026\u0026 $(ip -f inet a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"},{"line_number":826,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":827,"context_line":"    fi"},{"line_number":828,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"9a41bdd9_442a77dc","line":825,"updated":"2015-07-15 16:56:38.000000000","message":"Why don\u0027t you use \"-n\"?","commit_id":"366d6ea7bbfdae3cb9bedd8154fd5d0cda6d62d1"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"96408a013a94385be1e63b4d42be2a4809c1f597","unresolved":false,"context_lines":[{"line_number":822,"context_line":"# cleanup_neutron() - Remove residual data files, anything left over from previous"},{"line_number":823,"context_line":"# runs that a clean run would need to clean up"},{"line_number":824,"context_line":"function cleanup_neutron {"},{"line_number":825,"context_line":"    if [[ ! -z $OVS_PHYSICAL_BRIDGE \u0026\u0026 $(ip -f inet a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"},{"line_number":826,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":827,"context_line":"    fi"},{"line_number":828,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"9a41bdd9_67d3eb60","line":825,"in_reply_to":"9a41bdd9_442a77dc","updated":"2015-07-16 00:38:26.000000000","message":"Done","commit_id":"366d6ea7bbfdae3cb9bedd8154fd5d0cda6d62d1"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"7ab53b471777e7109a14cef468069d1abfb923d3","unresolved":false,"context_lines":[{"line_number":826,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":827,"context_line":"    fi"},{"line_number":828,"context_line":""},{"line_number":829,"context_line":"    if [[ ! -z $OVS_PHYSICAL_BRIDGE \u0026\u0026 $(ip -f inet6 a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"},{"line_number":830,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet6\""},{"line_number":831,"context_line":"    fi"},{"line_number":832,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"9a41bdd9_8482bfc6","line":829,"updated":"2015-07-15 16:56:38.000000000","message":"ditto","commit_id":"366d6ea7bbfdae3cb9bedd8154fd5d0cda6d62d1"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"96408a013a94385be1e63b4d42be2a4809c1f597","unresolved":false,"context_lines":[{"line_number":826,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":827,"context_line":"    fi"},{"line_number":828,"context_line":""},{"line_number":829,"context_line":"    if [[ ! -z $OVS_PHYSICAL_BRIDGE \u0026\u0026 $(ip -f inet6 a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"},{"line_number":830,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet6\""},{"line_number":831,"context_line":"    fi"},{"line_number":832,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"9a41bdd9_87d62f4d","line":829,"in_reply_to":"9a41bdd9_8482bfc6","updated":"2015-07-16 00:38:26.000000000","message":"Done","commit_id":"366d6ea7bbfdae3cb9bedd8154fd5d0cda6d62d1"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"b6241cd60ea5aee6e86774f9d6be403880a616d0","unresolved":false,"context_lines":[{"line_number":822,"context_line":"# cleanup_neutron() - Remove residual data files, anything left over from previous"},{"line_number":823,"context_line":"# runs that a clean run would need to clean up"},{"line_number":824,"context_line":"function cleanup_neutron {"},{"line_number":825,"context_line":"    if [[ -n \"$OVS_PHYSICAL_BRIDGE\" \u0026\u0026 $(ip -f inet a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"},{"line_number":826,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":827,"context_line":"    fi"},{"line_number":828,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"9a41bdd9_0263e342","line":825,"updated":"2015-07-16 07:56:21.000000000","message":"OVS_PHYSICAL_BRIDGE is created only in case is_provider_network is true [1]. So what about wrapping L825-839 in\n\n    if is_provider_network; then\n        ...\n    fi\n?\n\n[1] https://github.com/openstack-dev/devstack/blob/master/lib/neutron-legacy#L717","commit_id":"2457bcce0462230bf27b3053891ba5ed1b6e5962"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"0a74737f747ba25a6fbf08ee3903231757d16992","unresolved":false,"context_lines":[{"line_number":822,"context_line":"# cleanup_neutron() - Remove residual data files, anything left over from previous"},{"line_number":823,"context_line":"# runs that a clean run would need to clean up"},{"line_number":824,"context_line":"function cleanup_neutron {"},{"line_number":825,"context_line":"    if [[ -n \"$OVS_PHYSICAL_BRIDGE\" \u0026\u0026 $(ip -f inet a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"},{"line_number":826,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":827,"context_line":"    fi"},{"line_number":828,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"9a41bdd9_dfc03c7f","line":825,"in_reply_to":"9a41bdd9_0263e342","updated":"2015-07-17 02:40:45.000000000","message":"Done","commit_id":"2457bcce0462230bf27b3053891ba5ed1b6e5962"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"f328d37c231cf6ee017164505b1e8e83361a9c54","unresolved":false,"context_lines":[{"line_number":823,"context_line":"# runs that a clean run would need to clean up"},{"line_number":824,"context_line":"function cleanup_neutron {"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"    if [[ -n \"$OVS_PHYSICAL_BRIDGE\" \u0026\u0026 $(ip -f inet a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"},{"line_number":827,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":828,"context_line":"    fi"},{"line_number":829,"context_line":""},{"line_number":830,"context_line":"    if [[ -n \"$OVS_PHYSICAL_BRIDGE\" \u0026\u0026 $(ip -f inet6 a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"},{"line_number":831,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet6\""},{"line_number":832,"context_line":"    fi"},{"line_number":833,"context_line":""},{"line_number":834,"context_line":"    if is_provider_network \u0026\u0026 is_ironic_hardware; then"},{"line_number":835,"context_line":"        for IP in $(ip addr show dev $OVS_PHYSICAL_BRIDGE | grep \u0027 inet \u0027 | awk \u0027{print $2}\u0027); do"},{"line_number":836,"context_line":"            sudo ip addr del $IP dev $OVS_PHYSICAL_BRIDGE"},{"line_number":837,"context_line":"            sudo ip addr add $IP dev $PUBLIC_INTERFACE"},{"line_number":838,"context_line":"        done"},{"line_number":839,"context_line":"        sudo route del -net $FIXED_RANGE gw $NETWORK_GATEWAY dev $OVS_PHYSICAL_BRIDGE"},{"line_number":840,"context_line":"    fi"},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"    if is_neutron_ovs_base_plugin; then"},{"line_number":843,"context_line":"        neutron_ovs_base_cleanup"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"3a50d1a3_617ea51a","line":840,"range":{"start_line":826,"start_character":2,"end_line":840,"end_character":6},"updated":"2015-07-22 15:18:13.000000000","message":"shouldn\u0027t *all* of this be wrapped in if [[ -n \"$OVS_PHYSICAL_BRIDGE\" ]];\n\nseems like we should do it once for the whole block.","commit_id":"75e491af1c3a04f6792eaa47d7270ee1069cd8a3"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"971fb31551d1d8070aa9ecf9c3d9d0ca4b617e80","unresolved":false,"context_lines":[{"line_number":837,"context_line":"            sudo ip addr add $IP dev $PUBLIC_INTERFACE"},{"line_number":838,"context_line":"        done"},{"line_number":839,"context_line":"        sudo route del -net $FIXED_RANGE gw $NETWORK_GATEWAY dev $OVS_PHYSICAL_BRIDGE"},{"line_number":840,"context_line":"    fi"},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"    if is_neutron_ovs_base_plugin; then"},{"line_number":843,"context_line":"        neutron_ovs_base_cleanup"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"3a50d1a3_79f5e3ea","line":840,"in_reply_to":"3a50d1a3_617ea51a","updated":"2015-07-23 01:05:03.000000000","message":"Thanks Sean, I thought is_provider_network has included the verification of OVS_PHYSICAL_BRIDGE.\n\nBut I can wrapped them all to make it look better.","commit_id":"75e491af1c3a04f6792eaa47d7270ee1069cd8a3"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"eb7875945da264de081b09733bf94c4cc0c69099","unresolved":false,"context_lines":[{"line_number":843,"context_line":"# runs that a clean run would need to clean up"},{"line_number":844,"context_line":"function cleanup_neutron {"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    if [[ -n \"$OVS_PHYSICAL_BRIDGE\" ]];then"},{"line_number":847,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        if [[ $(ip -f inet6 a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"fa1b9901_4914f1e7","line":846,"updated":"2015-08-26 02:56:48.000000000","message":"nit \"; then\"","commit_id":"d7b2cadc9cb89894b735be782eb532e2c3b7f3f8"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"5d7e48b6849e6304d741ddc021fe35f824d8538e","unresolved":false,"context_lines":[{"line_number":843,"context_line":"# runs that a clean run would need to clean up"},{"line_number":844,"context_line":"function cleanup_neutron {"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    if [[ -n \"$OVS_PHYSICAL_BRIDGE\" ]];then"},{"line_number":847,"context_line":"        _move_neutron_addresses_route \"$OVS_PHYSICAL_BRIDGE\" \"$PUBLIC_INTERFACE\" False \"inet\""},{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        if [[ $(ip -f inet6 a s dev \"$OVS_PHYSICAL_BRIDGE\" | grep -c \u0027global\u0027) !\u003d 0 ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"da20952f_2966d9ed","line":846,"in_reply_to":"fa1b9901_4914f1e7","updated":"2015-08-27 07:39:35.000000000","message":"Done","commit_id":"d7b2cadc9cb89894b735be782eb532e2c3b7f3f8"}]}
