)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"0eabde923d672fde9baa1c308e84bbc37415202c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"default_pool_ciphers are used when generating haproxy.conf for any"},{"line_number":16,"context_line":"loadbalancer (not as defaults), since a per-listner/pool cipher"},{"line_number":17,"context_line":"field doesn\u0027t exist in the database yet."},{"line_number":18,"context_line":"This will addressed as part of tasks 36839 and 37172."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I77da6f14063877af0077f2c12df1aab5d5ead187"},{"line_number":21,"context_line":"Story: 2006627"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1fa4df85_cf706c0b","line":18,"range":{"start_line":18,"start_character":37,"end_line":18,"end_character":53},"updated":"2020-03-05 07:22:24.000000000","message":"You should add\nTask 36839\nTask 37172","commit_id":"6a562e43b97d91c1af1ba2f77ff3411d902a1855"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"0eabde923d672fde9baa1c308e84bbc37415202c","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I77da6f14063877af0077f2c12df1aab5d5ead187"},{"line_number":21,"context_line":"Story: 2006627"},{"line_number":22,"context_line":"Task: 36838"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1fa4df85_6f637843","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":11},"updated":"2020-03-05 07:22:24.000000000","message":"This one is already on the review https://review.opendev.org/#/c/685337/","commit_id":"6a562e43b97d91c1af1ba2f77ff3411d902a1855"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"432358fb11a8040ae7316eb855c9fcfadd77c30e","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I77da6f14063877af0077f2c12df1aab5d5ead187"},{"line_number":21,"context_line":"Story: 2006627"},{"line_number":22,"context_line":"Task: 36838"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1fa4df85_084af0aa","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":11},"in_reply_to":"1fa4df85_6f637843","updated":"2020-03-05 20:16:28.000000000","message":"Yep, this task number is already proposed and assigned to Ann. Just update the task list here for:\nTask: 36839 \nAs that is the task on the story you are working on.","commit_id":"6a562e43b97d91c1af1ba2f77ff3411d902a1855"}],"api-ref/source/parameters.yaml":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":1503,"context_line":"  min_version: 2.1"},{"line_number":1504,"context_line":"  required: false"},{"line_number":1505,"context_line":"  type: integer"},{"line_number":1506,"context_line":"tls_ciphers:"},{"line_number":1507,"context_line":"  description: |"},{"line_number":1508,"context_line":"    List of accepted ciphers in OpenSSL format."},{"line_number":1509,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_c49d7558","line":1506,"updated":"2020-03-26 16:52:10.000000000","message":"This one should become \"tls_ciphers-optional\" and we should add one that is not optional (required: true).\nWe do this so that the \"response\" documents show as \"required\" and don\u0027t have the \"(optional)\" next to them.\nIn the Octavia API we will always return that field in the response, whether it is set or not, so we signal to the user that they can expect it to always be there in the response, not just when it is set.","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"7e7f4e28f4af4dc578485facbbbd3bc8ae27aef2","unresolved":false,"context_lines":[{"line_number":1505,"context_line":"  type: integer"},{"line_number":1506,"context_line":"tls_ciphers:"},{"line_number":1507,"context_line":"  description: |"},{"line_number":1508,"context_line":"    List of ciphers in OpenSSL format."},{"line_number":1509,"context_line":"  in: body"},{"line_number":1510,"context_line":"  min_version: 2.15"},{"line_number":1511,"context_line":"  required: true"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"df33271e_e0588a57","line":1508,"range":{"start_line":1508,"start_character":4,"end_line":1508,"end_character":8},"updated":"2020-04-06 21:25:10.000000000","message":"Colon separated?","commit_id":"5a4fdeaa6c74dd6df10d59cb39c8b5e6088e2181"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"7e7f4e28f4af4dc578485facbbbd3bc8ae27aef2","unresolved":false,"context_lines":[{"line_number":1505,"context_line":"  type: integer"},{"line_number":1506,"context_line":"tls_ciphers:"},{"line_number":1507,"context_line":"  description: |"},{"line_number":1508,"context_line":"    List of ciphers in OpenSSL format."},{"line_number":1509,"context_line":"  in: body"},{"line_number":1510,"context_line":"  min_version: 2.15"},{"line_number":1511,"context_line":"  required: true"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"df33271e_c0a7464f","line":1508,"updated":"2020-04-06 21:25:10.000000000","message":"It would be nice to point users to where they can find these cipher strings. Maybe link to https://www.openssl.org/docs/manmaster/man1/openssl.html ?","commit_id":"5a4fdeaa6c74dd6df10d59cb39c8b5e6088e2181"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"7e7f4e28f4af4dc578485facbbbd3bc8ae27aef2","unresolved":false,"context_lines":[{"line_number":1512,"context_line":"  type: string"},{"line_number":1513,"context_line":"tls_ciphers-optional:"},{"line_number":1514,"context_line":"  description: |"},{"line_number":1515,"context_line":"    List of ciphers in OpenSSL format."},{"line_number":1516,"context_line":"  in: body"},{"line_number":1517,"context_line":"  min_version: 2.15"},{"line_number":1518,"context_line":"  required: false"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"df33271e_20627217","line":1515,"updated":"2020-04-06 21:25:10.000000000","message":"Same as above.","commit_id":"5a4fdeaa6c74dd6df10d59cb39c8b5e6088e2181"}],"api-ref/source/v2/examples/listener-create-curl":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":1,"context_line":"curl -X POST -H \"Content-Type: application/json\" -H \"X-Auth-Token: \u003ctoken\u003e\" -d \u0027{\"listener\": {\"protocol\": \"TERMINATED_HTTPS\", \"description\": \"A great TLS listener\", \"admin_state_up\": true, \"connection_limit\": 200, \"protocol_port\": \"443\", \"loadbalancer_id\": \"607226db-27ef-4d41-ae89-f2a800e9c2db\", \"name\": \"great_tls_listener\", \"insert_headers\": {\"X-Forwarded-For\": \"true\", \"X-Forwarded-Port\": \"true\"}, \"default_tls_container_ref\": \"http://198.51.100.10:9311/v1/containers/a570068c-d295-4780-91d4-3046a325db51\", \"sni_container_refs\": [\"http://198.51.100.10:9311/v1/containers/a570068c-d295-4780-91d4-3046a325db51\", \"http://198.51.100.10:9311/v1/containers/aaebb31e-7761-4826-8cb4-2b829caca3ee\"], \"timeout_client_data\": 50000, \"timeout_member_connect\": 5000, \"timeout_member_data\": 50000, \"timeout_tcp_inspect\": 0, \"tags\": [\"test_tag\"], \"client_ca_tls_container_ref\": \"http://198.51.100.10:9311/v1/containers/35649991-49f3-4625-81ce-2465fe8932e5\", \"client_authentication\": \"MANDATORY\", \"client_crl_container_ref\": \"http://198.51.100.10:9311/v1/containers/e222b065-b93b-4e2a-9a02-804b7a118c3c\", \"allowed_cidrs\": [\"192.0.2.0/24\", \"198.51.100.0/24\"], \"tls_ciphers\": \"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\"}}\u0027 http://198.51.100.10:9876/v2/lbaas/listeners"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"df33271e_e4cb5950","line":1,"updated":"2020-03-26 16:52:10.000000000","message":"nit: Maybe just two examples to keep this shorter?","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"api-ref/source/v2/examples/listener-create-request.json":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":28,"context_line":"            \"192.0.2.0/24\","},{"line_number":29,"context_line":"            \"198.51.100.0/24\""},{"line_number":30,"context_line":"        ],"},{"line_number":31,"context_line":"        \"tls_ciphers\": \"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\""},{"line_number":32,"context_line":"    }"},{"line_number":33,"context_line":"}"}],"source_content_type":"application/json","patch_set":3,"id":"df33271e_1742da10","line":31,"updated":"2020-03-27 19:15:21.000000000","message":"If you adjust the curl example per Michael\u0027s comment (which I agree with),  you should make sure it matches here.","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"api-ref/source/v2/examples/listener-create-response.json":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            \"192.0.2.0/24\","},{"line_number":44,"context_line":"            \"198.51.100.0/24\""},{"line_number":45,"context_line":"        ],"},{"line_number":46,"context_line":"        \"tls_ciphers\": \"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\""},{"line_number":47,"context_line":"    }"},{"line_number":48,"context_line":"}"}],"source_content_type":"application/json","patch_set":3,"id":"df33271e_f744961d","line":46,"updated":"2020-03-27 19:15:21.000000000","message":"and here","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"api-ref/source/v2/examples/listener-show-response.json":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            \"192.0.2.0/24\","},{"line_number":44,"context_line":"            \"198.51.100.0/24\""},{"line_number":45,"context_line":"        ],"},{"line_number":46,"context_line":"        \"tls_ciphers\": \"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\""},{"line_number":47,"context_line":"    }"},{"line_number":48,"context_line":"}"}],"source_content_type":"application/json","patch_set":3,"id":"df33271e_97554ac9","line":46,"updated":"2020-03-27 19:15:21.000000000","message":"and here? lol so many places","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"api-ref/source/v2/examples/listener-update-curl":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: \u003ctoken\u003e\" -d \u0027{\"listener\": {\"description\": \"An updated great TLS listener\", \"admin_state_up\": true, \"connection_limit\": 200, \"name\": \"great_updated_tls_listener\", \"insert_headers\": {\"X-Forwarded-For\": \"false\", \"X-Forwarded-Port\": \"true\"}, \"default_tls_container_ref\": \"http://198.51.100.10:9311/v1/containers/a570068c-d295-4780-91d4-3046a325db51\", \"sni_container_refs\": [\"http://198.51.100.10:9311/v1/containers/a570068c-d295-4780-91d4-3046a325db51\", \"http://198.51.100.10:9311/v1/containers/aaebb31e-7761-4826-8cb4-2b829caca3ee\"], \"timeout_client_data\": 100000, \"timeout_member_connect\": 1000, \"timeout_member_data\": 100000, \"timeout_tcp_inspect\": 5, \"tags\": [\"updated_tag\"], \"client_ca_tls_container_ref\": null, \"allowed_cidrs\": [\"192.0.2.0/24\", \"198.51.100.0/24\"], \"tls_ciphers\": \"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\"}}\u0027 http://198.51.100.10:9876/v2/lbaas/listeners/023f2e34-7806-443b-bfae-16c324569a3d"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"df33271e_f75db6e9","line":1,"range":{"start_line":1,"start_character":848,"end_line":1,"end_character":1032},"updated":"2020-03-27 19:15:21.000000000","message":"Also here","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"api-ref/source/v2/examples/listener-update-request.json":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":24,"context_line":"            \"192.0.2.0/24\","},{"line_number":25,"context_line":"            \"198.51.100.0/24\""},{"line_number":26,"context_line":"        ],"},{"line_number":27,"context_line":"        \"tls_ciphers\": \"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\""},{"line_number":28,"context_line":"    }"},{"line_number":29,"context_line":"}"}],"source_content_type":"application/json","patch_set":3,"id":"df33271e_976eea92","line":27,"updated":"2020-03-27 19:15:21.000000000","message":"and here","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"api-ref/source/v2/examples/listener-update-response.json":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            \"192.0.2.0/24\","},{"line_number":44,"context_line":"            \"198.51.100.0/24\""},{"line_number":45,"context_line":"        ],"},{"line_number":46,"context_line":"        \"tls_ciphers\": \"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\""},{"line_number":47,"context_line":"    }"},{"line_number":48,"context_line":"}"}],"source_content_type":"application/json","patch_set":3,"id":"df33271e_d70512c4","line":46,"updated":"2020-03-27 19:15:21.000000000","message":"and here","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"api-ref/source/v2/examples/listeners-list-response.json":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                \"192.0.2.0/24\","},{"line_number":46,"context_line":"                \"198.51.100.0/24\""},{"line_number":47,"context_line":"            ],"},{"line_number":48,"context_line":"            \"tls_ciphers\": \"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\""},{"line_number":49,"context_line":"        }"},{"line_number":50,"context_line":"    ]"},{"line_number":51,"context_line":"}"}],"source_content_type":"application/json","patch_set":3,"id":"df33271e_b7084ed9","line":48,"updated":"2020-03-27 19:15:21.000000000","message":"and here","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"api-ref/source/v2/listener.inc":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":72,"context_line":"   - timeout_member_connect: timeout_member_connect"},{"line_number":73,"context_line":"   - timeout_member_data: timeout_member_data"},{"line_number":74,"context_line":"   - timeout_tcp_inspect: timeout_tcp_inspect"},{"line_number":75,"context_line":"   - tls_ciphers: tls_ciphers"},{"line_number":76,"context_line":"   - updated_at: updated_at"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Response Example"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"df33271e_44e045cd","line":75,"updated":"2020-03-26 16:52:10.000000000","message":"+1, this is not optional.","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":164,"context_line":"   - timeout_member_connect: timeout_member_connect-optional"},{"line_number":165,"context_line":"   - timeout_member_data: timeout_member_data-optional"},{"line_number":166,"context_line":"   - timeout_tcp_inspect: timeout_tcp_inspect-optional"},{"line_number":167,"context_line":"   - tls_ciphers: tls_ciphers"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":".. _header_insertions:"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"df33271e_84ea4da9","line":167,"updated":"2020-03-26 16:52:10.000000000","message":"This should be -optional","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":428,"context_line":"   - timeout_member_connect: timeout_member_connect-optional"},{"line_number":429,"context_line":"   - timeout_member_data: timeout_member_data-optional"},{"line_number":430,"context_line":"   - timeout_tcp_inspect: timeout_tcp_inspect-optional"},{"line_number":431,"context_line":"   - tls_ciphers: tls_ciphers"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"Request Example"},{"line_number":434,"context_line":"---------------"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"df33271e_24db811b","line":431,"updated":"2020-03-26 16:52:10.000000000","message":"-optional","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"etc/octavia.conf":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":60,"context_line":"# Cipher strings are in OpenSSL format, see https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html"},{"line_number":61,"context_line":"# This example is the \"Broad Compatibility\" cipher string from OWASP,"},{"line_number":62,"context_line":"# see https://owasp.org/www-project-cheat-sheets/cheatsheets/TLS_Cipher_String_Cheat_Sheet"},{"line_number":63,"context_line":"# default_listener_ciphers \u003d TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"[database]"},{"line_number":66,"context_line":"# This line MUST be changed to actually run the plugin."}],"source_content_type":"text/plain","patch_set":3,"id":"df33271e_371d5e0f","line":63,"updated":"2020-03-27 19:15:21.000000000","message":"I wonder if these can be multi-line? It\u0027s fine as is I guess but just a little painful to read :D","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"51e6a262e9b75e759cc08f6e58059915196e3492","unresolved":false,"context_lines":[{"line_number":60,"context_line":"# Cipher strings are in OpenSSL format, see https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html"},{"line_number":61,"context_line":"# This example is the \"Broad Compatibility\" cipher string from OWASP,"},{"line_number":62,"context_line":"# see https://owasp.org/www-project-cheat-sheets/cheatsheets/TLS_Cipher_String_Cheat_Sheet"},{"line_number":63,"context_line":"# default_listener_ciphers \u003d TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"[database]"},{"line_number":66,"context_line":"# This line MUST be changed to actually run the plugin."}],"source_content_type":"text/plain","patch_set":3,"id":"df33271e_480ca193","line":63,"in_reply_to":"df33271e_371d5e0f","updated":"2020-03-30 14:41:56.000000000","message":"Yeah lol I just remembered we already talked about this. \u003e_\u003c\nYeah, this is fine, ignore me.","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"7e7f4e28f4af4dc578485facbbbd3bc8ae27aef2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"# healthcheck_enabled \u003d False"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"# Default cipher string for new TLS-terminated listeners"},{"line_number":60,"context_line":"# Cipher strings are in OpenSSL format, see https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html"},{"line_number":61,"context_line":"# This example is the \"Broad Compatibility\" cipher string from OWASP,"},{"line_number":62,"context_line":"# see https://owasp.org/www-project-cheat-sheets/cheatsheets/TLS_Cipher_String_Cheat_Sheet"},{"line_number":63,"context_line":"# default_listener_ciphers \u003d TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256"}],"source_content_type":"text/plain","patch_set":5,"id":"df33271e_54081b27","line":60,"range":{"start_line":60,"start_character":44,"end_line":60,"end_character":108},"updated":"2020-04-06 21:25:10.000000000","message":"Page not found. Released verson pages work though, e.g. https://www.openssl.org/docs/man1.1.1/man1/ciphers.html\n\nMaybe link to https://www.openssl.org/docs/manmaster/man1/openssl.html ?","commit_id":"5a4fdeaa6c74dd6df10d59cb39c8b5e6088e2181"}],"octavia/amphorae/backends/agent/api_server/util.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"FRONTEND_BACKEND_PATTERN \u003d re.compile(r\u0027\\n(frontend|backend)\\s+(\\S+)\\n\u0027)"},{"line_number":32,"context_line":"LISTENER_MODE_PATTERN \u003d re.compile(r\u0027^\\s+mode\\s+(.*)$\u0027, re.MULTILINE)"},{"line_number":33,"context_line":"TLS_CERT_PATTERN \u003d re.compile(r\u0027^\\s+bind\\s+\\S+\\s+ssl crt-list\\s+(\\S*)\u0027,"},{"line_number":34,"context_line":"                              re.MULTILINE)"},{"line_number":35,"context_line":"STATS_SOCKET_PATTERN \u003d re.compile(r\u0027stats socket\\s+(\\S+)\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_a48311cc","line":33,"updated":"2020-03-26 16:52:10.000000000","message":"I need to look at this closer, switching this to spaces seems like it would cause the crt-list to fail when specified.","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"FRONTEND_BACKEND_PATTERN \u003d re.compile(r\u0027\\n(frontend|backend)\\s+(\\S+)\\n\u0027)"},{"line_number":32,"context_line":"LISTENER_MODE_PATTERN \u003d re.compile(r\u0027^\\s+mode\\s+(.*)$\u0027, re.MULTILINE)"},{"line_number":33,"context_line":"TLS_CERT_PATTERN \u003d re.compile(r\u0027^\\s+bind\\s+\\S+\\s+ssl crt-list\\s+(\\S*)\u0027,"},{"line_number":34,"context_line":"                              re.MULTILINE)"},{"line_number":35,"context_line":"STATS_SOCKET_PATTERN \u003d re.compile(r\u0027stats socket\\s+(\\S+)\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_f7e016fd","line":33,"in_reply_to":"df33271e_a48311cc","updated":"2020-03-27 19:15:21.000000000","message":"\\S is *non-whitespace*. It\u0027s the opposite of lowercase. :D","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"octavia/api/v2/types/listener.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    client_authentication \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":63,"context_line":"    client_crl_container_ref \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":64,"context_line":"    allowed_cidrs \u003d wtypes.wsattr([types.CidrType()])"},{"line_number":65,"context_line":"    tls_ciphers \u003d wtypes.StringType()"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    @classmethod"},{"line_number":68,"context_line":"    def from_data_model(cls, data_model, children\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_77c5265b","line":65,"updated":"2020-03-27 19:15:21.000000000","message":"I honestly couldn\u0027t tell you why we do it this way, but to match the rest of the type usages it\u0027d be:\n\nwtypes.wsattr(wtypes.StringType())","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        default\u003dconstants.CLIENT_AUTH_NONE)"},{"line_number":152,"context_line":"    client_crl_container_ref \u003d wtypes.StringType(max_length\u003d255)"},{"line_number":153,"context_line":"    allowed_cidrs \u003d wtypes.wsattr([types.CidrType()])"},{"line_number":154,"context_line":"    tls_ciphers \u003d wtypes.StringType(max_length\u003d1024)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"class ListenerRootPOST(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_44ca051a","line":154,"range":{"start_line":154,"start_character":47,"end_line":154,"end_character":51},"updated":"2020-03-26 16:52:10.000000000","message":"So, I ran \"openssl ciphers \u003e /tmp/ciphers.txt\" then \"wc /tmp/ciphers.txt\" and I see the current full list is 1212 bytes. It\u0027s not likely that the full list would ever be used, but... We should increase this. Let\u0027s do 2048.","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        default\u003dconstants.CLIENT_AUTH_NONE)"},{"line_number":152,"context_line":"    client_crl_container_ref \u003d wtypes.StringType(max_length\u003d255)"},{"line_number":153,"context_line":"    allowed_cidrs \u003d wtypes.wsattr([types.CidrType()])"},{"line_number":154,"context_line":"    tls_ciphers \u003d wtypes.StringType(max_length\u003d1024)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"class ListenerRootPOST(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_f7ae5696","line":154,"range":{"start_line":154,"start_character":47,"end_line":154,"end_character":51},"in_reply_to":"df33271e_44ca051a","updated":"2020-03-27 19:15:21.000000000","message":"Agree, and as above, change to match:\n\nwtypes.wsattr(wtypes.StringType(max_length\u003d2048))\n\nThough now I see we have another one at least that isn\u0027t doing this... Does this even matter? Michael do you know? I loathe inconsistency...","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"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":"7e7f4e28f4af4dc578485facbbbd3bc8ae27aef2","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                       \"is enabled in the Octavia API.\")),"},{"line_number":106,"context_line":"    cfg.StrOpt(\u0027default_listener_ciphers\u0027,"},{"line_number":107,"context_line":"               default\u003dconstants.CIPHERS_OWASP_SUITE_B,"},{"line_number":108,"context_line":"               help\u003d_(\"Default OpenSSL cipher string for new \""},{"line_number":109,"context_line":"                      \"TLS-enabled listeners.\")),"},{"line_number":110,"context_line":"]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_948743b7","line":108,"updated":"2020-04-06 21:25:10.000000000","message":"We should make it clear it is a colon-separated list of OpenSSL cipher strings.","commit_id":"5a4fdeaa6c74dd6df10d59cb39c8b5e6088e2181"}],"octavia/common/data_models.py":[{"author":{"_account_id":31568,"name":"Dawson Coleman","email":"dawsonmcoleman@gmail.com","username":"dawson"},"change_message_id":"389158148a04c7b1947258aa19b2f66bbce756ce","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        self.monitor_address \u003d monitor_address"},{"line_number":366,"context_line":"        self.monitor_port \u003d monitor_port"},{"line_number":367,"context_line":"        self.tags \u003d tags"},{"line_number":368,"context_line":"        self.ciphers \u003d ciphers"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    def delete(self):"},{"line_number":371,"context_line":"        for mem in self.pool.members:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1fa4df85_9d1be971","line":368,"updated":"2020-03-16 20:43:13.000000000","message":"Not sure why I put this in Member, will be removed in the next upload","commit_id":"ff7509f7012f76242bbed7702f5ef3827c7d2c23"}],"octavia/common/jinja/haproxy/combined_listeners/jinja_cfg.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"321ccc18bb36ae1088bb723026354a5146a8df72","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                CONF.haproxy_amphora.timeout_member_data),"},{"line_number":256,"context_line":"            \u0027timeout_tcp_inspect\u0027: (listener.timeout_tcp_inspect or"},{"line_number":257,"context_line":"                                    CONF.haproxy_amphora.timeout_tcp_inspect),"},{"line_number":258,"context_line":"            \u0027ciphers\u0027: CONF.api_settings.default_listener_ciphers,"},{"line_number":259,"context_line":"        }"},{"line_number":260,"context_line":"        if self.connection_logging:"},{"line_number":261,"context_line":"            ret_value[\u0027user_log_format\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_e68ea577","line":258,"range":{"start_line":258,"start_character":23,"end_line":258,"end_character":65},"updated":"2020-03-05 22:10:55.000000000","message":"I expect you will change this to an \"or\" like the line above as you implement the API and DB part of the task.","commit_id":"6a562e43b97d91c1af1ba2f77ff3411d902a1855"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":331,"context_line":"                constants.HTTP_REUSE, False),"},{"line_number":332,"context_line":"            \u0027ca_tls_path\u0027: \u0027\u0027,"},{"line_number":333,"context_line":"            \u0027crl_path\u0027: \u0027\u0027,"},{"line_number":334,"context_line":"            \u0027tls_enabled\u0027: pool.tls_enabled,"},{"line_number":335,"context_line":"        }"},{"line_number":336,"context_line":"        members_gen \u003d (mem for mem in pool.members if"},{"line_number":337,"context_line":"                       mem.provisioning_status !\u003d constants.PENDING_DELETE)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_d206c086","line":334,"updated":"2020-03-27 19:15:21.000000000","message":"this is an extraneous change","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"octavia/common/jinja/haproxy/combined_listeners/templates/macros.j2":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"321ccc18bb36ae1088bb723026354a5146a8df72","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        {% set ca_crl_opt \u003d \"\" %}"},{"line_number":45,"context_line":"    {% endif %}"},{"line_number":46,"context_line":"    {% if listener.protocol \u003d\u003d constants.PROTOCOL_TERMINATED_HTTPS %}"},{"line_number":47,"context_line":"        {% set ciphers_opt \u003d \"ciphers %s\"|format(listener.ciphers)|trim() %}"},{"line_number":48,"context_line":"    {% endif %}"},{"line_number":49,"context_line":"bind {{ lb_vip_address }}:{{ listener.protocol_port }} {{"},{"line_number":50,"context_line":"\"%s %s %s %s\"|format(def_crt_opt, client_ca_opt, ca_crl_opt, ciphers_opt)|trim() }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"1fa4df85_663e358c","line":47,"updated":"2020-03-05 22:10:55.000000000","message":"We probably need to make sure \"ciphers_opt\" is defined even if it is not a terminated HTTPS protocol listener.","commit_id":"6a562e43b97d91c1af1ba2f77ff3411d902a1855"}],"octavia/db/migration/alembic_migrations/versions/7c36b277bfb0_add_listener_ciphers_column.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":31,"context_line":"def upgrade():"},{"line_number":32,"context_line":"    op.add_column("},{"line_number":33,"context_line":"        \u0027listener\u0027,"},{"line_number":34,"context_line":"        sa.Column(\u0027tls_ciphers\u0027, sa.VARCHAR(1024), nullable\u003dTrue)"},{"line_number":35,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_84708dde","line":34,"range":{"start_line":34,"start_character":44,"end_line":34,"end_character":48},"updated":"2020-03-26 16:52:10.000000000","message":"As mentioned earlier, let\u0027s bump this to 2048.","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"octavia/db/models.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e12779a3e2a578de9479765ead847a921cff6053","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                      name\u003d\"fk_listener_client_authentication_mode_name\"),"},{"line_number":521,"context_line":"        nullable\u003dFalse, default\u003dconstants.CLIENT_AUTH_NONE)"},{"line_number":522,"context_line":"    client_crl_container_id \u003d sa.Column(sa.String(255), nullable\u003dTrue)"},{"line_number":523,"context_line":"    tls_ciphers \u003d sa.Column(sa.VARCHAR(1024), nullable\u003dTrue)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    _tags \u003d orm.relationship("},{"line_number":526,"context_line":"        \u0027Tags\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_e476b9d8","line":523,"range":{"start_line":523,"start_character":39,"end_line":523,"end_character":43},"updated":"2020-03-26 16:52:10.000000000","message":"2048","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":31568,"name":"Dawson Coleman","email":"dawsonmcoleman@gmail.com","username":"dawson"},"change_message_id":"0eafecfea318b895f553c4adf16b9b9c728b15c4","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                      name\u003d\"fk_listener_client_authentication_mode_name\"),"},{"line_number":521,"context_line":"        nullable\u003dFalse, default\u003dconstants.CLIENT_AUTH_NONE)"},{"line_number":522,"context_line":"    client_crl_container_id \u003d sa.Column(sa.String(255), nullable\u003dTrue)"},{"line_number":523,"context_line":"    tls_ciphers \u003d sa.Column(sa.VARCHAR(1024), nullable\u003dTrue)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    _tags \u003d orm.relationship("},{"line_number":526,"context_line":"        \u0027Tags\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_e0b5e5ce","line":523,"range":{"start_line":523,"start_character":39,"end_line":523,"end_character":43},"in_reply_to":"df33271e_d22b60e8","updated":"2020-03-31 17:00:16.000000000","message":"sqlalchemy n00b mistake, after reading the docs String is definitely the right type","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                      name\u003d\"fk_listener_client_authentication_mode_name\"),"},{"line_number":521,"context_line":"        nullable\u003dFalse, default\u003dconstants.CLIENT_AUTH_NONE)"},{"line_number":522,"context_line":"    client_crl_container_id \u003d sa.Column(sa.String(255), nullable\u003dTrue)"},{"line_number":523,"context_line":"    tls_ciphers \u003d sa.Column(sa.VARCHAR(1024), nullable\u003dTrue)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    _tags \u003d orm.relationship("},{"line_number":526,"context_line":"        \u0027Tags\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_d22b60e8","line":523,"range":{"start_line":523,"start_character":39,"end_line":523,"end_character":43},"in_reply_to":"df33271e_e476b9d8","updated":"2020-03-27 19:15:21.000000000","message":"Why VARCHAR and not String?","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"octavia/db/prepare.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"7e7f4e28f4af4dc578485facbbbd3bc8ae27aef2","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    if (listener_dict[\u0027protocol\u0027] \u003d\u003d constants.PROTOCOL_TERMINATED_HTTPS and"},{"line_number":108,"context_line":"            listener_dict[\u0027tls_ciphers\u0027] is None):"},{"line_number":109,"context_line":"        listener_dict["},{"line_number":110,"context_line":"            \u0027tls_ciphers\u0027] \u003d CONF.api_settings.default_listener_ciphers"},{"line_number":111,"context_line":"    return listener_dict"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_f4668f29","line":110,"range":{"start_line":109,"start_character":8,"end_line":110,"end_character":71},"updated":"2020-04-06 21:25:10.000000000","message":"This formatting looks odd :) Maybe this?\n\nlistener_dict[\u0027tls_ciphers\u0027] \u003d ( \n    CONF.api_settings.default_listener_ciphers)","commit_id":"5a4fdeaa6c74dd6df10d59cb39c8b5e6088e2181"}],"octavia/tests/functional/api/test_root_controller.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def test_api_versions(self):"},{"line_number":46,"context_line":"        versions \u003d self._get_versions_with_config()"},{"line_number":47,"context_line":"        version_ids \u003d tuple(v.get(\u0027id\u0027) for v in versions)"},{"line_number":48,"context_line":"        self.assertEqual(15, len(version_ids))"},{"line_number":49,"context_line":"        self.assertIn(\u0027v2.0\u0027, version_ids)"},{"line_number":50,"context_line":"        self.assertIn(\u0027v2.1\u0027, version_ids)"},{"line_number":51,"context_line":"        self.assertIn(\u0027v2.2\u0027, version_ids)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_5228f0e0","line":48,"range":{"start_line":48,"start_character":25,"end_line":48,"end_character":27},"updated":"2020-03-27 19:15:21.000000000","message":"This should need to bump to 16","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}],"octavia/tests/functional/api/v2/test_load_balancer.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"751b822d846d77ad2746a9fa299b7ae322815716","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                \"create_vip_port\") as mock_provider:"},{"line_number":460,"context_line":"            mock_get_network.return_value \u003d network"},{"line_number":461,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":462,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":463,"context_line":"                                         NotImplementedError())"},{"line_number":464,"context_line":"            response \u003d self.post(self.LBS_PATH, body)"},{"line_number":465,"context_line":"        api_lb \u003d response.json.get(self.root_tag)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_a872e40f","line":462,"updated":"2020-04-07 02:19:39.000000000","message":"cover:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:gate","change_message_id":"85a43ec5416ab299b068209871d26a9aee668cf3","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                \"create_vip_port\") as mock_provider:"},{"line_number":460,"context_line":"            mock_get_network.return_value \u003d network"},{"line_number":461,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":462,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":463,"context_line":"                                         NotImplementedError())"},{"line_number":464,"context_line":"            response \u003d self.post(self.LBS_PATH, body)"},{"line_number":465,"context_line":"        api_lb \u003d response.json.get(self.root_tag)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_0a77713c","line":462,"updated":"2020-04-07 16:45:26.000000000","message":"functional-py36:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"751b822d846d77ad2746a9fa299b7ae322815716","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                \"create_vip_port\") as mock_provider:"},{"line_number":460,"context_line":"            mock_get_network.return_value \u003d network"},{"line_number":461,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":462,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":463,"context_line":"                                         NotImplementedError())"},{"line_number":464,"context_line":"            response \u003d self.post(self.LBS_PATH, body)"},{"line_number":465,"context_line":"        api_lb \u003d response.json.get(self.root_tag)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_485b5886","line":462,"updated":"2020-04-07 02:19:39.000000000","message":"functional-py36:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"751b822d846d77ad2746a9fa299b7ae322815716","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                \"create_vip_port\") as mock_provider:"},{"line_number":460,"context_line":"            mock_get_network.return_value \u003d network"},{"line_number":461,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":462,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":463,"context_line":"                                         NotImplementedError())"},{"line_number":464,"context_line":"            response \u003d self.post(self.LBS_PATH, body)"},{"line_number":465,"context_line":"        api_lb \u003d response.json.get(self.root_tag)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_6868dc20","line":462,"updated":"2020-04-07 02:19:39.000000000","message":"functional-py37:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:gate","change_message_id":"85a43ec5416ab299b068209871d26a9aee668cf3","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                \"create_vip_port\") as mock_provider:"},{"line_number":460,"context_line":"            mock_get_network.return_value \u003d network"},{"line_number":461,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":462,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":463,"context_line":"                                         NotImplementedError())"},{"line_number":464,"context_line":"            response \u003d self.post(self.LBS_PATH, body)"},{"line_number":465,"context_line":"        api_lb \u003d response.json.get(self.root_tag)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_4a8e9927","line":462,"updated":"2020-04-07 16:45:26.000000000","message":"lower-constraints:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"751b822d846d77ad2746a9fa299b7ae322815716","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                \"create_vip_port\") as mock_provider:"},{"line_number":460,"context_line":"            mock_get_network.return_value \u003d network"},{"line_number":461,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":462,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":463,"context_line":"                                         NotImplementedError())"},{"line_number":464,"context_line":"            response \u003d self.post(self.LBS_PATH, body)"},{"line_number":465,"context_line":"        api_lb \u003d response.json.get(self.root_tag)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_88544056","line":462,"updated":"2020-04-07 02:19:39.000000000","message":"lower-constraints:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"751b822d846d77ad2746a9fa299b7ae322815716","unresolved":false,"context_lines":[{"line_number":621,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":622,"context_line":"            mock_allocate_vip.side_effect \u003d TestNeutronException("},{"line_number":623,"context_line":"                \"octavia_msg\", \"neutron_msg\", 409)"},{"line_number":624,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":625,"context_line":"                                         NotImplementedError())"},{"line_number":626,"context_line":"            response \u003d self.post(self.LBS_PATH, body, status\u003d409)"},{"line_number":627,"context_line":"        # Make sure the faultstring contains the neutron error and not"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_0861503a","line":624,"updated":"2020-04-07 02:19:39.000000000","message":"cover:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"751b822d846d77ad2746a9fa299b7ae322815716","unresolved":false,"context_lines":[{"line_number":621,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":622,"context_line":"            mock_allocate_vip.side_effect \u003d TestNeutronException("},{"line_number":623,"context_line":"                \"octavia_msg\", \"neutron_msg\", 409)"},{"line_number":624,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":625,"context_line":"                                         NotImplementedError())"},{"line_number":626,"context_line":"            response \u003d self.post(self.LBS_PATH, body, status\u003d409)"},{"line_number":627,"context_line":"        # Make sure the faultstring contains the neutron error and not"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_e8650c47","line":624,"updated":"2020-04-07 02:19:39.000000000","message":"functional-py36:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:gate","change_message_id":"85a43ec5416ab299b068209871d26a9aee668cf3","unresolved":false,"context_lines":[{"line_number":621,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":622,"context_line":"            mock_allocate_vip.side_effect \u003d TestNeutronException("},{"line_number":623,"context_line":"                \"octavia_msg\", \"neutron_msg\", 409)"},{"line_number":624,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":625,"context_line":"                                         NotImplementedError())"},{"line_number":626,"context_line":"            response \u003d self.post(self.LBS_PATH, body, status\u003d409)"},{"line_number":627,"context_line":"        # Make sure the faultstring contains the neutron error and not"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_ea716d46","line":624,"updated":"2020-04-07 16:45:26.000000000","message":"functional-py36:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"751b822d846d77ad2746a9fa299b7ae322815716","unresolved":false,"context_lines":[{"line_number":621,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":622,"context_line":"            mock_allocate_vip.side_effect \u003d TestNeutronException("},{"line_number":623,"context_line":"                \"octavia_msg\", \"neutron_msg\", 409)"},{"line_number":624,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":625,"context_line":"                                         NotImplementedError())"},{"line_number":626,"context_line":"            response \u003d self.post(self.LBS_PATH, body, status\u003d409)"},{"line_number":627,"context_line":"        # Make sure the faultstring contains the neutron error and not"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_c875a8fc","line":624,"updated":"2020-04-07 02:19:39.000000000","message":"functional-py37:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"751b822d846d77ad2746a9fa299b7ae322815716","unresolved":false,"context_lines":[{"line_number":621,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":622,"context_line":"            mock_allocate_vip.side_effect \u003d TestNeutronException("},{"line_number":623,"context_line":"                \"octavia_msg\", \"neutron_msg\", 409)"},{"line_number":624,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":625,"context_line":"                                         NotImplementedError())"},{"line_number":626,"context_line":"            response \u003d self.post(self.LBS_PATH, body, status\u003d409)"},{"line_number":627,"context_line":"        # Make sure the faultstring contains the neutron error and not"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_28609432","line":624,"updated":"2020-04-07 02:19:39.000000000","message":"lower-constraints:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:gate","change_message_id":"85a43ec5416ab299b068209871d26a9aee668cf3","unresolved":false,"context_lines":[{"line_number":621,"context_line":"            mock_get_port.return_value \u003d port"},{"line_number":622,"context_line":"            mock_allocate_vip.side_effect \u003d TestNeutronException("},{"line_number":623,"context_line":"                \"octavia_msg\", \"neutron_msg\", 409)"},{"line_number":624,"context_line":"            mock_provider.side_effect \u003d (provider_exceptions."},{"line_number":625,"context_line":"                                         NotImplementedError())"},{"line_number":626,"context_line":"            response \u003d self.post(self.LBS_PATH, body, status\u003d409)"},{"line_number":627,"context_line":"        # Make sure the faultstring contains the neutron error and not"}],"source_content_type":"text/x-python","patch_set":8,"id":"df33271e_2a919547","line":624,"updated":"2020-04-07 16:45:26.000000000","message":"lower-constraints:  DeprecationWarning: Class \u0027octavia.api.drivers.exceptions.NotImplementedError\u0027 has moved to \u0027octavia_lib.api.drivers.exceptions.NotImplementedError\u0027 in version \u0027Stein\u0027 and will be removed in version \u0027U\u0027","commit_id":"cd176e55c55441f306eae244a29dd19e9de8cc47"}],"releasenotes/notes/add-default-ciphers-2eb70b34290711be.yaml":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"888225a13ffd4ad7c52d987266b844190140bdc5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added options for setting default OpenSSL cipher strings for new listeners and pools."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_3268cc1f","line":4,"range":{"start_line":4,"start_character":79,"end_line":4,"end_character":88},"updated":"2020-03-27 19:15:21.000000000","message":"It looks like this patch only does listeners? I guess this is fine though as long as pools will also be in this release.","commit_id":"c0d481d876a550c3a3a624b97dd6d0e254cc6644"}]}
