From e93dd30cc1883b20986a8129934181e5767f1c18 Mon Sep 17 00:00:00 2001 From: Redouane Kachach Date: Thu, 7 Aug 2025 15:57:41 +0200 Subject: [PATCH] mgr/cephadm: fixing nvmeof section in cert_mgr UT + new UT Signed-off-by: Redouane Kachach --- src/pybind/mgr/cephadm/tests/test_certmgr.py | 129 +++++++++++-------- 1 file changed, 77 insertions(+), 52 deletions(-) diff --git a/src/pybind/mgr/cephadm/tests/test_certmgr.py b/src/pybind/mgr/cephadm/tests/test_certmgr.py index d71d769f439..32bca8f2113 100644 --- a/src/pybind/mgr/cephadm/tests/test_certmgr.py +++ b/src/pybind/mgr/cephadm/tests/test_certmgr.py @@ -5,7 +5,7 @@ import json from tests import mock import logging -from cephadm.tlsobject_types import Cert, PrivKey, TLSObjectException, TLSObjectProtocol +from cephadm.tlsobject_types import Cert, PrivKey, TLSObjectException, TLSObjectProtocol, CertKeyPair from cephadm.tlsobject_store import TLSOBJECT_STORE_PREFIX, TLSObjectStore, TLSObjectScope from cephadm.module import CephadmOrchestrator from cephadm.cert_mgr import CertInfo, CertMgr @@ -301,12 +301,12 @@ class TestCertMgr(object): rgw_frontend_rgw_foo_host2_cert = 'fake-rgw-cert' nvmeof_client_cert = 'fake-nvmeof-client-cert' - nvmeof_server_cert = 'fake-nvmeof-server-cert' + nvmeof_ssl_cert = 'fake-nvmeof-ssl-cert' nvmeof_root_ca_cert = 'fake-nvmeof-root-ca-cert' grafana_cert_host_1 = 'grafana-cert-host-1' grafana_cert_host_2 = 'grafana-cert-host-2' cephadm_module.cert_mgr.save_cert('rgw_ssl_cert', rgw_frontend_rgw_foo_host2_cert, service_name='rgw.foo', user_made=True) - cephadm_module.cert_mgr.save_cert('nvmeof_server_cert', nvmeof_server_cert, service_name='nvmeof.foo', user_made=True) + cephadm_module.cert_mgr.save_cert('nvmeof_ssl_cert', nvmeof_ssl_cert, service_name='nvmeof.self-signed.foo', user_made=False) cephadm_module.cert_mgr.save_cert('nvmeof_client_cert', nvmeof_client_cert, service_name='nvmeof.foo', user_made=True) cephadm_module.cert_mgr.save_cert('nvmeof_root_ca_cert', nvmeof_root_ca_cert, service_name='nvmeof.foo', user_made=True) cephadm_module.cert_mgr.save_cert('grafana_ssl_cert', grafana_cert_host_1, host='host-1', user_made=True) @@ -314,7 +314,7 @@ class TestCertMgr(object): expected_calls = [ mock.call(f'{TLSOBJECT_STORE_CERT_PREFIX}rgw_ssl_cert', json.dumps({'rgw.foo': Cert(rgw_frontend_rgw_foo_host2_cert, True).to_json()})), - mock.call(f'{TLSOBJECT_STORE_CERT_PREFIX}nvmeof_server_cert', json.dumps({'nvmeof.foo': Cert(nvmeof_server_cert, True).to_json()})), + mock.call(f'{TLSOBJECT_STORE_CERT_PREFIX}nvmeof_ssl_cert', json.dumps({'nvmeof.self-signed.foo': Cert(nvmeof_ssl_cert, False).to_json()})), mock.call(f'{TLSOBJECT_STORE_CERT_PREFIX}nvmeof_client_cert', json.dumps({'nvmeof.foo': Cert(nvmeof_client_cert, True).to_json()})), mock.call(f'{TLSOBJECT_STORE_CERT_PREFIX}nvmeof_root_ca_cert', json.dumps({'nvmeof.foo': Cert(nvmeof_root_ca_cert, True).to_json()})), mock.call(f'{TLSOBJECT_STORE_CERT_PREFIX}grafana_ssl_cert', json.dumps({'host-1': Cert(grafana_cert_host_1, True).to_json()})), @@ -365,7 +365,7 @@ class TestCertMgr(object): } def compare_certls_dicts(expected_ls): - actual_ls = cephadm_module.cert_mgr.cert_ls(include_datails=True) + actual_ls = cephadm_module.cert_mgr.cert_ls(include_details=True, include_cephadm_signed=True) assert actual_ls.keys() == expected_ls.keys() for svc_cert_name, value in expected_ls.items(): expected_certs_entry = value['certificates'] @@ -450,8 +450,8 @@ class TestCertMgr(object): # nvmeof certificates cephadm_module.cert_mgr.save_cert('nvmeof_client_cert', CEPHADM_SELF_GENERATED_CERT_1, service_name='nvmeof.foo', user_made=True) - cephadm_module.cert_mgr.save_cert('nvmeof_server_cert', CEPHADM_SELF_GENERATED_CERT_1, service_name='nvmeof.foo', user_made=True) cephadm_module.cert_mgr.save_cert('nvmeof_root_ca_cert', CEPHADM_SELF_GENERATED_CERT_2, service_name='nvmeof.foo', user_made=True) + cephadm_module.cert_mgr.save_cert('nvmeof_ssl_cert', CEPHADM_SELF_GENERATED_CERT_1, service_name='nvmeof.self-signed.foo', user_made=False) expected_ls.update( { "nvmeof_client_cert": { @@ -460,53 +460,95 @@ class TestCertMgr(object): "nvmeof.foo": get_generated_cephadm_cert_info_1(), }, }, - "nvmeof_server_cert": { + "nvmeof_root_ca_cert": { "scope": "service", "certificates": { - "nvmeof.foo": get_generated_cephadm_cert_info_1(), + "nvmeof.foo": get_generated_cephadm_cert_info_2(), }, }, - "nvmeof_root_ca_cert": { + "nvmeof_ssl_cert": { "scope": "service", "certificates": { - "nvmeof.foo": get_generated_cephadm_cert_info_2(), + "nvmeof.self-signed.foo": get_generated_cephadm_cert_info_1(), }, }, } ) compare_certls_dicts(expected_ls) + def test_cephadm_signed_with_label_host_scope(self, cephadm_module): + """ + Ensure cephadm-signed __