)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3288140feb5c734cd2d976ca11e632f88bdcbe8","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When user tries to add stateless and stateful security"},{"line_number":10,"context_line":"groups to instance, neutron raises SecurityGroupConflict (409),"},{"line_number":11,"context_line":"but nova doesnot handle it and raises InternalServerError (500)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As it appears to be invalid operation from user, so user should get"},{"line_number":14,"context_line":"the message that they are doing wrong."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d8328f8d_7ad2a98d","line":11,"updated":"2024-05-21 09:52:11.000000000","message":"does not\n\nalso i think this is because nova was never actully modifed to support stateless security groups.\n\nim also not sure that its invalid to have an instance with both.\n\nif you have an instanstace with multiple ports then provide any one poirnt only has one or the other i think its fine.\n\n\nthe issue here is that when you add a secuirty group to a nova instance we use that as the default for all nova created ports so that is probaly the gap.\n\nan this gap as i said is cuased because nova was never enhanced to support stateless security groups wehn they were intoduced in neuton.","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac29b5100f4bbc848d62912f3dc09de757114a24","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When user tries to add stateless and stateful security"},{"line_number":10,"context_line":"groups to instance, neutron raises SecurityGroupConflict (409),"},{"line_number":11,"context_line":"but nova doesnot handle it and raises InternalServerError (500)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As it appears to be invalid operation from user, so user should get"},{"line_number":14,"context_line":"the message that they are doing wrong."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8d288d1e_6a9731fc","line":11,"in_reply_to":"d8328f8d_7ad2a98d","updated":"2024-05-30 08:06:49.000000000","message":"Acknowledged","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3288140feb5c734cd2d976ca11e632f88bdcbe8","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This changes catches SecurityGroupConflict from neutron"},{"line_number":17,"context_line":"client and raises newly added nova exception SecurityGroupConflict"},{"line_number":18,"context_line":"with 409 error code."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #2056195"},{"line_number":21,"context_line":"Change-Id: Ifad28fdd536ff0a4b30e786b2fcbc5a55987a13a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"65467bdf_0e541a31","line":18,"updated":"2024-05-21 09:52:11.000000000","message":"that sound like a valid approch","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac29b5100f4bbc848d62912f3dc09de757114a24","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This changes catches SecurityGroupConflict from neutron"},{"line_number":17,"context_line":"client and raises newly added nova exception SecurityGroupConflict"},{"line_number":18,"context_line":"with 409 error code."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #2056195"},{"line_number":21,"context_line":"Change-Id: Ifad28fdd536ff0a4b30e786b2fcbc5a55987a13a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5ca41335_4c07ca1c","line":18,"in_reply_to":"65467bdf_0e541a31","updated":"2024-05-30 08:06:49.000000000","message":"Acknowledged","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":26832,"name":"Stefan Hoffmann","email":"stefan.hoffmann@cloudandheat.com","username":"shoffmann"},"change_message_id":"95f47ab0d510a9b538a174edb259e8e3b461ad93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"199ed153_90df7195","updated":"2024-05-03 14:35:44.000000000","message":"This change looks good and seems to solve our issue.\nWe may try it out in our environment.","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"738772f185c85f6d64485363434aec224c6056d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ee7ce21d_5781380e","updated":"2024-05-21 09:34:00.000000000","message":"lgtm, got appropriate msg in compute logs and console.\n`Neutron server returns request_ids: [\u0027req-e0021ff0-b1bf-40cc-ae73-c274eb4c36dc\u0027] (HTTP 409) (Request-ID: req-69a699ea-92a1-40d5-abc1-12ca48e16ba6)`","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3288140feb5c734cd2d976ca11e632f88bdcbe8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1bdbe86c_5f4b8973","updated":"2024-05-21 09:52:11.000000000","message":"please update the excption message as amit suggested","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac29b5100f4bbc848d62912f3dc09de757114a24","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"17feccf5_55fa3dcf","in_reply_to":"1bdbe86c_5f4b8973","updated":"2024-05-30 08:06:49.000000000","message":"Done","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b3bdaed28f18869c054cf18a3b217022558231e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"13605c78_c8df15c6","updated":"2024-05-23 15:54:01.000000000","message":"I think we should improve the name of that exception as like that it is to general.\n\nA SecurityGroupConflict should reflects a global conflict on a Security Group not on a property","commit_id":"fe31d4d7645fd083869004cca4764eb1c6c4ff85"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"9d550d8a1b9530e0dd967f99bccba58660668f46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6c447a24_5ac63134","updated":"2024-05-22 10:18:00.000000000","message":"err msg is printing in console, lgtm.","commit_id":"fe31d4d7645fd083869004cca4764eb1c6c4ff85"},{"author":{"_account_id":37049,"name":"Gökhan Kocak","display_name":"Gökhan Kocak","email":"goekhan.kocak@cloudandheat.com","username":"goekhanski"},"change_message_id":"de7f2b6e96f8b95f3bce2c2a8d124cb561681e91","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4dd81cc5_29612849","updated":"2024-05-31 09:14:59.000000000","message":"Hi, thanks for you work Rajesh Tailor. I successfully tested your patch in Zed.","commit_id":"88b661b0780ee534630c2d345ffd4545158db806"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"4c818183ef10c9036680d3cadafa74ba28916a65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ce4ec388_abd4af4e","updated":"2024-08-29 23:58:36.000000000","message":"Looks OK to me","commit_id":"88b661b0780ee534630c2d345ffd4545158db806"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ade96a1144675bc0d61fabe0f6582a56245971ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"01a64dc7_cdbb557e","updated":"2024-05-30 11:00:32.000000000","message":"recheck nova-multi-cell \"tempest.lib.exceptions.TimeoutException: Request timed out\"","commit_id":"88b661b0780ee534630c2d345ffd4545158db806"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"09c472fc947fc3544d0912fbf40f8102d5c5d63a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"067bb8d1_464b081d","updated":"2024-07-26 11:26:37.000000000","message":"recheck nova-next","commit_id":"88b661b0780ee534630c2d345ffd4545158db806"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac9865863b5b29d35af1ce1d82df0f56ffe75f8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"894cf741_9018704b","updated":"2024-09-02 04:56:13.000000000","message":"recheck nova-next","commit_id":"88b661b0780ee534630c2d345ffd4545158db806"}],"nova/exception.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"738772f185c85f6d64485363434aec224c6056d2","unresolved":true,"context_lines":[{"line_number":1057,"context_line":""},{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"class SecurityGroupConflict(Invalid):"},{"line_number":1060,"context_line":"    code \u003d 409"},{"line_number":1061,"context_line":""},{"line_number":1062,"context_line":""},{"line_number":1063,"context_line":"class NoUniqueMatch(NovaException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"f3a60357_7967a54e","line":1060,"updated":"2024-05-21 09:34:00.000000000","message":"may be we should add msg too here.\n`Cannot apply both stateful and stateless security groups on the same port `","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac29b5100f4bbc848d62912f3dc09de757114a24","unresolved":false,"context_lines":[{"line_number":1057,"context_line":""},{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"class SecurityGroupConflict(Invalid):"},{"line_number":1060,"context_line":"    code \u003d 409"},{"line_number":1061,"context_line":""},{"line_number":1062,"context_line":""},{"line_number":1063,"context_line":"class NoUniqueMatch(NovaException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"2f3116ab_aaed4fed","line":1060,"in_reply_to":"05dc51c1_d2438c18","updated":"2024-05-30 08:06:49.000000000","message":"Done","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3288140feb5c734cd2d976ca11e632f88bdcbe8","unresolved":true,"context_lines":[{"line_number":1057,"context_line":""},{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"class SecurityGroupConflict(Invalid):"},{"line_number":1060,"context_line":"    code \u003d 409"},{"line_number":1061,"context_line":""},{"line_number":1062,"context_line":""},{"line_number":1063,"context_line":"class NoUniqueMatch(NovaException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"05dc51c1_d2438c18","line":1060,"in_reply_to":"f3a60357_7967a54e","updated":"2024-05-21 09:52:11.000000000","message":"+1","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b3bdaed28f18869c054cf18a3b217022558231e3","unresolved":true,"context_lines":[{"line_number":1056,"context_line":"                \" in order to apply security groups.\")"},{"line_number":1057,"context_line":""},{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"class SecurityGroupConflict(Invalid):"},{"line_number":1060,"context_line":"    code \u003d 409"},{"line_number":1061,"context_line":"    msg_fmt \u003d _(\"Cannot apply both stateful and stateless security groups on \""},{"line_number":1062,"context_line":"                \"the same port.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"c00165fe_209db3f8","line":1059,"updated":"2024-05-23 15:54:01.000000000","message":"I think the name of that exception should reflect better the purpose. It\u0027s not an http error conflict exception but a base-code specific exception when an user tries to apply state{full/less} to a port already configured.\n\n`SecurityGroupConnectionStateConflict(Invalid)` Or something like that","commit_id":"fe31d4d7645fd083869004cca4764eb1c6c4ff85"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac29b5100f4bbc848d62912f3dc09de757114a24","unresolved":false,"context_lines":[{"line_number":1056,"context_line":"                \" in order to apply security groups.\")"},{"line_number":1057,"context_line":""},{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"class SecurityGroupConflict(Invalid):"},{"line_number":1060,"context_line":"    code \u003d 409"},{"line_number":1061,"context_line":"    msg_fmt \u003d _(\"Cannot apply both stateful and stateless security groups on \""},{"line_number":1062,"context_line":"                \"the same port.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"d09d49d8_ada6beda","line":1059,"in_reply_to":"c00165fe_209db3f8","updated":"2024-05-30 08:06:49.000000000","message":"Done","commit_id":"fe31d4d7645fd083869004cca4764eb1c6c4ff85"}],"nova/tests/unit/network/test_security_group.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"738772f185c85f6d64485363434aec224c6056d2","unresolved":true,"context_lines":[{"line_number":404,"context_line":"            self.assertRaises(exception.SecurityGroupConflict,"},{"line_number":405,"context_line":"                              sg_api.add_to_instance, self.context,"},{"line_number":406,"context_line":"                              objects.Instance(uuid\u003duuids.instance), sg2_name)"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def test_add_to_instance_duplicate_sg_name(self):"},{"line_number":409,"context_line":"        sg_name \u003d \u0027web_server\u0027"},{"line_number":410,"context_line":"        with mock.patch.object(neutronv20, \u0027find_resourceid_by_name_or_id\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"e9fa36e2_d02d641c","line":407,"updated":"2024-05-21 09:34:00.000000000","message":"there is no difference between both SG except there name, however the main difference is whether SH has stateful or stateless. \nas the Error is from outside nova (hence sideeffect), and we do not really need to create security group, so I think its alright here.","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac29b5100f4bbc848d62912f3dc09de757114a24","unresolved":false,"context_lines":[{"line_number":404,"context_line":"            self.assertRaises(exception.SecurityGroupConflict,"},{"line_number":405,"context_line":"                              sg_api.add_to_instance, self.context,"},{"line_number":406,"context_line":"                              objects.Instance(uuid\u003duuids.instance), sg2_name)"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def test_add_to_instance_duplicate_sg_name(self):"},{"line_number":409,"context_line":"        sg_name \u003d \u0027web_server\u0027"},{"line_number":410,"context_line":"        with mock.patch.object(neutronv20, \u0027find_resourceid_by_name_or_id\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"78dc0129_af643763","line":407,"in_reply_to":"b0ef062f_726082de","updated":"2024-05-30 08:06:49.000000000","message":"Acknowledged","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b3288140feb5c734cd2d976ca11e632f88bdcbe8","unresolved":true,"context_lines":[{"line_number":404,"context_line":"            self.assertRaises(exception.SecurityGroupConflict,"},{"line_number":405,"context_line":"                              sg_api.add_to_instance, self.context,"},{"line_number":406,"context_line":"                              objects.Instance(uuid\u003duuids.instance), sg2_name)"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def test_add_to_instance_duplicate_sg_name(self):"},{"line_number":409,"context_line":"        sg_name \u003d \u0027web_server\u0027"},{"line_number":410,"context_line":"        with mock.patch.object(neutronv20, \u0027find_resourceid_by_name_or_id\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"b0ef062f_726082de","line":407,"in_reply_to":"e9fa36e2_d02d641c","updated":"2024-05-21 09:52:11.000000000","message":"the alternitive way to test this would be to extend the neutron fixture to actully check the type of security group but that would be more of a functional test so i think this is vaild in teh scope of a unit test.","commit_id":"ebc87417f89d5fc72fc59af490b3a4a8a236cf3b"}]}
