Skip to content

Commit a141fbb

Browse files
committed
MB-61592: Merge 'couchbase/phoenix' into morpheus
* couchbase/phoenix: MB-61592: Re-trust OOTB CA when node cert regenerated MB-61592: [cluster_tests] Add support for retry_on_assert... MB-68190 - detailed chart doesn't reflect the currently selected bucket Change-Id: I42840b6301e9bd36d2634ca3a0fb2554e8f98147
2 parents 1913722 + f350700 commit a141fbb

File tree

2 files changed

+363
-63
lines changed

2 files changed

+363
-63
lines changed

apps/ns_server/src/ns_server_cert.erl

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,16 +129,23 @@ generate_cluster_CA(ForceRegenerateCA, DropUploadedCerts) ->
129129
fun (Txn) ->
130130
case chronicle_kv:txn_get(root_cert_and_pkey, Txn) of
131131
{ok, {{_, OldKey} = OldPair, _}}
132-
when not ForceRegenerateCA,
133-
not DropUploadedCerts,
134-
OldKey /= undefined ->
132+
when not ForceRegenerateCA,
133+
not DropUploadedCerts,
134+
OldKey /= undefined ->
135135
{abort, {ok, undefined, OldPair}};
136-
{ok, {{_, OldKey} = OldPair, _}}
137-
when not ForceRegenerateCA,
138-
OldKey /= undefined ->
136+
{ok, {{OldCert, OldKey} = OldPair, _}}
137+
when not ForceRegenerateCA,
138+
OldKey /= undefined ->
139+
%% In case the CA cert is not trusted, we attempt to
140+
%% add it here. Note that add_CAs_txn_fun will check
141+
%% for the cert already being trusted, so there's no
142+
%% need for such a check here
143+
{ok, AddOldCA} =
144+
add_CAs_txn_fun(generated, OldCert, []),
145+
{commit, Changes0, _} = AddOldCA(Txn),
139146
Epoch = ReadEpoch(Txn) + 1,
140-
{commit, [{set, cluster_certs_epoch, Epoch}],
141-
OldPair};
147+
Changes1 = [{set, cluster_certs_epoch, Epoch}],
148+
{commit, Changes0 ++ Changes1, OldPair};
142149
_ ->
143150
Changes0 =
144151
case DropUploadedCerts of

0 commit comments

Comments
 (0)