)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"6fc4f1184d5457c97581b1407962d6c66a9e5ba1","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"This change must be cherry-picked to stable branches."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"As next steps OVNProvider driver should be decomposed to:"},{"line_number":43,"context_line":"   * Provider Agent as described in [1]"},{"line_number":44,"context_line":"   * Provider Driver without Queue mechanism"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"[1] https://docs.openstack.org/octavia/latest/contributor/guides/providers.html#provider-agents"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_b69406e9","line":44,"range":{"start_line":42,"start_character":0,"end_line":44,"end_character":44},"updated":"2019-12-16 11:23:58.000000000","message":"yes please","commit_id":"95a72ce41484e14f8f3f4f2186e9387483fc2730"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"27e30511821151707dcce44555f871eb6bd01a60","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Every time when a request comes from Octavia API and"},{"line_number":10,"context_line":"is passed down to provider driver Octavia creates new"},{"line_number":11,"context_line":"instance of Provider driver. This is good approach"},{"line_number":12,"context_line":"while an API layer don\u0027t want to wait for previous API"},{"line_number":13,"context_line":"actions to be end first, if centralized driver approach"},{"line_number":14,"context_line":"will be used."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_d7ac63ef","line":12,"range":{"start_line":12,"start_character":19,"end_line":12,"end_character":22},"updated":"2020-01-08 08:31:59.000000000","message":"doesn","commit_id":"7540e04f8e2556ac28440908750cf85126c23e0f"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"27e30511821151707dcce44555f871eb6bd01a60","unresolved":false,"context_lines":[{"line_number":10,"context_line":"is passed down to provider driver Octavia creates new"},{"line_number":11,"context_line":"instance of Provider driver. This is good approach"},{"line_number":12,"context_line":"while an API layer don\u0027t want to wait for previous API"},{"line_number":13,"context_line":"actions to be end first, if centralized driver approach"},{"line_number":14,"context_line":"will be used."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"On different angle we have OvnProviderDriver and its"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_b7ad27e8","line":13,"range":{"start_line":13,"start_character":8,"end_line":13,"end_character":17},"updated":"2020-01-08 08:31:59.000000000","message":"to finish?","commit_id":"7540e04f8e2556ac28440908750cf85126c23e0f"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"27e30511821151707dcce44555f871eb6bd01a60","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"That solution does not scale while using it with Octavia"},{"line_number":29,"context_line":"approach. There is a problem with thread leaking, because"},{"line_number":30,"context_line":"in OvnProviderHelper we don\u0027t stop runner thread and we thread"},{"line_number":31,"context_line":"it as daemon."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"In addition on each API call the OVN Driver and dependent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_d7954389","line":30,"range":{"start_line":30,"start_character":56,"end_line":30,"end_character":62},"updated":"2020-01-08 08:31:59.000000000","message":"treat","commit_id":"7540e04f8e2556ac28440908750cf85126c23e0f"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"27e30511821151707dcce44555f871eb6bd01a60","unresolved":false,"context_lines":[{"line_number":28,"context_line":"That solution does not scale while using it with Octavia"},{"line_number":29,"context_line":"approach. There is a problem with thread leaking, because"},{"line_number":30,"context_line":"in OvnProviderHelper we don\u0027t stop runner thread and we thread"},{"line_number":31,"context_line":"it as daemon."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"In addition on each API call the OVN Driver and dependent"},{"line_number":34,"context_line":"components objects are created, this is big overhead."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_97e02b29","line":31,"range":{"start_line":31,"start_character":6,"end_line":31,"end_character":12},"updated":"2020-01-08 08:31:59.000000000","message":"a daemon ?","commit_id":"7540e04f8e2556ac28440908750cf85126c23e0f"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"27e30511821151707dcce44555f871eb6bd01a60","unresolved":false,"context_lines":[{"line_number":31,"context_line":"it as daemon."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"In addition on each API call the OVN Driver and dependent"},{"line_number":34,"context_line":"components objects are created, this is big overhead."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"To mitigate those architectural issues there is a possibility"},{"line_number":37,"context_line":"to cache created OVNProviderHelper object and use one"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_57d07353","line":34,"range":{"start_line":34,"start_character":40,"end_line":34,"end_character":43},"updated":"2020-01-08 08:31:59.000000000","message":"a big ?","commit_id":"7540e04f8e2556ac28440908750cf85126c23e0f"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"27e30511821151707dcce44555f871eb6bd01a60","unresolved":false,"context_lines":[{"line_number":37,"context_line":"to cache created OVNProviderHelper object and use one"},{"line_number":38,"context_line":"instance of it for one Octavia API worker process."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"This change must be cherry-picked to stable branches."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"As next steps OVNProvider driver should be decomposed to:"},{"line_number":43,"context_line":"   * Provider Agent as described in [1]"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_37c937aa","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":53},"updated":"2020-01-08 08:31:59.000000000","message":"I would remove this line","commit_id":"7540e04f8e2556ac28440908750cf85126c23e0f"}],"networking_ovn/octavia/ovn_driver.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d89d9316e4d14672b23b52ec12cefa7c7104e41e","unresolved":false,"context_lines":[{"line_number":1568,"context_line":"    def __init__(self):"},{"line_number":1569,"context_line":"        super(OvnProviderDriver, self).__init__()"},{"line_number":1570,"context_line":"        if not OvnProviderDriver._ovn_helper:"},{"line_number":1571,"context_line":"            OvnProviderDriver._ovn_helper \u003d OvnProviderHelper()"},{"line_number":1572,"context_line":""},{"line_number":1573,"context_line":"    def _check_for_supported_protocols(self, protocol):"},{"line_number":1574,"context_line":"        if protocol not in OVN_NATIVE_LB_PROTOCOLS:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_f677ded0","line":1571,"updated":"2019-12-16 11:26:58.000000000","message":"As an alternative implementation we could make OvnProviderHelper a singleton","commit_id":"95a72ce41484e14f8f3f4f2186e9387483fc2730"}]}
