)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":35230,"name":"Gustavo Herzmann","email":"gustavo.herzmann@windriver.com","username":"gherzman"},"change_message_id":"616f44b4b6697c3b7578d9cdf05a1623a92c2743","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    * Hard-code port and API path per interface (v1/v3 variants),"},{"line_number":29,"context_line":"      including region dimension (RegionOne vs SystemController)."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Test Plan:"},{"line_number":32,"context_line":"PASS: CLI authenticates with Keystone by default or with"},{"line_number":33,"context_line":"      STX_AUTH_TYPE/--stx-auth-type\u003dkeystone."},{"line_number":34,"context_line":"PASS: CLI authenticates with OIDC when"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"8561a072_7c5caa22","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":10},"updated":"2025-11-24 21:12:47.000000000","message":"It\u0027s worth testing if the remote client will still work, considering the DC CLI now depends on the platform_util module as well. I don\u0027t remember if platform_util is available in the remote client image.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"d3f1a8f1840cd352147dc7c5fd6397e94454a42c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    * Hard-code port and API path per interface (v1/v3 variants),"},{"line_number":29,"context_line":"      including region dimension (RegionOne vs SystemController)."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Test Plan:"},{"line_number":32,"context_line":"PASS: CLI authenticates with Keystone by default or with"},{"line_number":33,"context_line":"      STX_AUTH_TYPE/--stx-auth-type\u003dkeystone."},{"line_number":34,"context_line":"PASS: CLI authenticates with OIDC when"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"db043339_48fc18b5","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":10},"in_reply_to":"3c545f09_790a90d0","updated":"2026-01-12 15:15:28.000000000","message":"I confirmed the package is not in the image, which causes issues with the execution of dcmanager commands.\nThis will also be necessary for the other repositories that are applying this change, so I\u0027ll map a new story for this update.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"49deed1951f93cace1f531dc4dc1fd6e46456de2","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    * Hard-code port and API path per interface (v1/v3 variants),"},{"line_number":29,"context_line":"      including region dimension (RegionOne vs SystemController)."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Test Plan:"},{"line_number":32,"context_line":"PASS: CLI authenticates with Keystone by default or with"},{"line_number":33,"context_line":"      STX_AUTH_TYPE/--stx-auth-type\u003dkeystone."},{"line_number":34,"context_line":"PASS: CLI authenticates with OIDC when"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"eb57b2e1_fb424786","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":10},"in_reply_to":"8561a072_7c5caa22","updated":"2025-12-17 17:27:26.000000000","message":"Acknowledged","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":35230,"name":"Gustavo Herzmann","email":"gustavo.herzmann@windriver.com","username":"gherzman"},"change_message_id":"25d43304bb0c2883db032fd6c81c343beb376e8a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    * Hard-code port and API path per interface (v1/v3 variants),"},{"line_number":29,"context_line":"      including region dimension (RegionOne vs SystemController)."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Test Plan:"},{"line_number":32,"context_line":"PASS: CLI authenticates with Keystone by default or with"},{"line_number":33,"context_line":"      STX_AUTH_TYPE/--stx-auth-type\u003dkeystone."},{"line_number":34,"context_line":"PASS: CLI authenticates with OIDC when"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"03b7102c_b88661fd","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":10},"in_reply_to":"db043339_48fc18b5","updated":"2026-01-13 19:53:43.000000000","message":"Ack.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":35230,"name":"Gustavo Herzmann","email":"gustavo.herzmann@windriver.com","username":"gherzman"},"change_message_id":"0530a7ee8d135c962a1f31fbadc8e4651874b455","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    * Hard-code port and API path per interface (v1/v3 variants),"},{"line_number":29,"context_line":"      including region dimension (RegionOne vs SystemController)."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Test Plan:"},{"line_number":32,"context_line":"PASS: CLI authenticates with Keystone by default or with"},{"line_number":33,"context_line":"      STX_AUTH_TYPE/--stx-auth-type\u003dkeystone."},{"line_number":34,"context_line":"PASS: CLI authenticates with OIDC when"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3c545f09_790a90d0","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":10},"in_reply_to":"eb57b2e1_fb424786","updated":"2025-12-23 15:01:11.000000000","message":"Did it work? If so, I suggest updating the test plan.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":28558,"name":"Ghada Khalil","email":"ghada.khalil@windriver.com","username":"gkhalil"},"change_message_id":"6c98f80d730db59e66ca2c9021139289f893e221","unresolved":true,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Depends-On: https://review.opendev.org/c/starlingx/distcloud/+/966303"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Story: 2011511"},{"line_number":42,"context_line":"Task: 53095"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Change-Id: Iff55f653258bdf40247baf3490943f884d41d781"},{"line_number":45,"context_line":"Signed-off-by: Hugo Brito \u003chugo.brito@windriver.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"fd5567b0_43060e90","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":11},"updated":"2025-12-29 22:14:22.000000000","message":"This needs to be linked to a separate story/task as it\u0027s not related to Fault Management.","commit_id":"a9b48b4e6c57d1bbf965291469e3e4370299ebf6"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"d7d80a71ee2973c355dd681655b0d17e0a974033","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Depends-On: https://review.opendev.org/c/starlingx/distcloud/+/966303"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Story: 2011511"},{"line_number":42,"context_line":"Task: 53095"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Change-Id: Iff55f653258bdf40247baf3490943f884d41d781"},{"line_number":45,"context_line":"Signed-off-by: Hugo Brito \u003chugo.brito@windriver.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"36beb5f4_4c2644d6","line":42,"range":{"start_line":41,"start_character":0,"end_line":42,"end_character":11},"in_reply_to":"fd5567b0_43060e90","updated":"2026-01-05 20:43:24.000000000","message":"Done","commit_id":"a9b48b4e6c57d1bbf965291469e3e4370299ebf6"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"2d26948d233de444c5a49ca2e76b5f24a0838c92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d9059b17_f4bb59a1","updated":"2026-01-13 20:03:10.000000000","message":"Testing an update in the httpclient decorator","commit_id":"9ac8ab410047352f5993538db557012436757faa"}],"distributedcloud-client/dcmanagerclient/api/httpclient.py":[{"author":{"_account_id":35230,"name":"Gustavo Herzmann","email":"gustavo.herzmann@windriver.com","username":"gherzman"},"change_message_id":"616f44b4b6697c3b7578d9cdf05a1623a92c2743","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 - Mirantis, Inc."},{"line_number":2,"context_line":"# Copyright 2016 - StackStorm, Inc."},{"line_number":3,"context_line":"# Copyright 2016 - Ericsson AB."},{"line_number":4,"context_line":"# Copyright (c) 2017-2021, 2024 Wind River Systems, Inc."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":7,"context_line":"#    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":7,"id":"1cadd144_a4805520","line":4,"range":{"start_line":4,"start_character":27,"end_line":4,"end_character":31},"updated":"2025-11-24 21:12:47.000000000","message":"2024-2025","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"49deed1951f93cace1f531dc4dc1fd6e46456de2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 - Mirantis, Inc."},{"line_number":2,"context_line":"# Copyright 2016 - StackStorm, Inc."},{"line_number":3,"context_line":"# Copyright 2016 - Ericsson AB."},{"line_number":4,"context_line":"# Copyright (c) 2017-2021, 2024 Wind River Systems, Inc."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":7,"context_line":"#    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3ca473_f043dbf0","line":4,"range":{"start_line":4,"start_character":27,"end_line":4,"end_character":31},"in_reply_to":"1cadd144_a4805520","updated":"2025-12-17 17:27:26.000000000","message":"Done","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"}],"distributedcloud-client/dcmanagerclient/api/v1/client.py":[{"author":{"_account_id":21776,"name":"Jerry Sun","email":"jerry.sun@windriver.com","username":"jerrysun"},"change_message_id":"21b8e0edd804559a2df50357a6001652d8e028a6","unresolved":true,"context_lines":[{"line_number":248,"context_line":"            f\"No OIDC token found for user \u0027{username}\u0027 in kubeconfig\""},{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    oidc_args \u003d oidc_utils.get_apiserver_oidc_args()"},{"line_number":252,"context_line":"    if not oidc_args:"},{"line_number":253,"context_line":"        raise exceptions.DCManagerClientException(\"OIDC not configured on apiserver\")"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    issuer_url \u003d oidc_args.get(\"oidc-issuer-url\")"},{"line_number":256,"context_line":"    client_id \u003d oidc_args.get(\"oidc-client-id\")"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    validated_token \u003d oidc_utils.validate_oidc_token("},{"line_number":259,"context_line":"        oidc_token, {}, issuer_url, client_id"},{"line_number":260,"context_line":"    )"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    if not validated_token:"},{"line_number":263,"context_line":"        raise exceptions.DCManagerClientException(\"OIDC token validation failed\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"c8e7d2a3_281d5191","line":260,"range":{"start_line":251,"start_character":0,"end_line":260,"end_character":5},"updated":"2025-11-06 17:28:13.000000000","message":"You shouldn\u0027t need to do token validation here, or need to get the oidc auth parameters. The token is obtained from kubeconfig, and should just be sent as part of the request. If the token is invalid, the server side should reject the token.\n\nThe common utilities code for validating a token and getting the oidc parameters are intended to be used server side and won\u0027t function properly in a remote client case with your current implementation.","commit_id":"9eb0be37d79f0b9f6c83071f630158c67c4824a8"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"fef44d4911eb1f5522c2c52fedc659974f899eab","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            f\"No OIDC token found for user \u0027{username}\u0027 in kubeconfig\""},{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    oidc_args \u003d oidc_utils.get_apiserver_oidc_args()"},{"line_number":252,"context_line":"    if not oidc_args:"},{"line_number":253,"context_line":"        raise exceptions.DCManagerClientException(\"OIDC not configured on apiserver\")"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    issuer_url \u003d oidc_args.get(\"oidc-issuer-url\")"},{"line_number":256,"context_line":"    client_id \u003d oidc_args.get(\"oidc-client-id\")"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    validated_token \u003d oidc_utils.validate_oidc_token("},{"line_number":259,"context_line":"        oidc_token, {}, issuer_url, client_id"},{"line_number":260,"context_line":"    )"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    if not validated_token:"},{"line_number":263,"context_line":"        raise exceptions.DCManagerClientException(\"OIDC token validation failed\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"a8a0cda4_c4886006","line":260,"range":{"start_line":251,"start_character":0,"end_line":260,"end_character":5},"in_reply_to":"c8e7d2a3_281d5191","updated":"2025-11-06 17:47:41.000000000","message":"Done","commit_id":"9eb0be37d79f0b9f6c83071f630158c67c4824a8"},{"author":{"_account_id":35315,"name":"Victor Romano","email":"Victor.GluzRomano@windriver.com","username":"vgluzrom"},"change_message_id":"bf6a21391b9ba30bd34cbb4e63fe16bd957cd37b","unresolved":true,"context_lines":[{"line_number":248,"context_line":"            f\"No OIDC token found for user \u0027{username}\u0027 in kubeconfig\""},{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    dcmanager_url \u003d _build_service_url(auth_url, service_type, endpoint_type)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    return dcmanager_url, oidc_token"},{"line_number":254,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"42ace1e5_6d2be2ff","line":251,"updated":"2025-11-24 21:31:50.000000000","message":"Should probably move this to before getting the oidc_token to fail fast if auth_url or ip_address are not provided.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"49deed1951f93cace1f531dc4dc1fd6e46456de2","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            f\"No OIDC token found for user \u0027{username}\u0027 in kubeconfig\""},{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    dcmanager_url \u003d _build_service_url(auth_url, service_type, endpoint_type)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    return dcmanager_url, oidc_token"},{"line_number":254,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba100741_50be957a","line":251,"in_reply_to":"42ace1e5_6d2be2ff","updated":"2025-12-17 17:27:26.000000000","message":"Done","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":36631,"name":"ramu ummadishetty","display_name":"Ramu ummadishetty","email":"ramu.ummadishetty@windriver.com","username":"rummadis"},"change_message_id":"f5153e0bacaf96321d6376e13e12fe7998f111c5","unresolved":true,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    # Parse IP address from auth_url"},{"line_number":273,"context_line":"    parsed \u003d urlparse(auth_url)"},{"line_number":274,"context_line":"    ip_address \u003d parsed.hostname"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    if not ip_address:"},{"line_number":277,"context_line":"        raise exceptions.DCManagerClientException("}],"source_content_type":"text/x-python","patch_set":7,"id":"9704a558_b02b9872","line":274,"updated":"2025-11-13 12:48:41.000000000","message":"IPv6 address might broke","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"e46bb9c020d217c9e8bac6da1fa50e9b00de9eec","unresolved":true,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    # Parse IP address from auth_url"},{"line_number":273,"context_line":"    parsed \u003d urlparse(auth_url)"},{"line_number":274,"context_line":"    ip_address \u003d parsed.hostname"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    if not ip_address:"},{"line_number":277,"context_line":"        raise exceptions.DCManagerClientException("}],"source_content_type":"text/x-python","patch_set":7,"id":"d655ef83_1db50bae","line":274,"in_reply_to":"9704a558_b02b9872","updated":"2025-11-14 14:17:27.000000000","message":"Acknowledged. I\u0027ll fix it in the next patchset. Thanks.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"49deed1951f93cace1f531dc4dc1fd6e46456de2","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    # Parse IP address from auth_url"},{"line_number":273,"context_line":"    parsed \u003d urlparse(auth_url)"},{"line_number":274,"context_line":"    ip_address \u003d parsed.hostname"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    if not ip_address:"},{"line_number":277,"context_line":"        raise exceptions.DCManagerClientException("}],"source_content_type":"text/x-python","patch_set":7,"id":"57b26977_9ce589a3","line":274,"in_reply_to":"d655ef83_1db50bae","updated":"2025-12-17 17:27:26.000000000","message":"Done","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":35315,"name":"Victor Romano","email":"Victor.GluzRomano@windriver.com","username":"vgluzrom"},"change_message_id":"bf6a21391b9ba30bd34cbb4e63fe16bd957cd37b","unresolved":true,"context_lines":[{"line_number":285,"context_line":"        \"adminURL\": \"admin\","},{"line_number":286,"context_line":"    }"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    interface \u003d interface_map.get(endpoint_type, \"internal\")"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    # Service port and path mappings"},{"line_number":291,"context_line":"    service_ports \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"4e76005e_e2ba885a","line":288,"range":{"start_line":288,"start_character":49,"end_line":288,"end_character":59},"updated":"2025-11-24 21:31:50.000000000","message":"We shouldn\u0027t fallback to \"internal\" if the provided value is not any of the expected ones to avoid any silent failures or misbehavior\u0027s.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"49deed1951f93cace1f531dc4dc1fd6e46456de2","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        \"adminURL\": \"admin\","},{"line_number":286,"context_line":"    }"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    interface \u003d interface_map.get(endpoint_type, \"internal\")"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    # Service port and path mappings"},{"line_number":291,"context_line":"    service_ports \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"8396fc4d_121d24d9","line":288,"range":{"start_line":288,"start_character":49,"end_line":288,"end_character":59},"in_reply_to":"4e76005e_e2ba885a","updated":"2025-12-17 17:27:26.000000000","message":"Done","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":35315,"name":"Victor Romano","email":"Victor.GluzRomano@windriver.com","username":"vgluzrom"},"change_message_id":"bf6a21391b9ba30bd34cbb4e63fe16bd957cd37b","unresolved":true,"context_lines":[{"line_number":291,"context_line":"    service_ports \u003d {"},{"line_number":292,"context_line":"        \"public\": {\"dcmanager\": 8119},"},{"line_number":293,"context_line":"        \"internal\": {\"dcmanager\": 8119},"},{"line_number":294,"context_line":"        \"admin\": {\"dcmanager\": 8119},"},{"line_number":295,"context_line":"    }"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    service_paths \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"40e3dfd5_85058ebb","line":294,"range":{"start_line":294,"start_character":31,"end_line":294,"end_character":35},"updated":"2025-11-24 21:31:50.000000000","message":"Admin port is 8120.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"49deed1951f93cace1f531dc4dc1fd6e46456de2","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    service_ports \u003d {"},{"line_number":292,"context_line":"        \"public\": {\"dcmanager\": 8119},"},{"line_number":293,"context_line":"        \"internal\": {\"dcmanager\": 8119},"},{"line_number":294,"context_line":"        \"admin\": {\"dcmanager\": 8119},"},{"line_number":295,"context_line":"    }"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    service_paths \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"e8e08c17_dd0eb676","line":294,"range":{"start_line":294,"start_character":31,"end_line":294,"end_character":35},"in_reply_to":"40e3dfd5_85058ebb","updated":"2025-12-17 17:27:26.000000000","message":"Done","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":35315,"name":"Victor Romano","email":"Victor.GluzRomano@windriver.com","username":"vgluzrom"},"change_message_id":"bf6a21391b9ba30bd34cbb4e63fe16bd957cd37b","unresolved":true,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"2126f744_931032c3","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"updated":"2025-11-24 21:31:50.000000000","message":"Not necessarily public port will have https enabled.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"49deed1951f93cace1f531dc4dc1fd6e46456de2","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"4adb3785_bd057761","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"in_reply_to":"2126f744_931032c3","updated":"2025-12-17 17:27:26.000000000","message":"I didn’t get it. public and admin use https; the internal one uses http.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":28486,"name":"Tee Ngo","email":"tee.ngo@windriver.com","username":"teewrs"},"change_message_id":"b9d71b054c65cadeeaee4e073d1a6554ac92952e","unresolved":true,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ca92896b_1f3baed2","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"in_reply_to":"494249af_e15024a1","updated":"2026-01-06 21:26:44.000000000","message":"The protocol is always https for admin and http for internal endpoints. For public endpoints the protocol can either be https (default) or http. After sourcing openrc, the interface is set to internal for local client. For remote client, try https first then http.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"8831b8fb12a8f0599412d3323a7111544872ee35","unresolved":true,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fa673ee_d74cc352","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"in_reply_to":"494249af_e15024a1","updated":"2026-01-06 21:26:35.000000000","message":"as noted, cannot assume public is https (though likely)\n\nthis should also be verified as a remote client since from remote (i.e. off box), the \u0027internal\u0027 interface may not be reachable.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":35230,"name":"Gustavo Herzmann","email":"gustavo.herzmann@windriver.com","username":"gherzman"},"change_message_id":"0530a7ee8d135c962a1f31fbadc8e4651874b455","unresolved":true,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"494249af_e15024a1","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"in_reply_to":"4adb3785_bd057761","updated":"2025-12-23 15:01:11.000000000","message":"I think Victor is saying that the [public endpoint depends on if HTTPS is enabled](https://docs.starlingx.io/security/kubernetes/enable-https-access-for-starlingx-rest-and-web-server-endpoints.html). Currently it\u0027s enabled by default, but it could be disabled with:\n\n```\nsystem modify --https_enabled true|false\n```","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"9d4f5d47ea8e69eca03e21f2a33fe862ce462cb1","unresolved":true,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"e5ae0194_49b0e0ac","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"in_reply_to":"9d3661f6_49c92bb9","updated":"2026-01-14 17:09:24.000000000","message":"Just one further note. Since the dcmanager url is built from the auth url, the endpoint specification with --os-endpoint-type should be followed with the --os-auth-url","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":28676,"name":"Andy Ning","email":"andy.ning@windriver.com","username":"andy.wrs"},"change_message_id":"82f9b9b0f3cd4a29b4c68e1ae64b12ebcdee4aae","unresolved":true,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9d3661f6_49c92bb9","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"in_reply_to":"aff8a102_6cbd6b5f","updated":"2026-01-14 17:03:44.000000000","message":"I think the best option here is to remove the support for https_enabled. We don\u0027t want http on OAM/admin IF anyway. Please confirm with architect for the removal. (The removal should be outside the scope of this change).","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"94c9b6ca6a457fde5856ac6d197e2ee7852769b3","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"aff8a102_6cbd6b5f","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"in_reply_to":"ca92896b_1f3baed2","updated":"2026-01-08 19:23:50.000000000","message":"Done","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"c90d60e62c1e8bea807657172c3be90e851d9a34","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    }"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    # Determine protocol"},{"line_number":304,"context_line":"    if interface in [\"public\", \"admin\"]:"},{"line_number":305,"context_line":"        protocol \u003d \"https\""},{"line_number":306,"context_line":"    else:"},{"line_number":307,"context_line":"        protocol \u003d \"http\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    # Get port and path"},{"line_number":310,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"503df9d4_9d55cca4","line":307,"range":{"start_line":304,"start_character":0,"end_line":307,"end_character":25},"in_reply_to":"e5ae0194_49b0e0ac","updated":"2026-01-15 14:24:59.000000000","message":"Agreement is that OIDC will always consider the usage of https for public endpoints.","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":38731,"name":"Michael Chen","display_name":"Michael Chen","email":"michael.chen@windriver.com","username":"mchen2"},"change_message_id":"bc5a7e80d084770ce5672fceb6584677494fd465","unresolved":true,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"8ded8258_bed30762","line":203,"updated":"2026-01-15 15:56:05.000000000","message":"The verify symbol is sued to verify the ks session in line 235. Why do you use TLS insecure mode to determine if the ks session needs to be verified?","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":38731,"name":"Michael Chen","display_name":"Michael Chen","email":"michael.chen@windriver.com","username":"mchen2"},"change_message_id":"c6ac8589c00f96cb40b610d49027190c147fdc8b","unresolved":true,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"9d155497_8e451d6e","line":203,"in_reply_to":"081abbb2_658cc300","updated":"2026-01-15 18:32:39.000000000","message":"In the old code at line 195, the cert and tls mode are used for token-related https requests inside the function. They do not determine whether the keystone session needs verification.","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"88608e9f32e47a4dd97390ba769a3046ab7430ac","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"956f8cb7_8fc1244e","line":203,"in_reply_to":"193957d8_3f4dc017","updated":"2026-01-15 22:04:54.000000000","message":"No problem","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"3078326b8e7dbd08d142c572f76926af64fe49db","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"997cabf8_bd85abe4","line":203,"in_reply_to":"229fc3fd_96e9bb61","updated":"2026-01-15 22:00:41.000000000","message":"It can use both depending on what we have set. By default, insecure is false, so it would try to use the existing cacert.","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"333768b9973b2f064172ff6bbcc4a5f0bd25cb35","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"081abbb2_658cc300","line":203,"in_reply_to":"8ded8258_bed30762","updated":"2026-01-15 16:14:58.000000000","message":"If you take a look at the old code, the logic is still the same, but instead of using the cacert and insecure variables in the auth_plugin.Token call, they were joined in the verify variable used in the ks_session.Session instead.","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":38731,"name":"Michael Chen","display_name":"Michael Chen","email":"michael.chen@windriver.com","username":"mchen2"},"change_message_id":"1110c4a2fd508fb4d4e265831c342b54f23e1aa6","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"193957d8_3f4dc017","line":203,"in_reply_to":"997cabf8_bd85abe4","updated":"2026-01-15 22:04:06.000000000","message":"Thank you for your explanation and patience.","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"afa318e7e6c95372e6c729a23af0a6e83e969325","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"df29c52d_b8aef0c8","line":203,"in_reply_to":"9d155497_8e451d6e","updated":"2026-01-15 21:34:35.000000000","message":"They are exactly the same thing, but both the cacert and insecure parameters will be removed in latest releases in favor of the session\u0027s verify option.\nYou can refer to the following links:\n\nhttps://docs.openstack.org/keystoneauth/latest/api/keystoneauth1.session.html\nhttps://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/httpclient.py#L183","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":38731,"name":"Michael Chen","display_name":"Michael Chen","email":"michael.chen@windriver.com","username":"mchen2"},"change_message_id":"18fec8e9a2ad0f0d38e8c4afe2601ee4ff8a9e88","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"229fc3fd_96e9bb61","line":203,"in_reply_to":"cbb10d2e_fdbe528f","updated":"2026-01-15 21:57:25.000000000","message":"NVM, look into the link the session is using the flag with same meaning.","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"29646b242c42f94cae648228f42beac3f9514bb0","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"408b96ca_b010bc63","line":203,"in_reply_to":"df29c52d_b8aef0c8","updated":"2026-01-15 21:45:58.000000000","message":"Sorry the second link is wrong:\nhttps://opendev.org/openstack/keystoneauth/src/branch/master/keystoneauth1/identity/generic/token.py#L21\n\nIn case you want to see the code for the first link from the previous comment:\nhttps://opendev.org/openstack/keystoneauth/src/branch/master/keystoneauth1/session.py#L302","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":38731,"name":"Michael Chen","display_name":"Michael Chen","email":"michael.chen@windriver.com","username":"mchen2"},"change_message_id":"08c2ecc68c2cb625199c44e5686e4558ecdf1530","unresolved":true,"context_lines":[{"line_number":200,"context_line":"    project_domain_name \u003d kwargs.get(\"project_domain_name\")"},{"line_number":201,"context_line":"    project_domain_id \u003d kwargs.get(\"project_domain_id\")"},{"line_number":202,"context_line":"    token \u003d None"},{"line_number":203,"context_line":"    verify \u003d False if insecure else (cacert if cacert else True)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if session is None:"},{"line_number":206,"context_line":"        if auth_token:"}],"source_content_type":"text/x-python","patch_set":16,"id":"cbb10d2e_fdbe528f","line":203,"in_reply_to":"df29c52d_b8aef0c8","updated":"2026-01-15 21:50:29.000000000","message":"Why do we use tls cert and mode to determine verify flag for ks session in line 235?","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":28676,"name":"Andy Ning","email":"andy.ning@windriver.com","username":"andy.wrs"},"change_message_id":"8cb1977a75cb55dc2a9999622819eccb6f4cbeb4","unresolved":true,"context_lines":[{"line_number":346,"context_line":"        protocol \u003d \"https\""},{"line_number":347,"context_line":"    else:"},{"line_number":348,"context_line":"        protocol \u003d \"http\""},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    # Get port and path"},{"line_number":351,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"},{"line_number":352,"context_line":"    path \u003d service_paths.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":16,"id":"71d28bb2_16d098a4","line":349,"updated":"2026-01-15 15:37:13.000000000","message":"Is it possible to give the user of the client a clear error message if interface is public or admin but the https is disabled? (something like \"OIDC authentication on OAM IF only supports HTTPS\")","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"3e3d9e024e90240cac85a5911c937eda7e50c3f6","unresolved":true,"context_lines":[{"line_number":346,"context_line":"        protocol \u003d \"https\""},{"line_number":347,"context_line":"    else:"},{"line_number":348,"context_line":"        protocol \u003d \"http\""},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    # Get port and path"},{"line_number":351,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"},{"line_number":352,"context_line":"    path \u003d service_paths.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":16,"id":"73b1edef_8215357f","line":349,"in_reply_to":"71d28bb2_16d098a4","updated":"2026-01-15 15:40:53.000000000","message":"Because we have no way of knowing if https is enabled or not in the system, it can not be done in a way that we are sure of the configuration.\nThat is, the only thing we could try is to make a request to oam as https and, if it fails, we assume it is http, but that\u0027s not the same as saying https is disabled.","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"},{"author":{"_account_id":28676,"name":"Andy Ning","email":"andy.ning@windriver.com","username":"andy.wrs"},"change_message_id":"fb17493c68ca0b48d48de166ef16bb757b420c6c","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        protocol \u003d \"https\""},{"line_number":347,"context_line":"    else:"},{"line_number":348,"context_line":"        protocol \u003d \"http\""},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    # Get port and path"},{"line_number":351,"context_line":"    port \u003d service_ports.get(interface, {}).get(service_type)"},{"line_number":352,"context_line":"    path \u003d service_paths.get(interface, {}).get(service_type)"}],"source_content_type":"text/x-python","patch_set":16,"id":"341473ce_31c9ef9e","line":349,"in_reply_to":"73b1edef_8215357f","updated":"2026-01-15 17:06:29.000000000","message":"Acknowledged","commit_id":"62fe1ee076b0c9d925a9e1df3476c4d6cf7bddbb"}],"distributedcloud-client/dcmanagerclient/tests/test_client.py":[{"author":{"_account_id":35230,"name":"Gustavo Herzmann","email":"gustavo.herzmann@windriver.com","username":"gherzman"},"change_message_id":"616f44b4b6697c3b7578d9cdf05a1623a92c2743","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 - Huawei Technologies Co., Ltd."},{"line_number":2,"context_line":"# Copyright 2016 - StackStorm, Inc."},{"line_number":3,"context_line":"# Copyright 2016 - Ericsson AB."},{"line_number":4,"context_line":"# Copyright (c) 2017, 2019, 2021, 2024 Wind River Systems, Inc."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":7,"context_line":"#    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":7,"id":"bfbfb80c_8708cf6a","line":4,"range":{"start_line":4,"start_character":34,"end_line":4,"end_character":38},"updated":"2025-11-24 21:12:47.000000000","message":"2024-2025","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"},{"author":{"_account_id":14675,"name":"Hugo Nicodemos","email":"hugo.brito@windriver.com","username":"nicodemos"},"change_message_id":"49deed1951f93cace1f531dc4dc1fd6e46456de2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 - Huawei Technologies Co., Ltd."},{"line_number":2,"context_line":"# Copyright 2016 - StackStorm, Inc."},{"line_number":3,"context_line":"# Copyright 2016 - Ericsson AB."},{"line_number":4,"context_line":"# Copyright (c) 2017, 2019, 2021, 2024 Wind River Systems, Inc."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":7,"context_line":"#    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":7,"id":"9eb0d912_636689f7","line":4,"range":{"start_line":4,"start_character":34,"end_line":4,"end_character":38},"in_reply_to":"bfbfb80c_8708cf6a","updated":"2025-12-17 17:27:26.000000000","message":"Done","commit_id":"2e73a3febba056012b59ed26b02337f22d6b57ea"}]}
