DAOS-11604 control,mgmt,bio: Add dmg functionality for VMD LED management
New dmg functionality for VMD LED management:
$ dmg storage led identify [--reset] <DEVICES> $ dmg storage led check <DEVICES>
--reset: Reset the status LED on a VMD SSD back to the previous state (OFF/normal or ON/faulty) after issuing an identify command. DEVICES: Comma-separated list of device-UUIDs or VMD backing PCI address
led-identify will set LED state to QUICK_BLINK or reset to the previous state. led-check will display the current state of the status LED on a VMD backing SSD.
LED state is now displayed in dmg storage query list-devices output. Configurable timeout parameter to be added in a subsequent patch.
Signed-off-by: Tom Nabarro [email protected] Co-authored-by: Sydney Vanda [email protected]
Bug-tracker data: Ticket title is 'Add dmg functionality for VMD LED management' Status is 'In Review' Labels: 'SPDK,VMD' Job should run at elevated priority (3) Errors are Unknown component https://daosio.atlassian.net/browse/DAOS-11604
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/1/execution/node/369/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/1/execution/node/335/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/1/execution/node/338/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/1/execution/node/341/log
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/1/execution/node/368/log
@tanabarr: This is a massive PR (+6k,-2k LOC !!). Is there any way to break it into smaller chunks for more targeted reviews? I think it's going to be difficult to get a quality set of reviews as-is.
@tanabarr: This is a massive PR (+6k,-2k LOC !!). Is there any way to break it into smaller chunks for more targeted reviews? I think it's going to be difficult to get a quality set of reviews as-is.
I will try to break down, thanks.
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/3/execution/node/366/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/3/execution/node/328/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/3/execution/node/341/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/3/execution/node/315/log
I have broken down the PR into commits grouping changes by language (C/Go) and type (protobuf/source/test).
commit 17d7b102d68989cd9f61fb4e598a11ebb586ffaf (HEAD -> tanabarr/daos-8002_dmg)
DAOS-8002 control: Add dmg commands for VMD LED management - C changes
15 files changed, 506 insertions(+), 686 deletions(-)
commit 49e9685bb5e33688f8d802ed29b11647d3a50815
DAOS-8002 control: Add dmg commands for VMD LED management - Go test file changes
11 files changed, 729 insertions(+), 488 deletions(-)
commit 1e76a50f94fd8ee2586a72b1207845bdb8967e37
DAOS-8002 control: Add dmg commands for VMD LED management - Go source changes
14 files changed, 576 insertions(+), 409 deletions(-)
commit 034be16d392661b6536cd3fbe26f9231486062a5
DAOS-8002 control: Add dmg commands for VMD LED management - Auto-generated protobuf-c
4 files changed, 3866 insertions(+), 625 deletions(-)
commit 26197c7f63f97e00f778786281a6fdfce812b67c
DAOS-8002 control: Add dmg commands for VMD LED management - Auto-generated protobuf-go
3 files changed, 666 insertions(+), 1164 deletions(-)
commit 9f27773de5e1ef1d240bf5bd6e35e948bb3e3d8d
DAOS-8002 control: Add dmg commands for VMD LED management - Protobuf definition changes
4 files changed, 130 insertions(+), 112 deletions(-)
As we can see from the summary the majority of changes listed in the stats are in the auto generated protobuf codes. Two main contributing factors are:
- The addition of
smd.pb-cheader and source files to thesrc/biodirectory (approved by @NiuYawei ) needed in order to centralize LED and NVMe state constant definitions in protobuf enums (as requested by @mjmac ). - The consolidation of SMD and NVMe-health protobuf message structures used in Go code results in a large number of deletions (and simplification of code).
The actual number of (non-test file) Go lines changed is 14 files changed, 576 insertions(+), 409 deletions(-). As reference, @mjmac 's recently landed commit contained the following number of changes (not meant to be an apples-to-apples comparison, just a reference point):
commit d7a909e6abae052424ef6333efa92f7ad5e5c082
Author: Michael MacDonald <[email protected]>
Date: Thu Sep 22 07:57:58 2022 -0400
DAOS-11479 control: Add dmg system exclude (#10235)
30 files changed, 1132 insertions(+), 508 deletions(-)
Hopefully now the PR is an acceptable form to review, I propose that to reduce the burden @mjmac and @kjacque can review the Go code and proto changes (commits 1e76a50f94fd8ee2586a72b1207845bdb8967e37, 49e9685bb5e33688f8d802ed29b11647d3a50815, 9f27773de5e1ef1d240bf5bd6e35e948bb3e3d8d) whilst @NiuYawei and @knard-intel can review the C changes (commit 17d7b102d68989cd9f61fb4e598a11ebb586ffaf). Does this sound reasonable?
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/4/execution/node/369/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/4/execution/node/341/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/4/execution/node/338/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/4/execution/node/334/log
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/7/execution/node/366/log
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/8/execution/node/369/log
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/12/execution/node/342/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/12/execution/node/319/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/12/execution/node/369/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/12/execution/node/314/log
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/13/execution/node/367/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/13/execution/node/335/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/13/execution/node/341/log
Test stage Build RPM on Leap 15 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/13/execution/node/338/log
Test stage Build on Leap 15 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/14/execution/node/368/log
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/14/execution/node/335/log
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-10339/14/execution/node/341/log