-
Notifications
You must be signed in to change notification settings - Fork 338
DAOS-18381 ddb: properly transfer ddb cmdline options #17312
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
base: master
Are you sure you want to change the base?
Conversation
|
Ticket title is 'ddb rm_pool failed to initialize sysdb under md-on-ssd mode' |
|
Test stage NLT on EL 8.8 completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-17312/1/testReport/ |
|
Test stage Functional on EL 8.8 completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-17312/1/testReport/ |
The db_path maybe not contained inside the vos_path parameter, especially under md-on-ssd mode. Related go interfaces need to properly transfer cmdline options (db_path, write_mode, and so on) from control plane to the lower ddb utils. The patch also adds more check for the vos pool open and close status before real VOS operation. Features: control recovery Signed-off-by: Fan Yong <fan.yong@hpe.com>
388b194 to
b872331
Compare
| param := []string{} | ||
| skip := true | ||
|
|
||
| for _, v := range args { | ||
| if v == string(opts.Args.VosPath) && skip { | ||
| skip = false | ||
| } else if v != string(opts.Args.RunCmd) { | ||
| param = append(param, v) | ||
| } | ||
| } |
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.
Why does VosPath need to be removed from the list of params? Would be good to have a brief comment here documenting the reason.
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.
If not filter out VosPath, then for non-opened sub-command, such as rm_pool will report failure, for example:
ERROR: ddb: invalid usage of command 'rm_pool' (unconsumed input '/mnt/nasf_1/b9eac3f1-1c3d-44e9-bf1d-285bea2402a8/vos-0'), try 'help'
I prefer to update the comment in another PR to avoid triggering CI test for this one since current master CI test is not stable. How do you think? @kjacque
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.
OK, I'm fine with that. I see that this is related to DAOS-18382. This gives me a better understanding of the issue, thanks.
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 @kjacque , we will land my patch firstly, then Makito can continue his CR test against the latest master.
And then, apply yours when related control plane patch is ready.
The db_path maybe not contained inside the vos_path parameter, especially under md-on-ssd mode. Related go interfaces need to properly transfer cmdline options (db_path, write_mode, and so on) from control plane to the lower ddb utils.
The patch also adds more check for the vos pool open and close status before real VOS operation.
Features: control recovery
Steps for the author:
After all prior steps are complete: