Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
d5dc440
WIP: updated HTTP, params, and sled agent layer; about to wade into s…
davepacheco Nov 7, 2023
4536ec9
WIP: initial updates to service manager; next need to dig into initia…
davepacheco Nov 7, 2023
50ffbe4
WIP: it compiles
davepacheco Nov 8, 2023
23bc12c
WIP: update API spec
davepacheco Nov 8, 2023
1eb19c8
WIP: a bunch of stuff is no longer part of the sled agent API
davepacheco Nov 9, 2023
ccb85bf
WIP: inches ahead: starting to fix RSS
davepacheco Nov 9, 2023
a1827df
WIP: compiles again
davepacheco Nov 9, 2023
8ef6eb3
add XXX-dap
davepacheco Nov 9, 2023
c32320a
fix test
davepacheco Nov 13, 2023
4b040b8
clippy nits
davepacheco Nov 13, 2023
ad002a3
WIP: replacing use of ServiceZoneRequest for switch zone
davepacheco Nov 13, 2023
cb1c66d
clean up some names
davepacheco Nov 14, 2023
1e671b4
clean up one nit
davepacheco Nov 14, 2023
fe72a7d
WIP: moving "legacy" service types into a separate module
davepacheco Nov 14, 2023
7da2d02
WIP: more legacy migration
davepacheco Nov 14, 2023
0ad2395
this does not just happen on cold boot
davepacheco Nov 14, 2023
655d9f8
implement migration from old-format ledger
davepacheco Nov 15, 2023
964c1a7
add CLI tool to test migration
davepacheco Nov 15, 2023
0959fb6
prune visibility
davepacheco Nov 15, 2023
f58c30a
add test for new format
davepacheco Nov 15, 2023
f5bde3d
rerun tests and fix some stuff
davepacheco Nov 15, 2023
2c9a565
tool could support showing converted form, too
davepacheco Nov 15, 2023
472698e
clean up some type names
davepacheco Nov 15, 2023
9c6e803
get rid of wonky generation number management in RSS
davepacheco Nov 16, 2023
281021f
remove gratuitous clone
davepacheco Nov 16, 2023
d76c2f0
reject old generations and also ignore that on the client side
davepacheco Nov 16, 2023
3a1f393
write some docs and do some cleanup
davepacheco Nov 16, 2023
98492b5
generation -> version
davepacheco Nov 16, 2023
f5bf93d
clean up version numbers
davepacheco Nov 16, 2023
7a22812
fix ignore-bad-version code
davepacheco Nov 16, 2023
3e2ceb9
fix setup
davepacheco Nov 17, 2023
669e600
add tests for the phased rollout helpers
davepacheco Nov 17, 2023
091f681
fix handling of same generation and fix tests after that change
davepacheco Nov 17, 2023
728c1e7
add tests that read the list of zones
davepacheco Nov 18, 2023
34b88c4
add test for version behavior
davepacheco Nov 18, 2023
142e186
add some tests for migration
davepacheco Nov 18, 2023
3ef04f7
Merge commit 'a1d0738522ed93fc505066d77492faffa45ebf4e' into dap/sled…
davepacheco Nov 18, 2023
a8f6118
Merge commit '2fc0dfd8c11f31e66cfaf8ee80586bb2ed607216' into dap/sled…
davepacheco Nov 19, 2023
4dfd612
Merge branch 'main' into dap/sled-agent-services-type
davepacheco Nov 19, 2023
d56512c
deal with RSS service plan incompatibility
davepacheco Nov 22, 2023
925a8c6
add tests for rack2, rack3 services ledgers
davepacheco Nov 22, 2023
73d143a
commonize a bunch of test code
davepacheco Nov 23, 2023
b0b0493
add test that we can keep modifying after migration
davepacheco Nov 23, 2023
8d030f4
Merge branch 'main' into dap/sled-agent-services-type
davepacheco Nov 23, 2023
929a8d4
rename ServiceType
davepacheco Nov 23, 2023
961ec23
Merge branch 'main' into dap/sled-agent-services-type
davepacheco Nov 29, 2023
98c3137
review feedback, part 1
davepacheco Nov 29, 2023
4274e9d
review feedback: rename version -> generation
davepacheco Nov 30, 2023
5e55c48
new ledger filename is inconsistent with the others
davepacheco Nov 30, 2023
e9af61c
Merge branch 'main' into dap/sled-agent-services-type
davepacheco Nov 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions clients/sled-agent-client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ progenitor.workspace = true
ipnetwork.workspace = true
regress.workspace = true
reqwest = { workspace = true, features = [ "json", "rustls-tls", "stream" ] }
schemars.workspace = true
serde.workspace = true
slog.workspace = true
sled-storage.workspace = true
Expand Down
26 changes: 1 addition & 25 deletions clients/sled-agent-client/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@

use async_trait::async_trait;
use std::convert::TryFrom;
use std::str::FromStr;
use uuid::Uuid;

progenitor::generate_api!(
spec = "../../openapi/sled-agent.json",
derives = [ schemars::JsonSchema ],
inner_type = slog::Logger,
pre_hook = (|log: &slog::Logger, request: &reqwest::Request| {
slog::debug!(log, "client request";
Expand Down Expand Up @@ -529,27 +529,3 @@ impl TestInterfaces for Client {
.expect("disk_finish_transition() failed unexpectedly");
}
}

impl From<sled_storage::dataset::DatasetKind> for types::DatasetKind {
fn from(k: sled_storage::dataset::DatasetKind) -> Self {
use sled_storage::dataset::DatasetKind::*;
match k {
CockroachDb => Self::CockroachDb,
Crucible => Self::Crucible,
Clickhouse => Self::Clickhouse,
ClickhouseKeeper => Self::ClickhouseKeeper,
ExternalDns => Self::ExternalDns,
InternalDns => Self::InternalDns,
}
}
}

impl From<sled_storage::dataset::DatasetName> for types::DatasetName {
fn from(n: sled_storage::dataset::DatasetName) -> Self {
Self {
pool_name: types::ZpoolName::from_str(&n.pool().to_string())
.unwrap(),
kind: n.dataset().clone().into(),
}
}
}
1 change: 1 addition & 0 deletions common/src/api/external/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -622,6 +622,7 @@ impl From<ByteCount> for i64 {
Debug,
Deserialize,
Eq,
Hash,
JsonSchema,
Ord,
PartialEq,
Expand Down
1 change: 1 addition & 0 deletions common/src/ledger.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ impl From<Error> for crate::api::external::Error {
///
/// This structure is intended to help with serialization and deserialization
/// of configuration information to both M.2s.
#[derive(Debug)]
pub struct Ledger<T> {
log: Logger,
ledger: T,
Expand Down
Loading