-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DAOS-13228 control: List BDEV role assignments in scan/format display #13463
Conversation
Bug-tracker data: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13463/1/execution/node/1414/log |
Test stage Functional Hardware Medium completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-13463/1/testReport/ |
Test stage Functional Hardware Large completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-13463/1/testReport/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The modification of the dmg command seems to break some functional tests, which will probably needed to be updated.
for _, ctrlr := range parseNvmeFormatResults(ctrlrs) { | ||
row := txtfmt.TableRow{pciTitle: ctrlr.PciAddr} | ||
row[resultTitle] = ctrlr.Info | ||
roles := "???" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of ???, the role data could be used for md-on-scm ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Michael-Hennecke for PMem mode I'm displaying N/A for roles Rather than "Data", is that appropriate or should I change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
while the NVMe usage clearly is for "data", the PMem mode doesn't have any roles (and we state for the yml that either all 3 roles or none of them shall be assigned). so for consistency this should probably be empty or "none" or "NULL" or "n/a". But using "???" as the text string seems odd, because there's nothing unknown about this state.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Michael-Hennecke , your responses in line with my approach. "???" should never end up being printed, it is simply a placeholder for either "N/A" in PMem mode or roles in MD-on-SSD mode. I didn't want to start with an empty string or "N/A" as the default as neither are useful and both could be confusing. "???" simply implies that it hasn't been set yet and shouldn't end up being displayed to the user.
@@ -227,6 +234,12 @@ func PrintNvmeControllers(controllers storage.NvmeControllers, out io.Writer, op | |||
row[fwTitle] = ctrlr.FwRev | |||
row[socketTitle] = fmt.Sprint(ctrlr.SocketID) | |||
row[capacityTitle] = humanize.Bytes(ctrlr.Capacity()) | |||
roles := "???" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of ???, the role data could be used for md-on-scm ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as above
@@ -240,7 +239,7 @@ func StorageScan(ctx context.Context, rpcClient UnaryInvoker, req *StorageScanRe | |||
Basic: req.NvmeBasic, | |||
// Health and meta details required to populate usage statistics. | |||
Health: req.NvmeHealth || req.Usage, | |||
Meta: req.NvmeMeta || req.Usage, | |||
Meta: req.Usage, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we still need this field to for compatibility reason with the engine.
If yes, is it planned to also remove it from the engine ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where should it be removed in the engine?
src/control/server/storage/config.go
Outdated
@@ -43,6 +43,7 @@ const ( | |||
accelOptMoveName = "move" | |||
accelOptCRCName = "crc" | |||
|
|||
bdevRoleNoneName = "n/a" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could it make sense to have the role data instead ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per conversation with @Michael-Hennecke , "roles" should only exist in MD-on-SSD mode, so no roles should be described in PMem mode.
4570a8c
to
1a8a236
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style warning(s) for job https://build.hpdd.intel.com/job/daos-stack/job/daos/job/PR-13463/2/
Please review https://wiki.hpdd.intel.com/display/DC/Coding+Rules
CURL_VERBOSE=${CURL_VERBOSE:-""} | ||
CURL_PROXY="${CURL_PROXY:+-x }${CURL_PROXY:-}" | ||
CURL_OPTS="$CURL_PROXY $CURL_VERBOSE -s" | ||
if ! output=$(curl $CURL_OPTS -s -X POST -F "jenkinsfile=<${1:-Jenkinsfile}" https://$HOST//pipeline-model-converter/validate); then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(lint) Double quote to prevent globbing and word splitting. [SC2086]
(lint) Double quote to prevent globbing and word splitting. [SC2086]
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13463/2/execution/node/156/log |
Test stage Build on Leap 15.5 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-13463/2/execution/node/403/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-13463/2/execution/node/418/log |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13463/2/execution/node/383/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13463/2/execution/node/379/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-13463/2/execution/node/398/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-13463/2/execution/node/373/log |
1a8a236
to
b804a85
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
Test stage Functional on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13463/3/execution/node/1163/log |
b804a85
to
f80b489
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
Test stage Functional on EL 8.8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13463/5/execution/node/1163/log |
f80b489
to
a2ddaf2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
6b7d53a
to
46a1b63
Compare
Oops, I clicked the wrong thing while distracted, my apologies. |
@daos-stack/daos-gatekeeper can this PR please be force landed? https://build.hpdd.intel.com/blue/organizations/jenkins/daos-stack%2Fdaos/detail/PR-13463/21/tests/ failed due to the known issues:
|
…d-roles-to-scan-output Skip-func-hw-medium-md-on-ssd: false Skip-func-hw-medium-verbs-provider-md-on-ssd: false Skip-func-hw-large-md-on-ssd: false Features: control pool Required-githooks: true Signed-off-by: Tom Nabarro <tom.nabarro@intel.com>
Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13463/22/execution/node/1463/log |
Test stage Functional Hardware Medium completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-13463/22/testReport/ |
CI results for run no. 22 with control and pool features failed for the following known issues: Requesting forced landing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks the "tests_dmg_helpers.c" needs be fixed for the json format changes? otherwise, dmg_storage_device_list() used by C testing code will fail.
So as to not pollute this PR unnecessarily the fix for that is in #13630 . The issue you refer to is not directly related to this PR. |
…d-roles-to-scan-output Skip-func-hw-medium-md-on-ssd: false Skip-func-hw-medium-verbs-provider-md-on-ssd: false Skip-func-hw-large-md-on-ssd: false Features: control Required-githooks: true Signed-off-by: Tom Nabarro <tom.nabarro@intel.com>
@daos-stack/daos-gatekeeper please can this PR be force landed now landings are open on master? |
there are 2 failures on this PR that i am not aware of being as known failures: so this seems not ready to land. |
also if you think otherwise, please merge with latest master with the control Feature pragma |
These are both manifestations of https://daosio.atlassian.net/browse/DAOS-14884 as identified by @knard-intel . As the fix has landed I will merge master and repush. |
Add MD-on-SSD bdev role and engine rank assignments to dmg storage
scan. Add role assignments to dmg storage format. Roles will be listed
as NA if MD-on-SSD mode is not enabled. Also show which NVMe namespace
each SMD resides on in dmg storage query list-devices through NSID
(which is useful in the case where NVMe controllers have multiple
namespaces).
Remove dmg storage scan --nvme-meta option as all info is available
through combination of dmg storage scan -v and dmg storage query
list-devices.
Make zero-value LED state N/A so NORMAL is not reported in
uninitialized controller structures.
Skip-func-hw-medium-md-on-ssd: false
Skip-func-hw-medium-verbs-provider-md-on-ssd: false
Skip-func-hw-large-md-on-ssd: false
Features: control
Required-githooks: true
Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: