)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d41eeaaca46879f7c0166c39144dddd3212546ad","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"blueprint enable-sriov-nic-features"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Depends-On: Ie2e7a5a7a264f887673bd3855efde44da1324701"},{"line_number":16,"context_line":"Change-Id: Iebbe0a70f33db0c4b845bcf9a75b5636828938b7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1f1a1f67_fcf7598a","line":15,"updated":"2017-07-18 00:08:32.000000000","message":"This is in os-traits 0.3.2 but global-requirements in the openstack/requirements repo currently requires 0.3.1 as a minimum.","commit_id":"022cfe9f27377456258ba42beccc2f459fa08955"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ab7549102fb32a7dbb5bb8c3901f24b9ad164300","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"blueprint enable-sriov-nic-features"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Depends-On: Ie2e7a5a7a264f887673bd3855efde44da1324701"},{"line_number":16,"context_line":"Change-Id: Iebbe0a70f33db0c4b845bcf9a75b5636828938b7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1f1a1f67_223d9d2a","line":15,"in_reply_to":"1f1a1f67_fcf7598a","updated":"2017-07-18 11:17:18.000000000","message":"I\u0027m waiting for the update in openstack/requirements","commit_id":"022cfe9f27377456258ba42beccc2f459fa08955"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"352889618a371bffa1a8b91b98d9f429408d8fb0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Format NIC features using os-traits definitions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Filters and formats networking capability features read by"},{"line_number":10,"context_line":"libvirt from network interface. Only os_trais.hw.nic.* values"},{"line_number":11,"context_line":"are allowed."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"blueprint enable-sriov-nic-features"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ff82abbf_b8996620","line":10,"range":{"start_line":10,"start_character":37,"end_line":10,"end_character":45},"updated":"2017-11-20 14:01:17.000000000","message":"os_traits","commit_id":"a1183bacf1dfc91628af46ddd7813308bb12a88c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b7986fb7c2184c9d50b8daaf6a623c830b07852b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Format NIC features using os-traits definitions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Filters and formats networking capability features read by"},{"line_number":10,"context_line":"libvirt from network interface. Only os_trais.hw.nic.* values"},{"line_number":11,"context_line":"are allowed."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"blueprint enable-sriov-nic-features"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ff82abbf_32d8fc51","line":10,"range":{"start_line":10,"start_character":37,"end_line":10,"end_character":45},"in_reply_to":"ff82abbf_b8996620","updated":"2017-11-21 08:22:32.000000000","message":"Done","commit_id":"a1183bacf1dfc91628af46ddd7813308bb12a88c"}],"nova/tests/unit/virt/libvirt/test_config.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e4809e7c3306416722d449de8c1f306d4f46f078","unresolved":false,"context_lines":[{"line_number":2734,"context_line":"            \u003cinterface\u003eenp2s2\u003c/interface\u003e"},{"line_number":2735,"context_line":"            \u003caddress\u003e02:9a:a1:37:be:54\u003c/address\u003e"},{"line_number":2736,"context_line":"            \u003clink state\u003d\u0027down\u0027/\u003e"},{"line_number":2737,"context_line":"            \u003cfeature name\u003d\u0027HW_NIC_OFFLOAD_RX\u0027/\u003e"},{"line_number":2738,"context_line":"            \u003cfeature name\u003d\u0027HW_NIC_OFFLOAD_TX\u0027/\u003e"},{"line_number":2739,"context_line":"            \u003cfeature name\u003d\u0027HW_NIC_OFFLOAD_SG\u0027/\u003e"},{"line_number":2740,"context_line":"            \u003cfeature name\u003d\u0027HW_NIC_OFFLOAD_TSO\u0027/\u003e"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_662113a0","line":2737,"range":{"start_line":2737,"start_character":27,"end_line":2737,"end_character":44},"updated":"2017-07-12 14:05:53.000000000","message":"This is wrong. I need to refactor this patch.","commit_id":"5ec95a0b7c7eab8ce75063be82559ef308d716a7"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ae2e83ca109c2c1bdcafe08be4e979e506c42eab","unresolved":false,"context_lines":[{"line_number":2791,"context_line":"        self.assertEqual(obj.pci_capability.interface, \"enp2s2\")"},{"line_number":2792,"context_line":"        self.assertEqual(obj.pci_capability.address, \"02:9a:a1:37:be:54\")"},{"line_number":2793,"context_line":"        self.assertEqual(obj.pci_capability.link_state, \"down\")"},{"line_number":2794,"context_line":"        self.assertEqual(obj.pci_capability.features.sort(),"},{"line_number":2795,"context_line":"                         [ot_offload.RX, ot_offload.TX, ot_offload.SG,"},{"line_number":2796,"context_line":"                          ot_offload.TSO, ot_offload.GSO, ot_offload.GRO,"},{"line_number":2797,"context_line":"                          ot_offload.RXVLAN, ot_offload.TXVLAN].sort())"}],"source_content_type":"text/x-python","patch_set":9,"id":"7f287b81_e648f087","line":2794,"updated":"2017-08-28 10:27:14.000000000","message":"You\u0027re comparing None \u003d\u003d None here (because sort() is in place and returns nothing and type(\u003clist\u003e.sort() is None. You want sorted(\u003clist\u003e), sorted(\u003clist\u003e):","commit_id":"4dec8006531cdde621ee3a15f0f4119c42f20ffb"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e10e830c38b7b3d74b7e2314bced2b43468e6a18","unresolved":false,"context_lines":[{"line_number":2791,"context_line":"        self.assertEqual(obj.pci_capability.interface, \"enp2s2\")"},{"line_number":2792,"context_line":"        self.assertEqual(obj.pci_capability.address, \"02:9a:a1:37:be:54\")"},{"line_number":2793,"context_line":"        self.assertEqual(obj.pci_capability.link_state, \"down\")"},{"line_number":2794,"context_line":"        self.assertEqual(obj.pci_capability.features.sort(),"},{"line_number":2795,"context_line":"                         [ot_offload.RX, ot_offload.TX, ot_offload.SG,"},{"line_number":2796,"context_line":"                          ot_offload.TSO, ot_offload.GSO, ot_offload.GRO,"},{"line_number":2797,"context_line":"                          ot_offload.RXVLAN, ot_offload.TXVLAN].sort())"}],"source_content_type":"text/x-python","patch_set":9,"id":"7f287b81_a1b0928b","line":2794,"in_reply_to":"7f287b81_e648f087","updated":"2017-08-28 11:11:12.000000000","message":"Ufff big mistake. You are right.\n\nThanks!","commit_id":"4dec8006531cdde621ee3a15f0f4119c42f20ffb"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ae2e83ca109c2c1bdcafe08be4e979e506c42eab","unresolved":false,"context_lines":[{"line_number":12876,"context_line":"                                 \"rxvlan\", \"txvlan\"]"},{"line_number":12877,"context_line":"            }"},{"line_number":12878,"context_line":"            self.assertEqual(expect_vf[\"name\"], actualvf[\"name\"])"},{"line_number":12879,"context_line":"            self.assertEqual(expect_vf[\"capabilities\"].sort(),"},{"line_number":12880,"context_line":"                             actualvf[\"capabilities\"].sort())"},{"line_number":12881,"context_line":"            mock_get_net_name.called_once_with(parent_address)"},{"line_number":12882,"context_line":"            mock_dev_lookup.called_once_with(dev_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7f287b81_c6617407","line":12879,"updated":"2017-08-28 10:27:14.000000000","message":"same thing here","commit_id":"4dec8006531cdde621ee3a15f0f4119c42f20ffb"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ae2e83ca109c2c1bdcafe08be4e979e506c42eab","unresolved":false,"context_lines":[{"line_number":12943,"context_line":"                                           \u0027HW_NIC_OFFLOAD_TX\u0027,"},{"line_number":12944,"context_line":"                                           \u0027HW_NIC_OFFLOAD_TXVLAN\u0027])},"},{"line_number":12945,"context_line":"                }"},{"line_number":12946,"context_line":"                actualvf[\"capabilities\"][\"network\"].sort()"},{"line_number":12947,"context_line":"                self.assertEqual(expect_vf, actualvf)"},{"line_number":12948,"context_line":""},{"line_number":12949,"context_line":"            with mock.patch.object("}],"source_content_type":"text/x-python","patch_set":9,"id":"7f287b81_a65e6841","line":12946,"updated":"2017-08-28 10:27:14.000000000","message":"here is right because it\u0027s in-place","commit_id":"4dec8006531cdde621ee3a15f0f4119c42f20ffb"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"7d7c1783cdd3a122abc94ebdbfb7a11cc373db34","unresolved":false,"context_lines":[{"line_number":12976,"context_line":"                    \"dev_type\": fields.PciDeviceType.SRIOV_VF,"},{"line_number":12977,"context_line":"                    \"parent_addr\": \u00270000:04:00.3\u0027,"},{"line_number":12978,"context_line":"                    \"capabilities\": {"},{"line_number":12979,"context_line":"                        \"network\": sorted([\u0027HW_NIC_OFFLOAD_GRO\u0027,"},{"line_number":12980,"context_line":"                                           \u0027HW_NIC_OFFLOAD_GSO\u0027,"},{"line_number":12981,"context_line":"                                           \u0027HW_NIC_OFFLOAD_RX\u0027,"},{"line_number":12982,"context_line":"                                           \u0027HW_NIC_OFFLOAD_RXVLAN\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f515b1d_1801596c","line":12979,"range":{"start_line":12979,"start_character":35,"end_line":12979,"end_character":41},"updated":"2017-09-26 08:53:23.000000000","message":"remove this","commit_id":"d09d374a80204991de55f1687f6814c4980c9d4b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"177aec73a722bc839bc31f62a3eab1f5eabf49ee","unresolved":false,"context_lines":[{"line_number":12976,"context_line":"                    \"dev_type\": fields.PciDeviceType.SRIOV_VF,"},{"line_number":12977,"context_line":"                    \"parent_addr\": \u00270000:04:00.3\u0027,"},{"line_number":12978,"context_line":"                    \"capabilities\": {"},{"line_number":12979,"context_line":"                        \"network\": sorted([\u0027HW_NIC_OFFLOAD_GRO\u0027,"},{"line_number":12980,"context_line":"                                           \u0027HW_NIC_OFFLOAD_GSO\u0027,"},{"line_number":12981,"context_line":"                                           \u0027HW_NIC_OFFLOAD_RX\u0027,"},{"line_number":12982,"context_line":"                                           \u0027HW_NIC_OFFLOAD_RXVLAN\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f515b1d_f870bdde","line":12979,"range":{"start_line":12979,"start_character":35,"end_line":12979,"end_character":41},"in_reply_to":"7f515b1d_1801596c","updated":"2017-09-26 09:01:28.000000000","message":"Why? If the string list is already ordered is just a concident. We need capabilities:network list sorted.","commit_id":"d09d374a80204991de55f1687f6814c4980c9d4b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6061a7d61cac54b0f04a3c62e499b6a4fda4b5dc","unresolved":false,"context_lines":[{"line_number":12976,"context_line":"                    \"dev_type\": fields.PciDeviceType.SRIOV_VF,"},{"line_number":12977,"context_line":"                    \"parent_addr\": \u00270000:04:00.3\u0027,"},{"line_number":12978,"context_line":"                    \"capabilities\": {"},{"line_number":12979,"context_line":"                        \"network\": sorted([\u0027HW_NIC_OFFLOAD_GRO\u0027,"},{"line_number":12980,"context_line":"                                           \u0027HW_NIC_OFFLOAD_GSO\u0027,"},{"line_number":12981,"context_line":"                                           \u0027HW_NIC_OFFLOAD_RX\u0027,"},{"line_number":12982,"context_line":"                                           \u0027HW_NIC_OFFLOAD_RXVLAN\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f515b1d_fb2b172d","line":12979,"range":{"start_line":12979,"start_character":35,"end_line":12979,"end_character":41},"in_reply_to":"7f515b1d_9b6423e6","updated":"2017-09-26 09:17:43.000000000","message":"\u003e Why it can be coincident when you hard-coded it already?\nBecause I didn\u0027t pay attention to it. I just added the function to be sure the list was sorted.\n\nI\u0027ll keep it there. If any modification is done to the string list, the function will keep the order. It\u0027s also a remainder for future developers.","commit_id":"d09d374a80204991de55f1687f6814c4980c9d4b"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"728555b5f9aecc1d8ab98dae4b0c24144b621f11","unresolved":false,"context_lines":[{"line_number":12976,"context_line":"                    \"dev_type\": fields.PciDeviceType.SRIOV_VF,"},{"line_number":12977,"context_line":"                    \"parent_addr\": \u00270000:04:00.3\u0027,"},{"line_number":12978,"context_line":"                    \"capabilities\": {"},{"line_number":12979,"context_line":"                        \"network\": sorted([\u0027HW_NIC_OFFLOAD_GRO\u0027,"},{"line_number":12980,"context_line":"                                           \u0027HW_NIC_OFFLOAD_GSO\u0027,"},{"line_number":12981,"context_line":"                                           \u0027HW_NIC_OFFLOAD_RX\u0027,"},{"line_number":12982,"context_line":"                                           \u0027HW_NIC_OFFLOAD_RXVLAN\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f515b1d_9b6423e6","line":12979,"range":{"start_line":12979,"start_character":35,"end_line":12979,"end_character":41},"in_reply_to":"7f515b1d_f870bdde","updated":"2017-09-26 09:11:23.000000000","message":"Why it can be coincident when you hard-coded it already?\nIt should be sorted already. Therefore, don\u0027t need to call a redundant sorted. If you want, you can add a comment for it.","commit_id":"d09d374a80204991de55f1687f6814c4980c9d4b"}],"nova/virt/libvirt/config.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f6d631dd388ad74dd6f8703d09af339d4fec75db","unresolved":false,"context_lines":[{"line_number":2418,"context_line":"    def _check_feature_traits(self):"},{"line_number":2419,"context_line":"        # NOTE(ralonsoh): this function could be replaced by"},{"line_number":2420,"context_line":"        # \u0027os_traits.hw.nic.find_trait\u0027 if"},{"line_number":2421,"context_line":"        # https://review.openstack.org/#/c/483451/ is merged."},{"line_number":2422,"context_line":"        nic_traits \u003d os_traits.get_traits(prefix\u003d\"HW_NIC_OFFLOAD\")"},{"line_number":2423,"context_line":"        nic_traits \u003d {trait.split(\"_\")[-1]: trait for trait in nic_traits}"},{"line_number":2424,"context_line":"        trait_features \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f4e5783_1fc98877","line":2421,"range":{"start_line":2421,"start_character":10,"end_line":2421,"end_character":50},"updated":"2017-10-10 16:05:52.000000000","message":"That happened.  Is it in a release yet?","commit_id":"d09d374a80204991de55f1687f6814c4980c9d4b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3643768ad624f0c54263efe877d8df580c1ef1e5","unresolved":false,"context_lines":[{"line_number":2418,"context_line":"    def _check_feature_traits(self):"},{"line_number":2419,"context_line":"        # NOTE(ralonsoh): this function could be replaced by"},{"line_number":2420,"context_line":"        # \u0027os_traits.hw.nic.find_trait\u0027 if"},{"line_number":2421,"context_line":"        # https://review.openstack.org/#/c/483451/ is merged."},{"line_number":2422,"context_line":"        nic_traits \u003d os_traits.get_traits(prefix\u003d\"HW_NIC_OFFLOAD\")"},{"line_number":2423,"context_line":"        nic_traits \u003d {trait.split(\"_\")[-1]: trait for trait in nic_traits}"},{"line_number":2424,"context_line":"        trait_features \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f4b6375_e06a17eb","line":2421,"range":{"start_line":2421,"start_character":10,"end_line":2421,"end_character":50},"in_reply_to":"5f4e5783_1fc98877","updated":"2017-10-24 08:39:47.000000000","message":"No, it should be in 3.4 or 4.0. Although the patch is merged, it\u0027s not released yet.","commit_id":"d09d374a80204991de55f1687f6814c4980c9d4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"352889618a371bffa1a8b91b98d9f429408d8fb0","unresolved":false,"context_lines":[{"line_number":2417,"context_line":"    def _check_feature_traits(self):"},{"line_number":2418,"context_line":"        # NOTE(ralonsoh): this function could be replaced by"},{"line_number":2419,"context_line":"        # \u0027os_traits.hw.nic.find_trait\u0027 if"},{"line_number":2420,"context_line":"        # https://review.openstack.org/#/c/483451/ is merged."},{"line_number":2421,"context_line":"        nic_traits \u003d os_traits.get_traits(prefix\u003d\"HW_NIC_OFFLOAD\")"},{"line_number":2422,"context_line":"        nic_traits \u003d {trait.split(\"_\")[-1]: trait for trait in nic_traits}"},{"line_number":2423,"context_line":"        trait_features \u003d []"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff82abbf_d806aa21","line":2420,"range":{"start_line":2420,"start_character":10,"end_line":2420,"end_character":61},"updated":"2017-11-20 14:01:17.000000000","message":"nit: this is now merged, so I guess we want to wait for 0.3.4","commit_id":"a1183bacf1dfc91628af46ddd7813308bb12a88c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b7986fb7c2184c9d50b8daaf6a623c830b07852b","unresolved":false,"context_lines":[{"line_number":2417,"context_line":"    def _check_feature_traits(self):"},{"line_number":2418,"context_line":"        # NOTE(ralonsoh): this function could be replaced by"},{"line_number":2419,"context_line":"        # \u0027os_traits.hw.nic.find_trait\u0027 if"},{"line_number":2420,"context_line":"        # https://review.openstack.org/#/c/483451/ is merged."},{"line_number":2421,"context_line":"        nic_traits \u003d os_traits.get_traits(prefix\u003d\"HW_NIC_OFFLOAD\")"},{"line_number":2422,"context_line":"        nic_traits \u003d {trait.split(\"_\")[-1]: trait for trait in nic_traits}"},{"line_number":2423,"context_line":"        trait_features \u003d []"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff82abbf_d2aaf083","line":2420,"range":{"start_line":2420,"start_character":10,"end_line":2420,"end_character":61},"in_reply_to":"ff82abbf_938ec325","updated":"2017-11-21 08:22:32.000000000","message":"I\u0027ve been trying to finish this feature (bp/enable-sriov-nic-features) almost one year. If anyone wants to redo this function, is free to do it.","commit_id":"a1183bacf1dfc91628af46ddd7813308bb12a88c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d1146e714734aafae1ed40fb5c84c19370d7e62b","unresolved":false,"context_lines":[{"line_number":2417,"context_line":"    def _check_feature_traits(self):"},{"line_number":2418,"context_line":"        # NOTE(ralonsoh): this function could be replaced by"},{"line_number":2419,"context_line":"        # \u0027os_traits.hw.nic.find_trait\u0027 if"},{"line_number":2420,"context_line":"        # https://review.openstack.org/#/c/483451/ is merged."},{"line_number":2421,"context_line":"        nic_traits \u003d os_traits.get_traits(prefix\u003d\"HW_NIC_OFFLOAD\")"},{"line_number":2422,"context_line":"        nic_traits \u003d {trait.split(\"_\")[-1]: trait for trait in nic_traits}"},{"line_number":2423,"context_line":"        trait_features \u003d []"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff82abbf_938ec325","line":2420,"range":{"start_line":2420,"start_character":10,"end_line":2420,"end_character":61},"in_reply_to":"ff82abbf_d806aa21","updated":"2017-11-20 14:20:03.000000000","message":"Honestly, I don\u0027t like to see Gerrit links in notes. You should rather provide a FIXME() or TODO() saying that we will modify that once os_traits supports how.nic.fine_trait","commit_id":"a1183bacf1dfc91628af46ddd7813308bb12a88c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"352889618a371bffa1a8b91b98d9f429408d8fb0","unresolved":false,"context_lines":[{"line_number":2453,"context_line":"            elif c.tag \u003d\u003d \"link\":"},{"line_number":2454,"context_line":"                self.link_state \u003d c.get(\u0027state\u0027)"},{"line_number":2455,"context_line":"            elif c.tag \u003d\u003d \"feature\":"},{"line_number":2456,"context_line":"                self.features.append(c.get(\u0027name\u0027).upper())"},{"line_number":2457,"context_line":"            elif c.tag \u003d\u003d \"capability\" and c.get(\u0027type\u0027) in \\"},{"line_number":2458,"context_line":"                            (\u0027virt_functions\u0027, \u0027phys_function\u0027):"},{"line_number":2459,"context_line":"                funcap \u003d LibvirtConfigNodeDevicePciSubFunctionCap()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff82abbf_1312b359","line":2456,"range":{"start_line":2456,"start_character":50,"end_line":2456,"end_character":58},"updated":"2017-11-20 14:01:17.000000000","message":"nit: I\u0027d personally have put this into the list comprehension in _check_feature_traits","commit_id":"a1183bacf1dfc91628af46ddd7813308bb12a88c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b7986fb7c2184c9d50b8daaf6a623c830b07852b","unresolved":false,"context_lines":[{"line_number":2453,"context_line":"            elif c.tag \u003d\u003d \"link\":"},{"line_number":2454,"context_line":"                self.link_state \u003d c.get(\u0027state\u0027)"},{"line_number":2455,"context_line":"            elif c.tag \u003d\u003d \"feature\":"},{"line_number":2456,"context_line":"                self.features.append(c.get(\u0027name\u0027).upper())"},{"line_number":2457,"context_line":"            elif c.tag \u003d\u003d \"capability\" and c.get(\u0027type\u0027) in \\"},{"line_number":2458,"context_line":"                            (\u0027virt_functions\u0027, \u0027phys_function\u0027):"},{"line_number":2459,"context_line":"                funcap \u003d LibvirtConfigNodeDevicePciSubFunctionCap()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ff82abbf_328f9c2b","line":2456,"range":{"start_line":2456,"start_character":50,"end_line":2456,"end_character":58},"in_reply_to":"ff82abbf_1312b359","updated":"2017-11-21 08:22:32.000000000","message":"Done","commit_id":"a1183bacf1dfc91628af46ddd7813308bb12a88c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4f9a04c6870cf84b3aac85df9463f4c6ca4ee9e8","unresolved":false,"context_lines":[{"line_number":2416,"context_line":""},{"line_number":2417,"context_line":"    def _check_feature_traits(self):"},{"line_number":2418,"context_line":"        # TODO(ralonsh): Replace this function with os_traits.get_traits once"},{"line_number":2419,"context_line":"        # it supports the suffix option (os_traits 0.3.4)"},{"line_number":2420,"context_line":"        nic_traits \u003d os_traits.get_traits(prefix\u003d\"HW_NIC_OFFLOAD\")"},{"line_number":2421,"context_line":"        nic_traits \u003d {trait.split(\"_\")[-1]: trait for trait in nic_traits}"},{"line_number":2422,"context_line":"        trait_features \u003d []"}],"source_content_type":"text/x-python","patch_set":15,"id":"ff82abbf_12d12ace","line":2419,"updated":"2017-11-21 16:35:41.000000000","message":"FWIW, we now have a os-traits-0.4.0 that supports that option :-)\nhttps://pypi.python.org/pypi/os-traits/0.4.0","commit_id":"fab1525195f0b823b9ca12746530f5bfb86fb3c2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"329420b14d45f04b577d77f3a52fdf6c00e90b53","unresolved":false,"context_lines":[{"line_number":2519,"context_line":"        for feature in (feat.upper() for feat in self.features):"},{"line_number":2520,"context_line":"            req_traits \u003d os_traits.get_traits(prefix\u003d\"HW_NIC_OFFLOAD\","},{"line_number":2521,"context_line":"                                              suffix\u003dfeature)"},{"line_number":2522,"context_line":"            if req_traits:"},{"line_number":2523,"context_line":"                trait_features.append(req_traits[0])"},{"line_number":2524,"context_line":"        self.features \u003d sorted(trait_features)"},{"line_number":2525,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"bf659307_bde803b3","line":2522,"updated":"2018-04-11 04:38:25.000000000","message":"do we want to log a warning when we ignore a bogus feature?","commit_id":"05032eca8de155d7a1d22b0cc20824c89e50c8d0"}],"requirements.txt":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4c0010cc9f6026c0b7d1ee2131861b66e82dc5a1","unresolved":false,"context_lines":[{"line_number":53,"context_line":"psutil\u003e\u003d3.2.2 # BSD"},{"line_number":54,"context_line":"oslo.versionedobjects\u003e\u003d1.17.0 # Apache-2.0"},{"line_number":55,"context_line":"os-brick!\u003d1.14.0,\u003e\u003d1.13.1 # Apache-2.0"},{"line_number":56,"context_line":"os-traits\u003e\u003d0.3.2 # Apache-2.0"},{"line_number":57,"context_line":"os-vif\u003e\u003d1.6.0 # Apache-2.0"},{"line_number":58,"context_line":"os-win\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":59,"context_line":"castellan\u003e\u003d0.7.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":5,"id":"1f1a1f67_f0e5d939","line":56,"updated":"2017-07-12 13:22:30.000000000","message":"I think this same change needs to be proposed to global-requirements.txt first?","commit_id":"5ec95a0b7c7eab8ce75063be82559ef308d716a7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f4812b5d44c9d85988d36fc8fe288251fad8e5ce","unresolved":false,"context_lines":[{"line_number":53,"context_line":"psutil\u003e\u003d3.2.2 # BSD"},{"line_number":54,"context_line":"oslo.versionedobjects\u003e\u003d1.17.0 # Apache-2.0"},{"line_number":55,"context_line":"os-brick!\u003d1.14.0,\u003e\u003d1.13.1 # Apache-2.0"},{"line_number":56,"context_line":"os-traits\u003e\u003d0.3.2 # Apache-2.0"},{"line_number":57,"context_line":"os-vif\u003e\u003d1.6.0 # Apache-2.0"},{"line_number":58,"context_line":"os-win\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":59,"context_line":"castellan\u003e\u003d0.7.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":5,"id":"1f1a1f67_ab193489","line":56,"in_reply_to":"1f1a1f67_f0e5d939","updated":"2017-07-12 14:03:59.000000000","message":"Yes, I did that: https://review.openstack.org/#/c/480989/\n\nI\u0027ll try to recheck this patch a bit later.\n\nThanks for the heads up.","commit_id":"5ec95a0b7c7eab8ce75063be82559ef308d716a7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e7883e75bf2a2a86562b95da1f692e2fc4b9465a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"psutil\u003e\u003d3.2.2 # BSD"},{"line_number":54,"context_line":"oslo.versionedobjects\u003e\u003d1.28.0 # Apache-2.0"},{"line_number":55,"context_line":"os-brick\u003e\u003d1.15.2 # Apache-2.0"},{"line_number":56,"context_line":"os-traits\u003e\u003d0.4.0 # Apache-2.0"},{"line_number":57,"context_line":"os-vif\u003e\u003d1.7.0 # Apache-2.0"},{"line_number":58,"context_line":"os-win\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":59,"context_line":"castellan\u003e\u003d0.14.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":17,"id":"ff82abbf_0e6565e1","line":56,"updated":"2017-11-22 14:17:51.000000000","message":"Just remove that and I\u0027ll provide a +2 with -W so once we merge the above by a separate change, I\u0027ll remove it the -W","commit_id":"84ae46ab0c45b55ddfa39eddc6751ddaeb2b7838"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8f35ff08bc76edc9699a8f220ec6b23c1b0e6e42","unresolved":false,"context_lines":[{"line_number":53,"context_line":"psutil\u003e\u003d3.2.2 # BSD"},{"line_number":54,"context_line":"oslo.versionedobjects\u003e\u003d1.28.0 # Apache-2.0"},{"line_number":55,"context_line":"os-brick\u003e\u003d1.15.2 # Apache-2.0"},{"line_number":56,"context_line":"os-traits\u003e\u003d0.4.0 # Apache-2.0"},{"line_number":57,"context_line":"os-vif\u003e\u003d1.7.0 # Apache-2.0"},{"line_number":58,"context_line":"os-win\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":59,"context_line":"castellan\u003e\u003d0.14.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":17,"id":"ff82abbf_2e99496d","line":56,"in_reply_to":"ff82abbf_0e6565e1","updated":"2017-11-22 14:32:42.000000000","message":"I don\u0027t know why this change should be in a separate patch. This is needed for this change.\n\nIn case I submit this patch without this change, I should point to a dependecy patch or rebase the current patch on top of the one with this modification.","commit_id":"84ae46ab0c45b55ddfa39eddc6751ddaeb2b7838"}]}
