Repository navigation
Conversation
b1d5b89 to
aa22df5
Compare
|
Ticket title is 'C bindings for DAOS control API' |
|
Test stage Unit Test 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-17550/2/testReport/ |
|
Test stage Unit Test with memcheck 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-17550/2/testReport/ |
|
Test stage Unit Test bdev with memcheck 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-17550/2/testReport/ |
|
Test stage Test RPMs on EL 8.6 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/2/execution/node/1026/log |
|
Test stage Functional on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-17550/2/display/redirect |
1 similar comment
|
Test stage Functional on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-17550/2/display/redirect |
aa22df5 to
9008458
Compare
|
Test stage Unit Test 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-17550/3/testReport/ |
|
Test stage Unit Test with memcheck 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-17550/3/testReport/ |
|
Test stage Unit Test bdev with memcheck 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-17550/3/testReport/ |
9008458 to
249715f
Compare
|
Test stage Unit Test 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-17550/4/testReport/ |
|
Test stage Unit Test with memcheck 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-17550/4/testReport/ |
|
Test stage Unit Test bdev with memcheck 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-17550/4/testReport/ |
|
Test stage Test RPMs on EL 8.6 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/4/execution/node/1040/log |
|
Test stage Functional on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-17550/4/display/redirect |
1 similar comment
|
Test stage Functional on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-17550/4/display/redirect |
249715f to
4b56bdd
Compare
|
Test stage Unit Test bdev with memcheck 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-17550/5/testReport/ |
|
Test stage Unit Test with memcheck 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-17550/5/testReport/ |
|
Test stage Unit Test 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-17550/5/testReport/ |
4b56bdd to
096a1da
Compare
|
Test stage Unit Test 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-17550/6/testReport/ |
|
Test stage Unit Test with memcheck 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-17550/6/testReport/ |
|
Test stage Unit Test bdev with memcheck 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-17550/6/testReport/ |
|
Test stage Test RPMs on EL 8.6 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/6/execution/node/1047/log |
|
Test stage Functional on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-17550/6/display/redirect |
1 similar comment
|
Test stage Functional on EL 8.8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-17550/6/display/redirect |
|
Test stage Functional Hardware Large MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/54/execution/node/1662/log |
|
Test stage Functional Hardware Medium Verbs Provider MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/54/execution/node/1672/log |
|
Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/54/execution/node/1682/log |
|
Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/55/execution/node/1755/log |
6a1ebe9 to
51863fd
Compare
|
Test stage NLT completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/58/execution/node/829/log |
Use Go's c-shared-library mode to build a .so that exposes a C API for the Go Control API. The initial use case for this library is to replace the problematic dmg helpers test library that uses fork/exec to allow tests to drive dmg commands. Skip-hw-medium-ucx-provider: false Features: cat_recov Signed-off-by: Michael MacDonald <github@macdonald.cx>
* daos_pool|daos_rebuild_ec: Don't escape self_heal prop value * control/server.go: Raw %v logging panics on nil; just remove it Signed-off-by: Michael MacDonald <github@macdonald.cx>
Update the cat_recov suite to work better with the new libdaos_control bindings, which operate more quickly and correctly than the old fork/exec dmg wrappers. - Check repair takes the CIA_ action value directly, where the old dmg CLI translated a selection index into the action. - The bindings answer queries in milliseconds where the fork/exec dmg helpers took 1-2s, which throws off some of the timing assumptions in the tests. Adjust to use a wall-clock budget instead of counting query iterations. - Pool-not-found now maps to DER_NONEXIST instead of DER_MISC, so cr_cleanup no longer needs to tolerate DER_MISC. - Switch SystemCheckDisable() to use Force: true on SystemStop(), matching the current system default and avoiding hangs on shutdown. - Misc correctness fixes in the gRPC handlers for SystemCheck(Enable|Disable). Skip-hw-medium-ucx-provider: false Features: cat_recov daos_core_test_nvme Signed-off-by: Michael MacDonald <github@macdonald.cx>
51863fd to
9a7e563
Compare
|
Test stage Functional Hardware Medium Verbs Provider MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/59/execution/node/1755/log |
|
Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-17550/59/execution/node/1702/log |
|
The last few test runs have used the following pragmas: The intent here was to really soak the verbs testing and the parts of the test framework that aren't normally run with the standard Best I can tell, the two failures are pre-existing CR failures in the following tests:
At this point, I think it's time to try and get this landed. |
daltonbohning
left a comment
There was a problem hiding this comment.
Just reviewed ftest and NLT code. Overall seems sane
| # Scope by pool UUID: resolved findings from prior checker instances survive | ||
| # disable/enable and reuse pool labels (DAOS-18773). | ||
| check_query_out = dmg_command.check_query(pool=pool_1.uuid) |
There was a problem hiding this comment.
Should we push an independent fix for this?
There was a problem hiding this comment.
I'd also prefer an independent fix.
There was a problem hiding this comment.
Dropped this as it was fixed by Kris' PR.
| control_so = join(conf['PREFIX'], 'lib64', 'libdaos_control.so') | ||
| if os.path.exists(control_so): |
There was a problem hiding this comment.
Should we error if it does not exist?
kjacque
left a comment
There was a problem hiding this comment.
Can we pull the unrelated test and checker fixes out into separate PRs? Or are they just silencing bugs so you can get a better read on whether the control lib is working correctly?
| D_FREE(acl_str[i]); | ||
|
|
||
| D_FREE(acl_str); | ||
| dmg_ctx_init(const char *cfg, uintptr_t *ctx) |
There was a problem hiding this comment.
This becomes sort of an intermediate step in this transformation, right? We should probably replace the name "dmg" in this filename and function names to "control" since it talks to the control lib instead.
There was a problem hiding this comment.
Yeah, I just went ahead and renamed everything. Might as well do it now.
| # Scope by pool UUID: resolved findings from prior checker instances survive | ||
| # disable/enable and reuse pool labels (DAOS-18773). | ||
| check_query_out = dmg_command.check_query(pool=pool_1.uuid) |
There was a problem hiding this comment.
I'd also prefer an independent fix.
# Conflicts: # src/control/server/mgmt_check_test.go
* check_start_corner_case.py: drop the pool-scoped query workaround
now that DAOS-18773 clears stale reports between cases
* nlt/config.py: require a valgrind-tagged libdaos_control.so
* control/c: cover whole-system stop/start failure paths
* mgmt_check.go: restore the disableChecker error text
Signed-off-by: Michael MacDonald <mjmac@vectorsolutionsgroup.com>
The helpers call libdaos_control directly; nothing on the path runs dmg any more, so the old prefix misdescribes what the tests depend on. Skip-hw-medium-ucx-provider: false Features: cat_recov daos_core_test_nvme Signed-off-by: Michael MacDonald <mjmac@vectorsolutionsgroup.com>
Use Go's c-shared-library mode to build a .so that
exposes a C API for the Go Control API. The primary
use case for this library is to replace the problematic
dmg helpers test library that uses fork/exec to allow
tests to drive dmg commands and does not play well
with UCX.
libdaos_control.so wraps the pool, system, storage,
server, and checker paths of lib/control, plus fault
injection hooks for the tests. tests_dmg_helpers.c is
rewritten on top of it, so daos_test and the ftest
cmocka helpers stop scraping dmg JSON. One side
effect of this change is that many operations complete
in milliseconds instead of seconds, and therefore some
tests needed to be updated to work properly with the new
timing.
Signed-off-by: Michael MacDonald github@macdonald.cx