Skip to content

Conversation

@madhu-pillai
Copy link

This PR is for IBM Crypto Express Card based LUKS encryption for KVM.

  1. Configure the CEX in KVM host
    2. Use the right device type ignition for MCO
    3. Attach the CEX mediated device to guest vm

@madhu-pillai madhu-pillai changed the title Enable CEX based LUKS encryption featEnable CEX based LUKS encryption Jul 17, 2025
@madhu-pillai madhu-pillai changed the title featEnable CEX based LUKS encryption feat: Enable CEX based LUKS encryption Jul 17, 2025
@madhu-pillai madhu-pillai force-pushed the enable-cex branch 2 times, most recently from 1b5275d to d323e4c Compare August 6, 2025 11:23
@@ -0,0 +1,16 @@
variant: openshift
version: 4.19.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version need not be hardcoded here

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version must be hardcoded since cex feature is only available from 4.19.0 and above. If user alter the version and it is very difficult to troubleshoot what causing the luks encryption fails.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@madhu-pillai Shall we mention this version dependency also in the documentation.


## Crypto Express Card based LUKS encryption specific for zKVM ( Optional )
**Variable Name** | **Description** | **Example**
**cex_uuid_map** | Specify guest hostname: "UUID:domain" UUID can be generated from uuidgen command and domain can be retrieved from lszcrypt | upi-cex-control-1: "68cd2d83-3eef-4e45-b22c-534f90b16cb9:00.0035"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User can benefit from appropriate referral doc link here for lszcrypt, uuidgen etc

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lszcrypt and uuidgen are native linux command for s390x. It does not require documentation.

@@ -0,0 +1,16 @@
variant: openshift
version: 4.19.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above need not be hardcoded version

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delete all the butane files.

spec:
config:
ignition:
version: 3.5.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version need. not be harcoded, change for all instances

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deleted all the ignition file.

--noautoconsole
--noautoconsole \
{% set vm_name = env.cluster.nodes.compute.vm_name[i] %}
{% set hostdev = '--hostdev ' + cex_hostdev_map[vm_name] if cex_device is defined and cex_hostdev_map is defined and vm_name in cex_hostdev_map else '' %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for consistency and cleaner code create cex_hostdev in vars section as defined in the role "create_control_node"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

    1. Configure the CEX in KVM host
    2. Use the right device type ignition for MCO
    3. Attach the CEX mediated device to guest vm

Signed-off-by: Madhu Pillai <madhupillai80@gmail.com>
@madhu-pillai
Copy link
Author

@sandisamp
Test has been completed on LPAR with AOP by QE team. Kindly review.

device: /dev/disk/by-partlabel/root
fcp:
layout: s390x-fcp # or s390x-fcp if needed
device: /dev/disk/by-label/root
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@madhu-pillai
Can you please update the documentation with these variables also, as user might need to override these variables if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants