You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace CI/Zuul references with manual commands in HSM adoption docs
The Key Manager (Barbican) HSM adoption documentation contained
references to CI-specific tooling (Zuul job vars, CI framework
configuration, cifmw_* variables) that are not applicable to users
performing adoption manually. This made the Proteccio HSM procedure
(section 4.4.2) impossible to follow as a user.
Replace CI-oriented instructions with concrete manual commands (oc
create secret, oc patch) following the same pattern used by the
simple_crypto adoption procedure (section 4.3). Update related
concept modules and troubleshooting procedures to remove CI
references and use user-facing terminology throughout.
Signed-off-by: Mauricio Harley <mharley@redhat.com>
Copy file name to clipboardExpand all lines: docs_user/modules/con_key-manager-service-hsm-adoption-approaches.adoc
+5-6Lines changed: 5 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,13 +16,12 @@ Standard adoption approach::
16
16
* Is suitable for development, testing, and standard production environments
17
17
18
18
HSM-enabled adoption approach::
19
-
* Uses the enhanced `barbican_adoption` role with HSM awareness
20
-
* Configures HSM integration through a simple boolean flag (`barbican_hsm_enabled: true`)
21
-
* Automatically creates required Kubernetes secrets (`hsm-login` and `proteccio-data`)
19
+
* Patches the `OpenStackControlPlane` custom resource with HSM-enabled configuration
20
+
* Creates required Kubernetes secrets (`hsm-login` and `proteccio-data`) for HSM credentials and certificates
22
21
* Preserves HSM metadata during database migration
23
22
* Supports both simple crypto and HSM back ends in the target environment
24
-
* Requires HSM-specific configuration variables and custom container images with HSM client libraries (built using the `rhoso_proteccio_hsm` Ansible role)
25
-
* Uses HSM client certificates and configuration files accessible via URLs
23
+
* Requires custom container images with HSM client libraries that are built by using the `rhoso_proteccio_hsm` Ansible role
24
+
* Requires HSM client certificates and configuration files
26
25
* Requires proper HSM partition and key configuration that matches your source environment
27
26
* The HSM-enabled adoption approach currently supports:
28
27
** Proteccio (Eviden Trustway): Fully supported with PKCS#11 integration
Copy file name to clipboardExpand all lines: docs_user/modules/con_key-manager-service-support-for-crypto-plugins.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,4 +21,4 @@ The {key_manager} supports HSM integration through the PKCS#11 plugin. This enab
21
21
* Compliance with security requirements for production environments
22
22
* Preservation of existing HSM-protected secrets during adoption
23
23
24
-
HSM integration is configured through a simple boolean flag (`barbican_hsm_enabled`) during the adoption process. For environments that require HSM integration during adoption, see xref:adopting-key-manager-service-with-proteccio-hsm_{context}[Adopting the {key_manager} with Proteccio HSM integration].
24
+
For environments that require HSM integration during adoption, see xref:adopting-the-key-manager-service-with-proteccio-hsm_hsm-integration[Adopting the {key_manager} with Proteccio HSM integration].
Copy file name to clipboardExpand all lines: docs_user/modules/proc_adopting-key-manager-service-with-hsm-integration.adoc
+1-11Lines changed: 1 addition & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,11 +13,6 @@ When your source {OpenStackPreviousInstaller} environment includes hardware secu
13
13
* The target {rhos_long} environment with HSM infrastructure is accessible.
14
14
* HSM-enabled {key_manager_first_ref} container images are built and available in your registry.
15
15
16
-
[NOTE]
17
-
====
18
-
If you use the automated adoption process by setting `barbican_hsm_enabled: true`, the required HSM secrets (`hsm-login` and `proteccio-data`) are created automatically. You only need to manually create the secret when you perform the manual adoption steps.
19
-
====
20
-
21
16
.Procedure
22
17
23
18
. Confirm that your source environment configuration includes HSM integration:
$ oc set data secret/osp-secret "BarbicanSimpleCryptoKEK=${SIMPLE_CRYPTO_KEK}"
46
41
----
47
42
48
-
. If you are not using the automated adoption, create HSM-specific secrets in the target environment:
43
+
. Create HSM-specific secrets in the {rhos_acro} target environment:
49
44
+
50
45
[source,bash]
51
46
----
@@ -76,11 +71,6 @@ Specifies the path to the client key.
76
71
Specifies the path to the server certificate.
77
72
<path_to_hsm_config>::
78
73
Specifies the path to your HSM configuration in your {rhos_acro} environment.
79
-
+
80
-
[NOTE]
81
-
====
82
-
When you use the automated adoption by setting `barbican_hsm_enabled: true`, the `barbican_adoption` role creates these secrets automatically. The secret names default to `hsm-login` and `proteccio-data`.
83
-
====
84
74
85
75
. Patch the `OpenStackControlPlane` custom resource to deploy {key_manager} with HSM support:
= Adopting the {key_manager} with Proteccio HSM integration
5
5
6
6
[role="_abstract"]
7
-
To adopt the {key_manager_first_ref} with Proteccio hardware security module (HSM) integration, you use the enhanced Barbican adoption role with HSM support enabled through a configuration flag. This approach preserves HSM integration while adopting all existing secrets from your source {rhos_prev_long} ({OpenStackShort}) environment.
8
-
When you run the data plane adoption tests with HSM support enabled, the adoption process performs the following actions:
9
-
10
-
* Extracts the simple crypto KEK from the source configuration.
11
-
* Creates the required HSM secrets (hsm-login and proteccio-data) in the target namespace.
12
-
* Deploys Barbican with HSM-enabled configuration by using the PKCS#11 plugin.
13
-
* Verifies the HSM functionality and secret migration.
14
-
When you run the data plane adoption tests with HSM support enabled, the adoption process performs the following actions:
15
-
16
-
* Extracts the simple crypto KEK from the source configuration.
17
-
* Creates the required HSM secrets (hsm-login and proteccio-data) in the target namespace.
18
-
* Deploys Barbican with HSM-enabled configuration by using the PKCS#11 plugin.
19
-
* Verifies the HSM functionality and secret migration.
7
+
To adopt the {key_manager_first_ref} with Proteccio hardware security module (HSM) integration, you patch an existing `OpenStackControlPlane` custom resource (CR) where {key_manager} is disabled. The patch starts the service with the configuration parameters from the {rhos_prev_long} ({OpenStackShort}) environment and preserves access to existing HSM-backed secrets. You configure the {key_manager} to use both the `simple_crypto` and `pkcs11` back ends.
20
8
21
9
The {key_manager} Proteccio HSM adoption is complete if you see the following results:
22
10
23
-
* The `BarbicanAPI`and `BarbicanWorker` services are up and running with HSM-enabled configuration.
11
+
* The `BarbicanAPI`, `BarbicanWorker`, and `BarbicanKeystoneListener` services are up and running with HSM-enabled configuration.
24
12
* All secrets from the source {OpenStackShort} {rhos_prev_ver} environment are available in {rhos_long} {rhos_curr_ver}.
25
13
* The PKCS11 crypto plugin is available alongside `simple_crypto` for new secret storage.
26
14
* HSM functionality is verified and operational.
27
15
28
16
[NOTE]
29
-
====
30
-
If your environment does not include Proteccio HSM, to adopt the {key_manager} by using `simple_crypto`, see xref:adopting-the-key-manager-service_{context}[Adopting the {key_manager}].
31
-
32
-
The enhanced {key_manager} adoption role supports HSM configuration through a simple boolean flag. This approach integrates seamlessly with the standard data plane adoption framework while providing HSM support.
33
-
====
17
+
If your environment does not include Proteccio HSM, to adopt the {key_manager} by using `simple_crypto` only, see xref:adopting-the-key-manager-service_adopt-control-plane[Adopting the {key_manager}].
34
18
35
19
.Prerequisites
36
20
37
21
* You have a running {OpenStackPreviousInstaller} environment with Proteccio HSM integration (the source cloud).
38
22
* You have a Single Node OpenShift or OpenShift Local running in the {rhocp_long} cluster.
39
23
* You have SSH access to the source {OpenStackPreviousInstaller} undercloud and Controller nodes.
40
-
* You have configured HSM variables in your adoption configuration files.
41
-
* Custom {key_manager} container images with the Proteccio client libraries are available in your registry.
24
+
* Custom {key_manager} container images with the Proteccio client libraries are built and available in your container registry. For more information, see the `rhoso_proteccio_hsm` Ansible role documentation.
25
+
* The Proteccio client certificate, client key, server certificate, and `proteccio.rc` configuration file for the target environment are available on the host where you run the adoption commands.
42
26
43
27
[IMPORTANT]
44
28
====
45
-
The HSM adoption process requires proper configuration of HSM-related variables. The adoption role automatically creates the required Kubernetes secrets (`hsm-login` and `proteccio-data`) when `barbican_hsm_enabled` is set to `true`. Ensure that your environment includes the following:
46
-
47
-
* All HSM-related variables are properly set in your configuration files
48
-
* The Proteccio client ISO, certificates, and configuration files are accessible from the configured URLs
49
-
* Custom {key_manager} images with Proteccio client are built and available in your container registry
29
+
Without proper HSM configuration, your HSM-protected secrets become inaccessible after adoption. Ensure the following before you begin:
50
30
51
-
Without proper HSM configuration, your HSM-protected secrets become inaccessible after adoption.
31
+
* The HSM partition name, MKEK label, and HMAC label match the values configured in your source environment ({OpenStackShort}).
32
+
* The Proteccio client certificates and configuration files are valid for the target environment ({rhos_acro}).
52
33
====
53
34
54
35
.Procedure
55
36
56
-
. Configure HSM integration variables in your adoption configuration (Zuul job vars or CI framework configuration):
37
+
. Confirm that your source environment configuration includes Proteccio HSM integration:
# Enable HSM integration for the Barbican adoption role
60
-
barbican_hsm_enabled: true
44
+
+
45
+
If you see the `[p11_crypto_plugin]` section with Proteccio-specific settings, for example `library_path = /usr/lib64/libnethsm.so`, continue with the HSM adoption. If you do not see this section, your source environment does not include Proteccio HSM integration. Use the standard adoption procedure instead. For more information, see xref:adopting-the-key-manager-service_adopt-control-plane[Adopting the {key_manager}].
61
46
62
-
# HSM login credentials
63
-
proteccio_login_password: "your_hsm_password"
47
+
. Add the simple crypto key encryption key (KEK) secret:
48
+
+
49
+
----
50
+
$ oc set data secret/osp-secret "BarbicanSimpleCryptoKEK=$($CONTROLLER1_SSH "python3 -c \"import configparser; c = configparser.ConfigParser(); c.read('/var/lib/config-data/puppet-generated/barbican/etc/barbican/barbican.conf'); print(c['simple_crypto_plugin']['kek'])\"")"
. Run the data plane adoption tests with HSM support enabled:
157
+
`<library_path>`::
158
+
Specifies the path to the PKCS#11 library inside the container, for example, `/usr/lib64/libnethsm.so` for Proteccio.
159
+
`<partition_name>`::
160
+
Specifies the HSM partition name, for example, `VHSM1`. This value must match the partition configured in your source environment.
161
+
`<mkek_label>`::
162
+
Specifies the label of the Master Key Encryption Key (MKEK) in the HSM. This value must match the key configured in your source environment.
163
+
`<hmac_label>`::
164
+
Specifies the label of the HMAC key in the HSM. This value must match the key configured in your source environment.
165
+
`<key_wrap_mechanism>`::
166
+
Specifies the PKCS#11 key wrap mechanism, for example, `CKM_AES_CBC_PAD`. This value must match the mechanism configured in your source environment.
167
+
`<172.17.0.80>`::
168
+
Specifies the load balancer IP in your environment. If you use IPv6, change the load balancer IP to the load balancer IP in your environment, for example, `metallb.universe.tf/loadBalancerIPs: fd00:bbbb::80`.
169
+
170
+
`messagingBus.Cluster`::
171
+
For more information about RHOSO RabbitMQ clusters, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_services_on_openshift/18.0/html/monitoring_high_availability_services/ref_rhoso-rabbitmq-clusters_ha-monitoring#con_understand-the-rabbitmq-interface-for-openstack-services[RHOSO RabbitMQ clusters] in _Monitoring high availability services_.
99
172
100
173
.Verification
101
174
@@ -117,7 +190,7 @@ $ openstack service list | grep key-manager
117
190
$ openstack secret list
118
191
----
119
192
120
-
. Confirm that Barbican services are running:
193
+
. Confirm that the {key_manager} services are running with HSM-enabled configuration:
121
194
+
122
195
----
123
196
$ oc get pods -n openstack -l service=barbican -o wide
$ openstack secret store --name adoption-verification --payload 'HSM adoption successful'
130
203
----
131
204
132
-
. Verify that the HSM back end is operational:
205
+
. Verify that the HSM back end is operational by retrieving the secret:
133
206
+
134
207
----
135
208
$ openstack secret get <secret_id> --payload
136
209
----
137
210
+
138
211
where:
139
212
140
-
<secret_id>::
141
-
Specifies the ID of the HSM secret.
213
+
`<secret_id>`::
214
+
Specifies the ID of the secret created in the previous step.
215
+
216
+
[NOTE]
217
+
====
218
+
HSM adoption preserves both simple crypto and HSM-backed secrets. The migration process maintains HSM metadata and secret references, ensuring continued access to existing secrets while enabling new secrets to use either back end.
Copy file name to clipboardExpand all lines: docs_user/modules/proc_resolving-config-validation-failures.adoc
+7-12Lines changed: 7 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
= Resolving configuration validation failures
5
5
6
6
[role="_abstract"]
7
-
If the adoption fails with validation errors about placeholder values, replace the placeholder values with your environment's configuration values.
7
+
If the adoption fails with validation errors about placeholder values, replace the placeholder values with your environment's actual configuration values.
0 commit comments