)]}'
{"neutron/agent/linux/ethertype_filter.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c616b5885679a93c93b4ba000f7001fc1e75bf6d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        self.setup_ethertype_default_drop()"},{"line_number":75,"context_line":"        # Permit the whitelisted ethertypes"},{"line_number":76,"context_line":"        for whitelisted_ethertype in ethertype_whitelist:"},{"line_number":77,"context_line":"            self.add_ethertype_permit(whitelisted_ethertype)"},{"line_number":78,"context_line":"        # Allow custom ethertypes"},{"line_number":79,"context_line":"        for permitted_ethertype in self.permitted_ethertypes:"},{"line_number":80,"context_line":"            if not is_valid_ethertype(permitted_ethertype):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_6733baf7","line":77,"updated":"2019-07-12 17:50:30.000000000","message":"The only problem with this is running \u0027ebtables -A...\u0027 multiple times inserts multiple rules.  This is why the iptables_manager code is so complicated.  At least it should be easy enough to check if it\u0027s there.","commit_id":"91942126e1bb65429fc97b4cd004fdde796a002a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b9d337e8e8205b255483b273e7740cfb65447291","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        self.setup_ethertype_default_drop()"},{"line_number":75,"context_line":"        # Permit the whitelisted ethertypes"},{"line_number":76,"context_line":"        for whitelisted_ethertype in ethertype_whitelist:"},{"line_number":77,"context_line":"            self.add_ethertype_permit(whitelisted_ethertype)"},{"line_number":78,"context_line":"        # Allow custom ethertypes"},{"line_number":79,"context_line":"        for permitted_ethertype in self.permitted_ethertypes:"},{"line_number":80,"context_line":"            if not is_valid_ethertype(permitted_ethertype):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_752cab01","line":77,"in_reply_to":"7faddb67_35963340","updated":"2019-07-15 20:16:36.000000000","message":"I think checking first is fine.  Just trying to protect against the list getting longer whenever someone restarts the agent as it will be noticed :(","commit_id":"91942126e1bb65429fc97b4cd004fdde796a002a"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"68bcc36618d0505f97ba995af55c810c9d1c12fa","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        self.setup_ethertype_default_drop()"},{"line_number":75,"context_line":"        # Permit the whitelisted ethertypes"},{"line_number":76,"context_line":"        for whitelisted_ethertype in ethertype_whitelist:"},{"line_number":77,"context_line":"            self.add_ethertype_permit(whitelisted_ethertype)"},{"line_number":78,"context_line":"        # Allow custom ethertypes"},{"line_number":79,"context_line":"        for permitted_ethertype in self.permitted_ethertypes:"},{"line_number":80,"context_line":"            if not is_valid_ethertype(permitted_ethertype):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_35963340","line":77,"in_reply_to":"7faddb67_6733baf7","updated":"2019-07-15 20:10:40.000000000","message":"I am imagining that this would be done once per bridge, at bridge setup time, and even with one rule per ethertype it would not be a lot of rules.  I can definitely change this to check if the rule is there first, but ssuming my above thoughts are correct do you think there\u0027s very much performance impact to doing it this way?","commit_id":"91942126e1bb65429fc97b4cd004fdde796a002a"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f6af09021408dbe02ff3869a43e8f5ba3084f0b8","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    retry\u003dtenacity.retry_if_exception(lambda e: e.returncode \u003d\u003d 255),"},{"line_number":37,"context_line":"    reraise\u003dTrue"},{"line_number":38,"context_line":")"},{"line_number":39,"context_line":"def ebtables(comm, table\u003d\u0027filter\u0027):"},{"line_number":40,"context_line":"    execute \u003d ip_lib.IPWrapper(NAMESPACE).netns.execute"},{"line_number":41,"context_line":"    return execute([\u0027ebtables\u0027, \u0027-t\u0027, table, \u0027--concurrent\u0027] + comm,"},{"line_number":42,"context_line":"                   run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_bf75d933","line":39,"updated":"2019-07-19 16:50:04.000000000","message":"Need to add capability for this method to detect if the line already exists and not perform the addition if it does.","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"98f8971e0012f848d0adb20c3be8df87b4db0726","unresolved":false,"context_lines":[{"line_number":42,"context_line":"def ebtables(comm, table\u003d\u0027filter\u0027):"},{"line_number":43,"context_line":"    execute \u003d ip_lib.IPWrapper(NAMESPACE).netns.execute"},{"line_number":44,"context_line":"    command \u003d [\"ebtables\", \"-t\", table, \"--concurrent\"] + comm"},{"line_number":45,"context_line":"    return execute(command, run_as_root\u003dTrue)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"class EthertypeFilter(object):"}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_4b7180a7","line":45,"updated":"2019-07-20 01:44:28.000000000","message":"So does this deal with not adding duplicates?","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"267ac9fe9e993d96e427d4533f99f55432ecdb72","unresolved":false,"context_lines":[{"line_number":42,"context_line":"def ebtables(comm, table\u003d\u0027filter\u0027):"},{"line_number":43,"context_line":"    execute \u003d ip_lib.IPWrapper(NAMESPACE).netns.execute"},{"line_number":44,"context_line":"    command \u003d [\"ebtables\", \"-t\", table, \"--concurrent\"] + comm"},{"line_number":45,"context_line":"    return execute(command, run_as_root\u003dTrue)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"class EthertypeFilter(object):"}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_4d671b27","line":45,"in_reply_to":"7faddb67_4b7180a7","updated":"2019-07-24 21:44:46.000000000","message":"No, that\u0027s still in the todo list.  I have code to do that in the next PS.","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"}],"neutron/objects/common_types.py":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f6af09021408dbe02ff3869a43e8f5ba3084f0b8","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"class ExtendedEtherTypeEnumField(RangeConstrainedInteger):"},{"line_number":179,"context_line":"    \"\"\"IP network (CIDR) prefix length custom Enum\"\"\""},{"line_number":180,"context_line":"    def __init__(self, **kwargs):"},{"line_number":181,"context_line":"        super(ExtendedEtherTypeEnumField, self).__init__("},{"line_number":182,"context_line":"              start\u003dconstants.ETHERTYPE_MIN, end\u003dconstants.ETHERTYPE_MAX,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_1ff74d8d","line":179,"updated":"2019-07-19 16:50:04.000000000","message":"Fix comment","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b3d7a2cc6077288c2f9b531ea7f5a2df2b1faa26","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"class ExtendedEtherTypeEnumField(RangeConstrainedInteger):"},{"line_number":179,"context_line":"    \"\"\"IP network (CIDR) prefix length custom Enum\"\"\""},{"line_number":180,"context_line":"    def __init__(self, **kwargs):"},{"line_number":181,"context_line":"        super(ExtendedEtherTypeEnumField, self).__init__("},{"line_number":182,"context_line":"              start\u003dconstants.ETHERTYPE_MIN, end\u003dconstants.ETHERTYPE_MAX,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_05413aa9","line":179,"in_reply_to":"7faddb67_1ff74d8d","updated":"2019-07-19 19:37:55.000000000","message":"Done","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"}],"neutron/tests/fullstack/agents/test_custom_ethertypes.py":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f6af09021408dbe02ff3869a43e8f5ba3084f0b8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        # Create a security group with the specified ethertype permitted"},{"line_number":125,"context_line":"        pass"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def test_ethertype_unfilter_enabled(self):"},{"line_number":128,"context_line":"        ethertype \u003d \u00270x4008\u0027"},{"line_number":129,"context_line":"        security_group \u003d self._create_ethertype_sg(ethertype)"},{"line_number":130,"context_line":"        sender_vm \u003d self._create_vm()"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_449df807","line":127,"updated":"2019-07-19 16:50:04.000000000","message":"This fullstack test is not being executed.  Discover why...","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"98f8971e0012f848d0adb20c3be8df87b4db0726","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def wait_for_ethertype_packet(sender_vm, receiver_vm, ethertype):"},{"line_number":39,"context_line":"    payload \u003d (\"ddd102000100000057891400a9fe200400000000fa163ea3558b0000000000\""},{"line_number":40,"context_line":"               \"0000000200000000000100000003000000200220051010\")"},{"line_number":41,"context_line":"    cmd \u003d ["},{"line_number":42,"context_line":"        \"tcpdump\", \"-i\", receiver_vm.port.name, \"-nlt\","},{"line_number":43,"context_line":"        \"src\", sender_vm.ip, \u0027and\u0027, \u0027dst\u0027, receiver_vm.ip]"}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_4b58a02f","line":40,"updated":"2019-07-20 01:44:28.000000000","message":"Would be good to have a comment as to what this is, so no one mistakes it for some NSA-derived secret sauce :)","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"267ac9fe9e993d96e427d4533f99f55432ecdb72","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def wait_for_ethertype_packet(sender_vm, receiver_vm, ethertype):"},{"line_number":39,"context_line":"    payload \u003d (\"ddd102000100000057891400a9fe200400000000fa163ea3558b0000000000\""},{"line_number":40,"context_line":"               \"0000000200000000000100000003000000200220051010\")"},{"line_number":41,"context_line":"    cmd \u003d ["},{"line_number":42,"context_line":"        \"tcpdump\", \"-i\", receiver_vm.port.name, \"-nlt\","},{"line_number":43,"context_line":"        \"src\", sender_vm.ip, \u0027and\u0027, \u0027dst\u0027, receiver_vm.ip]"}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_921d32bf","line":40,"in_reply_to":"7faddb67_4b58a02f","updated":"2019-07-24 21:44:46.000000000","message":"Removed because we don\u0027t really need to have an InfiniBand-compatible protocol header here.","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"41ed1160429280087c44fd6693e648a86dda5cbf","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                                \u0027dst\u0027: receiver_vm.ip})"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class TestEthertypeFilter(object):"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def setUp(self):"},{"line_number":89,"context_line":"        cfg.CONF.set_override(\u0027sg_filter_ethertypes\u0027, True)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_76af002a","line":86,"range":{"start_line":86,"start_character":26,"end_line":86,"end_character":32},"updated":"2019-07-30 09:36:29.000000000","message":"Your test class should inherit from https://github.com/openstack/neutron/blob/master/neutron/tests/fullstack/base.py#L42 which inherits from other base classes.\n\nOnly classes which inherits from https://github.com/openstack/oslotest/blob/master/oslotest/base.py#L35 and thus from testtools.TestCase can be run as test cases :)","commit_id":"5f4352458f3f096c96f60ecc008b36486ee8f11b"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"6013776ca313089c7fd0751675d975fd612bbc84","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                                \u0027dst\u0027: receiver_vm.ip})"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class TestEthertypeFilter(object):"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def setUp(self):"},{"line_number":89,"context_line":"        cfg.CONF.set_override(\u0027sg_filter_ethertypes\u0027, True)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_42322ff4","line":86,"range":{"start_line":86,"start_character":26,"end_line":86,"end_character":32},"in_reply_to":"7faddb67_76af002a","updated":"2019-07-30 21:42:05.000000000","message":"Done","commit_id":"5f4352458f3f096c96f60ecc008b36486ee8f11b"}],"neutron/tests/fullstack/test_qos.py":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f6af09021408dbe02ff3869a43e8f5ba3084f0b8","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            agent_down_time\u003d10,"},{"line_number":67,"context_line":"            qos\u003dTrue)"},{"line_number":68,"context_line":"        env \u003d environment.Environment(env_desc, host_desc)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        super(BaseQoSRuleTestCase, self).setUp(env)"},{"line_number":71,"context_line":"        self.l2_agent_process \u003d self.environment.hosts[0].l2_agent"},{"line_number":72,"context_line":"        self.l2_agent \u003d self.safe_client.client.list_agents("}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_ffa4b1a7","line":69,"updated":"2019-07-19 16:50:04.000000000","message":"Spurious addition, delete.","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b3d7a2cc6077288c2f9b531ea7f5a2df2b1faa26","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            agent_down_time\u003d10,"},{"line_number":67,"context_line":"            qos\u003dTrue)"},{"line_number":68,"context_line":"        env \u003d environment.Environment(env_desc, host_desc)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        super(BaseQoSRuleTestCase, self).setUp(env)"},{"line_number":71,"context_line":"        self.l2_agent_process \u003d self.environment.hosts[0].l2_agent"},{"line_number":72,"context_line":"        self.l2_agent \u003d self.safe_client.client.list_agents("}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_8a0779ca","line":69,"in_reply_to":"7faddb67_ffa4b1a7","updated":"2019-07-19 19:37:55.000000000","message":"Done","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"}],"neutron/tests/unit/agent/linux/test_ethertype_filter.py":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f6af09021408dbe02ff3869a43e8f5ba3084f0b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7faddb67_1fc98d57","updated":"2019-07-19 16:50:04.000000000","message":"Delete this file when moving to use the validator from neutron-lib.","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b3d7a2cc6077288c2f9b531ea7f5a2df2b1faa26","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7faddb67_aa0a75ce","in_reply_to":"7faddb67_1fc98d57","updated":"2019-07-19 19:37:55.000000000","message":"Done","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"}],"releasenotes/notes/custom_ethertype-285d7c1c7a1a9cc1.yaml":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f6af09021408dbe02ff3869a43e8f5ba3084f0b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7faddb67_dfbe95ac","updated":"2019-07-19 16:50:04.000000000","message":"Fill this out, obviously.","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b3d7a2cc6077288c2f9b531ea7f5a2df2b1faa26","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7faddb67_85be8ad2","in_reply_to":"7faddb67_dfbe95ac","updated":"2019-07-19 19:37:55.000000000","message":"Done","commit_id":"5cba2ede67287ffd167166f5d661c29ba28602e8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"98f8971e0012f848d0adb20c3be8df87b4db0726","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A feature to lift the restriction on ethertype control in security groups"},{"line_number":5,"context_line":"    has been added.  Users may now permit any valid ethertype to their host, "},{"line_number":6,"context_line":"    not just IPv4 and IPv6.  When this feature is enabled by setting"},{"line_number":7,"context_line":"    sg_filter_ethertypes configuration option to True and the firewall driver is"},{"line_number":8,"context_line":"    iptables_hybrid, then any ethertypes other than IPv4, IPv6, and ARP will be"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_eb42ac3d","line":5,"updated":"2019-07-20 01:44:28.000000000","message":"nit: trailing space","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"267ac9fe9e993d96e427d4533f99f55432ecdb72","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A feature to lift the restriction on ethertype control in security groups"},{"line_number":5,"context_line":"    has been added.  Users may now permit any valid ethertype to their host, "},{"line_number":6,"context_line":"    not just IPv4 and IPv6.  When this feature is enabled by setting"},{"line_number":7,"context_line":"    sg_filter_ethertypes configuration option to True and the firewall driver is"},{"line_number":8,"context_line":"    iptables_hybrid, then any ethertypes other than IPv4, IPv6, and ARP will be"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_3350fd32","line":5,"in_reply_to":"7faddb67_eb42ac3d","updated":"2019-07-24 21:44:46.000000000","message":"Done","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"98f8971e0012f848d0adb20c3be8df87b4db0726","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    A feature to lift the restriction on ethertype control in security groups"},{"line_number":5,"context_line":"    has been added.  Users may now permit any valid ethertype to their host, "},{"line_number":6,"context_line":"    not just IPv4 and IPv6.  When this feature is enabled by setting"},{"line_number":7,"context_line":"    sg_filter_ethertypes configuration option to True and the firewall driver is"},{"line_number":8,"context_line":"    iptables_hybrid, then any ethertypes other than IPv4, IPv6, and ARP will be"},{"line_number":9,"context_line":"    dropped."},{"line_number":10,"context_line":"upgrade:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_6b78fc8e","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":24},"updated":"2019-07-20 01:44:28.000000000","message":"should be in `` ``, and there\u0027s probably others in the note too.","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"267ac9fe9e993d96e427d4533f99f55432ecdb72","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    A feature to lift the restriction on ethertype control in security groups"},{"line_number":5,"context_line":"    has been added.  Users may now permit any valid ethertype to their host, "},{"line_number":6,"context_line":"    not just IPv4 and IPv6.  When this feature is enabled by setting"},{"line_number":7,"context_line":"    sg_filter_ethertypes configuration option to True and the firewall driver is"},{"line_number":8,"context_line":"    iptables_hybrid, then any ethertypes other than IPv4, IPv6, and ARP will be"},{"line_number":9,"context_line":"    dropped."},{"line_number":10,"context_line":"upgrade:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_134b8187","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":24},"in_reply_to":"7faddb67_6b78fc8e","updated":"2019-07-24 21:44:46.000000000","message":"Done","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"98f8971e0012f848d0adb20c3be8df87b4db0726","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    A feature to lift the restriction on ethertype control in security groups"},{"line_number":25,"context_line":"    has been added.  Prior to this feature, if the iptables_hybrid firewall was"},{"line_number":26,"context_line":"    in use then non-IP ethertypes were never filtered."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_ab48345b","line":26,"updated":"2019-07-20 01:44:28.000000000","message":"So the only issue with using multiple sections is that they will all be split-up in the release notes and won\u0027t make much sense.  I think maybe two might work - deprecations for the old config, and maybe features?","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"6013776ca313089c7fd0751675d975fd612bbc84","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    A feature to lift the restriction on ethertype control in security groups"},{"line_number":25,"context_line":"    has been added.  Prior to this feature, if the iptables_hybrid firewall was"},{"line_number":26,"context_line":"    in use then non-IP ethertypes were never filtered."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_a239a3d7","line":26,"in_reply_to":"7faddb67_a00e91e2","updated":"2019-07-30 21:42:05.000000000","message":"Done","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"267ac9fe9e993d96e427d4533f99f55432ecdb72","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    A feature to lift the restriction on ethertype control in security groups"},{"line_number":25,"context_line":"    has been added.  Prior to this feature, if the iptables_hybrid firewall was"},{"line_number":26,"context_line":"    in use then non-IP ethertypes were never filtered."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_b35b8d52","line":26,"in_reply_to":"7faddb67_ab48345b","updated":"2019-07-24 21:44:46.000000000","message":"I disagree - even split up, I think the rationale for an upgrade section and a security section is strong, given the nature of the change.  I think that we should focus on making sure they stand on their own, but I feel strongly all are needed for a change of this kind.","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6869fd9caf54547c430f613174c69a86a727339d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    A feature to lift the restriction on ethertype control in security groups"},{"line_number":25,"context_line":"    has been added.  Prior to this feature, if the iptables_hybrid firewall was"},{"line_number":26,"context_line":"    in use then non-IP ethertypes were never filtered."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_a00e91e2","line":26,"in_reply_to":"7faddb67_b35b8d52","updated":"2019-07-30 15:15:22.000000000","message":"It was just something we mention in the README for release notes, but it does depend on what the output looks like, sometimes split-up and out-of-order there isn\u0027t enough context to know they relate to each other.\n\n* **Use one entry per section** (like \"feature\" or \"upgrade\").\n  All entries which belong to a same release will be merged and rendered,\n  so there is less meaning to use multiple entries by a single topic.","commit_id":"785bd279e6f9208f40a647ee6cc3d233ba4b45ab"}]}
