Skip to content

Commit 5cab4b9

Browse files
author
Mauricio Harley
committed
Add Barbican HSM custom image support
- Add new Makefile variables for HSM-enabled Barbican deployments: BARBICAN_API_IMAGE, BARBICAN_WORKER_IMAGE, BARBICAN_HSM_ENABLED - Add conditional logic to use custom images when HSM is enabled - Update barbican_deploy_prep target to handle custom image deployment - Add HSM backend selection in standalone openstack.sh script - Support PKCS#11 backend when BARBICAN_HSM_ENABLED=true Signed-off-by: Mauricio Harley <mharley@redhat.com>
1 parent c4a2ca8 commit 5cab4b9

File tree

5 files changed

+30
-2
lines changed

5 files changed

+30
-2
lines changed

Makefile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,10 @@ BARBICAN_DEPL_IMG ?= unused
174174
BARBICAN_KUTTL_CONF ?= ${OPERATOR_BASE_DIR}/barbican-operator/kuttl-test.yaml
175175
BARBICAN_KUTTL_DIR ?= ${OPERATOR_BASE_DIR}/barbican-operator/tests/kuttl/tests
176176
BARBICAN_KUTTL_NAMESPACE ?= barbican-kuttl-tests
177+
# HSM-enabled Barbican image overrides
178+
BARBICAN_API_IMAGE ?=
179+
BARBICAN_WORKER_IMAGE ?=
180+
BARBICAN_HSM_ENABLED ?= false
177181

178182
# Mariadb
179183
MARIADB_IMG ?= quay.io/openstack-k8s-operators/mariadb-operator-index:${OPENSTACK_K8S_TAG}
@@ -586,6 +590,15 @@ ${1}: export OPERATOR_SOURCE=$(OPERATOR_SOURCE)
586590
${1}: export OPERATOR_SOURCE_NAMESPACE=$(OPERATOR_SOURCE_NAMESPACE)
587591
endef
588592

593+
ifeq ($(BARBICAN_HSM_ENABLED),true)
594+
ifneq ($(BARBICAN_API_IMAGE),)
595+
BARBICAN_API_IMG := $(BARBICAN_API_IMAGE)
596+
endif
597+
ifneq ($(BARBICAN_WORKER_IMAGE),)
598+
BARBICAN_WORKER_IMG := $(BARBICAN_WORKER_IMAGE)
599+
endif
600+
endif
601+
589602
.PHONY: all
590603
all: operator_namespace keystone mariadb placement neutron
591604

@@ -775,6 +788,9 @@ openstack_wait: ## waits openstack CSV to succeed.
775788

776789
# creates the new initialization resource for our operators
777790
.PHONY: openstack_init
791+
openstack_init: export BARBICAN_API_IMAGE:=$(BARBICAN_API_IMAGE)
792+
openstack_init: export BARBICAN_WORKER_IMAGE:=$(BARBICAN_WORKER_IMAGE)
793+
openstack_init: export BARBICAN_HSM_ENABLED:=$(BARBICAN_HSM_ENABLED)
778794
openstack_init: openstack_wait
779795
bash -c 'test -f ${OPERATOR_BASE_DIR}/openstack-operator/config/samples/operator_v1beta1_openstack.yaml || make openstack_repo'
780796
oc apply -f ${OPERATOR_BASE_DIR}/openstack-operator/config/samples/operator_v1beta1_openstack.yaml
@@ -1260,6 +1276,8 @@ barbican_cleanup: ## deletes the operator, but does not cleanup the service reso
12601276

12611277
.PHONY: barbican_deploy_prep
12621278
barbican_deploy_prep: export KIND=Barbican
1279+
barbican_deploy_prep: export IMAGE=${BARBICAN_API_IMG:-unused},${BARBICAN_WORKER_IMG:-unused}
1280+
barbican_deploy_prep: export IMAGE_PATH=barbicanAPI/containerImage,barbicanWorker/containerImage
12631281
barbican_deploy_prep: export REPO=${BARBICAN_REPO}
12641282
barbican_deploy_prep: export BRANCH=${BARBICAN_BRANCH}
12651283
barbican_deploy_prep: export HASH=${BARBICAN_COMMIT_HASH}

devsetup/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,7 @@ edpm_deploy_instance: ## Spin a instance on edpm node
492492
.PHONY: tripleo_deploy
493493
tripleo_deploy: export CLOUD_DOMAIN=${DNS_DOMAIN}
494494
tripleo_deploy: export TLSE_ENABLED=${TLS_ENABLED}
495+
tripleo_deploy: export TRIPLEO_ADDITIONAL_ENV=${ADDITIONAL_ENV_FILE}
495496
tripleo_deploy: export INTERFACE_MTU=${NETWORK_MTU}
496497
tripleo_deploy: export COMPUTE_CELLS=${EDPM_COMPUTE_CELLS}
497498
tripleo_deploy: export REGISTRY_USER ?= ${RH_REGISTRY_USER}
@@ -524,6 +525,7 @@ standalone_deploy: export MANILA_ENABLED=${MANILA_SERVICE_ENABLED}
524525
standalone_deploy: export HEAT_ENABLED=${HEAT_SERVICE_ENABLED}
525526
standalone_deploy: export CLOUD_DOMAIN=${DNS_DOMAIN}
526527
standalone_deploy: export COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED}
528+
standalone_deploy: export STANDALONE_ADDITIONAL_ENV=${ADDITIONAL_ENV_FILE}
527529
standalone_deploy: export CONFIGURE_HUGEPAGES=${EDPM_CONFIGURE_HUGEPAGES}
528530
standalone_deploy: export COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA}
529531
standalone_deploy: export COMPUTE_SRIOV_ENABLED=${EDPM_COMPUTE_SRIOV_ENABLED}

devsetup/scripts/standalone.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ source ${SCRIPTPATH}/common.sh
6868

6969
# Clock synchronization is important for both Ceph and OpenStack services, so both ceph deploy and tripleo deploy commands will make use of chrony to ensure the clock is properly in sync.
7070
# We'll use the NTP_SERVER environmental variable to define the NTP server to use, e.g.:
71-
# export NTP_SERVER=pool.ntp.org
71+
export NTP_SERVER=clock.corp.redhat.com
7272

7373
if [[ ! -f $REPO_SETUP_CMDS ]]; then
7474
echo "$REPO_SETUP_CMDS is missing. Wallaby is end-of-life. Please use OSP 17.1 content to deploy TripleO Standalone and follow the guide for setting up downstream repos."
@@ -127,6 +127,7 @@ export BARBICAN_ENABLED=${BARBICAN_ENABLED}
127127
export MANILA_ENABLED=${MANILA_ENABLED}
128128
export SWIFT_REPLICATED=${SWIFT_REPLICATED}
129129
export TLSE_ENABLED=${TLSE_ENABLED}
130+
export ADDITIONAL_ENV_FILE=${ADDITIONAL_ENV_FILE}
130131
export CLOUD_DOMAIN=${CLOUD_DOMAIN}
131132
export OCTAVIA_ENABLED=${OCTAVIA_ENABLED}
132133
export DESIGNATE_ENABLED=${DESIGNATE_ENABLED}
@@ -238,6 +239,7 @@ scp $SSH_OPT ${SCRIPTPATH}/../standalone/hugepages.yaml root@$IP:hugepages.yaml
238239
[[ "$EDPM_COMPUTE_CEPH_ENABLED" == "true" ]] && scp $SSH_OPT standalone/ceph.sh root@$IP:/tmp/ceph.sh
239240
scp $SSH_OPT standalone/openstack.sh root@$IP:/tmp/openstack.sh
240241
scp $SSH_OPT standalone/post_config/ironic.sh root@$IP:/tmp/ironic_post.sh
242+
[ -f "${STANDALONE_ADDITIONAL_ENV}" ] && scp $SSH_OPT "${STANDALONE_ADDITIONAL_ENV}" root@$IP:${STANDALONE_ADDITIONAL_ENV} || true
241243
[ -f $HOME/.ssh/id_ecdsa.pub ] || \
242244
ssh-keygen -t ecdsa -f $HOME/.ssh/id_ecdsa -q -N ""
243245
scp $SSH_OPT $HOME/.ssh/id_ecdsa.pub root@$IP:/root/.ssh/id_ecdsa.pub

devsetup/scripts/tripleo.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ export OCTAVIA_ENABLED=${OCTAVIA_ENABLED}
102102
export DESIGNATE_ENABLED=${DESIGNATE_ENABLED}
103103
export TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
104104
export TLSE_ENABLED=${TLSE_ENABLED:-false}
105+
export TRIPLEO_ADDITIONAL_ENV=${TRIPLEO_ADDITIONAL_ENV}
105106
export CLOUD_DOMAIN=${CLOUD_DOMAIN:-localdomain}
106107
export TRIPLEO_NETWORKING=${TRIPLEO_NETWORKING:-true}
107108
export TRIPLEO_ATTACH_EXTNET=${TRIPLEO_ATTACH_EXTNET:-true}
@@ -268,6 +269,7 @@ else
268269
fi
269270
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/overcloud_roles.yaml zuul@$IP:overcloud_roles.yaml
270271
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/ansible_config.cfg zuul@$IP:ansible_config.cfg
272+
[ -n "${TRIPLEO_ADDITIONAL_ENV}" ] && [ -f "${TRIPLEO_ADDITIONAL_ENV}" ] && scp $SSH_OPT "${ADDITIONAL_ENV_FILE}" zuul@$IP:${TRIPLEO_ADDITIONAL_ENV} || true
271273
if [[ "$EDPM_COMPUTE_CEPH_ENABLED" == "true" ]]; then
272274
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/ceph.sh root@$IP:/tmp/ceph.sh
273275
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/generate_ceph_inventory.py root@$IP:/tmp/generate_ceph_inventory.py

devsetup/standalone/openstack.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,11 @@ EOF
127127
fi
128128
if [ "$BARBICAN_ENABLED" = "true" ]; then
129129
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml"
130-
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-simple-crypto.yaml"
130+
if [ "$BARBICAN_HSM_ENABLED" = "true" ]; then
131+
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-pkcs11.yaml"
132+
else
133+
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-simple-crypto.yaml"
134+
fi
131135
fi
132136
if [ "$MANILA_ENABLED" = "true" ]; then
133137
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsnative-config.yaml"

0 commit comments

Comments
 (0)