)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"9b25b8a56b4112d9908c161dd8f2cf15de27e933","unresolved":false,"context_lines":[{"line_number":17,"context_line":"interfaces."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This adds support to full stack tests that need 3+ OVS agents."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I991af6a5f982746cc297f0248454f803dfbb2daf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_976ca809","line":20,"updated":"2015-06-22 16:34:36.000000000","message":"we better have a bug linked to the change","commit_id":"01c8682d465555ba7db3f9562980d493d24f7b7a"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"66abb31c367f31ab391f6973db61735a421bf94b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"interfaces."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This adds support to full stack tests that need 3+ OVS agents."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I991af6a5f982746cc297f0248454f803dfbb2daf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_4593c3fa","line":20,"in_reply_to":"fa32b979_976ca809","updated":"2015-06-22 18:32:49.000000000","message":"Done","commit_id":"01c8682d465555ba7db3f9562980d493d24f7b7a"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"7eead640772d34d6e65c7e0f8287f909e24fc360","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Mathieu Rohon \u003cmathieu.rohon@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-01-27 11:45:23 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Uniquely identify tunnel interfaces for fullstack tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"OVS agent tunnel interfaces are named via:"},{"line_number":10,"context_line":"\u0027%s-%s\u0027 % (tunnel_type, destination_ip)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"7a5de9d1_5274f0cd","line":7,"updated":"2016-01-28 20:14:36.000000000","message":"This patch would be self verifying if the test_connectivity tests created 3 hosts/vms instead of 2. I\u0027ll push a new patchset for this. Then when we add a test that actually requires 3 hosts and VMs we can revert the test_connectivity change.","commit_id":"fbbddb17ba8f0060284e8fdddf5dd8e5d072141c"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"315adb6578d0c1f04c6e5259d0330e3ec93c3d92","unresolved":false,"context_lines":[{"line_number":1458,"context_line":"        if not remote_ip_hex:"},{"line_number":1459,"context_line":"            return None"},{"line_number":1460,"context_line":"        source_ip_hex \u003d cls.get_ip_in_hex(local_ip)"},{"line_number":1461,"context_line":"        return \u0027%s-%s-%s\u0027 % (network_type, source_ip_hex, remote_ip_hex)"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"    def _agent_has_updates(self, polling_manager):"},{"line_number":1464,"context_line":"        return (polling_manager.is_polling_required or"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_2ba68553","line":1461,"updated":"2015-08-11 05:42:20.000000000","message":"with this convention a name will be ~23 chars long.\nit\u0027s longer then both of linux and openflow\u0027s interface name length limit.\nwhile i don\u0027t see any immediate problems with this long\nname, it\u0027s better to find a way to shorten the name.\nusing some hash function for example.\nfor longer term, we can switch to flow-based tunneling\nand eliminate remote-ip part.\ncf. https://github.com/openstack/networking-ofagent/commit/4ede11a4127a5c2cba65e87b6b23d498934d5fb7","commit_id":"a01abc5ce1f580a03e983bf533f0a4441b7c9495"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"997e22688db2cdce77b9d486028bc936dfc7b979","unresolved":false,"context_lines":[{"line_number":1458,"context_line":"        if not remote_ip_hex:"},{"line_number":1459,"context_line":"            return None"},{"line_number":1460,"context_line":"        source_ip_hex \u003d cls.get_ip_in_hex(local_ip)"},{"line_number":1461,"context_line":"        return \u0027%s-%s-%s\u0027 % (network_type, source_ip_hex, remote_ip_hex)"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"    def _agent_has_updates(self, polling_manager):"},{"line_number":1464,"context_line":"        return (polling_manager.is_polling_required or"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_5e0cdb3a","line":1461,"in_reply_to":"1a4dcd0f_2ba68553","updated":"2015-08-11 11:44:59.000000000","message":"I agree. I think I set one of the earlier PSs as WIP because I want to change this patch so that the name becomes:\n\n\u003chash of source IP\u003e-\u003chash of dest. IP\u003e","commit_id":"a01abc5ce1f580a03e983bf533f0a4441b7c9495"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"33100a2f2dfc9fc227d1b39520c9d3c612418296","unresolved":false,"context_lines":[{"line_number":1554,"context_line":"        return False"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"    @classmethod"},{"line_number":1557,"context_line":"    def get_tunnel_name(cls, network_type, local_ip, remote_ip):"},{"line_number":1558,"context_line":"        network_type \u003d network_type[:3]"},{"line_number":1559,"context_line":"        remote_ip_hex \u003d cls.get_ip_in_hex(remote_ip)"},{"line_number":1560,"context_line":"        if not remote_ip_hex:"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_8947894b","line":1557,"updated":"2015-09-10 21:16:47.000000000","message":"it implies to delete all old tunnels?","commit_id":"15ff28c9f1f9e5209420db4ba075efb2e7dec82d"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"6a2491b9a77e807cca32a70feb391df01cc32515","unresolved":false,"context_lines":[{"line_number":1554,"context_line":"        return False"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"    @classmethod"},{"line_number":1557,"context_line":"    def get_tunnel_name(cls, network_type, local_ip, remote_ip):"},{"line_number":1558,"context_line":"        network_type \u003d network_type[:3]"},{"line_number":1559,"context_line":"        remote_ip_hex \u003d cls.get_ip_in_hex(remote_ip)"},{"line_number":1560,"context_line":"        if not remote_ip_hex:"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba15a1d1_0856215c","line":1557,"in_reply_to":"da20952f_8947894b","updated":"2015-09-17 10:16:05.000000000","message":"with the recent change to try to preserve tunnel ports intact on reboot, this would imply that old tunnel ports\nwill be left.\nso probably an additional cleanup steps are necessary for an upgrade.  eg. remove all old-style ports.","commit_id":"15ff28c9f1f9e5209420db4ba075efb2e7dec82d"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"6436c4cb58aec5607c2eb97c00f98b53cab8fd3b","unresolved":false,"context_lines":[{"line_number":1613,"context_line":"        return failed_devices"},{"line_number":1614,"context_line":""},{"line_number":1615,"context_line":"    @classmethod"},{"line_number":1616,"context_line":"    def get_ip_in_hex(cls, ip_address):"},{"line_number":1617,"context_line":"        try:"},{"line_number":1618,"context_line":"            return \u0027%08x\u0027 % netaddr.IPAddress(ip_address, version\u003d4)"},{"line_number":1619,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":19,"id":"7a5de9d1_cf54a322","line":1616,"updated":"2016-01-29 07:06:02.000000000","message":"@staticmethod!\n\ntis the monkey-patcher\u0027s job to get a reference to that which is not needed in the original function. ;)","commit_id":"1a1ccb8c94ec86e74308632c039d037ee4f90711"}],"neutron/plugins/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"c16feedf25d12427aacc9e63e7045da8265c2134","unresolved":false,"context_lines":[{"line_number":1422,"context_line":"        remote_ip_hex \u003d cls.get_ip_in_hex(remote_ip)"},{"line_number":1423,"context_line":"        if not remote_ip_hex:"},{"line_number":1424,"context_line":"            return None"},{"line_number":1425,"context_line":"        source_ip_hex \u003d cls.get_ip_in_hex(local_ip)"},{"line_number":1426,"context_line":"        return \u0027%s-%s-%s\u0027 % (network_type, source_ip_hex, remote_ip_hex)"},{"line_number":1427,"context_line":""},{"line_number":1428,"context_line":"    def _agent_has_updates(self, polling_manager):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_c36d8bcd","line":1425,"updated":"2015-06-22 19:01:06.000000000","message":"Note that the tunnel names are longer now, which works fine on my system (openvswitch 2.3.1, F21). I can\u0027t speak for other OVS versions. I asked an OVS developer and he said that he doesn\u0027t recall any changes in this regard in recent versions.","commit_id":"9d047a2fcf9912a6736445cef448a907af6ac118"}],"neutron/tests/common/agents/ovs_agent.py":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"373d1dd0f92c5624af6f0f1f3bfd625fe229523a","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def get_tunnel_name_full(cls, network_type, local_ip, remote_ip):"},{"line_number":26,"context_line":"        network_type \u003d network_type[:3]"},{"line_number":27,"context_line":"        remote_ip_hex \u003d cls.get_ip_in_hex(remote_ip)"},{"line_number":28,"context_line":"        if not remote_ip_hex:"},{"line_number":29,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a5de9d1_3047fa4c","line":26,"updated":"2016-01-28 16:33:42.000000000","message":"I think the method\u0027s body is over-indented.","commit_id":"145af5ddb8926f9728cc91a231b669544f60bfae"},{"author":{"_account_id":2888,"name":"Mathieu Rohon","email":"mathieu.rohon@gmail.com","username":"mathieu-rohon"},"change_message_id":"07e0a9abf3fef84a36497d32f90748f54bd6a93d","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def get_tunnel_name_full(cls, network_type, local_ip, remote_ip):"},{"line_number":26,"context_line":"        network_type \u003d network_type[:3]"},{"line_number":27,"context_line":"        remote_ip_hex \u003d cls.get_ip_in_hex(remote_ip)"},{"line_number":28,"context_line":"        if not remote_ip_hex:"},{"line_number":29,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a5de9d1_16abd61e","line":26,"in_reply_to":"7a5de9d1_3047fa4c","updated":"2016-01-28 17:02:39.000000000","message":"Done","commit_id":"145af5ddb8926f9728cc91a231b669544f60bfae"}],"neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/test_ovs_neutron_agent.py":[{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"9a494046c9982a6adb12ad7a6821d4159693724e","unresolved":false,"context_lines":[{"line_number":2928,"context_line":"        self.assertEqual("},{"line_number":2929,"context_line":"            \u0027gre-7f000002\u0027,"},{"line_number":2930,"context_line":"            ovs_agent.OVSNeutronAgent.get_tunnel_name("},{"line_number":2931,"context_line":"                \u0027gre\u0027, \u0027127.0.0.1\u0027, \u0027127.0.0.2\u0027))"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a5de9d1_b1a8ccdc","line":2931,"updated":"2016-01-28 17:07:38.000000000","message":"I\u0027m not sure will \"geneve\" type should also be considered? Otherwise in https://review.openstack.org/#/c/193770/17/neutron/tests/common/agents/ovs_agent.py L32, no need to use \u0027// 2\u0027, only \u0027/ 2\u0027 is enough, for \u0027gre\u0027 or \u0027vxlan\u0027 type will always make (n_const.DEVICE_NAME_MAX_LEN - len(network_type) - 2) be even, not odd.","commit_id":"145af5ddb8926f9728cc91a231b669544f60bfae"}]}
