Skip to content

Conversation

@ambarve
Copy link
Contributor

@ambarve ambarve commented Mar 14, 2022

Enable using upto 4 SCSI controllers for LCOW UVMs. HCS currently doesn't respect the
SCSI controller number provided with the Add SCSI disk requests. Hence, the SCSI disk can
show up at some different controller inside the LCOW UVM. To avoid this, now we use GUIDs
to represent each controller and use that GUID with the Add SCSI disk request.
GCS code is also modified to identify the controller number from the controller GUID.

Signed-off-by: Amit Barve [email protected]

@ambarve ambarve requested a review from a team as a code owner March 14, 2022 16:26
ambarve added 2 commits March 14, 2022 09:34
Enable using upto 4 SCSI controllers for LCOW UVMs. HCS currently doesn't respect the
SCSI controller number provided with the Add SCSI disk requests. Hence, the SCSI disk can
show up at some different controller inside the LCOW UVM. To avoid this, now we use GUIDs
to represent each controller and use that GUID with the Add SCSI disk request.
GCS code is also modified to identify the controller number from the controller GUID.

Signed-off-by: Amit Barve <[email protected]>
Signed-off-by: Amit Barve <[email protected]>
@ambarve ambarve force-pushed the scsi_controller_guid branch from ac09f58 to ab2f28d Compare March 14, 2022 16:34
@ambarve ambarve marked this pull request as draft March 14, 2022 17:09
@ambarve ambarve force-pushed the scsi_controller_guid branch from 132cd5d to 9883272 Compare March 14, 2022 22:29
@ambarve ambarve marked this pull request as ready for review March 14, 2022 22:30
Signed-off-by: Amit Barve <[email protected]>
@dcantah dcantah self-assigned this Mar 15, 2022
Use Camel case for GUID array, include comment above each GUID to make it easier to
search. Add a check to make sure WCOW is never created with zero SCSI controllers.

Signed-off-by: Amit Barve <[email protected]>
Earlier changes to support several SCSI controllers modified the GCS protocol. This commit
modifies the code to keep the same GCS protocol and maintain the list of controller GUIDs
inside GCS.

Signed-off-by: Amit Barve <[email protected]>
ambarve added 2 commits March 17, 2022 11:22
Also, enable 4 SCSI controllers on LCOW only if no vpmem multimapping is enabled.

Signed-off-by: Amit Barve <[email protected]>
Signed-off-by: Amit Barve <[email protected]>
ambarve added 2 commits March 24, 2022 15:45
Earlier we had disabled VPMEM devices for container layer but the UVM was still using
VPMEM for rootfs. This commit changes that and forces the UVM to use initrd for rootfs.
Also, adds an error if SCSI controller count for WCOW is not set to 1.

Signed-off-by: Amit Barve <[email protected]>
@ambarve
Copy link
Contributor Author

ambarve commented Mar 28, 2022

@kevpar , @dcantah & @anmaxvl Can you PTAL?

Copy link
Member

@kevpar kevpar left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@anmaxvl anmaxvl left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@dcantah dcantah left a comment

Choose a reason for hiding this comment

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

LGTM

@ambarve ambarve merged commit d36cc7c into microsoft:master Mar 28, 2022
@ambarve ambarve deleted the scsi_controller_guid branch August 9, 2022 04:06
@ambarve ambarve restored the scsi_controller_guid branch August 9, 2022 04:06
princepereira pushed a commit to princepereira/hcsshim that referenced this pull request Aug 29, 2024
* Support for multiple SCSI controllers

Enable using upto 4 SCSI controllers for LCOW UVMs. HCS currently doesn't respect the
SCSI controller number provided with the Add SCSI disk requests. Hence, the SCSI disk can
show up at some different controller inside the LCOW UVM. To avoid this, now we use GUIDs
to represent each controller and use that GUID with the Add SCSI disk request.
GCS code is also modified to identify the controller number from the controller GUID. Now if a LCOW pod is created with an annotation that sets VPMEM device count to 0, we will automatically enable 4 SCSI controllers. Even the rootfs.vhd will be attached via SCSI in that scenario. 

Signed-off-by: Amit Barve <[email protected]>
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.

5 participants