diff options
author | Alex Auvolat <alex@adnab.me> | 2022-09-02 15:34:21 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-09-02 15:34:21 +0200 |
commit | 943d76c583f5740b1d922275a673233a27fe1693 (patch) | |
tree | 76a1d9b89c0ee0823d74b670849ed32bd373549f /src/garage/admin.rs | |
parent | 532eca7ff94e4710283fb38951a349a83654de59 (diff) | |
download | garage-943d76c583f5740b1d922275a673233a27fe1693.tar.gz garage-943d76c583f5740b1d922275a673233a27fe1693.zip |
Ability to dynamically set resync tranquility
Diffstat (limited to 'src/garage/admin.rs')
-rw-r--r-- | src/garage/admin.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/garage/admin.rs b/src/garage/admin.rs index 71ee608c..1d80889c 100644 --- a/src/garage/admin.rs +++ b/src/garage/admin.rs @@ -15,6 +15,8 @@ use garage_table::*; use garage_rpc::*; +use garage_block::repair::ScrubWorkerCommand; + use garage_model::bucket_alias_table::*; use garage_model::bucket_table::*; use garage_model::garage::Garage; @@ -836,6 +838,23 @@ impl AdminRpcHandler { let workers = self.garage.background.get_worker_info(); Ok(AdminRpc::WorkerList(workers, opt)) } + WorkerCmd::Set { opt } => match opt { + WorkerSetCmd::ScrubTranquility { tranquility } => { + let scrub_command = ScrubWorkerCommand::SetTranquility(tranquility); + self.garage + .block_manager + .send_scrub_command(scrub_command) + .await; + Ok(AdminRpc::Ok("Scrub tranquility updated".into())) + } + WorkerSetCmd::ResyncTranquility { tranquility } => { + self.garage + .block_manager + .set_resync_tranquility(tranquility) + .await?; + Ok(AdminRpc::Ok("Resync tranquility updated".into())) + } + }, } } } |