aboutsummaryrefslogtreecommitdiff
path: root/src/garage/cli/cmd.rs
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-06-24 10:31:11 +0200
committerAlex Auvolat <alex@adnab.me>2022-06-24 10:31:11 +0200
commit95ffba343f14d7274e08099b9aca5a85da2259ed (patch)
treef6a965fcce0a11dbab951e13acef24ab8ab7e9d9 /src/garage/cli/cmd.rs
parent59b43914d4a9ae9a50ae79fee61b1a46bff941f9 (diff)
downloadgarage-95ffba343f14d7274e08099b9aca5a85da2259ed.tar.gz
garage-95ffba343f14d7274e08099b9aca5a85da2259ed.zip
Error reporting
Diffstat (limited to 'src/garage/cli/cmd.rs')
-rw-r--r--src/garage/cli/cmd.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/garage/cli/cmd.rs b/src/garage/cli/cmd.rs
index 38a58b76..1aa2c2ff 100644
--- a/src/garage/cli/cmd.rs
+++ b/src/garage/cli/cmd.rs
@@ -1,4 +1,5 @@
use std::collections::HashSet;
+use std::time::Duration;
use garage_util::error::*;
use garage_util::formater::format_table;
@@ -101,6 +102,7 @@ pub async fn cmd_status(rpc_cli: &Endpoint<SystemRpc, ()>, rpc_host: NodeID) ->
vec!["ID\tHostname\tAddress\tTags\tZone\tCapacity\tLast seen".to_string()];
for adv in status.iter().filter(|adv| !adv.is_up) {
if let Some(NodeRoleV(Some(cfg))) = layout.roles.get(&adv.id) {
+ let tf = timeago::Formatter::new();
failed_nodes.push(format!(
"{id:?}\t{host}\t{addr}\t[{tags}]\t{zone}\t{capacity}\t{last_seen}",
id = adv.id,
@@ -111,7 +113,7 @@ pub async fn cmd_status(rpc_cli: &Endpoint<SystemRpc, ()>, rpc_host: NodeID) ->
capacity = cfg.capacity_string(),
last_seen = adv
.last_seen_secs_ago
- .map(|s| format!("{}s ago", s))
+ .map(|s| tf.convert(Duration::from_secs(s)))
.unwrap_or_else(|| "never seen".into()),
));
}
@@ -183,8 +185,8 @@ pub async fn cmd_admin(
AdminRpc::KeyInfo(key, rb) => {
print_key_info(&key, &rb);
}
- AdminRpc::WorkerList(wi) => {
- print_worker_info(wi);
+ AdminRpc::WorkerList(wi, wlo) => {
+ print_worker_info(wi, wlo);
}
r => {
error!("Unexpected response: {:?}", r);