)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"75e444d84d72fd2ace52318b0590ac7d64f3a82a","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2020-10-29 09:39:52 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"New test case: \"test_remove_security_group_negative\""},{"line_number":8,"context_line":"1) Remove non existing security group from instance"},{"line_number":9,"context_line":"2) Remove not associated security group from instance"},{"line_number":10,"context_line":"Expected result: \"404 NotFound\" Error for both cases."},{"line_number":11,"context_line":"Polarion IDs: RHOSP7-3461, RHOSP7-3460"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1f621f24_6e8e452f","line":8,"updated":"2020-10-29 09:08:35.000000000","message":"nit: Could you please add an empty line here, to keep the header line highlighted","commit_id":"02209a24724df297afe7eeee78521b843024e249"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"20cb48cc6ec5ed3f22a6dae62954d12a2ed9b69d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Arkady Shtempler \u003cashtempl@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-11-02 16:20:17 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"New test case: \"test_remove_security_group_negative\""},{"line_number":8,"context_line":"1) Remove non existing security group from instance"},{"line_number":9,"context_line":"2) Remove not associated security group from instance"},{"line_number":10,"context_line":"Expected result: \"404 NotFound\" Error for both cases."},{"line_number":11,"context_line":"Polarion IDs: RHOSP7-3461, RHOSP7-3460"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1f621f24_9046207c","line":8,"range":{"start_line":7,"start_character":0,"end_line":8,"end_character":51},"updated":"2020-11-03 12:41:21.000000000","message":"Missing blank line between the summary and other text.\nhttps://gerrit-review.googlesource.com/Documentation/dev-crafting-changes.html#commit-message","commit_id":"89bf84021ccbf46ea8878bfb9db730b6fc9db55b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"4b7d52a87dc2008f41208be24650cac329aaa675","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Arkady Shtempler \u003cashtempl@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-11-02 16:20:17 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"New test case: \"test_remove_security_group_negative\""},{"line_number":8,"context_line":"1) Remove non existing security group from instance"},{"line_number":9,"context_line":"2) Remove not associated security group from instance"},{"line_number":10,"context_line":"Expected result: \"404 NotFound\" Error for both cases."},{"line_number":11,"context_line":"Polarion IDs: RHOSP7-3461, RHOSP7-3460"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1f621f24_4d18bd83","line":8,"range":{"start_line":7,"start_character":0,"end_line":8,"end_character":51},"in_reply_to":"1f621f24_9046207c","updated":"2020-11-18 09:37:27.000000000","message":"+1","commit_id":"89bf84021ccbf46ea8878bfb9db730b6fc9db55b"}],"neutron_tempest_plugin/scenario/test_security_groups.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"525bb310ae26d4ec0c220ff705b0196e4557581d","unresolved":false,"context_lines":[{"line_number":529,"context_line":"            lib_exc.NotFound,"},{"line_number":530,"context_line":"            self.os_primary.servers_client.remove_security_group,"},{"line_number":531,"context_line":"            server_id\u003dserver[\u0027server\u0027][\u0027id\u0027],"},{"line_number":532,"context_line":"            name\u003dnot_existing_sg[\u0027security_group\u0027][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_4eb8a929","line":532,"updated":"2020-10-29 07:36:50.000000000","message":"pep8: W292 no newline at end of file","commit_id":"8bd767085a554d9aec546f2a873513a9ddef9c86"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"75e444d84d72fd2ace52318b0590ac7d64f3a82a","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            name\u003ddata_utils.rand_name(\u0027test_sg\u0027))"},{"line_number":492,"context_line":"        self.security_groups.append(existing_sg[\u0027security_group\u0027])"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"        # Create \"not existing security group\""},{"line_number":495,"context_line":"        not_existing_sg \u003d self.os_primary.network_client.create_security_group("},{"line_number":496,"context_line":"            name\u003ddata_utils.rand_name(\u0027test_sg\u0027))"},{"line_number":497,"context_line":"        self.delete_security_group(not_existing_sg[\u0027security_group\u0027])"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"        # Create network and subnet"},{"line_number":500,"context_line":"        network \u003d self.create_network("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f621f24_f9117d55","line":497,"range":{"start_line":494,"start_character":8,"end_line":497,"end_character":69},"updated":"2020-10-29 09:08:35.000000000","message":"This is useless as I see, just use a random uuid","commit_id":"02209a24724df297afe7eeee78521b843024e249"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"e1009528e574a54b03c17732b5a98ee40aa3a5f9","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            name\u003ddata_utils.rand_name(\u0027test_sg\u0027))"},{"line_number":492,"context_line":"        self.security_groups.append(existing_sg[\u0027security_group\u0027])"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"        # Create \"not existing security group\""},{"line_number":495,"context_line":"        not_existing_sg \u003d self.os_primary.network_client.create_security_group("},{"line_number":496,"context_line":"            name\u003ddata_utils.rand_name(\u0027test_sg\u0027))"},{"line_number":497,"context_line":"        self.delete_security_group(not_existing_sg[\u0027security_group\u0027])"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"        # Create network and subnet"},{"line_number":500,"context_line":"        network \u003d self.create_network("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f621f24_198ef977","line":497,"range":{"start_line":494,"start_character":8,"end_line":497,"end_character":69},"in_reply_to":"1f621f24_f9117d55","updated":"2020-10-29 09:26:11.000000000","message":"Yes, you are right, but this is exactly how our manual test scenario is planned (I guess because of some bug in the past). So, we do want  to remove a valid sg ID that was existing in the past.","commit_id":"02209a24724df297afe7eeee78521b843024e249"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"75e444d84d72fd2ace52318b0590ac7d64f3a82a","unresolved":false,"context_lines":[{"line_number":499,"context_line":"        # Create network and subnet"},{"line_number":500,"context_line":"        network \u003d self.create_network("},{"line_number":501,"context_line":"            network_name\u003ddata_utils.rand_name(\u0027test_net\u0027))"},{"line_number":502,"context_line":"        LOG.info(\u0027test_negative network: {}\u0027.format(network))"},{"line_number":503,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":504,"context_line":"        LOG.info(\u0027test_negative subnet: {}\u0027.format(subnet))"},{"line_number":505,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f621f24_8e30010a","line":502,"range":{"start_line":502,"start_character":8,"end_line":502,"end_character":61},"updated":"2020-10-29 09:08:35.000000000","message":"These logs are not necessary as I see","commit_id":"02209a24724df297afe7eeee78521b843024e249"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"e1009528e574a54b03c17732b5a98ee40aa3a5f9","unresolved":false,"context_lines":[{"line_number":499,"context_line":"        # Create network and subnet"},{"line_number":500,"context_line":"        network \u003d self.create_network("},{"line_number":501,"context_line":"            network_name\u003ddata_utils.rand_name(\u0027test_net\u0027))"},{"line_number":502,"context_line":"        LOG.info(\u0027test_negative network: {}\u0027.format(network))"},{"line_number":503,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":504,"context_line":"        LOG.info(\u0027test_negative subnet: {}\u0027.format(subnet))"},{"line_number":505,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f621f24_19bc3904","line":502,"range":{"start_line":502,"start_character":8,"end_line":502,"end_character":61},"in_reply_to":"1f621f24_8e30010a","updated":"2020-10-29 09:26:11.000000000","message":"Actually I had to import \"LOG\" as it wasn\u0027t use in any test case in a whole script :-(\nI think that log it\u0027s important to have messages being logged for debugging. Anyway, I\u0027ll join \"network\" details with \"subnet\" message. Line: 504","commit_id":"02209a24724df297afe7eeee78521b843024e249"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"75e444d84d72fd2ace52318b0590ac7d64f3a82a","unresolved":false,"context_lines":[{"line_number":522,"context_line":"            lib_exc.NotFound,"},{"line_number":523,"context_line":"            self.os_primary.servers_client.remove_security_group,"},{"line_number":524,"context_line":"            server_id\u003dserver[\u0027server\u0027][\u0027id\u0027],"},{"line_number":525,"context_line":"            name\u003dexisting_sg[\u0027security_group\u0027][\u0027id\u0027])"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"        # Try to remove \"Not Existing SG ID\" from VM."},{"line_number":528,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f621f24_391c9569","line":525,"range":{"start_line":525,"start_character":17,"end_line":525,"end_character":52},"updated":"2020-10-29 09:08:35.000000000","message":"This should be ...[\u0027name\u0027], but not sure perhaps it works this way as well","commit_id":"02209a24724df297afe7eeee78521b843024e249"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"76449a1c6a649c3d40c18ab8c04bf31fd266d8c7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from neutron_tempest_plugin.scenario import base"},{"line_number":27,"context_line":"from neutron_tempest_plugin.scenario import constants as const"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from oslo_log import log"},{"line_number":30,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f621f24_cb1c826c","line":29,"updated":"2020-11-02 08:23:04.000000000","message":"this import should goes to the section in L17-L21 as this is import of the 3rd party library.","commit_id":"a230685f1a779dd0aac7b199504c021f52bb3a70"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"3c857b2e75ebcb0af2868875dc3e37267897d232","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from neutron_tempest_plugin.scenario import base"},{"line_number":27,"context_line":"from neutron_tempest_plugin.scenario import constants as const"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from oslo_log import log"},{"line_number":30,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f621f24_2ba41657","line":29,"in_reply_to":"1f621f24_cb1c826c","updated":"2020-11-02 09:41:16.000000000","message":"Will be fixed in the next patch","commit_id":"a230685f1a779dd0aac7b199504c021f52bb3a70"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"76449a1c6a649c3d40c18ab8c04bf31fd266d8c7","unresolved":false,"context_lines":[{"line_number":520,"context_line":"        # from VM."},{"line_number":521,"context_line":"        self.assertRaises("},{"line_number":522,"context_line":"            lib_exc.NotFound,"},{"line_number":523,"context_line":"            self.os_primary.servers_client.remove_security_group,"},{"line_number":524,"context_line":"            server_id\u003dserver[\u0027server\u0027][\u0027id\u0027],"},{"line_number":525,"context_line":"            name\u003dexisting_sg[\u0027security_group\u0027][\u0027id\u0027])"},{"line_number":526,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1f621f24_0b4dda71","line":523,"updated":"2020-11-02 08:23:04.000000000","message":"I\u0027m not sure if we really should have this test in neutron_tempest_plugin as this is really testing Nova\u0027s API: https://docs.openstack.org/api-ref/compute/#remove-security-group-from-a-server-removesecuritygroup-action which is called through this method.\nIt has nothing to do with Neutron really IMO and because of that I think it should go to tempest repository probably.","commit_id":"a230685f1a779dd0aac7b199504c021f52bb3a70"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"3c857b2e75ebcb0af2868875dc3e37267897d232","unresolved":false,"context_lines":[{"line_number":520,"context_line":"        # from VM."},{"line_number":521,"context_line":"        self.assertRaises("},{"line_number":522,"context_line":"            lib_exc.NotFound,"},{"line_number":523,"context_line":"            self.os_primary.servers_client.remove_security_group,"},{"line_number":524,"context_line":"            server_id\u003dserver[\u0027server\u0027][\u0027id\u0027],"},{"line_number":525,"context_line":"            name\u003dexisting_sg[\u0027security_group\u0027][\u0027id\u0027])"},{"line_number":526,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1f621f24_2b19b684","line":523,"in_reply_to":"1f621f24_0b4dda71","updated":"2020-11-02 09:41:16.000000000","message":"1) This test is planned as a part of Neutron tests in Polarion\n\n2) We\u0027ve already discussed this in email thread we had: \"Security group\" - tests to automate\" and it was agreed to merge: (RHOSP7-3461, RHOSP7-3460) tests into one single test under test_security_groups.py :-(","commit_id":"a230685f1a779dd0aac7b199504c021f52bb3a70"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"76449a1c6a649c3d40c18ab8c04bf31fd266d8c7","unresolved":false,"context_lines":[{"line_number":527,"context_line":"        # Try to remove \"Not Existing SG ID\" from VM."},{"line_number":528,"context_line":"        self.assertRaises("},{"line_number":529,"context_line":"            lib_exc.NotFound,"},{"line_number":530,"context_line":"            self.os_primary.servers_client.remove_security_group,"},{"line_number":531,"context_line":"            server_id\u003dserver[\u0027server\u0027][\u0027id\u0027],"},{"line_number":532,"context_line":"            name\u003dnot_existing_sg[\u0027security_group\u0027][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f621f24_eb517e10","line":530,"updated":"2020-11-02 08:23:04.000000000","message":"same comment here also.","commit_id":"a230685f1a779dd0aac7b199504c021f52bb3a70"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"20cb48cc6ec5ed3f22a6dae62954d12a2ed9b69d","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from tempest.lib import decorators"},{"line_number":21,"context_line":"from tempest.lib import exceptions as lib_exc"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from oslo_log import log"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from neutron_tempest_plugin.common import ssh"},{"line_number":26,"context_line":"from neutron_tempest_plugin.common import utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f621f24_5063e81a","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":24},"updated":"2020-11-03 12:41:21.000000000","message":"According to pep8 this import should be on L16, alphabetically in the third-party group.\nBlank line L22 is redundant.\nhttps://www.python.org/dev/peps/pep-0008/#imports","commit_id":"89bf84021ccbf46ea8878bfb9db730b6fc9db55b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"4b7d52a87dc2008f41208be24650cac329aaa675","unresolved":false,"context_lines":[{"line_number":518,"context_line":""},{"line_number":519,"context_line":"        # Try to remove \"Existing SG ID\" that is not associated to VM Network"},{"line_number":520,"context_line":"        # from VM."},{"line_number":521,"context_line":"        self.assertRaises("},{"line_number":522,"context_line":"            lib_exc.NotFound,"},{"line_number":523,"context_line":"            self.os_primary.servers_client.remove_security_group,"},{"line_number":524,"context_line":"            server_id\u003dserver[\u0027server\u0027][\u0027id\u0027],"},{"line_number":525,"context_line":"            name\u003dexisting_sg[\u0027security_group\u0027][\u0027id\u0027])"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"        # Try to remove \"Not Existing SG ID\" from VM."},{"line_number":528,"context_line":"        self.assertRaises("},{"line_number":529,"context_line":"            lib_exc.NotFound,"},{"line_number":530,"context_line":"            self.os_primary.servers_client.remove_security_group,"},{"line_number":531,"context_line":"            server_id\u003dserver[\u0027server\u0027][\u0027id\u0027],"},{"line_number":532,"context_line":"            name\u003dnot_existing_sg[\u0027security_group\u0027][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f621f24_48d0ab54","line":532,"range":{"start_line":521,"start_character":0,"end_line":532,"end_character":57},"updated":"2020-11-18 09:37:27.000000000","message":"I\u0027m still really not sure if that test should be in neutron-tempest-plugin. It is literally not testing neutron at all. 404 reply here comes from Nova API. Neutron replied 200 to the Nova\u0027s request:\n\nNov 03 06:32:41.407463 ubuntu-focal-ovh-bhs1-0021397594 neutron-server[79695]: INFO neutron.wsgi [req-3a6c329b-8f56-4af4-9d11-f71d61647e35 req-d72b4657-d17c-4192-9520-80b86559aae3 tempest-NetworkSecGroupTest-1895413432 tempest-NetworkSecGroupTest-1895413432] 158.69.64.71 \"GET /v2.0/security-groups?id\u003d003360aa-95fd-4bab-8869-4bd8d762bd52\u0026fields\u003did HTTP/1.1\" status: 200  len: 267 time: 0.0498838\n\nSo what\u0027s the point of testing Nova API in neutron-tempest-plugin?","commit_id":"89bf84021ccbf46ea8878bfb9db730b6fc9db55b"}]}
