)]}'
{"octavia/amphorae/backends/agent/api_server/server.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8cfbe6f3cb544bc5ef1924cce511a8223e0d036b","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"            CONF.mutate_config_files()"},{"line_number":246,"context_line":"        except Exception as e:"},{"line_number":247,"context_line":"            LOG.error(\"Unable to update amphora-agent configuration: \""},{"line_number":248,"context_line":"                      \"{}\".format(str(e)))"},{"line_number":249,"context_line":"            return webob.Response(json\u003ddict("},{"line_number":250,"context_line":"                message\u003d\"Unable to update amphora-agent configuration.\","}],"source_content_type":"text/x-python","patch_set":3,"id":"1f621f24_c3eb2275","line":247,"updated":"2020-11-16 10:27:49.000000000","message":"pep8: H904: String interpolation should be delayed to be handled by the logging code, rather than being done at the point of the logging call. Use \u0027,\u0027 instead of \u0027%\u0027.","commit_id":"1ccf31ce2b488377091f552e9dd20ff1ec88d421"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c936fb962e0b1bdf518606a5de8a628e414233a1","unresolved":true,"context_lines":[{"line_number":151,"context_line":"    def start_stop_lb_object(self, object_id, action):"},{"line_number":152,"context_line":"        protocol \u003d util.get_protocol_for_lb_object(object_id)"},{"line_number":153,"context_line":"        # protocol is either TCP_PROTOCOL or LVS_PROTOCOLS"},{"line_number":154,"context_line":"        if protocol \u003d\u003d consts.LVS_PROTOCOLS:"},{"line_number":155,"context_line":"            return self._lvs_listener.manage_lvs_listener("},{"line_number":156,"context_line":"                listener_id\u003dobject_id, action\u003daction)"},{"line_number":157,"context_line":"        return self._loadbalancer.start_stop_lb(lb_id\u003dobject_id, action\u003daction)"}],"source_content_type":"text/x-python","patch_set":4,"id":"826b2096_ed3d7903","line":154,"updated":"2020-11-25 03:25:58.000000000","message":"Why \u003d\u003d and not \u0027in\u0027 ?  LVS_PROTOCOLS is a list","commit_id":"683fb484e3c4d76a91cf7bfeda58e3a045bfb4b4"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a7f6900c34e013ce0e770b71e2c54a61aff60cf7","unresolved":true,"context_lines":[{"line_number":151,"context_line":"    def start_stop_lb_object(self, object_id, action):"},{"line_number":152,"context_line":"        protocol \u003d util.get_protocol_for_lb_object(object_id)"},{"line_number":153,"context_line":"        # protocol is either TCP_PROTOCOL or LVS_PROTOCOLS"},{"line_number":154,"context_line":"        if protocol \u003d\u003d consts.LVS_PROTOCOLS:"},{"line_number":155,"context_line":"            return self._lvs_listener.manage_lvs_listener("},{"line_number":156,"context_line":"                listener_id\u003dobject_id, action\u003daction)"},{"line_number":157,"context_line":"        return self._loadbalancer.start_stop_lb(lb_id\u003dobject_id, action\u003daction)"}],"source_content_type":"text/x-python","patch_set":4,"id":"190bdb6d_9e1d2da6","line":154,"in_reply_to":"826b2096_ed3d7903","updated":"2020-11-25 08:22:27.000000000","message":"2. As explained in 1, get_protocol_for_lb_object returns either TCP_PROTOCOL (a string) or LVS_PROTOCOLS (a list)","commit_id":"683fb484e3c4d76a91cf7bfeda58e3a045bfb4b4"}],"octavia/amphorae/backends/agent/api_server/util.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c936fb962e0b1bdf518606a5de8a628e414233a1","unresolved":true,"context_lines":[{"line_number":289,"context_line":"    if os.path.exists(config_path(object_id)):"},{"line_number":290,"context_line":"        return consts.PROTOCOL_TCP"},{"line_number":291,"context_line":"    if os.path.exists(keepalived_lvs_cfg_path(object_id)):"},{"line_number":292,"context_line":"        return consts.LVS_PROTOCOLS"},{"line_number":293,"context_line":"    return None"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"41daa551_425100f6","line":292,"updated":"2020-11-25 03:25:58.000000000","message":"Does caller expect a list?  Maybe this is related to my other comment.","commit_id":"683fb484e3c4d76a91cf7bfeda58e3a045bfb4b4"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a7f6900c34e013ce0e770b71e2c54a61aff60cf7","unresolved":true,"context_lines":[{"line_number":289,"context_line":"    if os.path.exists(config_path(object_id)):"},{"line_number":290,"context_line":"        return consts.PROTOCOL_TCP"},{"line_number":291,"context_line":"    if os.path.exists(keepalived_lvs_cfg_path(object_id)):"},{"line_number":292,"context_line":"        return consts.LVS_PROTOCOLS"},{"line_number":293,"context_line":"    return None"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"846ad06e_6c4a83d2","line":292,"in_reply_to":"41daa551_425100f6","updated":"2020-11-25 08:22:27.000000000","message":"Yeah that might be confusing, I\u0027m not really happy with this.\n\n1. The goal of the function is to return whether a listener is TCP-based (haproxy) or UDP/SCTP-based (keepalived), the caller should except \u0027TCP\u0027 or [\u0027UDP\u0027, \u0027SCTP\u0027]\nI believe that returning TCP for HTTP/HTTPS Listeners is Ok, but I could introduce a new constant that would represent LVS-based listener (\u0027LVS\u0027)\n\nPerhaps I\u0027d rename get_protocol_for_lb_object into get_backend_for_lb_object (that returns \u0027HAPROXY\u0027 or \u0027LVS\u0027)","commit_id":"683fb484e3c4d76a91cf7bfeda58e3a045bfb4b4"}],"octavia/amphorae/drivers/haproxy/rest_api_driver.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8cfbe6f3cb544bc5ef1924cce511a8223e0d036b","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                    else:"},{"line_number":204,"context_line":"                        listeners_to_update.append(listener)"},{"line_number":205,"context_line":"                except Exception as e:"},{"line_number":206,"context_line":"                    LOG.exception(\u0027Unable to update listener {0} due to \u0027"},{"line_number":207,"context_line":"                                  \u0027\"{1}\". Skipping this listener.\u0027.format("},{"line_number":208,"context_line":"                                      listener.id, e))"},{"line_number":209,"context_line":"                    listener_repo \u003d repo.ListenerRepository()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f621f24_23065653","line":206,"updated":"2020-11-16 10:27:49.000000000","message":"pep8: H904: String interpolation should be delayed to be handled by the logging code, rather than being done at the point of the logging call. Use \u0027,\u0027 instead of \u0027%\u0027.","commit_id":"1ccf31ce2b488377091f552e9dd20ff1ec88d421"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8cfbe6f3cb544bc5ef1924cce511a8223e0d036b","unresolved":false,"context_lines":[{"line_number":588,"context_line":"            self.clients[amphora.api_version].update_agent_config("},{"line_number":589,"context_line":"                amphora, agent_config, timeout_dict\u003dtimeout_dict)"},{"line_number":590,"context_line":"        except exc.NotFound as e:"},{"line_number":591,"context_line":"            LOG.debug(\u0027Amphora {} does not support the update_agent_config \u0027"},{"line_number":592,"context_line":"                      \u0027API.\u0027.format(amphora.id))"},{"line_number":593,"context_line":"            raise driver_except.AmpDriverNotImplementedError() from e"},{"line_number":594,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f621f24_03019a38","line":591,"updated":"2020-11-16 10:27:49.000000000","message":"pep8: H904: String interpolation should be delayed to be handled by the logging code, rather than being done at the point of the logging call. Use \u0027,\u0027 instead of \u0027%\u0027.","commit_id":"1ccf31ce2b488377091f552e9dd20ff1ec88d421"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c936fb962e0b1bdf518606a5de8a628e414233a1","unresolved":true,"context_lines":[{"line_number":154,"context_line":"        for listener in loadbalancer.listeners:"},{"line_number":155,"context_line":"            LOG.debug(\"%s updating listener %s on amphora %s\","},{"line_number":156,"context_line":"                      self.__class__.__name__, listener.id, amphora.id)"},{"line_number":157,"context_line":"            if listener.protocol in consts.LVS_PROTOCOLS:"},{"line_number":158,"context_line":"                # Generate Keepalived LVS configuration from listener object"},{"line_number":159,"context_line":"                config \u003d self.lvs_jinja.build_config(listener\u003dlistener)"},{"line_number":160,"context_line":"                self.clients[amphora.api_version].upload_udp_config("}],"source_content_type":"text/x-python","patch_set":4,"id":"ae1c2570_f276459f","line":157,"updated":"2020-11-25 03:25:58.000000000","message":"And here you use \u0027in\u0027, so I\u0027m truly confused.  Same below","commit_id":"683fb484e3c4d76a91cf7bfeda58e3a045bfb4b4"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a7f6900c34e013ce0e770b71e2c54a61aff60cf7","unresolved":true,"context_lines":[{"line_number":154,"context_line":"        for listener in loadbalancer.listeners:"},{"line_number":155,"context_line":"            LOG.debug(\"%s updating listener %s on amphora %s\","},{"line_number":156,"context_line":"                      self.__class__.__name__, listener.id, amphora.id)"},{"line_number":157,"context_line":"            if listener.protocol in consts.LVS_PROTOCOLS:"},{"line_number":158,"context_line":"                # Generate Keepalived LVS configuration from listener object"},{"line_number":159,"context_line":"                config \u003d self.lvs_jinja.build_config(listener\u003dlistener)"},{"line_number":160,"context_line":"                self.clients[amphora.api_version].upload_udp_config("}],"source_content_type":"text/x-python","patch_set":4,"id":"50f34c09_8eedfc18","line":157,"in_reply_to":"ae1c2570_f276459f","updated":"2020-11-25 08:22:27.000000000","message":"3. That part is not related to the 2 previous comments, but might be confusing as well.\nHere, we want to know if the protocol a the listener uses a LVS backend or HAPROXY backend","commit_id":"683fb484e3c4d76a91cf7bfeda58e3a045bfb4b4"}],"octavia/common/config.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"ba5a497ac241fa81154086152dc96c472d4083b4","unresolved":true,"context_lines":[{"line_number":208,"context_line":"               help\u003d\u0027The UDP API backend for amphora agent.\u0027,"},{"line_number":209,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":210,"context_line":"               deprecated_reason\u003d_(\u0027amphora-agent will not support any other \u0027"},{"line_number":211,"context_line":"                                   \u0027backend than keepalived_lvs.\u0027),"},{"line_number":212,"context_line":"               deprecated_since\u003d\u0027Wallaby\u0027),"},{"line_number":213,"context_line":"]"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ac63e5ef_b6d9be8e","line":211,"updated":"2021-01-04 11:14:09.000000000","message":"nit: \"will not\" is a bit too strong/decisive. There may be other drivers in the future, like HAProxy (for QUIC and HTTP3 implementations). Maybe consider rephrasing from \"will not\" to \"does not\"?","commit_id":"e2a3a91972c1ef0aebdb9d328d4d79cd825240a3"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"3fc50b514d741b041fd455cf1a92b4f6e8b2ff0b","unresolved":true,"context_lines":[{"line_number":208,"context_line":"               help\u003d\u0027The UDP API backend for amphora agent.\u0027,"},{"line_number":209,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":210,"context_line":"               deprecated_reason\u003d_(\u0027amphora-agent will not support any other \u0027"},{"line_number":211,"context_line":"                                   \u0027backend than keepalived_lvs.\u0027),"},{"line_number":212,"context_line":"               deprecated_since\u003d\u0027Wallaby\u0027),"},{"line_number":213,"context_line":"]"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"050cb717_31facecf","line":211,"in_reply_to":"ac63e5ef_b6d9be8e","updated":"2021-01-05 07:21:35.000000000","message":"My point is that the amphora supports only keepalived_lvs as UDP driver. What about:\n    deprecated_reason\u003d_(\u0027amphora-agent will not support any other \u0027\n                        \u0027backend than keepalived_lvs as UDP driver.\u0027),\n?","commit_id":"e2a3a91972c1ef0aebdb9d328d4d79cd825240a3"}],"octavia/network/drivers/neutron/allowed_address_pairs.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8cfbe6f3cb544bc5ef1924cce511a8223e0d036b","unresolved":false,"context_lines":[{"line_number":351,"context_line":"        try:"},{"line_number":352,"context_line":"            port \u003d self.get_port(vip.port_id)"},{"line_number":353,"context_line":"        except base.PortNotFound:"},{"line_number":354,"context_line":"            LOG.warning(\"Can\u0027t deallocate VIP because the vip port {0} \""},{"line_number":355,"context_line":"                        \"cannot be found in neutron. \""},{"line_number":356,"context_line":"                        \"Continuing cleanup.\".format(vip.port_id))"},{"line_number":357,"context_line":"            port \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f621f24_63fcce3d","line":354,"updated":"2020-11-16 10:27:49.000000000","message":"pep8: H904: String interpolation should be delayed to be handled by the logging code, rather than being done at the point of the logging call. Use \u0027,\u0027 instead of \u0027%\u0027.","commit_id":"1ccf31ce2b488377091f552e9dd20ff1ec88d421"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8cfbe6f3cb544bc5ef1924cce511a8223e0d036b","unresolved":false,"context_lines":[{"line_number":624,"context_line":"        elif not for_delete:"},{"line_number":625,"context_line":"            raise exceptions.MissingVIPSecurityGroup(lb_id\u003dload_balancer.id)"},{"line_number":626,"context_line":"        else:"},{"line_number":627,"context_line":"            LOG.warning(\u0027VIP security group missing when updating the VIP for \u0027"},{"line_number":628,"context_line":"                        \u0027delete on load balancer: {lb_id}. Skipping update \u0027"},{"line_number":629,"context_line":"                        \u0027because this is for delete.\u0027.format("},{"line_number":630,"context_line":"                            lb_id\u003dload_balancer.id))"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f621f24_43f7125a","line":627,"updated":"2020-11-16 10:27:49.000000000","message":"pep8: H904: String interpolation should be delayed to be handled by the logging code, rather than being done at the point of the logging call. Use \u0027,\u0027 instead of \u0027%\u0027.","commit_id":"1ccf31ce2b488377091f552e9dd20ff1ec88d421"}],"releasenotes/notes/add-sctp-support-in-amphora-driver-d6e60731029badf5.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c936fb962e0b1bdf518606a5de8a628e414233a1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for SCTP protocol in the Amphora driver. Support for SCTP"},{"line_number":5,"context_line":"    listeners and pools is implemented using keepalived in the amphora. Support"},{"line_number":6,"context_line":"    for SCTP health monitors is provided by the amphora-health-checker script"},{"line_number":7,"context_line":"    and relies on an INIT/INIT-ACK/ABORT sequence of packets."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7fc2eb92_6dc4b4f7","line":4,"range":{"start_line":4,"start_character":16,"end_line":4,"end_character":19},"updated":"2020-11-25 03:25:58.000000000","message":"nit: for the","commit_id":"683fb484e3c4d76a91cf7bfeda58e3a045bfb4b4"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a7f6900c34e013ce0e770b71e2c54a61aff60cf7","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for SCTP protocol in the Amphora driver. Support for SCTP"},{"line_number":5,"context_line":"    listeners and pools is implemented using keepalived in the amphora. Support"},{"line_number":6,"context_line":"    for SCTP health monitors is provided by the amphora-health-checker script"},{"line_number":7,"context_line":"    and relies on an INIT/INIT-ACK/ABORT sequence of packets."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"99ef5305_440ad7b7","line":4,"range":{"start_line":4,"start_character":16,"end_line":4,"end_character":19},"in_reply_to":"7fc2eb92_6dc4b4f7","updated":"2020-11-25 08:22:27.000000000","message":"thanks, I\u0027ll fix it","commit_id":"683fb484e3c4d76a91cf7bfeda58e3a045bfb4b4"}]}
