)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"13c55c27c674146e671f81ef6bcfa019c075a4d1","unresolved":false,"context_lines":[{"line_number":10,"context_line":"This is suspected to be the cause of the same ofport being assigned"},{"line_number":11,"context_line":"to multiple interfaces, which causes the bug referenced below."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch simply overrides the ovs_use_veth option to always set"},{"line_number":14,"context_line":"to True so it will be a small back-port if required."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1599329"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dada55a8_877f3565","line":13,"updated":"2016-07-20 10:56:43.000000000","message":"I appreciate concern about backports, but don\u0027t we effectively remove the option, just leaving some crust in the tree to clean up later?\n\nI think if we believe there is no valid setup using ovs_use_veth, we should be ok to clean it up completely, including for stable branches.\n\nThat said, why don\u0027t we start with enabling it by default and changing the wording for the option to stop suggesting it\u0027s only for old OSs?","commit_id":"6bd37fa1962324409864451cabd2d93b46d78581"}],"neutron/agent/linux/interface.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d906e0ed5826eb07a153e63a4a9fe27493bb2ca5","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def __init__(self, conf):"},{"line_number":297,"context_line":"        # Using taps is broken: see bug/1599329"},{"line_number":298,"context_line":"        conf.set_override(\u0027ovs_use_veth\u0027, True)"},{"line_number":299,"context_line":"        super(OVSInterfaceDriver, self).__init__(conf)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_1919fbd7","line":298,"updated":"2016-07-20 05:12:32.000000000","message":"this will break the vmware_nsx driver for the DHCP agent","commit_id":"1e71d18d5d13d4fd71d97c47bfc9bf8c688ac0e9"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"97a40b9b746616f10b2ab6887fe9d36cb34b52a2","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def __init__(self, conf):"},{"line_number":297,"context_line":"        # Using taps is broken: see bug/1599329"},{"line_number":298,"context_line":"        conf.set_override(\u0027ovs_use_veth\u0027, True)"},{"line_number":299,"context_line":"        super(OVSInterfaceDriver, self).__init__(conf)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_9ff82bc5","line":298,"in_reply_to":"dada55a8_1919fbd7","updated":"2016-07-20 06:17:22.000000000","message":"can you give some details about how nsx DHCP agent is setup? Is it running in a namespace like the Neutron ref impl? If so, it\u0027s subject to the same bug that this is fixing.","commit_id":"1e71d18d5d13d4fd71d97c47bfc9bf8c688ac0e9"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f3355e78c29c01d83bfdb13b5335030c475bcb09","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def __init__(self, conf):"},{"line_number":297,"context_line":"        # Using taps is broken: see bug/1599329"},{"line_number":298,"context_line":"        conf.set_override(\u0027ovs_use_veth\u0027, True)"},{"line_number":299,"context_line":"        super(OVSInterfaceDriver, self).__init__(conf)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_bfdd2fe2","line":298,"in_reply_to":"dada55a8_9ff82bc5","updated":"2016-07-20 06:34:42.000000000","message":"sorry my bad. \nIn our plugin we alsways do: iniset $Q_DHCP_CONF_FILE DEFAULT ovs_use_veth True\nI do not think that the above is a good way to go about things - I think that a LOG warning or error should be done here","commit_id":"1e71d18d5d13d4fd71d97c47bfc9bf8c688ac0e9"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"d80fd09690638b6a96a04975de49ad70e7f2f5ea","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                                        self.SWITCH_SIDE_PREFIX)"},{"line_number":337,"context_line":"        return dev_name"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    def plug(self, network_id, port_id, device_name, mac_address,"},{"line_number":340,"context_line":"             bridge\u003dNone, namespace\u003dNone, prefix\u003dNone, mtu\u003dNone):"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        # we need to get rid of any leftover tap-based interfaces"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_e7127056","line":339,"updated":"2016-07-20 10:57:38.000000000","message":"This cleanup code will need proper testing.","commit_id":"6bd37fa1962324409864451cabd2d93b46d78581"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"14d94d0912c39675deda88b8060ba48f6788a000","unresolved":false,"context_lines":[{"line_number":344,"context_line":"        tap_name \u003d self._get_tap_name(device_name, prefix)"},{"line_number":345,"context_line":"        if ip_lib.device_exists(tap_name, namespace\u003dnamespace):"},{"line_number":346,"context_line":"            try:"},{"line_number":347,"context_line":"                LOG.debug(\"Cleaning up leftover tap device %s\", tap_name)"},{"line_number":348,"context_line":"                br \u003d bridge or self.conf.ovs_integration_bridge"},{"line_number":349,"context_line":"                ovs_lib.OVSBridge(br).delete_port(tap_name)"},{"line_number":350,"context_line":"            except RuntimeError:"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_2c190e23","line":347,"range":{"start_line":347,"start_character":59,"end_line":347,"end_character":61},"updated":"2016-07-20 10:39:45.000000000","message":"Suggestion: Maybe namespace or network id would be also a useful information to have for debugging.","commit_id":"6bd37fa1962324409864451cabd2d93b46d78581"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"14d94d0912c39675deda88b8060ba48f6788a000","unresolved":false,"context_lines":[{"line_number":346,"context_line":"            try:"},{"line_number":347,"context_line":"                LOG.debug(\"Cleaning up leftover tap device %s\", tap_name)"},{"line_number":348,"context_line":"                br \u003d bridge or self.conf.ovs_integration_bridge"},{"line_number":349,"context_line":"                ovs_lib.OVSBridge(br).delete_port(tap_name)"},{"line_number":350,"context_line":"            except RuntimeError:"},{"line_number":351,"context_line":"                LOG.error(_LE(\"Failed unplugging tap \u0027%s\u0027\"),"},{"line_number":352,"context_line":"                          tap_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_0c8feacc","line":349,"range":{"start_line":349,"start_character":50,"end_line":349,"end_character":58},"updated":"2016-07-20 10:39:45.000000000","message":"Shouldn\u0027t this be device_name? Before veth was enforced - the \u0027tap1234\u0027 was plugged to bridge as internal port. If I understand it, you want to remove the original port. L334 will return \u0027ns-1234\u0027.","commit_id":"6bd37fa1962324409864451cabd2d93b46d78581"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0e7008fdad1af3492a21ccd2a8ead2d77b9304af","unresolved":false,"context_lines":[{"line_number":346,"context_line":"            try:"},{"line_number":347,"context_line":"                LOG.debug(\"Cleaning up leftover tap device %s\", tap_name)"},{"line_number":348,"context_line":"                br \u003d bridge or self.conf.ovs_integration_bridge"},{"line_number":349,"context_line":"                ovs_lib.OVSBridge(br).delete_port(tap_name)"},{"line_number":350,"context_line":"            except RuntimeError:"},{"line_number":351,"context_line":"                LOG.error(_LE(\"Failed unplugging tap \u0027%s\u0027\"),"},{"line_number":352,"context_line":"                          tap_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_e7155140","line":349,"range":{"start_line":349,"start_character":50,"end_line":349,"end_character":58},"in_reply_to":"dada55a8_0c8feacc","updated":"2016-07-20 10:40:29.000000000","message":"Correction: L335 returns \u0027ns-\u0027 prefix","commit_id":"6bd37fa1962324409864451cabd2d93b46d78581"}]}
