Skip to content

Commit

Permalink
Show steps during RSS (#6495)
Browse files Browse the repository at this point in the history
Update the rack setup to record and send updates on progress. Updated
wicket to get and display progress during RSS

A new enum, RssStep, that we walk through during RSS, and pass that type
over to wicket for it to display.

Video demo:
https://drive.google.com/file/d/1omQFcUtqr8XNfG4EKBAabFlv3eSWCxwt/view

I think the sound might be broken, but you can see it go through the
steps.

---------

Co-authored-by: Alan Hanson <[email protected]>
  • Loading branch information
leftwo and Alan Hanson authored Sep 3, 2024
1 parent b6a098d commit 164aa1a
Show file tree
Hide file tree
Showing 11 changed files with 602 additions and 14 deletions.
2 changes: 2 additions & 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/wicketd-client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ reqwest = { workspace = true, features = ["rustls-tls", "stream"] }
schemars.workspace = true
serde.workspace = true
serde_json.workspace = true
sled-agent-types.workspace = true
sled-hardware-types.workspace = true
slog.workspace = true
update-engine.workspace = true
Expand Down
1 change: 1 addition & 0 deletions clients/wicketd-client/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ progenitor::generate_api!(
RotSlot = wicket_common::inventory::RotSlot,
RotState = wicket_common::inventory::RotState,
RouteConfig = omicron_common::api::internal::shared::RouteConfig,
RssStep = sled_agent_types::rack_ops::RssStep,
SpComponentCaboose = wicket_common::inventory::SpComponentCaboose,
SpComponentInfo = wicket_common::inventory::SpComponentInfo,
SpIdentifier = wicket_common::inventory::SpIdentifier,
Expand Down
235 changes: 234 additions & 1 deletion openapi/bootstrap-agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -1070,11 +1070,15 @@
"enum": [
"initializing"
]
},
"step": {
"$ref": "#/components/schemas/RssStep"
}
},
"required": [
"id",
"status"
"status",
"step"
]
},
{
Expand Down Expand Up @@ -1280,6 +1284,235 @@
"nexthop"
]
},
"RssStep": {
"description": "Steps we go through during initial rack setup. Keep this list in order that they happen.",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"requested"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"starting"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"load_existing_plan"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"create_sled_plan"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"init_trust_quorum"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"network_config_update"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"sled_init"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ensure_storage"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"init_dns"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"configure_dns"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"init_ntp"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"wait_for_time_sync"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"wait_for_database"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"cluster_init"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"zones_init"
]
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"nexus_handoff"
]
}
},
"required": [
"status"
]
}
]
},
"SemverVersion": {
"type": "string",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
Expand Down
Loading

0 comments on commit 164aa1a

Please sign in to comment.