)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":33549,"name":"Kyle MacLeod","email":"Kyle.MacLeod@windriver.com","username":"kmacleod"},"change_message_id":"59254ea985e594058155a3273f32586c57563fcf","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"DC decoupling - clean up certmon"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now that DC certificate management and auditing have been moved"},{"line_number":10,"context_line":"to dccertmon, remove the obsolete code from certmon. This includes:"},{"line_number":11,"context_line":"  - DC-specific utils and classes"},{"line_number":12,"context_line":"  - Subcloud cert auditor"},{"line_number":13,"context_line":"  - DC Cert Watchers:"},{"line_number":14,"context_line":"    - AdminEndpointRenew"},{"line_number":15,"context_line":"    - DCIntermediateCertRenew"},{"line_number":16,"context_line":"    - RootCARenew"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Note: These changes should be submitted together with:"},{"line_number":19,"context_line":"- https://review.opendev.org/c/starlingx/stx-puppet/+/944978"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"0828b07d_03bac680","line":16,"range":{"start_line":9,"start_character":0,"end_line":16,"end_character":17},"updated":"2025-03-28 21:21:43.000000000","message":"It would be helpful to summarize what is being kept, and why. \n\nAm I correct to assume that the existing cert-mon service is the non-DC component (for standalone) and subcloud-specific component (for a subcloud)?  A high-level explanation would help here.","commit_id":"a3509a10c5d9588dd5237df7b29dd6fe88af6113"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"f28a11c9727b90d81eec5988b9285c4d33302a20","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"DC decoupling - clean up certmon"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now that DC certificate management and auditing have been moved"},{"line_number":10,"context_line":"to dccertmon, remove the obsolete code from certmon. This includes:"},{"line_number":11,"context_line":"  - DC-specific utils and classes"},{"line_number":12,"context_line":"  - Subcloud cert auditor"},{"line_number":13,"context_line":"  - DC Cert Watchers:"},{"line_number":14,"context_line":"    - AdminEndpointRenew"},{"line_number":15,"context_line":"    - DCIntermediateCertRenew"},{"line_number":16,"context_line":"    - RootCARenew"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Note: These changes should be submitted together with:"},{"line_number":19,"context_line":"- https://review.opendev.org/c/starlingx/stx-puppet/+/944978"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"51607196_9deaefd2","line":16,"range":{"start_line":9,"start_character":0,"end_line":16,"end_character":17},"in_reply_to":"0828b07d_03bac680","updated":"2025-03-31 17:44:41.000000000","message":"We\u0027re basically removing anything DC related from certmon and creating the new dccertmon service. The remaining funcionalities are kept as is.\nI\u0027m","commit_id":"a3509a10c5d9588dd5237df7b29dd6fe88af6113"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"f28a11c9727b90d81eec5988b9285c4d33302a20","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"DC decoupling - clean up certmon"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now that DC certificate management and auditing have been moved"},{"line_number":10,"context_line":"to dccertmon, remove the obsolete code from certmon. This includes:"},{"line_number":11,"context_line":"  - DC-specific utils and classes"},{"line_number":12,"context_line":"  - Subcloud cert auditor"},{"line_number":13,"context_line":"  - DC Cert Watchers:"},{"line_number":14,"context_line":"    - AdminEndpointRenew"},{"line_number":15,"context_line":"    - DCIntermediateCertRenew"},{"line_number":16,"context_line":"    - RootCARenew"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Note: These changes should be submitted together with:"},{"line_number":19,"context_line":"- https://review.opendev.org/c/starlingx/stx-puppet/+/944978"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"a8f54848_7700ad9c","line":16,"range":{"start_line":9,"start_character":0,"end_line":16,"end_character":17},"in_reply_to":"0828b07d_03bac680","updated":"2025-03-31 17:44:41.000000000","message":"Your assumption is correct. All the logic related to DC has been moved to dccertmon, but the remaining code is left is cert-mon service.\nFor any DC deployment, i.e. system controller and subcloud, we\u0027ll have a dccertmon service running, but that does not occur for a standalone.\nIn addition, Salman gave some details in the second paragraph from https://review.opendev.org/c/starlingx/distcloud/+/941210.","commit_id":"a3509a10c5d9588dd5237df7b29dd6fe88af6113"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36205,"name":"Salman Rana","display_name":"Salman Rana","email":"salman.rana@windriver.com","username":"srana"},"change_message_id":"193579eb8b717b3bfeca0d107559019ec7a14699","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"488b96a2_24b5e4e6","updated":"2025-03-19 11:42:24.000000000","message":"TODO: Migrate unit tests (will cause tox failures)","commit_id":"75ef0fc4a479d0b53a542eb22fe98e599f4d4500"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"b1640daaf6f98a61334392078e9a0f478f9c6437","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f34ab54f_ea5accef","in_reply_to":"057c2f20_3cf53afe","updated":"2025-03-24 20:35:25.000000000","message":"I resolved the issues we have for now and I\u0027ll leave the migration to the unit test story so we can merge this change as is.","commit_id":"75ef0fc4a479d0b53a542eb22fe98e599f4d4500"},{"author":{"_account_id":36205,"name":"Salman Rana","display_name":"Salman Rana","email":"salman.rana@windriver.com","username":"srana"},"change_message_id":"27b77b704e400188dbbaf28d5a9dd8b98c701f31","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"057c2f20_3cf53afe","in_reply_to":"488b96a2_24b5e4e6","updated":"2025-03-19 11:45:34.000000000","message":"must be resolved","commit_id":"75ef0fc4a479d0b53a542eb22fe98e599f4d4500"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"bc86e6be6dbdae1023e36d5131187ffbb07eb6bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3c81afb7_d1dfc5e3","updated":"2025-04-02 12:18:45.000000000","message":"Retesting after changes in utils","commit_id":"635d5167c9db1496ea6cfcb696d09a9d5c717bf8"}],"sysinv/sysinv/sysinv/scripts/kube-cert-rotation.sh":[{"author":{"_account_id":28466,"name":"Bin Qian","email":"bin.qian@windriver.com","username":"bqian"},"change_message_id":"f787cf4e643908f7eb92c7c488c03a3d9922015d","unresolved":true,"context_lines":[{"line_number":307,"context_line":"    if [ ${result} -eq 0 ]; then"},{"line_number":308,"context_line":"        RESTART_SYSINV\u003d1"},{"line_number":309,"context_line":"        RESTART_CERT_MON\u003d1"},{"line_number":310,"context_line":"        if sm-dump | grep -q dccertmon; then"},{"line_number":311,"context_line":"            RESTART_DC_CERT_MON\u003d1"},{"line_number":312,"context_line":"        fi"},{"line_number":313,"context_line":"    elif [ ${result} -eq 1 ]; then"}],"source_content_type":"text/x-sh","patch_set":11,"id":"9e4b23ff_bc9c48bb","line":310,"updated":"2025-04-03 21:15:47.000000000","message":"this check may not bee required. trying to restart a deprovisioned SM managed service is totally fine.","commit_id":"635d5167c9db1496ea6cfcb696d09a9d5c717bf8"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"61eefc99f0ab22bdf5968af165139ed5a2d0fcc1","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    if [ ${result} -eq 0 ]; then"},{"line_number":308,"context_line":"        RESTART_SYSINV\u003d1"},{"line_number":309,"context_line":"        RESTART_CERT_MON\u003d1"},{"line_number":310,"context_line":"        if sm-dump | grep -q dccertmon; then"},{"line_number":311,"context_line":"            RESTART_DC_CERT_MON\u003d1"},{"line_number":312,"context_line":"        fi"},{"line_number":313,"context_line":"    elif [ ${result} -eq 1 ]; then"}],"source_content_type":"text/x-sh","patch_set":11,"id":"c4405ab8_65a600b9","line":310,"in_reply_to":"9e4b23ff_bc9c48bb","updated":"2025-04-04 14:05:11.000000000","message":"Done","commit_id":"635d5167c9db1496ea6cfcb696d09a9d5c717bf8"}],"sysinv/sysinv/sysinv/sysinv/cert_mon/service.py":[{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"c2b55847dd75dfa607850ab2d1087eab73523df6","unresolved":true,"context_lines":[{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."},{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# SPDX-License-Identifier: Apache-2.0"}],"source_content_type":"text/x-python","patch_set":2,"id":"e36b3a9f_bf3050ee","side":"PARENT","line":13,"updated":"2025-03-20 15:56:17.000000000","message":"Update the copyright notice in all files","commit_id":"862231561b0127b04bdfd22800186d75692419c4"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"b1640daaf6f98a61334392078e9a0f478f9c6437","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."},{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# SPDX-License-Identifier: Apache-2.0"}],"source_content_type":"text/x-python","patch_set":2,"id":"13ca4ef1_93d84579","side":"PARENT","line":13,"in_reply_to":"e36b3a9f_bf3050ee","updated":"2025-03-24 20:35:25.000000000","message":"Done","commit_id":"862231561b0127b04bdfd22800186d75692419c4"}],"sysinv/sysinv/sysinv/sysinv/cert_mon/utils.py":[{"author":{"_account_id":33549,"name":"Kyle MacLeod","email":"Kyle.MacLeod@windriver.com","username":"kmacleod"},"change_message_id":"886b2e70493dd3548c8bdb2b4efd37cc0844ff5d","unresolved":true,"context_lines":[{"line_number":378,"context_line":"class TokenCache(object):"},{"line_number":379,"context_line":"    \"\"\"Simple token cache. This class holds one keystone token."},{"line_number":380,"context_line":"    \"\"\""},{"line_number":381,"context_line":"    token_getters \u003d {\u0027internal\u0027: get_token}"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    def __init__(self, token_type):"},{"line_number":384,"context_line":"        self._token \u003d None"}],"source_content_type":"text/x-python","patch_set":8,"id":"48f8abab_2e3755b1","line":381,"range":{"start_line":381,"start_character":4,"end_line":381,"end_character":43},"updated":"2025-03-31 21:13:44.000000000","message":"This could go away, and so can _getter_func, instead on line 393 invoke the get_token() function from this file (i.e. the function defined on on line 148)\n\nSo line 393 becomes:\n\nself._token \u003d get_token()","commit_id":"8ae045ed3540ba988df6b72f3a69cd515bfef843"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"8db10b10d5ba808966c58585e43fced2805991f4","unresolved":false,"context_lines":[{"line_number":378,"context_line":"class TokenCache(object):"},{"line_number":379,"context_line":"    \"\"\"Simple token cache. This class holds one keystone token."},{"line_number":380,"context_line":"    \"\"\""},{"line_number":381,"context_line":"    token_getters \u003d {\u0027internal\u0027: get_token}"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"    def __init__(self, token_type):"},{"line_number":384,"context_line":"        self._token \u003d None"}],"source_content_type":"text/x-python","patch_set":8,"id":"53b0df29_f28c4c0e","line":381,"range":{"start_line":381,"start_character":4,"end_line":381,"end_character":43},"in_reply_to":"48f8abab_2e3755b1","updated":"2025-04-01 21:47:25.000000000","message":"Done","commit_id":"8ae045ed3540ba988df6b72f3a69cd515bfef843"},{"author":{"_account_id":33549,"name":"Kyle MacLeod","email":"Kyle.MacLeod@windriver.com","username":"kmacleod"},"change_message_id":"7494ac5b5742a1dc9f5b442ca4eb1de599d5c854","unresolved":true,"context_lines":[{"line_number":394,"context_line":"        return self._token"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"def get_internal_token_cache():"},{"line_number":398,"context_line":"    global internal_token_cache"},{"line_number":399,"context_line":"    if not internal_token_cache:"},{"line_number":400,"context_line":"        internal_token_cache \u003d TokenCache(\"internal\")"},{"line_number":401,"context_line":"    return internal_token_cache"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"def get_cached_token():"},{"line_number":405,"context_line":"    return get_internal_token_cache().get_token()"}],"source_content_type":"text/x-python","patch_set":11,"id":"d9f8af56_eb77cbca","line":405,"range":{"start_line":397,"start_character":0,"end_line":405,"end_character":49},"updated":"2025-04-02 14:22:50.000000000","message":"I noticed that we can clean this down to a single get_cached_token() now, and remove the token_type from TokenCache, but I don\u0027t think that\u0027s worth retesting for this commit. Let\u0027s make a note to clean it up in the next commit.","commit_id":"635d5167c9db1496ea6cfcb696d09a9d5c717bf8"},{"author":{"_account_id":36476,"name":"Raphael Lima","display_name":"Raphael","email":"Raphael.Lima@windriver.com","username":"rlima"},"change_message_id":"ec71efb84d738776f0c0c3bb170405ec38fd3774","unresolved":false,"context_lines":[{"line_number":394,"context_line":"        return self._token"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"def get_internal_token_cache():"},{"line_number":398,"context_line":"    global internal_token_cache"},{"line_number":399,"context_line":"    if not internal_token_cache:"},{"line_number":400,"context_line":"        internal_token_cache \u003d TokenCache(\"internal\")"},{"line_number":401,"context_line":"    return internal_token_cache"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"def get_cached_token():"},{"line_number":405,"context_line":"    return get_internal_token_cache().get_token()"}],"source_content_type":"text/x-python","patch_set":11,"id":"cf635056_8eca27fa","line":405,"range":{"start_line":397,"start_character":0,"end_line":405,"end_character":49},"in_reply_to":"d9f8af56_eb77cbca","updated":"2025-04-02 14:46:21.000000000","message":"Acknowledged","commit_id":"635d5167c9db1496ea6cfcb696d09a9d5c717bf8"}]}
