From fadab9bcfc834b92efdeac518559dd295cbc59b1 Mon Sep 17 00:00:00 2001 From: Salman Rana <Salman.rana@windriver.com> Date: Wed, 19 Mar 2025 06:21:28 -0400 Subject: [PATCH] DC certmon decoupling - clean up puppet modules Now that DC certificate management and auditing have been moved to dccertmon, remove the obsolete Puppet code from certmon and related files. Additionally, add logic to restart dccertmon when admin.conf is updated. Test plan: - PASS: Build puppet, puppet-mainfiest and puppet-sysinv deb packages. - PASS: Build an ISO, verify full installation and ensure no puppet related errors. - PASS: Deploy a full DC system with system controller and a subcloud. Verify the systems are operational after completion (dccertmon and certmon are active). - PASS: Deploy a standalone AIO-SX and verify the system is operational after completion (certmon active - dccertmon not active) Depends-on: https://review.opendev.org/c/starlingx/distcloud/+/944985 Depends-on: https://review.opendev.org/c/starlingx/config/+/944987 Story: 2011311 Task: 51838 Change-Id: Id1f95b0015c48e75c72610b112593e799e3b1540 Signed-off-by: Salman Rana <salman.rana@windriver.com> --- .../src/sysinv/manifests/certmon.pp | 42 +------------------ .../modules/platform/manifests/kubernetes.pp | 12 ++++++ 2 files changed, 13 insertions(+), 41 deletions(-) diff --git a/modules/puppet-sysinv/src/sysinv/manifests/certmon.pp b/modules/puppet-sysinv/src/sysinv/manifests/certmon.pp index c7b4c597f..a248a6a65 100644 --- a/modules/puppet-sysinv/src/sysinv/manifests/certmon.pp +++ b/modules/puppet-sysinv/src/sysinv/manifests/certmon.pp @@ -1,14 +1,13 @@ # # Files in this package are licensed under Apache; see LICENSE file. # -# Copyright (c) 2020 Wind River Systems, Inc. +# Copyright (c) 2020, 2025 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # # class sysinv::certmon ( $local_keystone_password, - $dc_keystone_password, $local_keystone_auth_uri = false, $local_keystone_identity_uri = false, $local_keystone_project_domain = 'Default', @@ -17,13 +16,6 @@ class sysinv::certmon ( $local_keystone_user_domain = 'Default', $local_region_name = 'RegionOne', - $dc_keystone_auth_uri = false, - $dc_keystone_identity_uri = false, - $dc_keystone_project_domain = 'Default', - $dc_keystone_tenant = 'services', - $dc_keystone_user = 'dcmanager', - $dc_keystone_user_domain = 'Default', - $use_syslog = false, $log_facility = 'LOG_USER', $debug = false, @@ -81,13 +73,6 @@ class sysinv::certmon ( certmon_config { 'certmon/retry_interval': value => 600; 'certmon/max_retry': value => 14; - 'certmon/audit_interval': value => 86400; - 'certmon/startup_audit_all': value => false; - 'certmon/network_retry_interval': value => 180; - 'certmon/network_max_retry': value => 30; - 'certmon/audit_batch_size': value => 40; - 'certmon/audit_greenpool_size': value => 20; - 'certmon/certificate_timeout_secs': value => 5; } if $keystone_enabled { @@ -104,25 +89,6 @@ class sysinv::certmon ( 'keystone_authtoken/interface': value => $keystone_interface; 'keystone_authtoken/region_name': value => $local_region_name; } - - if $::platform::params::distributed_cloud_role == 'systemcontroller' { - certmon_config { - 'DEFAULT/transport_url': value => $::platform::amqp::params::transport_url; - - 'endpoint_cache/auth_plugin': value => $auth_type; - 'endpoint_cache/username': value => $dc_keystone_user; - 'endpoint_cache/password': value => $dc_keystone_password, secret=> true; - 'endpoint_cache/project_name': value => $dc_keystone_tenant; - 'endpoint_cache/user_domain_name': value => $dc_keystone_user_domain; - 'endpoint_cache/project_domain_name': value => $dc_keystone_project_domain; - 'endpoint_cache/http_connect_timeout': value => $keystone_http_connect_timeout; - } - } - - if $dc_keystone_identity_uri { - certmon_config { 'endpoint_cache/auth_uri': value => "${dc_keystone_identity_uri}/v3"; } - } - } else { @@ -140,11 +106,5 @@ class sysinv::certmon::keystone::password ( certmon_config { 'keystone_authtoken/password': value => lookup('sysinv::certmon::local_keystone_password'), secret => true; } - - if $::platform::params::distributed_cloud_role == 'systemcontroller' { - certmon_config { - 'endpoint_cache/password': value => lookup('sysinv::certmon::dc_keystone_password'), secret => true; - } - } } } diff --git a/puppet-manifests/src/modules/platform/manifests/kubernetes.pp b/puppet-manifests/src/modules/platform/manifests/kubernetes.pp index 20670cc9b..852f6c185 100644 --- a/puppet-manifests/src/modules/platform/manifests/kubernetes.pp +++ b/puppet-manifests/src/modules/platform/manifests/kubernetes.pp @@ -1653,6 +1653,13 @@ class platform::kubernetes::worker::rootca::trustbothcas::runtime class platform::kubernetes::master::rootca::trustnewca::runtime inherits ::platform::kubernetes::params { + include ::platform::params + + $cloud_role = ( + $::platform::params::distributed_cloud_role == 'systemcontroller' or + $::platform::params::distributed_cloud_role == 'subcloud' + ) + # Copy the new root CA cert in place exec { 'put_new_ca_cert_in_place': command => "/bin/cp ${rootca_certfile_new} ${rootca_certfile}", @@ -1680,6 +1687,11 @@ class platform::kubernetes::master::rootca::trustnewca::runtime -> exec { 'restart_cert_mon': command => 'sm-restart-safe service cert-mon', } + # Restart dccert-mon since it uses admin.conf + -> exec { 'restart_dc_cert_mon': + command => 'sm-restart-safe service dccertmon', + onlyif => $cloud_role, + } # Restart kube-apiserver to pick up the new cert -> exec { 'restart_apiserver': command => "/usr/bin/kill -s SIGHUP $(pidof kube-apiserver)",