diff --git a/docker/dev-full/rivet-client/config.yaml b/docker/dev-full/rivet-client/config.yaml index 656d568e01..3b76710927 100644 --- a/docker/dev-full/rivet-client/config.yaml +++ b/docker/dev-full/rivet-client/config.yaml @@ -1,8 +1,6 @@ client: runner: flavor: isolate - # Cgroups require privileged containers - use_cgroup: false cluster: # This is safe to hardcode client_id: fc67e54e-5d6a-4726-ab23-77b0e54f068f @@ -28,4 +26,3 @@ client: redirect_logs: false vector: address: vector-server:6100 - diff --git a/docker/monolith/rivet-client/config.yaml b/docker/monolith/rivet-client/config.yaml index 3e103d9780..0ac585cc73 100644 --- a/docker/monolith/rivet-client/config.yaml +++ b/docker/monolith/rivet-client/config.yaml @@ -2,8 +2,6 @@ client: data_dir: /data/rivet-client runner: flavor: isolate - # Cgroups require privileged containers - use_cgroup: false cluster: # This is safe to hardcode client_id: fc67e54e-5d6a-4726-ab23-77b0e54f068f @@ -29,4 +27,3 @@ client: redirect_logs: false vector: address: vector-server:6100 - diff --git a/packages/infra/client/config/src/manager.rs b/packages/infra/client/config/src/manager.rs index bb71725832..7950140965 100644 --- a/packages/infra/client/config/src/manager.rs +++ b/packages/infra/client/config/src/manager.rs @@ -91,11 +91,6 @@ pub struct Runner { /// WebSocket Port for runners on this machine to connect to. pub port: Option, - /// If true, a cgroup will be created for the runners. - /// - /// This should not be disabled if running the client with a daemon. - pub use_cgroup: Option, - pub container_runner_binary_path: Option, pub isolate_runner_binary_path: Option, } @@ -105,10 +100,6 @@ impl Runner { self.port.unwrap_or(7080) } - pub fn use_cgroup(&self) -> bool { - self.use_cgroup.unwrap_or(true) - } - pub fn container_runner_binary_path(&self) -> PathBuf { self.container_runner_binary_path .clone() diff --git a/packages/infra/client/manager/src/actor/mod.rs b/packages/infra/client/manager/src/actor/mod.rs index aa7f46ee98..6ab262a544 100644 --- a/packages/infra/client/manager/src/actor/mod.rs +++ b/packages/infra/client/manager/src/actor/mod.rs @@ -170,7 +170,6 @@ impl Actor { &ctx.config().runner.container_runner_binary_path(), ctx.actor_path(self.actor_id), &runner_env, - ctx.config().runner.use_cgroup(), )? } // Shared runner diff --git a/packages/infra/client/manager/src/ctx.rs b/packages/infra/client/manager/src/ctx.rs index 817bb9aa2c..49f2e680c5 100644 --- a/packages/infra/client/manager/src/ctx.rs +++ b/packages/infra/client/manager/src/ctx.rs @@ -511,7 +511,6 @@ impl Ctx { &self.config().runner.isolate_runner_binary_path(), working_path, &[], - self.config().runner.use_cgroup(), )?; let pid = runner.pid(); diff --git a/packages/infra/client/manager/src/runner.rs b/packages/infra/client/manager/src/runner.rs index 6a6114613e..b7e3367455 100644 --- a/packages/infra/client/manager/src/runner.rs +++ b/packages/infra/client/manager/src/runner.rs @@ -146,7 +146,6 @@ impl Handle { runner_binary_path: &Path, working_path: PathBuf, env: &[(&str, String)], - use_cgroup: bool, ) -> Result { // Prepare the arguments for the runner let runner_args = vec![working_path.to_str().context("bad path")?]; @@ -189,16 +188,6 @@ impl Handle { let orphan_pid_bytes = child.as_raw().to_le_bytes(); write(pipe_write, &orphan_pid_bytes)?; - if use_cgroup { - // Write orphan PID to the runners cgroup so that it is no longer part of the parent - // cgroup. This is important for allowing systemd to restart pegboard without - // restarting orphans. - let mut cgroup_procs = std::fs::File::options() - .append(true) - .open(Path::new(utils::CGROUP_PATH).join("cgroup.procs"))?; - cgroup_procs.write_all(format!("{}\n", child.as_raw()).as_bytes())?; - } - // Exit the intermediate child std::process::exit(0); } diff --git a/packages/infra/client/manager/src/utils/mod.rs b/packages/infra/client/manager/src/utils/mod.rs index d28fade234..338b707ced 100644 --- a/packages/infra/client/manager/src/utils/mod.rs +++ b/packages/infra/client/manager/src/utils/mod.rs @@ -29,7 +29,6 @@ pub mod sql; const MAX_QUERY_RETRIES: usize = 16; const QUERY_RETRY: Duration = Duration::from_millis(500); const TXN_RETRY: Duration = Duration::from_millis(250); -pub const CGROUP_PATH: &str = "/sys/fs/cgroup/pegboard_runners"; pub async fn init_dir(config: &Config) -> Result<()> { let data_dir = config.client.data_dir(); @@ -82,14 +81,6 @@ pub async fn init_dir(config: &Config) -> Result<()> { x => x.context("failed to create /db dir in data dir")?, } - if config.client.runner.use_cgroup() { - // Create cgroup folder for runners - match fs::create_dir(CGROUP_PATH).await { - Err(e) if e.kind() == std::io::ErrorKind::AlreadyExists => {} - x => x.context("failed to create cgroup dir for runners")?, - } - } - Ok(()) }