)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8205bdda02fdb26f9857850d983c35958fe5655a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     nfridman \u003cnfridman@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-09-05 09:46:50 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added \"Creating and updating DSCP values\" test:"},{"line_number":8,"context_line":"The test verifies that admin user is able to set"},{"line_number":9,"context_line":"DSCP marking rules with all of the valid marks between 0-56."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7faddb67_51214a4c","line":7,"updated":"2019-09-05 13:56:57.000000000","message":"Please, follow https://wiki.openstack.org/wiki/GitCommitMessages\n\n- You should add a one-line title: the title could be something like:\n\"Add test to create and update valid DSCP values\"\n\n- Leave an empty line\n- Make a description\n- If possible, add a bug reference","commit_id":"485c076b5184b49ff437f74805b652697a17117d"}],"neutron_tempest_plugin/api/base.py":[{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"b15248c86355e8216bad00d9e3c2fd75494c6b41","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def setup_clients(cls):"},{"line_number":106,"context_line":"        super(BaseNetworkTest, cls).setup_clients()"},{"line_number":107,"context_line":"        cls.client \u003d cls.os_primary.network_client"},{"line_number":108,"context_line":"        cls.admin_client \u003d cls.os_admin.network_client"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_9decfb29","line":108,"range":{"start_line":108,"start_character":8,"end_line":108,"end_character":54},"updated":"2019-09-02 08:29:27.000000000","message":"Note, setting this here can affect other tests and cause them to fail in case they don\u0027t have os_admin attribute","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"c1d99d2c65b9f197ae0212c541576e4b0fae9e7e","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def setup_clients(cls):"},{"line_number":106,"context_line":"        super(BaseNetworkTest, cls).setup_clients()"},{"line_number":107,"context_line":"        cls.client \u003d cls.os_primary.network_client"},{"line_number":108,"context_line":"        cls.admin_client \u003d cls.os_admin.network_client"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_f3d89a52","line":108,"range":{"start_line":108,"start_character":8,"end_line":108,"end_character":54},"in_reply_to":"7faddb67_983f0521","updated":"2019-09-04 11:57:57.000000000","message":"Hi Noy,\nThis change can affect other tests because you are changing class that many other classes use as a base. In case some of them do not have os_admin attribute they will fail. This can be seen in the logs of failed CI jobs e.g.\nhttps://zuul.opendev.org/t/openstack/build/09df4bede0c24c21857221dee46145bf that you can find on the gerrit page.\nI think it could be safer to extend setup_clients in QosTest class.","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"980fc08fc8a6c22278f1100a9c6c68cabd68be7b","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def setup_clients(cls):"},{"line_number":106,"context_line":"        super(BaseNetworkTest, cls).setup_clients()"},{"line_number":107,"context_line":"        cls.client \u003d cls.os_primary.network_client"},{"line_number":108,"context_line":"        cls.admin_client \u003d cls.os_admin.network_client"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_983f0521","line":108,"range":{"start_line":108,"start_character":8,"end_line":108,"end_character":54},"in_reply_to":"7faddb67_9decfb29","updated":"2019-09-04 11:10:43.000000000","message":"Hi Roman!\nCan you please explain why it could affect other tests?\nI added this additional client because creating\\deleting QoS policies in the cleanup stage requires admin_client.","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"eced3cba33c3fae81157bff8f99ed68ee53320a7","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def setup_clients(cls):"},{"line_number":106,"context_line":"        super(BaseNetworkTest, cls).setup_clients()"},{"line_number":107,"context_line":"        cls.client \u003d cls.os_primary.network_client"},{"line_number":108,"context_line":"        cls.admin_client \u003d cls.os_admin.network_client"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_78cf907e","line":108,"range":{"start_line":108,"start_character":8,"end_line":108,"end_character":54},"in_reply_to":"7faddb67_f3d89a52","updated":"2019-09-05 12:38:21.000000000","message":"Thanks a lot Roman!\nI will fix it","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8205bdda02fdb26f9857850d983c35958fe5655a","unresolved":false,"context_lines":[{"line_number":960,"context_line":"    @classmethod"},{"line_number":961,"context_line":"    def setup_clients(cls):"},{"line_number":962,"context_line":"        super(BaseAdminNetworkTest, cls).setup_clients()"},{"line_number":963,"context_line":"        cls.admin_client \u003d cls.os_admin.network_client"},{"line_number":964,"context_line":"        cls.identity_admin_client \u003d cls.os_admin.projects_client"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_31128efe","side":"PARENT","line":963,"updated":"2019-09-05 13:56:57.000000000","message":"You had a comment on this before","commit_id":"0a3705f937bbe16aeffea4bc434a87655f282ea2"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"f727689765a981fbe83e546ae5edae6d55bac494","unresolved":false,"context_lines":[{"line_number":960,"context_line":"    @classmethod"},{"line_number":961,"context_line":"    def setup_clients(cls):"},{"line_number":962,"context_line":"        super(BaseAdminNetworkTest, cls).setup_clients()"},{"line_number":963,"context_line":"        cls.admin_client \u003d cls.os_admin.network_client"},{"line_number":964,"context_line":"        cls.identity_admin_client \u003d cls.os_admin.projects_client"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_df4b4028","side":"PARENT","line":963,"updated":"2019-09-25 14:10:46.000000000","message":"Have a feeling that this is causing your issue in the CI.","commit_id":"0a3705f937bbe16aeffea4bc434a87655f282ea2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1e170821dac8010183217bd25137b3436e7136e0","unresolved":false,"context_lines":[{"line_number":960,"context_line":"    @classmethod"},{"line_number":961,"context_line":"    def setup_clients(cls):"},{"line_number":962,"context_line":"        super(BaseAdminNetworkTest, cls).setup_clients()"},{"line_number":963,"context_line":"        cls.admin_client \u003d cls.os_admin.network_client"},{"line_number":964,"context_line":"        cls.identity_admin_client \u003d cls.os_admin.projects_client"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_dfc491f7","side":"PARENT","line":963,"in_reply_to":"3fa7e38b_df4b4028","updated":"2019-09-26 08:01:38.000000000","message":"Why You need to remove it from here?","commit_id":"0a3705f937bbe16aeffea4bc434a87655f282ea2"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":960,"context_line":"    @classmethod"},{"line_number":961,"context_line":"    def setup_clients(cls):"},{"line_number":962,"context_line":"        super(BaseAdminNetworkTest, cls).setup_clients()"},{"line_number":963,"context_line":"        cls.admin_client \u003d cls.os_admin.network_client"},{"line_number":964,"context_line":"        cls.identity_admin_client \u003d cls.os_admin.projects_client"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_99b6dddc","side":"PARENT","line":963,"in_reply_to":"3fa7e38b_dfc491f7","updated":"2019-10-23 14:18:53.000000000","message":"I definitely should not remove it, my mistake.","commit_id":"0a3705f937bbe16aeffea4bc434a87655f282ea2"}],"neutron_tempest_plugin/api/test_qos.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":615,"context_line":"                \u0027shared\u0027: False,"},{"line_number":616,"context_line":"                \u0027tenant_id\u0027: tenant_id}"},{"line_number":617,"context_line":"        qos_policy \u003d self.admin_client.create_qos_policy(**args)[\u0027policy\u0027]"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy, qos_policy[\u0027id\u0027])"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"        return qos_policy"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_233a8433","line":618,"updated":"2019-09-02 12:22:27.000000000","message":"unrelated change","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"37c45678749eb1bc3944e0a4d408ab1b4a425097","unresolved":false,"context_lines":[{"line_number":993,"context_line":"        \"\"\"This test covers:"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_c84b4f84","line":996,"range":{"start_line":996,"start_character":13,"end_line":996,"end_character":22},"updated":"2019-09-05 12:34:56.000000000","message":"nit: Updating","commit_id":"8f957f7a7225cf0a0d6d5337b4f703ff688ac962"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":993,"context_line":"        \"\"\"This test covers:"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_f1d44f22","line":996,"range":{"start_line":996,"start_character":13,"end_line":996,"end_character":22},"in_reply_to":"7faddb67_c84b4f84","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"8f957f7a7225cf0a0d6d5337b4f703ff688ac962"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"37c45678749eb1bc3944e0a4d408ab1b4a425097","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"        self._test_update_dscp_mark_values(dscp_policy_id, rule_id)"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"    def _test_update_dscp_mark_values(self, dscp_policy_id, rule_id):"},{"line_number":1039,"context_line":"        for mark in range(self.FIRST_DCSP_MARK_IN_RANGE + 1,"},{"line_number":1040,"context_line":"                          self.VALID_DSCP_MARK1 + 1):"},{"line_number":1041,"context_line":"            if mark in self.INVALID_DSCP_MARKS or mark % 2 !\u003d 0:"},{"line_number":1042,"context_line":"                self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_8836b701","line":1039,"updated":"2019-09-05 12:34:56.000000000","message":"Since the list is finite, rather than going through this logic it would be a lot easier - and readable - to just use an array of the valid marks like I did here [1]. \n\nhttps://opendev.org/openstack/neutron-lib/src/branch/master/neutron_lib/constants.py#L335-L336","commit_id":"8f957f7a7225cf0a0d6d5337b4f703ff688ac962"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"        self._test_update_dscp_mark_values(dscp_policy_id, rule_id)"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"    def _test_update_dscp_mark_values(self, dscp_policy_id, rule_id):"},{"line_number":1039,"context_line":"        for mark in range(self.FIRST_DCSP_MARK_IN_RANGE + 1,"},{"line_number":1040,"context_line":"                          self.VALID_DSCP_MARK1 + 1):"},{"line_number":1041,"context_line":"            if mark in self.INVALID_DSCP_MARKS or mark % 2 !\u003d 0:"},{"line_number":1042,"context_line":"                self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_31198721","line":1039,"in_reply_to":"7faddb67_8836b701","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"8f957f7a7225cf0a0d6d5337b4f703ff688ac962"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":615,"context_line":"                \u0027shared\u0027: False,"},{"line_number":616,"context_line":"                \u0027tenant_id\u0027: tenant_id}"},{"line_number":617,"context_line":"        qos_policy \u003d self.admin_client.create_qos_policy(**args)[\u0027policy\u0027]"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy, qos_policy[\u0027id\u0027])"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"        return qos_policy"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_36a3649d","line":618,"updated":"2019-09-05 13:57:12.000000000","message":"Unnecessary line added","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":615,"context_line":"                \u0027shared\u0027: False,"},{"line_number":616,"context_line":"                \u0027tenant_id\u0027: tenant_id}"},{"line_number":617,"context_line":"        qos_policy \u003d self.admin_client.create_qos_policy(**args)[\u0027policy\u0027]"},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy, qos_policy[\u0027id\u0027])"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"        return qos_policy"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_9e75eacd","line":618,"in_reply_to":"7faddb67_36a3649d","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":878,"context_line":"        retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":879,"context_line":"            policy[\u0027id\u0027], rule[\u0027id\u0027])"},{"line_number":880,"context_line":"        retrieved_rule \u003d retrieved_rule[\u0027dscp_marking_rule\u0027]"},{"line_number":881,"context_line":""},{"line_number":882,"context_line":"        self.assertEqual(rule[\u0027id\u0027], retrieved_rule[\u0027id\u0027])"},{"line_number":883,"context_line":"        self.assertEqual(self.VALID_DSCP_MARK1, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":884,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_96ad7885","line":881,"updated":"2019-09-05 13:57:12.000000000","message":"ditto","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":878,"context_line":"        retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":879,"context_line":"            policy[\u0027id\u0027], rule[\u0027id\u0027])"},{"line_number":880,"context_line":"        retrieved_rule \u003d retrieved_rule[\u0027dscp_marking_rule\u0027]"},{"line_number":881,"context_line":""},{"line_number":882,"context_line":"        self.assertEqual(rule[\u0027id\u0027], retrieved_rule[\u0027id\u0027])"},{"line_number":883,"context_line":"        self.assertEqual(self.VALID_DSCP_MARK1, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":884,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_3e9076ed","line":881,"in_reply_to":"7faddb67_96ad7885","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":993,"context_line":"        \"\"\"This test covers:"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_b6e514dd","line":996,"range":{"start_line":996,"start_character":18,"end_line":996,"end_character":19},"updated":"2019-09-05 13:57:12.000000000","message":"no \u0027e\u0027 in Updating","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":993,"context_line":"        \"\"\"This test covers:"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_9e02ca3c","line":996,"range":{"start_line":996,"start_character":18,"end_line":996,"end_character":19},"in_reply_to":"7faddb67_b6e514dd","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":994,"context_line":""},{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"},{"line_number":1000,"context_line":"           the valid marks between 0-56, except of the invalid marks:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_96fb3879","line":997,"range":{"start_line":997,"start_character":32,"end_line":997,"end_character":35},"updated":"2019-09-05 13:57:12.000000000","message":"have","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":994,"context_line":""},{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"},{"line_number":1000,"context_line":"           the valid marks between 0-56, except of the invalid marks:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_b6fe7467","line":997,"range":{"start_line":997,"start_character":58,"end_line":997,"end_character":66},"updated":"2019-09-05 13:57:12.000000000","message":"the existing","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":994,"context_line":""},{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"},{"line_number":1000,"context_line":"           the valid marks between 0-56, except of the invalid marks:"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_5ef8d247","line":997,"range":{"start_line":997,"start_character":32,"end_line":997,"end_character":35},"in_reply_to":"7faddb67_96fb3879","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":994,"context_line":""},{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"},{"line_number":1000,"context_line":"           the valid marks between 0-56, except of the invalid marks:"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_fe965ef0","line":997,"range":{"start_line":997,"start_character":58,"end_line":997,"end_character":66},"in_reply_to":"7faddb67_b6fe7467","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"},{"line_number":1000,"context_line":"           the valid marks between 0-56, except of the invalid marks:"},{"line_number":1001,"context_line":"           2-6, 42, 44, and 50-54 (which should be forbidden)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_f62dccfc","line":998,"range":{"start_line":998,"start_character":21,"end_line":998,"end_character":34},"updated":"2019-09-05 13:57:12.000000000","message":"should","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":995,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."},{"line_number":996,"context_line":"           2.Updateing QoS policy:"},{"line_number":997,"context_line":"           Administrator should has the ability to update existing QoS policy."},{"line_number":998,"context_line":"           This test is planned to verify that:"},{"line_number":999,"context_line":"           It\u0027s possible to update an existing DSCP marking rule with all of"},{"line_number":1000,"context_line":"           the valid marks between 0-56, except of the invalid marks:"},{"line_number":1001,"context_line":"           2-6, 42, 44, and 50-54 (which should be forbidden)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_dea12248","line":998,"range":{"start_line":998,"start_character":21,"end_line":998,"end_character":34},"in_reply_to":"7faddb67_f62dccfc","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"            shared\u003dTrue)[\u0027id\u0027]"},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        # Cleanups"},{"line_number":1014,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy,"},{"line_number":1015,"context_line":"                        dscp_policy_id)"},{"line_number":1016,"context_line":"        self.addCleanup(self.client.delete_network,"},{"line_number":1017,"context_line":"                        self.network[\u0027id\u0027])"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        # Associate QoS to the network"},{"line_number":1020,"context_line":"        self.admin_client.update_network("}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_b1a3defe","line":1017,"range":{"start_line":1014,"start_character":0,"end_line":1017,"end_character":43},"updated":"2019-09-05 13:57:12.000000000","message":"I don\u0027t see these in the other tests for DSCP, is this handled by the parent class?","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"            shared\u003dTrue)[\u0027id\u0027]"},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        # Cleanups"},{"line_number":1014,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy,"},{"line_number":1015,"context_line":"                        dscp_policy_id)"},{"line_number":1016,"context_line":"        self.addCleanup(self.client.delete_network,"},{"line_number":1017,"context_line":"                        self.network[\u0027id\u0027])"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        # Associate QoS to the network"},{"line_number":1020,"context_line":"        self.admin_client.update_network("}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_b7a94e91","line":1017,"range":{"start_line":1014,"start_character":0,"end_line":1017,"end_character":43},"in_reply_to":"3fa7e38b_982e4990","updated":"2019-10-23 14:18:53.000000000","message":"Done","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"ca62e919687ca1a1fc609986d3e6b29d0c791cc3","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"            shared\u003dTrue)[\u0027id\u0027]"},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        # Cleanups"},{"line_number":1014,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy,"},{"line_number":1015,"context_line":"                        dscp_policy_id)"},{"line_number":1016,"context_line":"        self.addCleanup(self.client.delete_network,"},{"line_number":1017,"context_line":"                        self.network[\u0027id\u0027])"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        # Associate QoS to the network"},{"line_number":1020,"context_line":"        self.admin_client.update_network("}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_982e4990","line":1017,"range":{"start_line":1014,"start_character":0,"end_line":1017,"end_character":43},"in_reply_to":"7faddb67_5c6c0135","updated":"2019-09-25 08:59:07.000000000","message":"If the resources are specific to the test then sure, clean up in the test.\nIf the resources are generally used in the test class, like multiple tests create a qos policy or a network, then it should be done in tearDown. It\u0027s always good to try to avoid code duplication.","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"            shared\u003dTrue)[\u0027id\u0027]"},{"line_number":1012,"context_line":""},{"line_number":1013,"context_line":"        # Cleanups"},{"line_number":1014,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy,"},{"line_number":1015,"context_line":"                        dscp_policy_id)"},{"line_number":1016,"context_line":"        self.addCleanup(self.client.delete_network,"},{"line_number":1017,"context_line":"                        self.network[\u0027id\u0027])"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        # Associate QoS to the network"},{"line_number":1020,"context_line":"        self.admin_client.update_network("}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_5c6c0135","line":1017,"range":{"start_line":1014,"start_character":0,"end_line":1017,"end_character":43},"in_reply_to":"7faddb67_b1a3defe","updated":"2019-09-25 06:38:52.000000000","message":"I though that it\u0027s a good practice to add those cleanups in order to make sure that the test will remove any of resources used during the test \n(without being dependent on the teardown stage).\nShould I remove it?","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":1033,"context_line":"                         retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"        # Try to set marks in range 0:56 (invalid marks should raise an error)"},{"line_number":1036,"context_line":"        self._test_update_dscp_mark_values(dscp_policy_id, rule_id)"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"    def _test_update_dscp_mark_values(self, dscp_policy_id, rule_id):"},{"line_number":1039,"context_line":"        for mark in range(self.FIRST_DCSP_MARK_IN_RANGE + 1,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_11ec32f2","line":1036,"range":{"start_line":1036,"start_character":8,"end_line":1036,"end_character":67},"updated":"2019-09-05 13:57:12.000000000","message":"I\u0027m not sure should this just be it\u0027s own test rather than a function in another test.","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8205bdda02fdb26f9857850d983c35958fe5655a","unresolved":false,"context_lines":[{"line_number":856,"context_line":"class QosDscpMarkingRuleTestJSON(base.BaseAdminNetworkTest):"},{"line_number":857,"context_line":"    VALID_DSCP_MARK1 \u003d 56"},{"line_number":858,"context_line":"    VALID_DSCP_MARK2 \u003d 48"},{"line_number":859,"context_line":"    FIRST_DCSP_MARK_IN_RANGE \u003d 0"},{"line_number":860,"context_line":"    VALID_DSCP_MARKS \u003d [0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,"},{"line_number":861,"context_line":"                        32, 34, 36, 38, 40, 46, 48, 56]"},{"line_number":862,"context_line":"    required_extensions \u003d [qos_apidef.ALIAS]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_b1a99e8f","line":859,"updated":"2019-09-05 13:56:57.000000000","message":"neutron_lib.constants.VALID_DSCP_MARKS is an ordered list, you can use first element then","commit_id":"485c076b5184b49ff437f74805b652697a17117d"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":856,"context_line":"class QosDscpMarkingRuleTestJSON(base.BaseAdminNetworkTest):"},{"line_number":857,"context_line":"    VALID_DSCP_MARK1 \u003d 56"},{"line_number":858,"context_line":"    VALID_DSCP_MARK2 \u003d 48"},{"line_number":859,"context_line":"    FIRST_DCSP_MARK_IN_RANGE \u003d 0"},{"line_number":860,"context_line":"    VALID_DSCP_MARKS \u003d [0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,"},{"line_number":861,"context_line":"                        32, 34, 36, 38, 40, 46, 48, 56]"},{"line_number":862,"context_line":"    required_extensions \u003d [qos_apidef.ALIAS]"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_5e8d32d1","line":859,"in_reply_to":"7faddb67_b1a99e8f","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"485c076b5184b49ff437f74805b652697a17117d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8205bdda02fdb26f9857850d983c35958fe5655a","unresolved":false,"context_lines":[{"line_number":857,"context_line":"    VALID_DSCP_MARK1 \u003d 56"},{"line_number":858,"context_line":"    VALID_DSCP_MARK2 \u003d 48"},{"line_number":859,"context_line":"    FIRST_DCSP_MARK_IN_RANGE \u003d 0"},{"line_number":860,"context_line":"    VALID_DSCP_MARKS \u003d [0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,"},{"line_number":861,"context_line":"                        32, 34, 36, 38, 40, 46, 48, 56]"},{"line_number":862,"context_line":"    required_extensions \u003d [qos_apidef.ALIAS]"},{"line_number":863,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_b1b43ef2","line":860,"updated":"2019-09-05 13:56:57.000000000","message":"Please, use constant in neutron-lib.constants","commit_id":"485c076b5184b49ff437f74805b652697a17117d"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":857,"context_line":"    VALID_DSCP_MARK1 \u003d 56"},{"line_number":858,"context_line":"    VALID_DSCP_MARK2 \u003d 48"},{"line_number":859,"context_line":"    FIRST_DCSP_MARK_IN_RANGE \u003d 0"},{"line_number":860,"context_line":"    VALID_DSCP_MARKS \u003d [0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,"},{"line_number":861,"context_line":"                        32, 34, 36, 38, 40, 46, 48, 56]"},{"line_number":862,"context_line":"    required_extensions \u003d [qos_apidef.ALIAS]"},{"line_number":863,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_febf3e5e","line":860,"in_reply_to":"7faddb67_b1b43ef2","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"485c076b5184b49ff437f74805b652697a17117d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1e170821dac8010183217bd25137b3436e7136e0","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from neutron_lib.api.definitions import qos as qos_apidef"},{"line_number":16,"context_line":"from neutron_lib import constants as qos_constants"},{"line_number":17,"context_line":"from neutron_lib.services.qos import constants as qos_consts"},{"line_number":18,"context_line":"from tempest.common import utils"},{"line_number":19,"context_line":"from tempest.lib.common.utils import data_utils"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_b100e902","line":16,"range":{"start_line":16,"start_character":37,"end_line":16,"end_character":50},"updated":"2019-09-26 08:01:38.000000000","message":"I would name it as n_constants or just constants as there is already loaded module qos_const and this may be confusing","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from neutron_lib.api.definitions import qos as qos_apidef"},{"line_number":16,"context_line":"from neutron_lib import constants as qos_constants"},{"line_number":17,"context_line":"from neutron_lib.services.qos import constants as qos_consts"},{"line_number":18,"context_line":"from tempest.common import utils"},{"line_number":19,"context_line":"from tempest.lib.common.utils import data_utils"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_30ffb635","line":16,"range":{"start_line":16,"start_character":37,"end_line":16,"end_character":50},"in_reply_to":"3fa7e38b_b100e902","updated":"2019-10-23 14:18:53.000000000","message":"Done","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1e170821dac8010183217bd25137b3436e7136e0","unresolved":false,"context_lines":[{"line_number":1010,"context_line":"        # Cleanups"},{"line_number":1011,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy,"},{"line_number":1012,"context_line":"                        dscp_policy_id)"},{"line_number":1013,"context_line":"        self.addCleanup(self.client.delete_network,"},{"line_number":1014,"context_line":"                        self.network[\u0027id\u0027])"},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        # Associate QoS to the network"},{"line_number":1017,"context_line":"        self.admin_client.update_network("}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_bf643523","line":1014,"range":{"start_line":1013,"start_character":8,"end_line":1014,"end_character":43},"updated":"2019-09-26 08:01:38.000000000","message":"You don\u0027t need to add this cleanup. If You are using self.create_network() it will automatically clean it after test will be done.","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":1010,"context_line":"        # Cleanups"},{"line_number":1011,"context_line":"        self.addCleanup(self.admin_client.delete_qos_policy,"},{"line_number":1012,"context_line":"                        dscp_policy_id)"},{"line_number":1013,"context_line":"        self.addCleanup(self.client.delete_network,"},{"line_number":1014,"context_line":"                        self.network[\u0027id\u0027])"},{"line_number":1015,"context_line":""},{"line_number":1016,"context_line":"        # Associate QoS to the network"},{"line_number":1017,"context_line":"        self.admin_client.update_network("}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_994a5d81","line":1014,"range":{"start_line":1013,"start_character":8,"end_line":1014,"end_character":43},"in_reply_to":"3fa7e38b_bf643523","updated":"2019-10-23 14:18:53.000000000","message":"Got it, Thank you.\nI thought it could be good practice to add it anyway, however I\u0027v noticed David\u0027s explanation about it.","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1e170821dac8010183217bd25137b3436e7136e0","unresolved":false,"context_lines":[{"line_number":1029,"context_line":"        self.assertEqual(qos_constants.VALID_DSCP_MARKS[0],"},{"line_number":1030,"context_line":"                         retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":1031,"context_line":""},{"line_number":1032,"context_line":"        # Try to set marks in range 0:56 (invalid marks should raise an error)"},{"line_number":1033,"context_line":"        self._test_update_dscp_mark_values(dscp_policy_id, rule_id)"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"    def _test_update_dscp_mark_values(self, dscp_policy_id, rule_id):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_9f161955","line":1032,"range":{"start_line":1032,"start_character":36,"end_line":1032,"end_character":37},"updated":"2019-09-26 08:01:38.000000000","message":"0 was actually set above, so here You are testing setting marks from 8","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":1029,"context_line":"        self.assertEqual(qos_constants.VALID_DSCP_MARKS[0],"},{"line_number":1030,"context_line":"                         retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":1031,"context_line":""},{"line_number":1032,"context_line":"        # Try to set marks in range 0:56 (invalid marks should raise an error)"},{"line_number":1033,"context_line":"        self._test_update_dscp_mark_values(dscp_policy_id, rule_id)"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"    def _test_update_dscp_mark_values(self, dscp_policy_id, rule_id):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_99601d38","line":1032,"range":{"start_line":1032,"start_character":36,"end_line":1032,"end_character":37},"in_reply_to":"3fa7e38b_9f161955","updated":"2019-10-23 14:18:53.000000000","message":"Done","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"5e286d94e208da6897ef24d62019d27086625966","unresolved":false,"context_lines":[{"line_number":1026,"context_line":"        # Try to set marks in range 8:56 (invalid marks should raise an error)"},{"line_number":1027,"context_line":"        self._test_update_dscp_mark_values(dscp_policy_id, rule_id)"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"    def _test_update_dscp_mark_values(self, dscp_policy_id, rule_id):"},{"line_number":1030,"context_line":"        for mark in range(n_constants.VALID_DSCP_MARKS[1],"},{"line_number":1031,"context_line":"                          self.VALID_DSCP_MARK1 + 1):"},{"line_number":1032,"context_line":"            if mark in n_constants.VALID_DSCP_MARKS:"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_b2bb9970","line":1029,"range":{"start_line":1029,"start_character":8,"end_line":1029,"end_character":37},"updated":"2019-10-03 13:27:12.000000000","message":"Not must, but maybe it would be better to move this method definition to the top of \"test_qos_dscp_create_and_update\", for example into line 1000 before \"# Setup network\".","commit_id":"04be6e6832d053c4ba1265ec1006b733a207289c"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":1026,"context_line":"        # Try to set marks in range 8:56 (invalid marks should raise an error)"},{"line_number":1027,"context_line":"        self._test_update_dscp_mark_values(dscp_policy_id, rule_id)"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"    def _test_update_dscp_mark_values(self, dscp_policy_id, rule_id):"},{"line_number":1030,"context_line":"        for mark in range(n_constants.VALID_DSCP_MARKS[1],"},{"line_number":1031,"context_line":"                          self.VALID_DSCP_MARK1 + 1):"},{"line_number":1032,"context_line":"            if mark in n_constants.VALID_DSCP_MARKS:"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_7db150e1","line":1029,"range":{"start_line":1029,"start_character":8,"end_line":1029,"end_character":37},"in_reply_to":"3fa7e38b_b2bb9970","updated":"2019-10-23 14:18:53.000000000","message":"Done","commit_id":"04be6e6832d053c4ba1265ec1006b733a207289c"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"5e286d94e208da6897ef24d62019d27086625966","unresolved":false,"context_lines":[{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"                retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":1037,"context_line":"                    dscp_policy_id, rule_id)[\u0027dscp_marking_rule\u0027]"},{"line_number":1038,"context_line":"                self.assertEqual(mark, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":1039,"context_line":""},{"line_number":1040,"context_line":"            else:"},{"line_number":1041,"context_line":"                self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_92cf7d28","line":1038,"range":{"start_line":1038,"start_character":16,"end_line":1038,"end_character":67},"updated":"2019-10-03 13:27:12.000000000","message":"I would suggest to use third parameter in assertion method, which is \"msg\". Make sure to include \"failed dscp_mark\" in it, in order to provide detailed error in case of test failure.","commit_id":"04be6e6832d053c4ba1265ec1006b733a207289c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6c4c03ca1529561693201bf1daccf77a48af31b6","unresolved":false,"context_lines":[{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"                retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":1037,"context_line":"                    dscp_policy_id, rule_id)[\u0027dscp_marking_rule\u0027]"},{"line_number":1038,"context_line":"                self.assertEqual(mark, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":1039,"context_line":""},{"line_number":1040,"context_line":"            else:"},{"line_number":1041,"context_line":"                self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_9aa78f50","line":1038,"range":{"start_line":1038,"start_character":16,"end_line":1038,"end_character":67},"in_reply_to":"3fa7e38b_92cf7d28","updated":"2019-10-03 19:41:30.000000000","message":"+1 for that.","commit_id":"04be6e6832d053c4ba1265ec1006b733a207289c"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"                retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":1037,"context_line":"                    dscp_policy_id, rule_id)[\u0027dscp_marking_rule\u0027]"},{"line_number":1038,"context_line":"                self.assertEqual(mark, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":1039,"context_line":""},{"line_number":1040,"context_line":"            else:"},{"line_number":1041,"context_line":"                self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_3d6c3835","line":1038,"range":{"start_line":1038,"start_character":16,"end_line":1038,"end_character":67},"in_reply_to":"3fa7e38b_92cf7d28","updated":"2019-10-23 14:18:53.000000000","message":"Done","commit_id":"04be6e6832d053c4ba1265ec1006b733a207289c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"28318ae9477455f0e2f62728cf35bb774168d085","unresolved":false,"context_lines":[{"line_number":1042,"context_line":"            dscp_policy_id, rule_id)[\u0027dscp_marking_rule\u0027]"},{"line_number":1043,"context_line":"        self.assertEqual(n_constants.VALID_DSCP_MARKS[0],"},{"line_number":1044,"context_line":"                         retrieved_rule[\u0027dscp_mark\u0027],"},{"line_number":1045,"context_line":"                         \"\"\"current DSCP mark is incorrect:"},{"line_number":1046,"context_line":"                         expected value {0} actual value {1}"},{"line_number":1047,"context_line":"                         \"\"\".format(n_constants.VALID_DSCP_MARKS[0],"},{"line_number":1048,"context_line":"                         retrieved_rule[\u0027dscp_mark\u0027]))"}],"source_content_type":"text/x-python","patch_set":15,"id":"3fa7e38b_e4112855","line":1045,"range":{"start_line":1045,"start_character":25,"end_line":1045,"end_character":28},"updated":"2019-10-07 07:29:13.000000000","message":"nitty nit: single \" is enough here :)","commit_id":"23b44ad0ef6f6dbf9f1bb5586b840bea824c1c61"}],"neutron_tempest_plugin/scenario/test_qos.py":[{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"5e286d94e208da6897ef24d62019d27086625966","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \"\"\"Try to set each mark between 2-56."},{"line_number":97,"context_line":"           Invalid marks should be forbidden."},{"line_number":98,"context_line":"        \"\"\""},{"line_number":99,"context_line":"        for mark in range(self.MIN_VALID_DSCP_MARK, self.MAX_VALID_DSCP_MARK, 2):"},{"line_number":100,"context_line":"            if mark not in self.INVALID_DSCP_MARKS:"},{"line_number":101,"context_line":"                self.admin_client.update_dscp_marking_rule("},{"line_number":102,"context_line":"                    dscp_policy_id, rule_id, dscp_mark\u003dmark)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_fa6ad8b2","line":99,"range":{"start_line":99,"start_character":20,"end_line":99,"end_character":81},"updated":"2019-10-03 13:27:12.000000000","message":"I think that we should also check odd numbers (shouldn\u0027t be supported), therefore \"step 2\" in \"xrange\" is not really needed.\nIt will increase the execution time a bit (to run ~*2 API requests), but it\u0027s not critical.","commit_id":"333c4b7d179a9c4132ca97c008e51344ba7ace29"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \"\"\"Try to set each mark between 2-56."},{"line_number":97,"context_line":"           Invalid marks should be forbidden."},{"line_number":98,"context_line":"        \"\"\""},{"line_number":99,"context_line":"        for mark in range(self.MIN_VALID_DSCP_MARK, self.MAX_VALID_DSCP_MARK, 2):"},{"line_number":100,"context_line":"            if mark not in self.INVALID_DSCP_MARKS:"},{"line_number":101,"context_line":"                self.admin_client.update_dscp_marking_rule("},{"line_number":102,"context_line":"                    dscp_policy_id, rule_id, dscp_mark\u003dmark)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_fd7540fb","line":99,"range":{"start_line":99,"start_character":20,"end_line":99,"end_character":81},"in_reply_to":"7faddb67_fa6ad8b2","updated":"2019-10-23 14:18:53.000000000","message":"The test was moved from scenario/test_qos to api/test_qos.\nIn addition, the mentioned issues was fixed :)","commit_id":"333c4b7d179a9c4132ca97c008e51344ba7ace29"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"5e286d94e208da6897ef24d62019d27086625966","unresolved":false,"context_lines":[{"line_number":184,"context_line":"   "},{"line_number":185,"context_line":"    INVALID_DSCP_MARKS \u003d [2,4,6,42,44,50,52,54]"},{"line_number":186,"context_line":"    MIN_VALID_DSCP_MARK \u003d 2"},{"line_number":187,"context_line":"    MAX_VALID_DSCP_MARK \u003d 58"},{"line_number":188,"context_line":"    FIRST_VALID_DSCP_MARK_IN_RANGE \u003d 0"},{"line_number":189,"context_line":"    @classmethod"},{"line_number":190,"context_line":"    @tutils.requires_ext(extension\u003d\"qos\", service\u003d\"network\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_ba68e0b9","line":187,"range":{"start_line":187,"start_character":0,"end_line":187,"end_character":28},"updated":"2019-10-03 13:27:12.000000000","message":"It\u0027s clear to me why MAX is set to 58, but it may confuse a bit, because in feature requirements the last supported value is 56.\nSo I would suggest to change the MAX parameter to be 56 and then to modify _update_dscp_mark_values by +1, it means:\n\nfor mark in range(self.MIN_VALID_DSCP_MARK, self.MAX_VALID_DSCP_MARK+1)\n\nSo 56 will also be included and tested.","commit_id":"333c4b7d179a9c4132ca97c008e51344ba7ace29"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        # Create QoS policy"},{"line_number":206,"context_line":"        bw_limit_policy_id \u003d self._create_qos_policy()"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        # As admin user create QoS rule"},{"line_number":209,"context_line":"        rule_id \u003d self.os_admin.network_client.create_bandwidth_limit_rule("},{"line_number":210,"context_line":"            policy_id\u003dbw_limit_policy_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_8377b808","side":"PARENT","line":207,"updated":"2019-09-02 12:22:27.000000000","message":"unrelated","commit_id":"0a3705f937bbe16aeffea4bc434a87655f282ea2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \"\"\"Try to set each mark between 2-56."},{"line_number":97,"context_line":"           Invalid marks should be forbidden."},{"line_number":98,"context_line":"        \"\"\""},{"line_number":99,"context_line":"        for mark in range(self.MIN_VALID_DSCP_MARK,"},{"line_number":100,"context_line":"                          self.MAX_VALID_DSCP_MARK+1):"},{"line_number":101,"context_line":"            if mark in self.INVALID_DSCP_MARKS or mark % 2 !\u003d 0:"},{"line_number":102,"context_line":"                self.assertRaises(exceptions.BadRequest,"},{"line_number":103,"context_line":"                                  self.admin_client.create_dscp_marking_rule,"},{"line_number":104,"context_line":"                                  dscp_policy_id,"},{"line_number":105,"context_line":"                                  mark)"},{"line_number":106,"context_line":"            else:"},{"line_number":107,"context_line":"                self.admin_client.update_dscp_marking_rule("},{"line_number":108,"context_line":"                    dscp_policy_id, rule_id, dscp_mark\u003dmark)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"                retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":111,"context_line":"                    dscp_policy_id, rule_id)[\u0027dscp_marking_rule\u0027]"},{"line_number":112,"context_line":"                self.assertEqual(mark, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":113,"context_line":"    "},{"line_number":114,"context_line":"    @staticmethod"},{"line_number":115,"context_line":"    def _kill_nc_process(ssh_client):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_23236407","line":112,"range":{"start_line":99,"start_character":8,"end_line":112,"end_character":67},"updated":"2019-09-02 12:22:27.000000000","message":"this all is more API test instead of scenario one.","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \"\"\"Try to set each mark between 2-56."},{"line_number":97,"context_line":"           Invalid marks should be forbidden."},{"line_number":98,"context_line":"        \"\"\""},{"line_number":99,"context_line":"        for mark in range(self.MIN_VALID_DSCP_MARK,"},{"line_number":100,"context_line":"                          self.MAX_VALID_DSCP_MARK+1):"},{"line_number":101,"context_line":"            if mark in self.INVALID_DSCP_MARKS or mark % 2 !\u003d 0:"},{"line_number":102,"context_line":"                self.assertRaises(exceptions.BadRequest,"},{"line_number":103,"context_line":"                                  self.admin_client.create_dscp_marking_rule,"},{"line_number":104,"context_line":"                                  dscp_policy_id,"},{"line_number":105,"context_line":"                                  mark)"},{"line_number":106,"context_line":"            else:"},{"line_number":107,"context_line":"                self.admin_client.update_dscp_marking_rule("},{"line_number":108,"context_line":"                    dscp_policy_id, rule_id, dscp_mark\u003dmark)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"                retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":111,"context_line":"                    dscp_policy_id, rule_id)[\u0027dscp_marking_rule\u0027]"},{"line_number":112,"context_line":"                self.assertEqual(mark, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":113,"context_line":"    "},{"line_number":114,"context_line":"    @staticmethod"},{"line_number":115,"context_line":"    def _kill_nc_process(ssh_client):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_be43066c","line":112,"range":{"start_line":99,"start_character":8,"end_line":112,"end_character":67},"in_reply_to":"7faddb67_23236407","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":111,"context_line":"                    dscp_policy_id, rule_id)[\u0027dscp_marking_rule\u0027]"},{"line_number":112,"context_line":"                self.assertEqual(mark, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":113,"context_line":"    "},{"line_number":114,"context_line":"    @staticmethod"},{"line_number":115,"context_line":"    def _kill_nc_process(ssh_client):"},{"line_number":116,"context_line":"        cmd \u003d \"killall -q nc\""}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_831258b3","line":113,"updated":"2019-09-02 12:22:27.000000000","message":"please remove those trailing spaces :)","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                retrieved_rule \u003d self.admin_client.show_dscp_marking_rule("},{"line_number":111,"context_line":"                    dscp_policy_id, rule_id)[\u0027dscp_marking_rule\u0027]"},{"line_number":112,"context_line":"                self.assertEqual(mark, retrieved_rule[\u0027dscp_mark\u0027])"},{"line_number":113,"context_line":"    "},{"line_number":114,"context_line":"    @staticmethod"},{"line_number":115,"context_line":"    def _kill_nc_process(ssh_client):"},{"line_number":116,"context_line":"        cmd \u003d \"killall -q nc\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_de484288","line":113,"in_reply_to":"7faddb67_831258b3","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"class QoSTest(QoSTestMixin, base.BaseTempestTestCase):"},{"line_number":185,"context_line":"   "},{"line_number":186,"context_line":"    INVALID_DSCP_MARKS \u003d [2,4,6,42,44,50,52,54]"},{"line_number":187,"context_line":"    MIN_VALID_DSCP_MARK \u003d 2"},{"line_number":188,"context_line":"    MAX_VALID_DSCP_MARK \u003d 56"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_c31b70c8","line":185,"updated":"2019-09-02 12:22:27.000000000","message":"ditto","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":223,"context_line":"            both options are covered."},{"line_number":224,"context_line":"        \"\"\""},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        # Setup resources"},{"line_number":228,"context_line":"        self._test_basic_resources()"},{"line_number":229,"context_line":"        ssh_client \u003d self._create_ssh_client()"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_e318eccd","line":226,"updated":"2019-09-02 12:22:27.000000000","message":"unrelated","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            timeout\u003dself.FILE_DOWNLOAD_TIMEOUT,"},{"line_number":310,"context_line":"            sleep\u003d1)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        "},{"line_number":313,"context_line":"    @decorators.idempotent_id(\u002719ed2286-ccb1-11e9-87d7-525400d6f522\u0027)"},{"line_number":314,"context_line":"    def test_qos_dscp_create_and_update(self):"},{"line_number":315,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_a37c34eb","line":312,"updated":"2019-09-02 12:22:27.000000000","message":"please remove","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        "},{"line_number":313,"context_line":"    @decorators.idempotent_id(\u002719ed2286-ccb1-11e9-87d7-525400d6f522\u0027)"},{"line_number":314,"context_line":"    def test_qos_dscp_create_and_update(self):"},{"line_number":315,"context_line":"        \"\"\""},{"line_number":316,"context_line":"           This test covers:"},{"line_number":317,"context_line":"           1.Creating a basic QoS policy with DSCP marking rule."}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_c34930b8","line":314,"updated":"2019-09-02 12:22:27.000000000","message":"this whole test is API test, not scenario one. Please move it somewhere to api tests module.\n\nIn scenario test You should do e.g. something like:\n1. Create qos policy with DSCP marking rule,\n2. Spawn 2 VMs,\n3. Assign this policy to port which is used by one of VMs (src vm),\n4. Run e.g. tcpdump on dest vm,\n5. Send traffic from src vm to dest vm and check on dest vm that packets were sent with proper DSCP mark. \n\nQuite similar test is already done in fullstack tests: https://github.com/openstack/neutron/blob/master/neutron/tests/fullstack/test_qos.py#L475","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9688bd777f9fcf8961aa0ef88cc723773c180a7e","unresolved":false,"context_lines":[{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        # Set a new DSCP rule with the first mark in range"},{"line_number":345,"context_line":"        rule_id \u003d self.admin_client.create_dscp_marking_rule(dscp_policy_id,"},{"line_number":346,"context_line":"                                                             self.FIRST_VALID_DSCP_MARK_IN_RANGE)[\u0027dscp_marking_rule\u0027][\u0027id\u0027]"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        # Validate that the rule was set up properly"},{"line_number":349,"context_line":"        retrieved_rule \u003d self.client.show_dscp_marking_rule("}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_2368441f","line":346,"updated":"2019-09-02 12:22:27.000000000","message":"this line is too long I guess","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        # Set a new DSCP rule with the first mark in range"},{"line_number":345,"context_line":"        rule_id \u003d self.admin_client.create_dscp_marking_rule(dscp_policy_id,"},{"line_number":346,"context_line":"                                                             self.FIRST_VALID_DSCP_MARK_IN_RANGE)[\u0027dscp_marking_rule\u0027][\u0027id\u0027]"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        # Validate that the rule was set up properly"},{"line_number":349,"context_line":"        retrieved_rule \u003d self.client.show_dscp_marking_rule("}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_b125775e","line":346,"in_reply_to":"7faddb67_2368441f","updated":"2019-09-25 06:38:52.000000000","message":"Done","commit_id":"804257422725660813566660b4c98fe0744f401d"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        # Create QoS policy"},{"line_number":206,"context_line":"        bw_limit_policy_id \u003d self._create_qos_policy()"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        # As admin user create QoS rule"},{"line_number":209,"context_line":"        rule_id \u003d self.os_admin.network_client.create_bandwidth_limit_rule("},{"line_number":210,"context_line":"            policy_id\u003dbw_limit_policy_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_11c5125c","side":"PARENT","line":207,"updated":"2019-09-05 13:57:12.000000000","message":"Should this line have been deleted?","commit_id":"0a3705f937bbe16aeffea4bc434a87655f282ea2"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class QoSTestMixin(object):"},{"line_number":70,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027]"},{"line_number":71,"context_line":"    force_tenant_isolation \u003d False"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    FILE_SIZE \u003d 1024 * 1024"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_7178062a","line":70,"updated":"2019-09-05 13:57:12.000000000","message":"Add a line here too.\nThough this is just a nit.","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"76efb91505694a92b4259d2e943caa5f4edc2e7c","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"class QoSTest(QoSTestMixin, base.BaseTempestTestCase):"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    @classmethod"},{"line_number":168,"context_line":"    @tutils.requires_ext(extension\u003d\"qos\", service\u003d\"network\")"},{"line_number":169,"context_line":"    @base_api.require_qos_rule_type(qos_consts.RULE_TYPE_BANDWIDTH_LIMIT)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_718fa62d","line":166,"updated":"2019-09-05 13:57:12.000000000","message":"This line can stay, it probably should have been there from the start.","commit_id":"4464c21ff5689391798b37b8b4355677fd3a573e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8205bdda02fdb26f9857850d983c35958fe5655a","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                                        name\u003d\u0027test-policy\u0027,"},{"line_number":159,"context_line":"                                        description\u003d\u0027test-qos-policy\u0027,"},{"line_number":160,"context_line":"                                        shared\u003dTrue)[\u0027policy\u0027]"},{"line_number":161,"context_line":"        self.qos_policies.append(policy)"},{"line_number":162,"context_line":"        return policy[\u0027id\u0027]"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_31a36e9d","line":161,"updated":"2019-09-05 13:56:57.000000000","message":"Why do you need this?","commit_id":"485c076b5184b49ff437f74805b652697a17117d"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"fda6f18c7fa80e2bd6b020ce3417874365d625f9","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                                        name\u003d\u0027test-policy\u0027,"},{"line_number":159,"context_line":"                                        description\u003d\u0027test-qos-policy\u0027,"},{"line_number":160,"context_line":"                                        shared\u003dTrue)[\u0027policy\u0027]"},{"line_number":161,"context_line":"        self.qos_policies.append(policy)"},{"line_number":162,"context_line":"        return policy[\u0027id\u0027]"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_66f1a3cd","line":161,"in_reply_to":"7faddb67_31a36e9d","updated":"2019-09-25 06:38:52.000000000","message":"Hi,\nI added this manually because I\u0027v notice that the policy variable that is created in this function is not being deleted in the end of the test (because it was never being inserted into the \u0027qos_policies\u0027 list.)\nHowever, I removed that in the current version.\n:)","commit_id":"485c076b5184b49ff437f74805b652697a17117d"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"f727689765a981fbe83e546ae5edae6d55bac494","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class QoSTestMixin(object):"},{"line_number":70,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    force_tenant_isolation \u003d False"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    FILE_SIZE \u003d 1024 * 1024"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_bfb9a415","line":71,"updated":"2019-09-25 14:10:46.000000000","message":"remove extra line","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"},{"author":{"_account_id":30920,"name":"Noy fridman","email":"nfridman@redhat.com","username":"nfridman"},"change_message_id":"50f9cf7504d148c15e9f81b7487944d200960e53","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class QoSTestMixin(object):"},{"line_number":70,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    force_tenant_isolation \u003d False"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    FILE_SIZE \u003d 1024 * 1024"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_5926256b","line":71,"in_reply_to":"3fa7e38b_bfb9a415","updated":"2019-10-23 14:18:53.000000000","message":"Done","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"},{"author":{"_account_id":18051,"name":"David Shaughnessy","email":"david.shaughnessy@intel.com","username":"davidsha"},"change_message_id":"f727689765a981fbe83e546ae5edae6d55bac494","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"class QoSTest(QoSTestMixin, base.BaseTempestTestCase):"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    @classmethod"},{"line_number":168,"context_line":"    @tutils.requires_ext(extension\u003d\"qos\", service\u003d\"network\")"},{"line_number":169,"context_line":"    @base_api.require_qos_rule_type(qos_consts.RULE_TYPE_BANDWIDTH_LIMIT)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_7f3d6c8d","line":166,"updated":"2019-09-25 14:10:46.000000000","message":"remove extra line","commit_id":"a0e68fad2dbfe8d25a3fe62d5dc598cc474d8fac"}]}
