-
Notifications
You must be signed in to change notification settings - Fork 58
Closed
Description
On the current HEAD commit (df35ee9), the cargo xtask ls-apis adoc
command fails part-way through when it tries to generate a table entry for the Dendrite dpd-client
API, as it's present in multiple workspaces. We should fix this, as it means that it's not currently possible to generate the asciidoc summary.
eliza@theseus ~/Code/oxide/omicron $ cargo xtask ls-apis adoc
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.32s
Running `target/debug/xtask ls-apis adoc`
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.52s
Running `target/debug/ls-apis adoc`
loading metadata for workspace omicron from current workspace
loading metadata for workspace lldp from /home/eliza/.cargo/git/checkouts/lldp-d47de417041f191b/ce952e6/Cargo.toml
loading metadata for workspace maghemite from /home/eliza/.cargo/git/checkouts/maghemite-c0236f0fd3d582b6/caafd88/Cargo.toml
loading metadata for workspace crucible from /home/eliza/.cargo/git/checkouts/crucible-0a48bd218bc2bbbc/81a3528/Cargo.toml
loading metadata for workspace propolis from /home/eliza/.cargo/git/checkouts/propolis-d68c8bd1bc59c9bd/6b5f2af/Cargo.toml
loading metadata for workspace dendrite from /home/eliza/.cargo/git/checkouts/dendrite-ae9f1715c17fc765/a66561e/Cargo.toml
note: ignoring Cargo dependency from crucible-pantry -> ... -> crucible-control-client
note: ignoring Cargo dependency from omicron-sled-agent -> dns-server
// BEGIN auto-generated by Omicron's `cargo xtask ls-apis adoc`
// DO NOT EDIT.
// in the Omicron repo.
.List of OpenAPI/Progenitor-based interfaces for online upgrade.
[cols="1h,2,2,2a,2,2", options="header"]
|===
|API
|Server location (`repo:path`)
|Client packages (`repo:path`)
|Consumers (`repo:path`; excluding omdb and tests)
|Versioning
|Notes
// DO NOT EDIT. This table is auto-generated. See above.
|Bootstrap Agent
|https://github.com/oxidecomputer/omicron/tree/main/sled-agent[omicron:sled-agent]
|https://github.com/oxidecomputer/omicron/tree/main/clients/bootstrap-agent-client[omicron:clients/bootstrap-agent-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/sled-agent[omicron:sled-agent]
* https://github.com/oxidecomputer/omicron/tree/main/wicketd[omicron:wicketd]
|Client-side (depends on itself (i.e., instances call each other))
|-
// DO NOT EDIT. This table is auto-generated. See above.
|Clickhouse Cluster Admin for Keepers
|https://github.com/oxidecomputer/omicron/tree/main/clickhouse-admin[omicron:clickhouse-admin]
|https://github.com/oxidecomputer/omicron/tree/main/clients/clickhouse-admin-keeper-client[omicron:clients/clickhouse-admin-keeper-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/nexus[omicron:nexus]
|Server-side only
|This is the server running inside multi-node Clickhouse keeper zones that's responsible for local configuration and monitoring.
// DO NOT EDIT. This table is auto-generated. See above.
|Clickhouse Cluster Admin for Servers
|https://github.com/oxidecomputer/omicron/tree/main/clickhouse-admin[omicron:clickhouse-admin]
|https://github.com/oxidecomputer/omicron/tree/main/clients/clickhouse-admin-server-client[omicron:clients/clickhouse-admin-server-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/nexus[omicron:nexus]
|Server-side only
|This is the server running inside multi-node Clickhouse server zones that's responsible for local configuration and monitoring.
// DO NOT EDIT. This table is auto-generated. See above.
|Clickhouse Single-Node Cluster Admin
|https://github.com/oxidecomputer/omicron/tree/main/clickhouse-admin[omicron:clickhouse-admin]
|https://github.com/oxidecomputer/omicron/tree/main/clients/clickhouse-admin-single-client[omicron:clients/clickhouse-admin-single-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/nexus[omicron:nexus]
|Server-side only
|This is the server running inside single-node Clickhouse server zones that's responsible for local configuration and monitoring.
// DO NOT EDIT. This table is auto-generated. See above.
|CockroachDB Cluster Admin
|https://github.com/oxidecomputer/omicron/tree/main/cockroach-admin[omicron:cockroach-admin]
|https://github.com/oxidecomputer/omicron/tree/main/clients/cockroach-admin-client[omicron:clients/cockroach-admin-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/nexus[omicron:nexus]
|Server-side only
|This is the server running inside CockroachDB zones that performs configuration and monitoring that requires the `cockroach` CLI.
// DO NOT EDIT. This table is auto-generated. See above.
|Crucible Agent
|https://github.com/oxidecomputer/crucible/tree/main/agent[crucible:agent]
|https://github.com/oxidecomputer/crucible/tree/main/agent-client[crucible:agent-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/nexus[omicron:nexus]
|Server-side only
|-
// DO NOT EDIT. This table is auto-generated. See above.
|Crucible Control (for testing only)
|https://github.com/oxidecomputer/propolis/tree/main/bin/propolis-server[propolis:bin/propolis-server]
|https://github.com/oxidecomputer/crucible/tree/main/control-client[crucible:control-client]
|
|Server-side only
|Exposed by Crucible upstairs for debugging via the `cmon` debugging tool.
// DO NOT EDIT. This table is auto-generated. See above.
|Crucible Pantry
|https://github.com/oxidecomputer/crucible/tree/main/pantry[crucible:pantry]
|https://github.com/oxidecomputer/crucible/tree/main/pantry-client[crucible:pantry-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/nexus[omicron:nexus]
|Server-side only
|-
// DO NOT EDIT. This table is auto-generated. See above.
|Maghemite DDM Admin
|https://github.com/oxidecomputer/maghemite/tree/main/ddmd[maghemite:ddmd]
|https://github.com/oxidecomputer/maghemite/tree/main/ddm-admin-client[maghemite:ddm-admin-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/installinator[omicron:installinator]
* https://github.com/oxidecomputer/maghemite/tree/main/mgd[maghemite:mgd]
* https://github.com/oxidecomputer/omicron/tree/main/sled-agent[omicron:sled-agent]
* https://github.com/oxidecomputer/omicron/tree/main/wicketd[omicron:wicketd]
|Server-side only
|The `ddmd` server runs in each sled GZ and each switch zone. These daemons provide an interface for advertising network prefixes, and observing what prefixes have been received from other DDM daemons in the rack. Sled agent uses this interface to announce bootstrap and underlay network prefixes, as well as learn about routes to other sleds and services in the rack. This interface is required in early-networking before a rack is fully up with Nexus running. Nexus does not consume this interface today, but will for observability APIs in the future.
// DO NOT EDIT. This table is auto-generated. See above.
|DNS Server
|https://github.com/oxidecomputer/omicron/tree/main/dns-server[omicron:dns-server]
|https://github.com/oxidecomputer/omicron/tree/main/clients/dns-service-client[omicron:clients/dns-service-client]
|
* https://github.com/oxidecomputer/omicron/tree/main/nexus[omicron:nexus]
* https://github.com/oxidecomputer/omicron/tree/main/sled-agent[omicron:sled-agent]
|Server-side only
|-
// DO NOT EDIT. This table is auto-generated. See above.
|Dendrite DPD
|https://github.com/oxidecomputer/dendrite/tree/main/dpd[dendrite:dpd]
Error: server package "dpd-client" was found in more than one workspace: dendrite, lldp, omicron
Stack backtrace:
0: anyhow::error::<impl anyhow::Error>::msg
at /home/eliza/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.97/src/backtrace.rs:27:14
1: find_package_workspace
at ./dev-tools/ls-apis/src/workspaces.rs:227:9
2: adoc_label
at ./dev-tools/ls-apis/src/system_apis.rs:323:30
3: ls_apis::run_adoc
at ./dev-tools/ls-apis/src/bin/ls-apis.rs:119:25
4: ls_apis::main
at ./dev-tools/ls-apis/src/bin/ls-apis.rs:84:23
5: core::ops::function::FnOnce::call_once
at /nix/store/cx6zh5dyv805dgjb4j1qza531dvb6msc-rust-default-1.85.0/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
6: __rust_begin_short_backtrace<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
at /nix/store/cx6zh5dyv805dgjb4j1qza531dvb6msc-rust-default-1.85.0/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152:18
7: {closure#0}<core::result::Result<(), anyhow::Error>>
at /nix/store/cx6zh5dyv805dgjb4j1qza531dvb6msc-rust-default-1.85.0/lib/rustlib/src/rust/library/std/src/rt.rs:195:18
8: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/ops/function.rs:284:13
9: std::panicking::try::do_call
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:584:40
10: std::panicking::try
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:547:19
11: std::panic::catch_unwind
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panic.rs:358:14
12: std::rt::lang_start_internal::{{closure}}
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/rt.rs:174:48
13: std::panicking::try::do_call
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:584:40
14: std::panicking::try
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:547:19
15: std::panic::catch_unwind
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panic.rs:358:14
16: std::rt::lang_start_internal
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/rt.rs:174:20
17: std::rt::lang_start
at /nix/store/cx6zh5dyv805dgjb4j1qza531dvb6msc-rust-default-1.85.0/lib/rustlib/src/rust/library/std/src/rt.rs:194:17
18: main
19: __libc_start_call_main
20: __libc_start_main_alias_2
21: _start
Metadata
Metadata
Assignees
Labels
No labels