)]}'
{".gitignore":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"f930bf0c49e6efa2323de5f143f4836e63c94981","unresolved":false,"context_lines":[{"line_number":61,"context_line":"# Files created by releasenotes build"},{"line_number":62,"context_line":"releasenotes/build"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"# exburent ctags"},{"line_number":65,"context_line":"tags"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"3f79a3b5_08de700e","line":65,"range":{"start_line":64,"start_character":0,"end_line":65,"end_character":4},"updated":"2018-10-25 07:05:51.000000000","message":"This is unrelated to this particular change. If you feel we need this can you send a different patch? It\u0027ll be easy when backporting stuff :)","commit_id":"76f7918f9fd39dc6ca43e2fa86dc811b5808601e"}],"/COMMIT_MSG":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1873db58fcf7124764f32e765f445b1ac73876c8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"to use only UDP or only TCP."},{"line_number":13,"context_line":"The protocol in the LB is set by the FIRST Listener associated with"},{"line_number":14,"context_line":"it."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I1fa13dfbd165f470bfc0b83222bdec36edf70f94"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_fbd111fa","line":15,"updated":"2018-10-05 13:16:27.000000000","message":"Partial-Bug: #1789157","commit_id":"4c47682e1aa8c29405f7ea4a53ad45696cdce808"}],"networking_ovn/octavia/ovn_driver.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1873db58fcf7124764f32e765f445b1ac73876c8","unresolved":false,"context_lines":[{"line_number":462,"context_line":"                                         (\u0027vips\u0027, vip_ips))]"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"    def _is_listener_in_lb(self, lb):"},{"line_number":465,"context_line":"        status \u003d [True for key in list(lb.external_ids)"},{"line_number":466,"context_line":"                  if key.startswith(LB_EXT_IDS_LISTENER_PREFIX)]"},{"line_number":467,"context_line":"        return status"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    def check_lb_protocol(self, lb_id, listener_protocol):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_bb7879f7","line":466,"range":{"start_line":465,"start_character":0,"end_line":466,"end_character":64},"updated":"2018-10-05 13:16:27.000000000","message":"Nit:\n\nThis method should return a boolean not a list of True\u0027s or an empty list.\n\nAlso, if you do not use a list comprehension here you can \"break\" as soon as u find that key which will save computation time.","commit_id":"4c47682e1aa8c29405f7ea4a53ad45696cdce808"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"a3ac829296d21e6873114766b644e5410f209a22","unresolved":false,"context_lines":[{"line_number":462,"context_line":"                                         (\u0027vips\u0027, vip_ips))]"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"    def _is_listener_in_lb(self, lb):"},{"line_number":465,"context_line":"        status \u003d [True for key in list(lb.external_ids)"},{"line_number":466,"context_line":"                  if key.startswith(LB_EXT_IDS_LISTENER_PREFIX)]"},{"line_number":467,"context_line":"        return status"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    def check_lb_protocol(self, lb_id, listener_protocol):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_98d7ae23","line":466,"range":{"start_line":465,"start_character":0,"end_line":466,"end_character":64},"in_reply_to":"3f79a3b5_bb7879f7","updated":"2018-10-07 03:35:47.000000000","message":"I wrote this code inside another function, but then realized it can be used as a separate function itself when it was used in more than one place... therefore the same concept carried forward. But yeah, your comment save precious time :)","commit_id":"4c47682e1aa8c29405f7ea4a53ad45696cdce808"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1873db58fcf7124764f32e765f445b1ac73876c8","unresolved":false,"context_lines":[{"line_number":1232,"context_line":"        self._check_for_supported_protocols(listener.protocol)"},{"line_number":1233,"context_line":"        if not self._ovn_helper.check_lb_protocol(listener.loadbalancer_id,"},{"line_number":1234,"context_line":"                                                  listener.protocol):"},{"line_number":1235,"context_line":"            msg \u003d _(\u0027This loadbalancer does not support %s \u0027"},{"line_number":1236,"context_line":"                    \u0027protocol\u0027) % listener.protocol"},{"line_number":1237,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1238,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1239,"context_line":"                operator_fault_string\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_bbdcf917","line":1236,"range":{"start_line":1235,"start_character":20,"end_line":1236,"end_character":30},"updated":"2018-10-05 13:16:27.000000000","message":"This sound a bit misleading, cause that\u0027s a limitation problem in the OVN load balancer. If the code get to this point it means that the protocol is supported (L1232 is asserting it) but, the LoadBalancer is already configured to use another protocol. Perhaps a message such as:\n\n\"The load balancer %s is already configured to use %s as its protocol. Using a different protocol for the listener is not supported.\"\n\nOr something along those lines.","commit_id":"4c47682e1aa8c29405f7ea4a53ad45696cdce808"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"8b827b78817de7680b9676a8155b3ba43f470d5c","unresolved":false,"context_lines":[{"line_number":1232,"context_line":"        self._check_for_supported_protocols(listener.protocol)"},{"line_number":1233,"context_line":"        if not self._ovn_helper.check_lb_protocol(listener.loadbalancer_id,"},{"line_number":1234,"context_line":"                                                  listener.protocol):"},{"line_number":1235,"context_line":"            msg \u003d _(\u0027This loadbalancer does not support %s \u0027"},{"line_number":1236,"context_line":"                    \u0027protocol\u0027) % listener.protocol"},{"line_number":1237,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1238,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1239,"context_line":"                operator_fault_string\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_fd73094e","line":1236,"range":{"start_line":1235,"start_character":20,"end_line":1236,"end_character":30},"in_reply_to":"3f79a3b5_b8dcea45","updated":"2018-10-09 12:56:10.000000000","message":"The problem with the \"This\" or \"The current\" is that you could have more than one loadbalancer created right ? So, for those looking at the logs they won\u0027t know which one this is been logged for","commit_id":"4c47682e1aa8c29405f7ea4a53ad45696cdce808"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"a3ac829296d21e6873114766b644e5410f209a22","unresolved":false,"context_lines":[{"line_number":1232,"context_line":"        self._check_for_supported_protocols(listener.protocol)"},{"line_number":1233,"context_line":"        if not self._ovn_helper.check_lb_protocol(listener.loadbalancer_id,"},{"line_number":1234,"context_line":"                                                  listener.protocol):"},{"line_number":1235,"context_line":"            msg \u003d _(\u0027This loadbalancer does not support %s \u0027"},{"line_number":1236,"context_line":"                    \u0027protocol\u0027) % listener.protocol"},{"line_number":1237,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1238,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1239,"context_line":"                operator_fault_string\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_b8dcea45","line":1236,"range":{"start_line":1235,"start_character":20,"end_line":1236,"end_character":30},"in_reply_to":"3f79a3b5_bbdcf917","updated":"2018-10-07 03:35:47.000000000","message":"I am playing around with the word \"This\". I can write, \n\"The current loadbalancer is not configured for % protocol since the listener\u0027s protocol does not match with the protocol currently supported by the loadbalancer\".\n\nWaiting for your response on this","commit_id":"4c47682e1aa8c29405f7ea4a53ad45696cdce808"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1873db58fcf7124764f32e765f445b1ac73876c8","unresolved":false,"context_lines":[{"line_number":1236,"context_line":"                    \u0027protocol\u0027) % listener.protocol"},{"line_number":1237,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1238,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1239,"context_line":"                operator_fault_string\u003dmsg)"},{"line_number":1240,"context_line":""},{"line_number":1241,"context_line":"        admin_state_up \u003d listener.admin_state_up"},{"line_number":1242,"context_line":"        if isinstance(admin_state_up, o_datamodels.UnsetType):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_1b672d55","line":1239,"updated":"2018-10-05 13:16:27.000000000","message":"Let\u0027s create a functional test asserting this behavior","commit_id":"4c47682e1aa8c29405f7ea4a53ad45696cdce808"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"a3ac829296d21e6873114766b644e5410f209a22","unresolved":false,"context_lines":[{"line_number":1236,"context_line":"                    \u0027protocol\u0027) % listener.protocol"},{"line_number":1237,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1238,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1239,"context_line":"                operator_fault_string\u003dmsg)"},{"line_number":1240,"context_line":""},{"line_number":1241,"context_line":"        admin_state_up \u003d listener.admin_state_up"},{"line_number":1242,"context_line":"        if isinstance(admin_state_up, o_datamodels.UnsetType):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d8b686fd","line":1239,"in_reply_to":"3f79a3b5_1b672d55","updated":"2018-10-07 03:35:47.000000000","message":"Done","commit_id":"4c47682e1aa8c29405f7ea4a53ad45696cdce808"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"2e57f9ce5a308305e0c0616554ff52ff1d2b2194","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"        self._check_for_supported_protocols(listener.protocol)"},{"line_number":1235,"context_line":"        if not self._ovn_helper.check_lb_protocol("},{"line_number":1236,"context_line":"            listener.loadbalancer_id, listener.protocol):"},{"line_number":1237,"context_line":"            msg \u003d _(\u0027This loadbalancer does not support %s \u0027"},{"line_number":1238,"context_line":"                    \u0027protocol\u0027) % listener.protocol"},{"line_number":1239,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1240,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1241,"context_line":"                operator_fault_string\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_bda27196","line":1238,"range":{"start_line":1237,"start_character":21,"end_line":1238,"end_character":30},"updated":"2018-10-09 12:58:01.000000000","message":"If possible, I would insert the load balancer ID in this message. Otherwise, for those reading the logs it would be hard to identify what is the loadbalancer that this message is talking about.","commit_id":"99f4aa1bad905a673af2a6b12f480c5dbd77b5f4"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"9f6ca92e43db74dce72d35f9643b92dc15d96da3","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"        self._check_for_supported_protocols(listener.protocol)"},{"line_number":1235,"context_line":"        if not self._ovn_helper.check_lb_protocol("},{"line_number":1236,"context_line":"            listener.loadbalancer_id, listener.protocol):"},{"line_number":1237,"context_line":"            msg \u003d _(\u0027This loadbalancer does not support %s \u0027"},{"line_number":1238,"context_line":"                    \u0027protocol\u0027) % listener.protocol"},{"line_number":1239,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1240,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1241,"context_line":"                operator_fault_string\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_d21dbe62","line":1238,"range":{"start_line":1237,"start_character":21,"end_line":1238,"end_character":30},"in_reply_to":"3f79a3b5_bda27196","updated":"2018-10-10 10:32:05.000000000","message":"+1","commit_id":"99f4aa1bad905a673af2a6b12f480c5dbd77b5f4"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"716bdc4dfb892658465fb4d6ca136adb4bdbe895","unresolved":false,"context_lines":[{"line_number":1234,"context_line":"        self._check_for_supported_protocols(listener.protocol)"},{"line_number":1235,"context_line":"        if not self._ovn_helper.check_lb_protocol("},{"line_number":1236,"context_line":"            listener.loadbalancer_id, listener.protocol):"},{"line_number":1237,"context_line":"            msg \u003d _(\u0027This loadbalancer does not support %s \u0027"},{"line_number":1238,"context_line":"                    \u0027protocol\u0027) % listener.protocol"},{"line_number":1239,"context_line":"            raise driver_exceptions.UnsupportedOptionError("},{"line_number":1240,"context_line":"                user_fault_string\u003dmsg,"},{"line_number":1241,"context_line":"                operator_fault_string\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_423ac096","line":1238,"range":{"start_line":1237,"start_character":21,"end_line":1238,"end_character":30},"in_reply_to":"3f79a3b5_bda27196","updated":"2018-10-16 15:21:53.000000000","message":"Done","commit_id":"99f4aa1bad905a673af2a6b12f480c5dbd77b5f4"}],"networking_ovn/tests/functional/octavia/test_ovn_driver.py":[{"author":{"_account_id":10237,"name":"Numan Siddique","email":"nusiddiq@redhat.com","username":"numansiddique"},"change_message_id":"a3b054a97f52765d3dddd4c2d82e3654bea25d98","unresolved":false,"context_lines":[{"line_number":745,"context_line":"        m_listener.protocol \u003d o_constants.PROTOCOL_HTTP"},{"line_number":746,"context_line":"        self.assertRaises(o_exceptions.UnsupportedOptionError,"},{"line_number":747,"context_line":"                          self.ovn_driver.listener_create, m_listener)"},{"line_number":748,"context_line":"        self._create_listener_and_validate(lb_data)"},{"line_number":749,"context_line":"        self.assertRaises(o_exceptions.UnsupportedOptionError,"},{"line_number":750,"context_line":"                          self._create_listener_and_validate,"},{"line_number":751,"context_line":"                          lb_data, protocol_port\u003d80, protocol\u003d\u0027UDP\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_e8de943a","line":748,"updated":"2018-10-25 06:53:03.000000000","message":"It would be nice to add another test scenario - create a listener with udp and see that adding another listener with tcp protocol fails.\nAlthough both the cases, will cover the same code path. So I am not too particular about it.","commit_id":"76f7918f9fd39dc6ca43e2fa86dc811b5808601e"}]}
