)]}'
{"api-ref/source/parameters.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"db1a5d8eac56c73172700fd232c12ba9e57bcc46","unresolved":false,"context_lines":[{"line_number":1430,"context_line":"  type: string"},{"line_number":1431,"context_line":"session_persistence_timeout:"},{"line_number":1432,"context_line":"  description: |"},{"line_number":1433,"context_line":"    The timeout, in seconds, after which a SCTP or UDP flow may be rescheduled"},{"line_number":1434,"context_line":"    to a different member. Currently only applies to SCTP or UDP pools with"},{"line_number":1435,"context_line":"    session persistence of SOURCE_IP. Default is 360."},{"line_number":1436,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9f560f44_7db2ebe6","line":1433,"range":{"start_line":1433,"start_character":41,"end_line":1433,"end_character":42},"updated":"2020-09-08 18:32:03.000000000","message":"nit: an","commit_id":"d3e31ecf4383ca21be3fe1105d69f7e04f44f267"}],"doc/source/user/feature-classification/feature-matrix-pool.ini":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"db1a5d8eac56c73172700fd232c12ba9e57bcc46","unresolved":false,"context_lines":[{"line_number":173,"context_line":"[operation.session_persistence.persistence_timeout]"},{"line_number":174,"context_line":"title\u003dsession_persistence - persistence_timeout"},{"line_number":175,"context_line":"status\u003doptional"},{"line_number":176,"context_line":"notes\u003dThe timeout, in seconds, after which a SCTP or UDP flow may be rescheduled to a different member."},{"line_number":177,"context_line":"cli\u003dopenstack loadbalancer pool create --session-persistence persistence_timeout\u003d360 --listener \u003clistener\u003e"},{"line_number":178,"context_line":"driver.amphora\u003dcomplete"},{"line_number":179,"context_line":"driver.ovn\u003dmissing"}],"source_content_type":"text/x-properties","patch_set":9,"id":"9f560f44_1d448fb7","line":176,"range":{"start_line":176,"start_character":43,"end_line":176,"end_character":44},"updated":"2020-09-08 18:32:03.000000000","message":"nit: an","commit_id":"d3e31ecf4383ca21be3fe1105d69f7e04f44f267"}],"doc/source/user/guides/basic-cookbook.rst":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d186a29a9f8c71800fd2ba1c295422b65efa944c","unresolved":false,"context_lines":[{"line_number":882,"context_line":"In this case, using ``TLS-HELLO`` type monitoring is an alternative."},{"line_number":883,"context_line":""},{"line_number":884,"context_line":"``SCTP`` health monitors send an INIT packet to the back-end server\u0027s port."},{"line_number":885,"context_line":"If an application is listening of this port, the Operating System should reply"},{"line_number":886,"context_line":"with an INIT ACK packet, but if the port is closed, it replies with an ABORT"},{"line_number":887,"context_line":"packet."},{"line_number":888,"context_line":"If the health monitor receives an INIT ACK packet, it immediatly closes the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9f560f44_b91ef271","line":885,"range":{"start_line":885,"start_character":31,"end_line":885,"end_character":33},"updated":"2020-08-28 13:46:21.000000000","message":"on","commit_id":"b2c7ffc0a90cbc8f8d179ae0a17e7e4c9fc02144"}],"octavia/amphorae/backends/agent/api_server/util.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d186a29a9f8c71800fd2ba1c295422b65efa944c","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        os.path.join(\u0027/proc\u0027, get_haproxy_pid(lb_id)))"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"# TODO(gthiemonge): rename functions (udp \u0026 sctp)"},{"line_number":208,"context_line":"def get_udp_listeners():"},{"line_number":209,"context_line":"    result \u003d []"},{"line_number":210,"context_line":"    if os.path.exists(keepalived_lvs_dir()):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_19055e15","line":207,"updated":"2020-08-28 13:46:21.000000000","message":"This is a to-do you intended to address in this change or as a follow-up? Just checking.","commit_id":"b2c7ffc0a90cbc8f8d179ae0a17e7e4c9fc02144"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d186a29a9f8c71800fd2ba1c295422b65efa944c","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    return result"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"def is_udp_listener_running(listener_id):"},{"line_number":221,"context_line":"    pid_file \u003d keepalived_lvs_pids_path(listener_id)[0]"},{"line_number":222,"context_line":"    return os.path.exists(pid_file) and os.path.exists("},{"line_number":223,"context_line":"        os.path.join(\u0027/proc\u0027, get_keepalivedlvs_pid(listener_id)))"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_54015d04","line":220,"range":{"start_line":220,"start_character":4,"end_line":220,"end_character":27},"updated":"2020-08-28 13:46:21.000000000","message":"Maybe rename this one too?","commit_id":"b2c7ffc0a90cbc8f8d179ae0a17e7e4c9fc02144"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d186a29a9f8c71800fd2ba1c295422b65efa944c","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    \"\"\""},{"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.PROTOCOL_UDP"},{"line_number":293,"context_line":"    return None"},{"line_number":294,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_7473c1b5","line":291,"updated":"2020-08-28 13:46:21.000000000","message":"UDP or SCTP\n\nThen in inhttps://github.com/openstack/octavia/blob/bf3d5372b9fc670ecd08339fa989c9b738ad8d69/octavia/amphorae/backends/agent/api_server/server.py#L148\n\n    if protocol in (constants.PROTOCOL_UDP, constants.PROTOCOL_SCTP):","commit_id":"b2c7ffc0a90cbc8f8d179ae0a17e7e4c9fc02144"}],"octavia/amphorae/backends/utils/keepalivedlvs_query.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d12ef3a2a5246ae2d8b8bbff8ea906315679ee5a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            result_keys \u003d re.split(r\u0027\\s+\u0027,"},{"line_number":92,"context_line":"                                   LVS_KEY_REGEX.findall(line)[0].strip())"},{"line_number":93,"context_line":"        elif ((line.startswith(\u0027UDP\u0027) or"},{"line_number":94,"context_line":"               line.startswith(\u0027SCTP\u0027)) and find_target_block):"},{"line_number":95,"context_line":"            break"},{"line_number":96,"context_line":"        elif re.match(r\u0027^(UDP|SCTP)\\s+%s\\s+\\w+\u0027 % idex,"},{"line_number":97,"context_line":"                      line):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_e51453eb","line":94,"updated":"2020-06-29 13:44:27.000000000","message":"We should use the constant values here as well if it\u0027s easy enough","commit_id":"55c6f257e17adb131d42a483ad54e6822286c771"}],"octavia/amphorae/drivers/haproxy/rest_api_driver.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d12ef3a2a5246ae2d8b8bbff8ea906315679ee5a","unresolved":false,"context_lines":[{"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.PROTOCOL_UDP,"},{"line_number":158,"context_line":"                                     consts.PROTOCOL_SCTP):"},{"line_number":159,"context_line":"                # Generate Keepalived LVS configuration from listener object"},{"line_number":160,"context_line":"                config \u003d self.udp_jinja.build_config(listener\u003dlistener)"},{"line_number":161,"context_line":"                self.clients[amphora.api_version].upload_udp_config("}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_45a37fb2","line":158,"updated":"2020-06-29 13:44:27.000000000","message":"Is it worth it making a set in the constants file that includes these both?  That way adding a third if necessary in the future would be easier.","commit_id":"55c6f257e17adb131d42a483ad54e6822286c771"}],"octavia/common/constants.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d186a29a9f8c71800fd2ba1c295422b65efa944c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"# \u0027UDP-CONNECT\u0027"},{"line_number":48,"context_line":"HEALTH_MONITOR_UDP_CONNECT \u003d lib_consts.HEALTH_MONITOR_UDP_CONNECT"},{"line_number":49,"context_line":"# \u0027SCTP\u0027"},{"line_number":50,"context_line":"HEALTH_MONITOR_SCTP \u003d lib_consts.HEALTH_MONITOR_SCTP"},{"line_number":51,"context_line":"SUPPORTED_HEALTH_MONITOR_TYPES \u003d lib_consts.SUPPORTED_HEALTH_MONITOR_TYPES"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"# \u0027GET\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_54d4bd47","line":50,"updated":"2020-08-28 13:46:21.000000000","message":"New feature common constants should not be declared this old way (see L18-20). Just use constant from octavia-lib where needed.","commit_id":"b2c7ffc0a90cbc8f8d179ae0a17e7e4c9fc02144"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d186a29a9f8c71800fd2ba1c295422b65efa944c","unresolved":false,"context_lines":[{"line_number":152,"context_line":"# \u0027PROXY\u0027"},{"line_number":153,"context_line":"PROTOCOL_PROXY \u003d lib_consts.PROTOCOL_PROXY"},{"line_number":154,"context_line":"# \u0027SCTP\u0027"},{"line_number":155,"context_line":"PROTOCOL_SCTP \u003d lib_consts.PROTOCOL_SCTP"},{"line_number":156,"context_line":"SUPPORTED_PROTOCOLS \u003d lib_consts.SUPPORTED_PROTOCOLS"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"# \u0027provisioning_status\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_b4c9d9ad","line":155,"updated":"2020-08-28 13:46:21.000000000","message":"ditto","commit_id":"b2c7ffc0a90cbc8f8d179ae0a17e7e4c9fc02144"}],"octavia/common/jinja/lvs/templates/macros.j2":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d12ef3a2a5246ae2d8b8bbff8ea906315679ee5a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        {% if pool.health_monitor and pool.health_monitor.enabled %}"},{"line_number":67,"context_line":"            {% if pool.health_monitor.type \u003d\u003d constants.HEALTH_MONITOR_UDP_CONNECT %}"},{"line_number":68,"context_line":"        {{ misc_check_macro(pool, member, pool.health_monitor) -}}"},{"line_number":69,"context_line":"            {% elif pool.health_monitor.type \u003d\u003d \u0027SCTP\u0027 %}"},{"line_number":70,"context_line":"        {{ sctp_check_macro(pool, member, pool.health_monitor) -}}"},{"line_number":71,"context_line":"            {% elif pool.health_monitor.type \u003d\u003d constants.HEALTH_MONITOR_HTTP and pool.health_monitor.http_method \u003d\u003d constants.HEALTH_MONITOR_HTTP_METHOD_GET %}"},{"line_number":72,"context_line":"        {{ http_get_macro(pool, member, pool.health_monitor) -}}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"bf51134e_05ab4774","line":69,"range":{"start_line":69,"start_character":48,"end_line":69,"end_character":54},"updated":"2020-06-29 13:44:27.000000000","message":"constant?","commit_id":"55c6f257e17adb131d42a483ad54e6822286c771"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d186a29a9f8c71800fd2ba1c295422b65efa944c","unresolved":false,"context_lines":[{"line_number":129,"context_line":"   {% endif %}"},{"line_number":130,"context_line":"{{ health_monitor_vs_macro(default_pool) }}"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"{% if default_pool.protocol.lower() in (\"udp\", \"sctp\") %}"},{"line_number":133,"context_line":"    # Configuration for Pool {{ default_pool.id }}"},{"line_number":134,"context_line":"    {% if default_pool.health_monitor and default_pool.health_monitor.enabled %}"},{"line_number":135,"context_line":"    # Configuration for HealthMonitor {{ default_pool.health_monitor.id }}"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"9f560f44_34bdc902","line":132,"range":{"start_line":132,"start_character":40,"end_line":132,"end_character":53},"updated":"2020-08-28 13:46:21.000000000","message":"Use constants?","commit_id":"b2c7ffc0a90cbc8f8d179ae0a17e7e4c9fc02144"}]}
