Skip to content

DAOS-16311 control: Add C bindings for control API - #17550

Draft
mjmac wants to merge 4 commits into
masterfrom
mjmac/DAOS-16311
Draft

DAOS-16311 control: Add C bindings for control API#17550
mjmac wants to merge 4 commits into
masterfrom
mjmac/DAOS-16311

Conversation

@mjmac

@mjmac mjmac commented Feb 11, 2026

Copy link
Copy Markdown
Contributor

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.

Signed-off-by: Michael MacDonald github@macdonald.cx

@github-actions

Copy link
Copy Markdown

Ticket title is 'C bindings for DAOS control API'
Status is 'In Progress'
Labels: 'ci_2.6_daily,ci_2.6_provider,ci_master_daily,ci_master_provider'
https://daosio.atlassian.net/browse/DAOS-16311

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

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
@daosbuild3

Copy link
Copy Markdown
Collaborator

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

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

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
@daosbuild3

Copy link
Copy Markdown
Collaborator

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

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/

@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

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
@daosbuild3

Copy link
Copy Markdown
Collaborator

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

@mjmac
mjmac force-pushed the mjmac/DAOS-16311 branch 2 times, most recently from e6b2777 to 3352565 Compare July 17, 2026 14:54
@daosbuild3

Copy link
Copy Markdown
Collaborator

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/50/execution/node/1770/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/50/execution/node/1780/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/50/execution/node/1674/log

@mjmac
mjmac force-pushed the mjmac/DAOS-16311 branch from 3352565 to 8b59f6c Compare July 18, 2026 22:12
@daosbuild3

Copy link
Copy Markdown
Collaborator

Test stage Functional Cluster Box 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/51/execution/node/1707/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/51/execution/node/1717/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/51/execution/node/1727/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/51/execution/node/1902/log

@mjmac
mjmac force-pushed the mjmac/DAOS-16311 branch from 8b59f6c to 438070f Compare July 20, 2026 20:21
@daosbuild3

Copy link
Copy Markdown
Collaborator

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/52/execution/node/1681/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/52/execution/node/1856/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/52/execution/node/1866/log

@mjmac
mjmac force-pushed the mjmac/DAOS-16311 branch from 438070f to 799f81e Compare July 22, 2026 14:26
@daosbuild3

Copy link
Copy Markdown
Collaborator

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/53/execution/node/1787/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/53/execution/node/1733/log

@daosbuild3

Copy link
Copy Markdown
Collaborator

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/53/execution/node/1734/log

@mjmac
mjmac force-pushed the mjmac/DAOS-16311 branch from 799f81e to f373e5c Compare July 26, 2026 01:44
@daosbuild3

Copy link
Copy Markdown
Collaborator

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

@daosbuild3

Copy link
Copy Markdown
Collaborator

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

@daosbuild3

Copy link
Copy Markdown
Collaborator

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

@mjmac
mjmac force-pushed the mjmac/DAOS-16311 branch from f373e5c to fd5ae50 Compare July 27, 2026 21:43
@daosbuild3

Copy link
Copy Markdown
Collaborator

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

mjmac added 4 commits July 28, 2026 14:12
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>
Resolved findings from prior checker instances survive checker
disable/enable, and test variants reuse pool labels, so an unscoped
dmg check query can return a stale already-resolved finding first.
test_two_pools_corrupted repaired whichever seq came back first and
failed with "finding is already resolved"; its report-count wait
also depended on a pristine findings DB. Query per pool UUID instead,
as test_two_pools_healthy already does.

Signed-off-by: Michael MacDonald <github@macdonald.cx>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants