From 566934a48f9ab9c7bad419b28fea918ce71f77d2 Mon Sep 17 00:00:00 2001 From: Chengxiong Ruan Date: Thu, 25 Jul 2024 10:43:07 -0700 Subject: [PATCH] move cfgen to facebook dir Reviewed By: anps77, lnyng Differential Revision: D60239823 fbshipit-source-id: ee810fc72a4ee8f7b74f38d5d46260128c50e6cf --- src/oomd/cfgen/packman.yml | 17 - src/oomd/cfgen/src/cfgen.rs | 1078 ----------------- src/oomd/cfgen/src/types.rs | 305 ----- .../cfgen/test/cfgen_test_inputs/dev_T10.json | 115 -- .../cfgen/test/cfgen_test_inputs/devbig.json | 119 -- .../test/cfgen_test_inputs/devgpu_T17.json | 202 --- .../cfgen_test_inputs/devgpu_non_T17.json | 241 ---- .../cfgen/test/cfgen_test_inputs/devvm.json | 106 -- .../devvm_with_samll_ram.json | 105 -- .../cfgen/test/cfgen_test_inputs/dns.json | 104 -- .../test/cfgen_test_inputs/fna_shard00.json | 149 --- .../cfgen/test/cfgen_test_inputs/fnedge.json | 150 --- .../cfgen/test/cfgen_test_inputs/gedge.json | 145 --- .../test/cfgen_test_inputs/ondemand.json | 127 -- .../cfgen/test/cfgen_test_inputs/synmon.json | 109 -- .../cfgen/test/cfgen_test_inputs/twpool.json | 107 -- .../cfgen_test_inputs/twpool_no_senpai.json | 108 -- .../twshared_senpai_disabled.json | 119 -- .../twshared_senpai_disabled_sandisk.json | 123 -- .../twshared_t20_zionex.json | 487 -------- .../twshared_vll_shard00.json | 132 -- src/oomd/cfgen/test/cfgen_test_manifest.yml | 52 - .../dev_T10/50-change-propagator.conf | 6 - .../cfgen_test_outputs/dev_T10/oomd2.json | 176 --- .../devbig/50-change-propagator.conf | 6 - .../test/cfgen_test_outputs/devbig/oomd2.json | 192 --- .../devgpu_T17/50-change-propagator.conf | 6 - .../cfgen_test_outputs/devgpu_T17/oomd2.json | 176 --- .../devgpu_non_T17/50-change-propagator.conf | 6 - .../devgpu_non_T17/oomd2.json | 176 --- .../devvm/50-change-propagator.conf | 6 - .../test/cfgen_test_outputs/devvm/oomd2.json | 176 --- .../50-change-propagator.conf | 6 - .../devvm_with_samll_ram/oomd2.json | 176 --- .../dns/50-change-propagator.conf | 6 - .../test/cfgen_test_outputs/dns/oomd2.json | 268 ---- .../fna_shard00/50-change-propagator.conf | 6 - .../cfgen_test_outputs/fna_shard00/oomd2.json | 176 --- .../fnedge/50-change-propagator.conf | 6 - .../test/cfgen_test_outputs/fnedge/oomd2.json | 202 --- .../gedge/50-change-propagator.conf | 6 - .../test/cfgen_test_outputs/gedge/oomd2.json | 176 --- .../ondemand/50-change-propagator.conf | 6 - .../cfgen_test_outputs/ondemand/oomd2.json | 169 --- .../synmon/50-change-propagator.conf | 6 - .../test/cfgen_test_outputs/synmon/oomd2.json | 243 ---- .../twpool/50-change-propagator.conf | 6 - .../test/cfgen_test_outputs/twpool/oomd2.json | 202 --- .../50-change-propagator.conf | 6 - .../twpool_no_senpai/oomd2.json | 177 --- .../50-change-propagator.conf | 6 - .../twshared_senpai_disabled/oomd2.json | 177 --- .../50-change-propagator.conf | 6 - .../oomd2.json | 177 --- .../50-change-propagator.conf | 6 - .../twshared_t20_zionex/oomd2.json | 202 --- .../50-change-propagator.conf | 6 - .../twshared_vll_shard00/oomd2.json | 202 --- 58 files changed, 7751 deletions(-) delete mode 100644 src/oomd/cfgen/packman.yml delete mode 100644 src/oomd/cfgen/src/cfgen.rs delete mode 100644 src/oomd/cfgen/src/types.rs delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/dev_T10.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/devbig.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/devgpu_T17.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/devgpu_non_T17.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/devvm.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/devvm_with_samll_ram.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/dns.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/fna_shard00.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/fnedge.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/gedge.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/ondemand.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/synmon.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/twpool.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/twpool_no_senpai.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/twshared_senpai_disabled.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/twshared_senpai_disabled_sandisk.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/twshared_t20_zionex.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_inputs/twshared_vll_shard00.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_manifest.yml delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/dev_T10/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/dev_T10/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devbig/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devbig/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devgpu_T17/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devgpu_T17/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devgpu_non_T17/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devgpu_non_T17/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devvm/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devvm/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devvm_with_samll_ram/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/devvm_with_samll_ram/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/dns/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/dns/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/fna_shard00/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/fna_shard00/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/fnedge/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/fnedge/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/gedge/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/gedge/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/ondemand/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/ondemand/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/synmon/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/synmon/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twpool/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twpool/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twpool_no_senpai/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twpool_no_senpai/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled_sandisk/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled_sandisk/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twshared_t20_zionex/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twshared_t20_zionex/oomd2.json delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twshared_vll_shard00/50-change-propagator.conf delete mode 100644 src/oomd/cfgen/test/cfgen_test_outputs/twshared_vll_shard00/oomd2.json diff --git a/src/oomd/cfgen/packman.yml b/src/oomd/cfgen/packman.yml deleted file mode 100644 index 38180dfd..00000000 --- a/src/oomd/cfgen/packman.yml +++ /dev/null @@ -1,17 +0,0 @@ -options: - autoclean-keep-versions: 30 -packages: - fb-oomd-cfgen: - packager: resource_control - build_architectures: [x86_64, aarch64] - summary: fb-oomd Config Generator - description: Generates configuration for fb-oomd - rules: - buck2:oomd/cfgen:cfgen: - oomd/cfgen: - path: /usr/facebook/fb-oomd/cfgen/cfgen - buck2:oomd/cfgen:cfgen_differ_config: - oomd/cfgen/cfgen_differ_config/differ_config.json: - path: /usr/facebook/fb-oomd/cfgen/differ_config.json - change_log_paths: - - oomd/cfgen diff --git a/src/oomd/cfgen/src/cfgen.rs b/src/oomd/cfgen/src/cfgen.rs deleted file mode 100644 index 333f69db..00000000 --- a/src/oomd/cfgen/src/cfgen.rs +++ /dev/null @@ -1,1078 +0,0 @@ -// (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary. - -#![deny(warnings)] - -mod types; - -use anyhow::anyhow; -use libcfgen::prelude::*; -use types::*; - -const CONFIG_VERSION: &str = "1.0.0"; -// 30GB -const DEVVM_MEM_PRESSURE_BYTES_THRESHOLD: u64 = 30 * 1024 * 1024 * 1024; - -fn oomd_json(node: &Node) -> Result { - let attrs = get_attributes(node); - match attrs.host_type { - HostType::DevServer => devserver_json_config(node, &attrs), - HostType::OnDemand => od_json_config(&attrs), - _ => default_json_config(&attrs), - } -} - -fn oomd_dropin(_node: &Node) -> Dropin { - let args = [ - "--interval 1", - "--config /etc/oomd2.json", - "--drop-in-dir /run/oomd/dropin", - ]; - let environment = convert_args!(btreemap!( - "OOMD_ARGS" => args.join(" "), - )); - - Dropin { - environment, - ..Default::default() - } -} - -// Rules generated from this function are based on the original -// oomd_fbtax.json.erb template: https://fburl.com/code/wq92o1k9. -fn default_json_config(attrs: &ConfigParams) -> Result { - let mut rulesets = Vec::new(); - rulesets.push(ruleset_system_overview(attrs)); - rulesets.append(&mut rulesets_restart_cgroup_on_mem_threshold(attrs)); - // Tupperware job killing. Monitor workload-tw.slice and kill - // workload-tw.slice/*. For now, we don't monitor or kill - // workload-wdb.slice. - rulesets.push(ruleset_protection_against_heavy_workload_thrashing(attrs)); - if attrs.fbtax2.io_latency_supported { - // We can't set io.latency aggressive enough because it loses - // too much total work. Let's help io.latency if system is - // spamming for too long. Hopefully, we should be able to - // remove this with io.weight. - rulesets.push(ruleset_protection_against_wdb_io_thrashing(attrs)); - } - if !attrs.fbtax2.disable_swap_protection { - rulesets.push(ruleset_fbtax2_protection_against_low_swap(attrs)); - } - if attrs.senpai.target.is_some() { - rulesets.push(ruleset_senpai_ruleset(attrs)); - } - rulesets.append(&mut attrs.fbtax2.oomd_extra_rulesets.clone()); - rulesets.push(ruleset_senpai_drop_in_ruleset(attrs)); - rulesets.push(ruleset_tw_container_drop_in_ruleset(attrs)); - - let config = OomdConfig { - rulesets, - version: CONFIG_VERSION.to_string(), - }; - - serialize_oomd_config(&config) -} - -// Rules generated from this function are based on the original -// oomd_devserver.json.erb template: https://fburl.com/code/3omvj54x. -fn devserver_json_config( - node: &Node, - attrs: &ConfigParams, -) -> Result { - let mut rulesets = Vec::new(); - rulesets.push(ruleset_system_overview(attrs)); - rulesets.push(ruleset_user_session_protection(node, attrs)); - if !attrs.oomd2.disable_swap_protection { - rulesets.push(ruleset_oomd2_protection_against_low_swap(attrs)); - } - rulesets.push(ruleset_senpai_drop_in_ruleset(attrs)); - rulesets.append(&mut rulesets_restart_cgroup_on_mem_threshold(attrs)); - rulesets.push(ruleset_tw_container_drop_in_ruleset(attrs)); - - let config = OomdConfig { - rulesets, - version: CONFIG_VERSION.to_string(), - }; - - serialize_oomd_config(&config) -} - -// Rules generated from this function are based on the original -// oomd_ondemand.json.erb template: https://fburl.com/code/9z7w4irm. -fn od_json_config(attrs: &ConfigParams) -> Result { - let mut rulesets = Vec::new(); - rulesets.push(ruleset_system_overview(attrs)); - rulesets.push(ruleset_protection_against_high_memory_pressure(attrs)); - rulesets.append(&mut rulesets_restart_cgroup_on_mem_threshold(attrs)); - rulesets.push(ruleset_senpai_drop_in_ruleset(attrs)); - rulesets.push(ruleset_od_protection_against_low_swap(attrs)); - - let config = OomdConfig { - rulesets, - version: CONFIG_VERSION.to_string(), - }; - - serialize_oomd_config(&config) -} - -fn serialize_oomd_config(config: &OomdConfig) -> Result { - let json_output_result = serde_json::to_string(config); - let json_output = match json_output_result { - Ok(json_str) => json_str, - Err(err) => return Err(anyhow!(err)), - }; - let parsed_json_result = json::parse(json_output.as_str()); - match parsed_json_result { - Ok(json_value) => Ok(json_value), - Err(err) => Err(anyhow!(err)), - } -} - -fn ruleset_system_overview(attrs: &ConfigParams) -> RuleSet { - let mut rule = RuleSet { - name: "system overview".to_string(), - silence_logs: Some("engine".to_string()), - drop_in: None, - detectors: vec![detector!( - detector_name!("records system stats"), - detector_rule!( - name: "dump_cgroup_overview", - args: detector_rule_args!( - cgroup: attrs.oomd2.oomd_target.clone() - ) - ) - )], - actions: vec![action!( - name: "continue", - args: action_args!() - )], - prekill_hook_timeout: None, - }; - - if attrs.host_type == HostType::OnDemand { - rule.drop_in = Some(DropIn { - disable_on_drop_in: None, - detectors: Some(true), - actions: Some(true), - }); - } - rule -} - -fn rulesets_restart_cgroup_on_mem_threshold(attrs: &ConfigParams) -> Vec { - attrs - .oomd2 - .oomd_restart_threshold - .iter() - .map(|(cgroup, params)| RuleSet { - name: format!("restart {} on memory threshold", cgroup), - silence_logs: None, - drop_in: None, - detectors: vec![detector!( - detector_name!("memory usage above"), - detector_rule!( - name: attrs.oomd2.plugins["memory_above"].as_str(), - args: detector_rule_args!( - cgroup: cgroup.clone(), - threshold_anon: params.threshold.clone(), - duration: params.duration.clone() - ) - ) - )], - actions: vec![action!( - name: "systemd_restart", - args: action_args!( - service: params.service_name.as_str(), - post_action_delay: params.post_action_delay.as_str(), - dry: "false" - ) - )], - prekill_hook_timeout: None, - }) - .collect::>() -} - -fn ruleset_protection_against_heavy_workload_thrashing(attrs: &ConfigParams) -> RuleSet { - let mut action = action! ( - name: "kill_by_pg_scan", - args: action_args! ( - cgroup: "workload.slice/workload-tw.slice/*", - recursive: "true" - ) - ); - - if attrs.fbtax2.post_workload_kill_delay.is_some() { - action.args.post_action_delay = attrs.fbtax2.post_workload_kill_delay.clone(); - } - - RuleSet { - name: "protection against heavy workload thrashing".to_string(), - silence_logs: None, - drop_in: Some(DropIn { - disable_on_drop_in: Some(true), - detectors: Some(true), - actions: Some(true), - }), - detectors: ruleset_protection_against_heavy_workload_thrashing_detectors(attrs), - actions: vec![action], - prekill_hook_timeout: None, - } -} - -fn ruleset_protection_against_heavy_workload_thrashing_detectors( - attrs: &ConfigParams, -) -> Vec { - if attrs.fbtax2.io_cost_supported { - vec![detector!( - detector_name!("sustained high workload memory pressure"), - if !attrs.fbtax2.blacklisted_jobs.is_empty() { - fbtax2_blacklisted_jobs_detector_rule(attrs) - } else { - skip_this_detector_rule!() - }, - detector_rule!( - name: "pressure_above", - args: detector_rule_args!( - cgroup: attrs.fbtax2.workload_monitoring_slice.clone(), - resource: "memory".to_string(), - threshold: attrs.fbtax2.workload_high_pressure_threshold.clone(), - duration: attrs.fbtax2.workload_high_pressure_duration.clone() - ) - ), - detector_rule!( - name: "memory_reclaim", - args: detector_rule_args! ( - cgroup: attrs.fbtax2.workload_monitoring_slice.clone(), - duration: "10".to_string() - ) - ) - )] - } else { - // Note that these conditions are a lot more liberal than - // they should really be. This is because we can't - // protect hostcritical's IOs from workload using - // io.latency without risking severely impacting workload, - // so oomd is used as an side-channel enforcement - // mechanism with tighter configuration. - // - vec![ - detector!( - detector_name!("detects fast growing memory pressure"), - if !attrs.fbtax2.blacklisted_jobs.is_empty() { - fbtax2_blacklisted_jobs_detector_rule(attrs) - } else { - skip_this_detector_rule!() - }, - detector_rule!( - name: "pressure_above", - args: detector_rule_args!( - cgroup: attrs.fbtax2.workload_monitoring_slice.clone(), - resource: "memory".to_string(), - threshold: "80".to_string(), - duration: "60".to_string() - ) - ), - detector_rule!( - name: "memory_reclaim", - args: detector_rule_args! ( - cgroup: attrs.fbtax2.workload_monitoring_slice.clone(), - duration: "10".to_string() - ) - ) - ), - detector!( - detector_name!("detects slow growing memory pressure"), - if !attrs.fbtax2.blacklisted_jobs.is_empty() { - fbtax2_blacklisted_jobs_detector_rule(attrs) - } else { - skip_this_detector_rule!() - }, - detector_rule!( - name: "pressure_rising_beyond", - args: detector_rule_args!( - cgroup: attrs.fbtax2.workload_monitoring_slice.clone(), - resource: "memory".to_string(), - threshold: "60".to_string(), - duration: "90".to_string() - ) - ), - detector_rule!( - name: "memory_reclaim", - args: detector_rule_args! ( - cgroup: attrs.fbtax2.workload_monitoring_slice.clone(), - duration: "10".to_string() - ) - ) - ), - ] - } -} - -fn fbtax2_blacklisted_jobs_detector_rule(attrs: &ConfigParams) -> DetectorElement { - detector_rule!( - name: "exists", - args: detector_rule_args! ( - cgroup: attrs.fbtax2.blacklisted_jobs.join(","), - negate: true - ) - ) -} - -fn ruleset_protection_against_wdb_io_thrashing(attrs: &ConfigParams) -> RuleSet { - RuleSet { - name: "protection against wdb io thrashing".to_string(), - silence_logs: None, - drop_in: None, - detectors: vec![detector!( - detector_name!("low pressure in workload and high io in wdb"), - detector_rule!( - name: "pressure_rising_beyond", - args: detector_rule_args!( - cgroup: "workload.slice".to_string(), - resource: "io".to_string(), - threshold: if attrs.fbtax2.on_ssd {"10".to_string()} else {"15".to_string()}, - duration: if attrs.fbtax2.on_ssd {"0".to_string()} else {"180".to_string()} - ) - ), - detector_rule!( - name: "pressure_rising_beyond", - args: detector_rule_args!( - cgroup: "system.slice".to_string(), - resource: "io".to_string(), - threshold: if attrs.fbtax2.on_ssd {"60".to_string()} else {"85".to_string()}, - duration: if attrs.fbtax2.on_ssd {"0".to_string()} else {"180".to_string()} - ) - ) - )], - actions: vec![action!( - name: "kill_by_pressure", - args: action_args!( - cgroup: "system.slice/*", - recursive: "true", - resource: "io" - ) - )], - prekill_hook_timeout: None, - } -} - -fn ruleset_fbtax2_protection_against_low_swap(attrs: &ConfigParams) -> RuleSet { - RuleSet { - name: "protection against low swap".to_string(), - silence_logs: None, - drop_in: None, - detectors: vec![detector!( - detector_name!(format!( - "free swap goes below {} percent", - attrs.fbtax2.low_swap_threshold - )), - if !attrs.fbtax2.blacklisted_jobs.is_empty() { - fbtax2_blacklisted_jobs_detector_rule(attrs) - } else { - skip_this_detector_rule!() - }, - detector_rule!( - name: "swap_free", - args: detector_rule_args!( - threshold_pct: attrs.fbtax2.low_swap_threshold.clone() - ) - ) - )], - actions: vec![action!( - name: "kill_by_swap_usage", - args: action_args!( - cgroup: "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - biased_swap_kill: "true", - recursive: "true" - ) - )], - prekill_hook_timeout: None, - } -} - -fn ruleset_oomd2_protection_against_low_swap(attrs: &ConfigParams) -> RuleSet { - RuleSet { - name: "protection against low swap".to_string(), - silence_logs: None, - drop_in: None, - detectors: vec![detector!( - detector_name!( - format!( - "free swap goes below {}%", - attrs.oomd2.swap_protection_detect_threshold - ) - .as_str() - ), - detector_rule!( - name: "swap_free", - args: detector_rule_args!( - threshold_pct: attrs.oomd2.swap_protection_detect_threshold.clone() - ) - ) - )], - actions: vec![action! ( - name: "kill_by_swap_usage", - args: action_args!( - cgroup: attrs.oomd2.kill_target.as_str(), - threshold: attrs.oomd2.swap_protection_kill_threshold.as_str(), - recursive: "true" - ) - )], - prekill_hook_timeout: None, - } -} - -fn ruleset_senpai_ruleset(attrs: &ConfigParams) -> RuleSet { - let mut action_args = action_args!( - io_pressure_pct: attrs.senpai.io_pressure_pct.as_str(), - memory_high_timeout_ms: attrs.senpai.memory_high_timeout_ms.as_str(), - scuba_logger_dataset: attrs.senpai.scuba_logger_dataset.as_str() - ); - - if attrs.senpai.limit_min_bytes.is_some() { - action_args.limit_min_bytes = attrs.senpai.limit_min_bytes.clone(); - } - - if attrs.senpai.target.is_some() { - action_args.cgroup = attrs.senpai.target.clone(); - } - - RuleSet { - name: "senpai ruleset".to_string(), - silence_logs: Some(attrs.senpai.silence_logs.clone()), - drop_in: None, - detectors: vec![detector!( - detector_name!("continue detector group"), - detector_rule!( - name: "continue", - args: detector_rule_args!() - ) - )], - actions: vec![action!( - name: "senpai_poking", - args: action_args - )], - prekill_hook_timeout: None, - } -} - -fn ruleset_senpai_drop_in_ruleset(attrs: &ConfigParams) -> RuleSet { - // This allows tw integration to run senpai on particular tasks via - // drop-in configs. - RuleSet { - name: "senpai drop-in ruleset".to_string(), - silence_logs: Some(if attrs.host_type == HostType::OnDemand { - "engine,plugins".to_string() - } else { - "engine".to_string() - }), - drop_in: Some(DropIn { - disable_on_drop_in: Some(true), - actions: Some(true), - detectors: None, - }), - detectors: vec![detector!( - if attrs.disable_senpai_dropin { - detector_name!("stop detector group") - } else { - detector_name!("continue detector group") - }, - if attrs.disable_senpai_dropin { - // Effectively a stop plugin so that drop-ins could be - // inserted but won't run. - detector_rule!( - name: "exists", - args: detector_rule_args!( - cgroup: "/".to_string(), - negate: true - ) - ) - } else { - detector_rule!( - name: "continue", - args: detector_rule_args!() - ) - } - )], - // no-op for drop-in override - actions: vec![action!( - name: "continue", - args: action_args!() - )], - prekill_hook_timeout: None, - } -} - -fn ruleset_tw_container_drop_in_ruleset(attrs: &ConfigParams) -> RuleSet { - // This allows tw integration to not set memory.max on particular tasks via - // drop-in configs. - RuleSet { - name: "tw_container drop-in ruleset".to_string(), - silence_logs: None, - drop_in: Some(DropIn { - detectors: Some(true), - actions: Some(true), - disable_on_drop_in: Some(true), - }), - detectors: vec![detector!( - detector_name!("continue"), - detector_rule!( - name: "stop", - args: detector_rule_args!() - ) - )], - actions: vec![action!( - name: "continue", - args: action_args!() - )], - prekill_hook_timeout: if attrs.host_type != HostType::DevServer { - Some("45".to_string()) - } else { - None - }, - } -} - -fn ruleset_user_session_protection(node: &Node, attrs: &ConfigParams) -> RuleSet { - let user_pressure_detector = detector!( - detector_name!( - format!( - "user pressure above {} for 300s", - attrs.devserver.user_mempress - ) - .as_str() - ), - detector_rule!( - name: "pressure_above", - args: detector_rule_args!( - cgroup: "user.slice,workload.slice,www.slice".to_string(), - resource: "memory".to_string(), - threshold: attrs.devserver.user_mempress.clone(), - duration: "300".to_string() - ) - ), - maybe_nr_dying_descendants_rule(node), - detector_rule!( - name: "memory_reclaim", - args: detector_rule_args!( - cgroup: "user.slice,workload.slice,www.slice".to_string(), - duration: "30".to_string() - ) - ) - ); - - let system_pressure_detector = detector!( - detector_name!( - format!( - "system pressure above {} for 300s", - attrs.devserver.system_mempress - ) - .as_str() - ), - detector_rule!( - name: "pressure_above", - args: detector_rule_args!( - cgroup: "system.slice".to_string(), - resource: "memory".to_string(), - threshold: attrs.devserver.system_mempress.clone(), - duration: "300".to_string() - ) - ), - maybe_nr_dying_descendants_rule(node), - detector_rule!( - name: "memory_reclaim", - args: detector_rule_args!( - cgroup: "system.slice".to_string(), - duration: "30".to_string() - ) - ) - ); - - RuleSet { - name: "user session protection".to_string(), - silence_logs: None, - drop_in: None, - detectors: vec![user_pressure_detector, system_pressure_detector], - actions: vec![action!( - name: "kill_by_memory_size_or_growth", - args: action_args!( - cgroup: attrs.oomd2.kill_target.as_str(), - recursive: "true".to_string() - ) - )], - prekill_hook_timeout: None, - } -} - -fn maybe_nr_dying_descendants_rule(node: &Node) -> DetectorElement { - if node.is_devserver() && node.hostname_prefix() == DEVBIG { - // See https://fb.workplace.com/groups/linux.fbk/permalink/2924541514245339/ - detector_rule!( - name: "nr_dying_descendants", - args: detector_rule_args!( - cgroup: "/".to_string(), - count: "30000".to_string(), - lte: "true".to_string() - ) - ) - } else { - skip_this_detector_rule!() - } -} - -fn ruleset_protection_against_high_memory_pressure(attrs: &ConfigParams) -> RuleSet { - RuleSet { - name: "protection against high memory pressure".to_string(), - silence_logs: None, - drop_in: Some(DropIn { - detectors: Some(true), - actions: Some(true), - disable_on_drop_in: Some(attrs.oomd2.oomd_disable_on_drop_in), - }), - detectors: vec![ - detector!( - detector_name!("detects fast growing memory pressure"), - detector_rule!( - name: attrs.oomd2.plugins["pressure_above"].as_str(), - args: detector_rule_args!( - cgroup: attrs.oomd2.oomd_target.clone(), - resource: "memory".to_string(), - threshold: attrs.oomd2.oomd_high_threshold.clone(), - duration: attrs.oomd2.oomd_high_threshold_duration.clone() - ) - ), - detector_rule!( - name: attrs.oomd2.plugins["memory_reclaim"].as_str(), - args: detector_rule_args!( - cgroup: attrs.oomd2.oomd_target.clone(), - duration: attrs.oomd2.oomd_reclaim_duation.clone() - ) - ) - ), - detector!( - detector_name!("detects slow growing memory pressure"), - detector_rule!( - name: attrs.oomd2.plugins["pressure_rising_beyond"].as_str(), - args: detector_rule_args!( - cgroup: attrs.oomd2.oomd_target.clone(), - resource: "memory".to_string(), - threshold: attrs.oomd2.oomd_threshold.clone(), - duration: attrs.oomd2.oomd_threshold_duration.clone() - ) - ), - detector_rule!( - name: attrs.oomd2.plugins["memory_reclaim"].as_str(), - args: detector_rule_args!( - cgroup: attrs.oomd2.oomd_target.clone(), - duration: attrs.oomd2.oomd_reclaim_duation.clone() - ) - ) - ), - ], - actions: vec![action!( - name: attrs.oomd2.plugins["kill_by_memory_size_or_growth"].as_str(), - args: action_args!( - cgroup: attrs.oomd2.oomd_action_target.as_str(), - dry: if attrs.oomd2.oomd_dry { "true" } else {"false"} - ) - )], - prekill_hook_timeout: None, - } -} - -fn ruleset_od_protection_against_low_swap(attrs: &ConfigParams) -> RuleSet { - RuleSet { - name: "protection against low swap".to_string(), - silence_logs: None, - drop_in: Some(DropIn { - detectors: Some(true), - actions: Some(true), - disable_on_drop_in: Some(attrs.oomd2.oomd_disable_on_drop_in), - }), - detectors: vec![detector!( - detector_name!("free swap goes below 5 percent"), - detector_rule!( - name: attrs.oomd2.plugins["swap_free"].as_str(), - args: detector_rule_args!( - threshold_pct: "5".to_string() - ) - ) - )], - actions: vec![action!( - name: attrs.oomd2.plugins["kill_by_swap_usage"].as_str(), - args: action_args!( - cgroup: attrs.oomd2.oomd_action_target.as_str(), - dry: if attrs.oomd2.oomd_dry { "true" } else {"false"} - ) - )], - prekill_hook_timeout: None, - } -} - -fn get_attributes(node: &Node) -> ConfigParams { - ConfigParams { - host_type: get_host_type(node), - fbtax2: FBTax2Attributes { - blacklisted_jobs: fbtax2_blacklisted_jobs(node), - on_ssd: on_ssd(node), - io_latency_supported: io_latency_supported(node), - io_cost_supported: io_cost_supported(node), - disable_swap_protection: false, - workload_high_pressure_threshold: String::from("80"), - workload_high_pressure_duration: String::from("180"), - workload_monitoring_slice: String::from("workload.slice/workload-tw.slice"), - post_workload_kill_delay: None, - oomd_extra_rulesets: oomd_extra_rulesets(node), - low_swap_threshold: String::from("10"), - }, - oomd2: Oomd2Attributes { - blacklisted_jobs: Vec::new(), - disable_swap_protection: false, - kill_target: String::from("user.slice/,system.slice/,workload.slice/,www.slice/"), - plugins: convert_args!(btreemap!( - "pressure_above" => "pressure_above", - "pressure_rising_beyond" => "pressure_rising_beyond", - "swap_free" => "swap_free", - "kill_by_memory_size_or_growth" => "kill_by_memory_size_or_growth", - "kill_by_swap_usage" => "kill_by_swap_usage", - "memory_above" => "memory_above", - "memory_reclaim"=> "memory_reclaim", - "senpai" => "senpai", - )), - oomd_dry: true, - oomd_disable_on_drop_in: true, - oomd_target: oomd2_oomd_target(node), - oomd_action_target: String::from("system.slice/*"), - oomd_high_threshold: String::from("80"), - oomd_high_threshold_duration: String::from("60"), - oomd_threshold: String::from("60"), - oomd_threshold_duration: String::from("90"), - oomd_restart_threshold: oomd2_oomd_restart_threshold(node), - oomd_reclaim_duation: String::from("10"), - oomd_post_action_delay: String::from("15"), - swap_protection_detect_threshold: String::from("5"), - swap_protection_kill_threshold: String::from("5"), - }, - devserver: DevServerAttributes { - user_mempress: devserver_user_mempress(node), - system_mempress: devserver_system_mempress(node), - }, - senpai: SenpaiAttributes { - silence_logs: String::from("engine"), - target: senpai_targets(node), - limit_min_bytes: senpai_limit_min_bytes(node), - io_pressure_pct: String::from("1.0"), - memory_high_timeout_ms: String::from("20"), - scuba_logger_dataset: String::from("perfpipe_senpai_events"), - }, - disable_senpai_dropin: disable_senpai_dropin(node), - } -} - -fn devserver_user_mempress(node: &Node) -> String { - if use_high_mem_pressure_threshold_on_dev(node) { - String::from("60") - } else { - String::from("40") - } -} - -fn devserver_system_mempress(node: &Node) -> String { - if use_high_mem_pressure_threshold_on_dev(node) { - String::from("80") - } else { - String::from("60") - } -} - -fn use_high_mem_pressure_threshold_on_dev(node: &Node) -> bool { - // We used to have this complicated logic to determine the dev server memory - // pressure threshold: https://fburl.com/code/wr6lou7i. - // Here, we simplified it down to only the few branches which actually set the - // threshold. - if node.hostname_prefix() == DEVGPU && node.server_type() != FbServerType::TYPE_XVII_INFERENCE { - return true; - } - if node.hostname_prefix() == DEVVM - && !is_devvm_for_ai(node) - && node.mem_total_bytes() < DEVVM_MEM_PRESSURE_BYTES_THRESHOLD - { - return true; - } - if node.hostname_prefix() == DEV && node.server_type() == FbServerType::TYPE_X_SEARCH { - return true; - } - false -} - -fn is_devvm_for_ai(node: &Node) -> bool { - node.hostname_prefix() == DEVVM - && [ - FbServerType::TYPE_XVI_TRAINING, - FbServerType::TYPE_XVII_INFERENCE, - FbServerType::TYPE_XX_GPU_TC, - ] - .contains(&node.server_type()) -} - -fn oomd_extra_rulesets(node: &Node) -> Vec { - if get_host_type(node) != HostType::Dns { - return vec![]; - } - - vec![ - RuleSet { - name: "restart workload.slice/unbound-local-wrapper.service on memory threshold" - .to_string(), - silence_logs: None, - drop_in: None, - detectors: vec![detector!( - detector_name!("memory usage above"), - detector_rule!( - name: "memory_above", - args: detector_rule_args!( - cgroup: "workload.slice/unbound-local-wrapper.service".to_string(), - threshold_anon: "20%".to_string(), - duration: "60".to_string() - ) - ) - )], - actions: vec![action!( - name: "systemd_restart", - args: action_args!( - service: "unbound-local-wrapper.service", - post_action_delay: "180" - ) - )], - prekill_hook_timeout: None, - }, - RuleSet { - name: "restart workload.slice/unbound-internet-wrapper.service on memory threshold" - .to_string(), - silence_logs: None, - drop_in: None, - detectors: vec![detector!( - detector_name!("memory usage above"), - detector_rule!( - name: "memory_above", - args: detector_rule_args!( - cgroup: "workload.slice/unbound-internet-wrapper.service".to_string(), - threshold_anon: "27%".to_string(), - duration: "60".to_string() - ) - ) - )], - actions: vec![action!( - name: "systemd_restart", - args: action_args!( - service: "unbound-internet-wrapper.service", - post_action_delay: "180" - ) - )], - prekill_hook_timeout: None, - }, - ] -} - -fn oomd2_oomd_restart_threshold(node: &Node) -> BTreeMap { - if [HostType::GEdge, HostType::Fna].contains(&get_host_type(node)) { - btreemap! {} - } else { - btreemap! { - String::from("smc_proxy.service") => OomdRestartThreshold{ - threshold: String::from("15G"), - duration: String::from("10"), - post_action_delay: String::from("20"), - service_name: String::from("smc_proxy.service")} - } - } -} - -fn on_ssd(node: &Node) -> bool { - node.storage().has_ssd_root() -} - -fn on_sandisk_sd7_sn6_s2(node: &Node) -> bool { - node.storage().has_disk_model("SanDisk SD7SN6S256G") -} - -fn io_latency_supported(node: &Node) -> bool { - // Historically, we set this to `false` whe: - // 1. the host has file `/sys/fs/cgroup/io.cost.qos` - // 2. the host is not in `fbtax2_iocost_exclude` smc tier - // The fact is that, as we have migraed and keeps migrating to newer kernel versions, - // the file `/sys/fs/cgroup/io.cost.qos` is always present. Also, there is only one - // host in `fbtax2_iocost_exclude` smc tier. So, we can just return true here. - !should_setup_iocost(node) -} - -fn io_cost_supported(node: &Node) -> bool { - // Historically, we set this to `true` whe: - // 1. the host has file `/sys/fs/cgroup/io.cost.qos` - // 2. the host is not in `fbtax2_iocost_exclude` smc tier - // The fact is that, as we have migraed and keeps migrating to newer kernel versions, - // the file `/sys/fs/cgroup/io.cost.qos` is always present. Also, there is only one - // host in `fbtax2_iocost_exclude` smc tier. So, we can just return true here. - should_setup_iocost(node) -} - -fn should_setup_iocost(node: &Node) -> bool { - ![HostType::Synmon, HostType::Dns].contains(&get_host_type(node)) -} - -fn fbtax2_blacklisted_jobs(node: &Node) -> Vec<&'static str> { - if [ - HostType::TwShared, - HostType::Tw, - HostType::FnEdge, - HostType::GEdge, - HostType::Fna, - ] - .contains(&get_host_type(node)) - { - return vec![ - // This ML model has extremely high memory usage, they need to fix - // their stuff at some point. - "workload.slice/workload-tw.slice/sigrid_online_trainer*", - "workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*", - "workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*", - // Pensieve analyzes very large JVM heapdumps. The workflow is - // memory intensive (includes tmpfs operation) and tries to use as - // much memory as available in order to increase the processing - // throughput. - "workload.slice/workload-tw.slice/analyzer*", - "workload.slice/workload-tw.slice/*.reservation.slice/analyzer*", - "workload.slice/workload-tw.slice/*.allotment.slice/analyzer*", - // Tangram/bumblebee handles it's own sub cgroups. It is ok with - // memory pressure and has it's own drop-in config for long thrashing - // cgroups. - "workload.slice/workload-tw.slice/bumblebee.*", - "workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*", - "workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - ]; - } - vec![] -} - -fn senpai_targets(node: &Node) -> Option { - // Replicating this logic : https://fburl.com/code/1o9lw85h - if !on_ssd(node) || on_sandisk_sd7_sn6_s2(node) { - return None; - } - - match get_host_type(node) { - HostType::TwShared | HostType::Tw | HostType::FnEdge | HostType::GEdge | HostType::Fna => { - Some(String::from( - "system.slice,workload.slice/workload-wdb.slice,hostcritical.slice,workload.slice/workload-wdb.slice/*,hostcritical.slice/*", - )) - } - HostType::Synmon => Some(String::from("system.slice")), - _ => None, - } -} - -fn senpai_limit_min_bytes(node: &Node) -> Option { - if [ - HostType::TwShared, - HostType::Tw, - HostType::Synmon, - HostType::FnEdge, - HostType::GEdge, - HostType::Fna, - ] - .contains(&get_host_type(node)) - { - let min_bytes = 100 * 1024 * 1024; - return Some(min_bytes.to_string()); - } - None -} - -fn oomd2_oomd_target(node: &Node) -> String { - match get_host_type(node) { - HostType::DevServer => String::from("system.slice"), - HostType::OnDemand => String::from( - "system.slice,system.slice/system-hgcache\\x2dupdater.slice/hgcache-updater*.service", - ), - _ => String::from("workload.slice"), - } -} - -fn disable_senpai_dropin(node: &Node) -> bool { - if get_host_type(node) == HostType::OnDemand { - return true; - } - false -} - -fn get_host_type(node: &Node) -> HostType { - if node.hostname_prefix() == TWSHARED { - return HostType::TwShared; - } - - if node.hostname_prefix() == TW { - return HostType::Tw; - } - - if node.hostname_prefix() == OD { - return HostType::OnDemand; - } - - if node.hostname_prefix() == SYNMON { - return HostType::Synmon; - } - - if node.hostname_prefix() == DNS { - return HostType::Dns; - } - - if node.hostname_prefix() == FNEDGE { - return HostType::FnEdge; - } - - if node.hostname_prefix() == GEDGE { - return HostType::GEdge; - } - - if node.hostname_prefix() == FNA { - return HostType::Fna; - } - - if node.is_devserver() { - return HostType::DevServer; - } - - HostType::Default -} - -fn main() -> anyhow::Result<()> { - let mut b = libcfgen::Builder::new(); - b = b.dynamic_json( - if libcfgen::context()? - .is_some_and(|c| c.consumer() == libcfgen::ConfigConsumer::METALOS_WDS) - { - "etc/oomd2.json" - } else { - "oomd2.json" - }, - oomd_json, - ); - b = b.dropin(|node| Ok(oomd_dropin(node))); - b.run() -} - -#[cfg(test)] -mod tests { - use libcfgentest::*; - use rstest::rstest; - - use super::*; - - #[rstest] - #[case::shard99("twshared2434.02.cco1", HostType::TwShared)] - #[case::shard99("devvm3170.cln0", HostType::DevServer)] - #[case::shard99("od2228.eag1", HostType::OnDemand)] - fn test_get_host_type(#[case] hostname: &str, #[case] expected: HostType) { - let node = FakeNodeBuilder::new().hostname(hostname).build(); - assert_eq!(get_host_type(&node), expected); - } -} diff --git a/src/oomd/cfgen/src/types.rs b/src/oomd/cfgen/src/types.rs deleted file mode 100644 index 01211c1a..00000000 --- a/src/oomd/cfgen/src/types.rs +++ /dev/null @@ -1,305 +0,0 @@ -use std::collections::BTreeMap; - -use serde::Serialize; -use serde::Serializer; - -pub const DUMMY_DETECTOR_RULE_NAME: &str = "god_please_ignore_this_detector_rule_please"; - -#[derive(Debug, PartialEq, Eq)] -pub enum HostType { - Default, - DevServer, - OnDemand, - TwShared, - Tw, - Synmon, - Dns, - FnEdge, - GEdge, - Fna, -} - -pub struct ConfigParams { - pub host_type: HostType, - pub fbtax2: FBTax2Attributes, - pub oomd2: Oomd2Attributes, - pub devserver: DevServerAttributes, - pub senpai: SenpaiAttributes, - pub disable_senpai_dropin: bool, -} - -pub struct FBTax2Attributes { - pub blacklisted_jobs: Vec<&'static str>, - pub on_ssd: bool, - pub io_latency_supported: bool, - pub io_cost_supported: bool, - pub disable_swap_protection: bool, - pub workload_high_pressure_threshold: String, - pub workload_high_pressure_duration: String, - pub workload_monitoring_slice: String, - pub post_workload_kill_delay: Option, - pub oomd_extra_rulesets: Vec, - pub low_swap_threshold: String, -} - -pub struct Oomd2Attributes { - #[allow(dead_code)] - pub blacklisted_jobs: Vec<&'static str>, - pub disable_swap_protection: bool, - pub kill_target: String, - pub plugins: BTreeMap, - pub oomd_dry: bool, - pub oomd_disable_on_drop_in: bool, - pub oomd_target: String, - pub oomd_action_target: String, - pub oomd_high_threshold: String, - pub oomd_high_threshold_duration: String, - pub oomd_threshold: String, - pub oomd_threshold_duration: String, - pub oomd_restart_threshold: BTreeMap, - pub oomd_reclaim_duation: String, - #[allow(dead_code)] - pub oomd_post_action_delay: String, - pub swap_protection_detect_threshold: String, - pub swap_protection_kill_threshold: String, -} - -pub struct DevServerAttributes { - pub user_mempress: String, - pub system_mempress: String, -} - -pub struct SenpaiAttributes { - pub silence_logs: String, - pub target: Option, - pub limit_min_bytes: Option, - pub io_pressure_pct: String, - pub memory_high_timeout_ms: String, - pub scuba_logger_dataset: String, -} - -pub struct OomdRestartThreshold { - pub threshold: String, - pub duration: String, - pub post_action_delay: String, - pub service_name: String, -} - -#[derive(Serialize)] -pub struct OomdConfig { - pub rulesets: Vec, - pub version: String, -} - -#[derive(Clone, Serialize)] -pub struct RuleSet { - pub name: String, - #[serde(skip_serializing_if = "Option::is_none", rename = "silence-logs")] - pub silence_logs: Option, - #[serde(skip_serializing_if = "Option::is_none", rename = "drop-in")] - pub drop_in: Option, // need logic to deserialize with name "drop-in" - pub detectors: Vec, - pub actions: Vec, - #[serde(skip_serializing_if = "Option::is_none")] - pub prekill_hook_timeout: Option, -} - -pub type Detector = Vec; - -#[derive(Clone)] -pub enum DetectorElement { - String(String), - Rule(DetectorRule), -} - -impl Serialize for DetectorElement { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match *self { - DetectorElement::String(ref val) => serializer.serialize_str(val), - DetectorElement::Rule(ref val) => val.serialize(serializer), - } - } -} - -#[derive(Clone, Serialize)] -pub struct DetectorRule { - pub name: String, - pub args: DetectorRuleArgs, -} - -#[derive(Clone, Serialize)] -pub struct DetectorRuleArgs { - #[serde(skip_serializing_if = "Option::is_none")] - pub cgroup: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub duration: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub lte: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub threshold_anon: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub resource: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub threshold: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub negate: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub threshold_pct: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub count: Option, -} - -#[derive(Clone, Serialize)] -pub struct DropIn { - #[serde(skip_serializing_if = "Option::is_none", rename = "disable-on-drop-in")] - pub disable_on_drop_in: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub detectors: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub actions: Option, -} - -#[derive(Clone, Serialize)] -pub struct Action { - pub name: String, - pub args: ActionArgs, -} - -#[derive(Clone, Serialize)] -pub struct ActionArgs { - #[serde(skip_serializing_if = "Option::is_none")] - pub biased_swap_kill: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub cgroup: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub dry: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub post_action_delay: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub recursive: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub resource: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub service: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub threshold: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub io_pressure_pct: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub memory_high_timeout_ms: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub scuba_logger_dataset: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub limit_min_bytes: Option, -} - -#[macro_export] -macro_rules! detector { - ($($val:expr),*) => {{ - let mut vec = Vec::new(); - $( - match $val { - DetectorElement::String(_) => { - vec.push(DetectorElement::from($val)) - } - DetectorElement::Rule(e) => { - if e.name != types::DUMMY_DETECTOR_RULE_NAME { - vec.push(DetectorElement::from($val)); - } - } - } - )* - vec - }}; -} - -#[macro_export] -macro_rules! detector_name { - ($val:expr) => { - DetectorElement::String($val.to_string()) - }; -} - -#[macro_export] -macro_rules! detector_rule { - ($name:ident : $name_val:expr, $args:ident : $args_val:expr) => { - DetectorElement::Rule(DetectorRule { - $name: $name_val.to_string(), - $args: $args_val, - }) - }; -} - -#[macro_export] -macro_rules! skip_this_detector_rule { - () => { - DetectorElement::Rule(DetectorRule { - name: DUMMY_DETECTOR_RULE_NAME.to_string(), - args: detector_rule_args!(), - }) - }; -} - -#[macro_export] -macro_rules! detector_rule_args { - ($($name:ident : $val:expr),*) => {{ - #[allow(unused_mut)] - let mut ret = DetectorRuleArgs{ - cgroup: None, - duration: None, - lte: None, - threshold_anon: None, - resource: None, - threshold: None, - negate: None, - threshold_pct: None, - count: None, - }; - - $( - ret.$name = Some($val); - )* - - ret - }}; -} - -#[macro_export] -macro_rules! action { - ($name:ident : $name_val:expr, $args:ident : $args_val:expr) => { - Action { - $name: $name_val.to_string(), - $args: $args_val, - } - }; -} - -#[macro_export] -macro_rules! action_args { - ($($name:ident : $val:expr),*) => {{ - #[allow(unused_mut)] - let mut ret = ActionArgs{ - biased_swap_kill: None, - cgroup: None, - dry: None, - post_action_delay: None, - recursive: None, - resource: None, - service: None, - threshold: None, - io_pressure_pct: None, - memory_high_timeout_ms: None, - scuba_logger_dataset: None, - limit_min_bytes: None, - }; - - $( - ret.$name = Some($val.to_string()); - )* - - ret - }}; -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/dev_T10.json b/src/oomd/cfgen/test/cfgen_test_inputs/dev_T10.json deleted file mode 100644 index c9147e1e..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/dev_T10.json +++ /dev/null @@ -1,115 +0,0 @@ -@generated SignedSource<<1b04e482d078b9270d62aea7afad6ab2>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "dev0050.snc8.facebook.com", - "region": "west", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 341072, - "kernelRelease": "5.19.0-0_fbk12_hardened_11583_g0bef9520ca2b", - "serverType": "TYPE_X_SEARCH", - "experiments": [], - "cpuArchitecture": "cooperlake", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 52 - } - }, - "cpuCoreCount": 26, - "parentModelId": 338998, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "snc8", - "cluster": "02", - "memTotal": 66872942592, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:65:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435MC-CDAE_FB", - "current_speed_mts": 8000, - "current_width": 4 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx5_core", - "driver_version": "5.19.0-0_fbk12_hardened_11583_g", - "firmware_version": "22.32.1206 (FB_0000000018)", - "bus_info": "0000:65:00.0", - "speed_mbps": 100000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "prn3.06", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 256055095296, - "is_rotational": false, - "model": "WDC CL SN720 SDAQNTW-512G-1020", - "serial": "21090A806417", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - }, - "nvme1n1": { - "size_bytes": 1800360124416, - "is_rotational": false, - "model": "MZOL21T9HCJR-000FB", - "serial": "S5X8NG0R817377", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-aarch64", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/nvme0n1p4", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": {} -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/devbig.json b/src/oomd/cfgen/test/cfgen_test_inputs/devbig.json deleted file mode 100644 index 20f7c894..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/devbig.json +++ /dev/null @@ -1,119 +0,0 @@ -@generated SignedSource<<7d0d8bd34d42990af455d354ddcf98ad>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "devbig414.ash8.facebook.com", - "region": "east", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 336209, - "kernelRelease": "5.19.0-0_fbk12_hardened_11583_g0bef9520ca2b", - "serverType": "TYPE_VI_FEED", - "experiments": [], - "cpuArchitecture": "skylake", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 128, - "maxChannelsRx": 64, - "maxChannelsTx": 64 - } - }, - "cpuCoreCount": 40, - "parentModelId": 336939, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "ash8", - "cluster": "08", - "memTotal": 269614637056, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:5e:00.0": { - "vendor_id": 5348, - "device_id": 5833, - "class_code": 131072, - "board_part_number": "BCM957302M3023CBK", - "current_speed_mts": 8000, - "current_width": 8 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "bnxt_en", - "driver_version": "5.19.0-0_fbk12_hardened_11583_g", - "firmware_version": "20.6.167.0/pkg 20.6.4.12", - "bus_info": "0000:5e:00.0", - "speed_mbps": 25000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "ash9.02", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "798S1078T7RQ", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "sda": { - "size_bytes": 2000398934016, - "is_rotational": true, - "model": "TOSHIBA MG04ACA200A", - "serial": "79P4K06WFKGA", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-aarch64", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/sda3", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/devgpu_T17.json b/src/oomd/cfgen/test/cfgen_test_inputs/devgpu_T17.json deleted file mode 100644 index 61f8b11f..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/devgpu_T17.json +++ /dev/null @@ -1,202 +0,0 @@ -@generated SignedSource<<9dc5ee399ebc4b3207dbae5ab683d296>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "devgpu110.cco2.facebook.com", - "region": "crookcounty", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 347673, - "kernelRelease": "5.19.0-0_fbk21_12633_g4db063a1bcb5", - "serverType": "TYPE_XVII_INFERENCE", - "experiments": [], - "cpuArchitecture": "genoa", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 63 - }, - "eth1": { - "maxChannelsCombined": 63 - }, - "eth2": { - "maxChannelsCombined": 63 - }, - "eth3": { - "maxChannelsCombined": 63 - } - }, - "cpuCoreCount": 192, - "parentModelId": 344274, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "cco2", - "cluster": "04", - "memTotal": 2434641825792, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:2d:00.0": { - "vendor_id": 5555, - "device_id": 4129, - "class_code": 131072, - "board_part_number": "CX71343DAC-WEBF_FB", - "current_speed_mts": 32000, - "current_width": 16 - }, - "0000:2d:00.1": { - "vendor_id": 5555, - "device_id": 4129, - "class_code": 131072, - "board_part_number": "CX71343DAC-WEBF_FB", - "current_speed_mts": 32000, - "current_width": 16 - }, - "0000:cd:00.0": { - "vendor_id": 5555, - "device_id": 4129, - "class_code": 131072, - "board_part_number": "CX71343DAC-WEBF_FB", - "current_speed_mts": 32000, - "current_width": 16 - }, - "0000:cd:00.1": { - "vendor_id": 5555, - "device_id": 4129, - "class_code": 131072, - "board_part_number": "CX71343DAC-WEBF_FB", - "current_speed_mts": 32000, - "current_width": 16 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx5_core", - "driver_version": "5.19.0-0_fbk21_12633_g4db063a1b", - "firmware_version": "28.39.1002 (FB_0000000038)", - "bus_info": "0000:2d:00.0", - "speed_mbps": 200000 - }, - "eth1": { - "driver": "mlx5_core", - "driver_version": "5.19.0-0_fbk21_12633_g4db063a1b", - "firmware_version": "28.39.1002 (FB_0000000038)", - "bus_info": "0000:2d:00.1", - "speed_mbps": 200000 - }, - "eth2": { - "driver": "mlx5_core", - "driver_version": "5.19.0-0_fbk21_12633_g4db063a1b", - "firmware_version": "28.39.1002 (FB_0000000038)", - "bus_info": "0000:cd:00.0", - "speed_mbps": 200000 - }, - "eth3": { - "driver": "mlx5_core", - "driver_version": "5.19.0-0_fbk21_12633_g4db063a1b", - "firmware_version": "28.39.1002 (FB_0000000038)", - "bus_info": "0000:cd:00.1", - "speed_mbps": 200000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "cco1.02", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W800655", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme1n1": { - "size_bytes": 3760740458496, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W801154", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": true - }, - "nvme2n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W800614", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme3n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W800617", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme4n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W800610", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-aarch64", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "ETH1", - "ETH2", - "ETH3", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/nvme1n1p4", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/devgpu_non_T17.json b/src/oomd/cfgen/test/cfgen_test_inputs/devgpu_non_T17.json deleted file mode 100644 index f795ab98..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/devgpu_non_T17.json +++ /dev/null @@ -1,241 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "devgpu013.cco3.facebook.com", - "region": "crookcounty", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 348652, - "kernelRelease": "6.4.3-0_fbk10_zion_2498_ge6d54711039b", - "serverType": "TYPE_XVI_TRAINING", - "experiments": [], - "cpuArchitecture": "genoa", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 63 - }, - "eth1": { - "maxChannelsCombined": 63 - }, - "eth2": { - "maxChannelsCombined": 63 - }, - "eth3": { - "maxChannelsCombined": 63 - } - }, - "cpuCoreCount": 192, - "parentModelId": 343729, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "cco3", - "cluster": "03", - "memTotal": 2434410749952, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:2b:00.0": { - "vendor_id": 5555, - "device_id": 4129, - "class_code": 131072, - "board_part_number": "CX71343DAC-WEBF_FB", - "current_speed_mts": 32000, - "current_width": 16 - }, - "0000:2b:00.1": { - "vendor_id": 5555, - "device_id": 4129, - "class_code": 131072, - "board_part_number": "CX71343DAC-WEBF_FB", - "current_speed_mts": 32000, - "current_width": 16 - }, - "0000:cb:00.0": { - "vendor_id": 5555, - "device_id": 4129, - "class_code": 131072, - "board_part_number": "CX71343DAC-WEBF_FB", - "current_speed_mts": 32000, - "current_width": 16 - }, - "0000:cb:00.1": { - "vendor_id": 5555, - "device_id": 4129, - "class_code": 131072, - "board_part_number": "CX71343DAC-WEBF_FB", - "current_speed_mts": 32000, - "current_width": 16 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk10_zion_2498_ge6d547", - "firmware_version": "28.38.1002 (FB_0000000038)", - "bus_info": "0000:2b:00.0", - "speed_mbps": 200000 - }, - "eth1": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk10_zion_2498_ge6d547", - "firmware_version": "28.38.1002 (FB_0000000038)", - "bus_info": "0000:2b:00.1", - "speed_mbps": 200000 - }, - "eth2": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk10_zion_2498_ge6d547", - "firmware_version": "28.38.1002 (FB_0000000038)", - "bus_info": "0000:cb:00.0", - "speed_mbps": 200000 - }, - "eth3": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk10_zion_2498_ge6d547", - "firmware_version": "28.38.1002 (FB_0000000038)", - "bus_info": "0000:cb:00.1", - "speed_mbps": 200000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "cco1.02", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719487", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme1n1": { - "size_bytes": 3760740458496, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719367", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": true - }, - "nvme2n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719475", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme3n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719382", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme4n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719383", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme5n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719390", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme6n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719484", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme7n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719486", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme8n1": { - "size_bytes": 3600709410816, - "is_rotational": false, - "model": "MZOL63T8HDLT-00AFB", - "serial": "S77UNG0W719489", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-aarch64", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "ETH1", - "ETH2", - "ETH3", - "SVC0", - "SVC0_1", - "SVC0_2", - "SVC0_3" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/nvme1n1p4", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/devvm.json b/src/oomd/cfgen/test/cfgen_test_inputs/devvm.json deleted file mode 100644 index f296213c..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/devvm.json +++ /dev/null @@ -1,106 +0,0 @@ -@generated SignedSource<<02e6fb8a7cdb40852565254f0c5f9f88>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "devvm11340.nha0.facebook.com", - "region": "alabama", - "clusterType": "DEV", - "modelId": 4077, - "kernelRelease": "5.12.0-0_fbk16_hardened_7661_geb00762ce6d2", - "serverType": "TYPE_VIRTUAL_MACHINE", - "experiments": [], - "cpuArchitecture": "", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 8 - } - }, - "cpuCoreCount": 28, - "parentModelId": 344135, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "nha0", - "cluster": "01", - "memTotal": 119920975872, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:00:02.0": { - "vendor_id": 6900, - "device_id": 4096, - "class_code": 131072 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "virtio_net", - "driver_version": "1.0.0", - "firmware_version": "", - "bus_info": "0000:00:02.0", - "speed_mbps": 0 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "nha1.02", - "block_devices": { - "block_devices": { - "vda": { - "vendor": "0x1af4", - "size_bytes": 1717986918400, - "is_rotational": true, - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-aarch64", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "ETH1", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/vda3", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/devvm_with_samll_ram.json b/src/oomd/cfgen/test/cfgen_test_inputs/devvm_with_samll_ram.json deleted file mode 100644 index 5486bebe..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/devvm_with_samll_ram.json +++ /dev/null @@ -1,105 +0,0 @@ -@generated SignedSource<<565b203d3a6cb5e4156d7650e2eb7ec8>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "devvm010.atn6.facebook.com", - "region": "altoona", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 4077, - "kernelRelease": "5.19.0-0_fbk12_hardened_11583_g0bef9520ca2b", - "serverType": "TYPE_VIRTUAL_MACHINE", - "experiments": [], - "cpuArchitecture": "", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 8 - } - }, - "cpuCoreCount": 12, - "parentModelId": 334305, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "atn6", - "cluster": "05", - "memTotal": 24848252928, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:00:02.0": { - "vendor_id": 6900, - "device_id": 4096, - "class_code": 131072 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "virtio_net", - "driver_version": "1.0.0", - "firmware_version": "", - "bus_info": "0000:00:02.0", - "speed_mbps": 0 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "atn1.05", - "block_devices": { - "block_devices": { - "vda": { - "vendor": "0x1af4", - "size_bytes": 399431958528, - "is_rotational": true, - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-aarch64", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/vda3", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/dns.json b/src/oomd/cfgen/test/cfgen_test_inputs/dns.json deleted file mode 100644 index b8c56caa..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/dns.json +++ /dev/null @@ -1,104 +0,0 @@ -@generated SignedSource<<5d7ba59674719d5764b671101130e9a5>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "dns09.10.vll1.facebook.com", - "region": "newmexico", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 333376, - "kernelRelease": "5.19.0-0_fbk12_11583_g0bef9520ca2b", - "serverType": "TYPE_I_WEB", - "experiments": [], - "cpuArchitecture": "skylakede", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 36 - } - }, - "cpuCoreCount": 18, - "parentModelId": 334303, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "vll1", - "cluster": "10", - "memTotal": 66865057792, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:02:00.0": { - "vendor_id": 5555, - "device_id": 4117, - "class_code": 131072, - "board_part_number": "MCX4431N-GCAN_FB", - "current_speed_mts": 8000, - "current_width": 2 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx5_core", - "driver_version": "5.19.0-0_fbk12_11583_g0bef9520c", - "firmware_version": "14.32.1206 (FB_0000000006)", - "bus_info": "0000:02:00.0", - "speed_mbps": 50000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "vll1.02", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 256060514304, - "is_rotational": false, - "model": "HFS256GD9TNG-62A0A", - "serial": "MS8BN17121120BR5I", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/nvme0n1p4", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": {} -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/fna_shard00.json b/src/oomd/cfgen/test/cfgen_test_inputs/fna_shard00.json deleted file mode 100644 index 3a7c7dfc..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/fna_shard00.json +++ /dev/null @@ -1,149 +0,0 @@ -@generated SignedSource<<353d3dad5c34e79a6a0ce00ae4a7498e>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "fna009.03.ffru1.facebook.com", - "region": "other", - "clusterType": "FNA", - "modelId": 337011, - "kernelRelease": "5.19.0-0_fbk21_hardened_12633_g4db063a1bcb5", - "serverType": "TYPE_VI_FEED", - "experiments": [], - "cpuArchitecture": "skylake", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsRx": 80, - "maxChannelsTx": 32 - }, - "ip6tnl0": {}, - "tunl0": {}, - "tunlany0": {} - }, - "cpuCoreCount": 40, - "parentModelId": 328972, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "ffru1", - "cluster": "03", - "memTotal": 269953454080, - "osVersion": { - "distribution_name": "CentOS Stream release 9", - "version": 1718035827, - "is_in_ramdisk": false, - "is_edgeos": true - }, - "pciByAddress": { - "0000:5d:00.0": { - "vendor_id": 5555, - "device_id": 4103, - "class_code": 163840, - "board_part_number": "764285-B21", - "current_speed_mts": 8000, - "current_width": 8 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx4_en", - "driver_version": "4.0-0", - "firmware_version": "2.42.5700", - "bus_info": "0000:5d:00.0", - "speed_mbps": 40000 - }, - "ip6tnl0": { - "driver": "ip6tnl", - "driver_version": "5.19.0-0_fbk21_hardened_12633_g", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - }, - "tunl0": { - "driver": "ipip", - "driver_version": "5.19.0-0_fbk21_hardened_12633_g", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - }, - "tunlany0": { - "driver": "ip6tnl", - "driver_version": "5.19.0-0_fbk21_hardened_12633_g", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "oth1.01", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 4000787030016, - "is_rotational": false, - "model": "INTEL SSDPE2KX040T8", - "serial": "PHLJ1233026H4P0DGN", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme1n1": { - "size_bytes": 4000787030016, - "is_rotational": false, - "model": "INTEL SSDPE2KX040T8", - "serial": "PHLJ123401GH4P0DGN", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "sda": { - "size_bytes": 480103981056, - "is_rotational": false, - "model": "INTEL SSDSC2KB480G8", - "serial": "PHYF110006EP480BGN", - "physical_block_size": 4096, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/mapper/transient", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "space_cache=v2", - "subvolid=256", - "subvol=/volume" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/fnedge.json b/src/oomd/cfgen/test/cfgen_test_inputs/fnedge.json deleted file mode 100644 index 4a3c8532..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/fnedge.json +++ /dev/null @@ -1,150 +0,0 @@ -@generated SignedSource<<74a652dfe9f8d0cea1580b0ab87e5afe>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "fnedge337.01.ord5.facebook.com", - "region": "altoona", - "clusterType": "POP", - "modelId": 342539, - "kernelRelease": "5.19.0-0_fbk21_hardened_rc9_12630_gab30f3f5259a", - "serverType": "TYPE_VI_FEED", - "experiments": [], - "cpuArchitecture": "skylake", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsRx": 80, - "maxChannelsTx": 32 - }, - "ip6tnl0": {}, - "tunl0": {}, - "tunlany0": {} - }, - "cpuCoreCount": 40, - "parentModelId": 334411, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "ord5", - "cluster": "01", - "memTotal": 269953482752, - "osVersion": { - "distribution_name": "EdgeOS", - "version": 1708953544, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:5d:00.0": { - "vendor_id": 5555, - "device_id": 4103, - "class_code": 163840, - "board_part_number": "764285-B21", - "current_speed_mts": 8000, - "current_width": 8 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx4_en", - "driver_version": "4.0-0", - "firmware_version": "2.42.5700", - "bus_info": "0000:5d:00.0", - "speed_mbps": 40000 - }, - "ip6tnl0": { - "driver": "ip6tnl", - "driver_version": "5.19.0-0_fbk21_hardened_rc9_126", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - }, - "tunl0": { - "driver": "ipip", - "driver_version": "5.19.0-0_fbk21_hardened_rc9_126", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - }, - "tunlany0": { - "driver": "ip6tnl", - "driver_version": "5.19.0-0_fbk21_hardened_rc9_126", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "atn1.05", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 3840755982336, - "is_rotational": false, - "model": "SAMSUNG MZQLB3T8HALS-00007", - "serial": "S438NC0R901648", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme1n1": { - "size_bytes": 3840755982336, - "is_rotational": false, - "model": "SAMSUNG MZQLB3T8HALS-00007", - "serial": "S438NA0N704959", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "sda": { - "size_bytes": 480103981056, - "is_rotational": false, - "model": "VK000480GWSRR", - "serial": "S4NANA0N631380", - "physical_block_size": 4096, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "ETH1", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/mapper/transient", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "space_cache=v2", - "subvolid=256", - "subvol=/volume" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/gedge.json b/src/oomd/cfgen/test/cfgen_test_inputs/gedge.json deleted file mode 100644 index e46d8fff..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/gedge.json +++ /dev/null @@ -1,145 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "gedge566.50.ams6.facebook.com", - "region": "denmark", - "clusterType": "GAMING_POP", - "modelId": 342616, - "kernelRelease": "5.12.0-0_fbk16_hardened_7661_geb00762ce6d2", - "serverType": "TYPE_VI_FEED", - "experiments": [], - "cpuArchitecture": "icelake", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 63 - }, - "ip6tnl0": {}, - "tunl0": {}, - "tunlany0": {} - }, - "cpuCoreCount": 48, - "parentModelId": 343431, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "ams6", - "cluster": "50", - "memTotal": 265756499968, - "osVersion": { - "distribution_name": "EdgeOS", - "version": 1708953544, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:47:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-CDAI", - "current_speed_mts": 16000, - "current_width": 16 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx5_core", - "driver_version": "5.12.0-0_fbk16_hardened_7661_ge", - "firmware_version": "22.34.4000 (MT_0000000695)", - "bus_info": "0000:47:00.0", - "speed_mbps": 100000 - }, - "ip6tnl0": { - "driver": "", - "driver_version": "", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - }, - "tunl0": { - "driver": "", - "driver_version": "", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - }, - "tunlany0": { - "driver": "", - "driver_version": "", - "firmware_version": "", - "bus_info": "", - "speed_mbps": 0 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "odn2.02", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 960197124096, - "is_rotational": false, - "model": "SAMSUNG MZQL2960HCJR-00A07", - "serial": "S64FNE0RC04186", - "physical_block_size": 4096, - "logical_block_size": 512, - "is_root": true - }, - "nvme1n1": { - "size_bytes": 3840755982336, - "is_rotational": false, - "model": "SAMSUNG MZQL23T8HCLS-00A07", - "serial": "S64HNS0T800572", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - } - } - }, - "dynamic_smc_tiers": [ - "edge_pool_gedge.ams6c50", - "edge_pool_gedge.ams6c50.cathode_windows", - "edge_pool_gedge.ams6c50.cathode_windows.prod", - "edge_pool_gedge.ams6c50.cathode_windows.prod.gen10plus_a10m" - ], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0", - "SVC1" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/mapper/transient", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "space_cache=v2", - "subvolid=256", - "subvol=/volume" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "EDGE:EDGE_NONE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/ondemand.json b/src/oomd/cfgen/test/cfgen_test_inputs/ondemand.json deleted file mode 100644 index 66a95ca5..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/ondemand.json +++ /dev/null @@ -1,127 +0,0 @@ -@generated SignedSource<<0e3f14b2398b8a574059b35ad967b33f>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "od4427.prn1.facebook.com", - "region": "oregon", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 334305, - "kernelRelease": "5.19.0-0_fbk12_11583_g0bef9520ca2b", - "serverType": "TYPE_X_SEARCH", - "experiments": [], - "cpuArchitecture": "skylakede", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 16, - "maxChannelsRx": 16, - "maxChannelsTx": 16 - } - }, - "cpuCoreCount": 18, - "parentModelId": 334304, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "prn1", - "cluster": "48", - "memTotal": 66999205888, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:02:00.0": { - "vendor_id": 5348, - "device_id": 5873, - "class_code": 131072, - "board_part_number": "BCM957452M4520C", - "current_speed_mts": 8000, - "current_width": 2 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "bnxt_en", - "driver_version": "5.19.0-0_fbk12_11583_g0bef9520c", - "firmware_version": "20.8.200.0/pkg 20.8.3.11", - "bus_info": "0000:02:00.0", - "speed_mbps": 50000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "prn3.06", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 512110190592, - "is_rotational": false, - "model": "HFS512GD9TNG-62A0A", - "serial": "MJ04N606113904D3S", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - }, - "nvme1n1": { - "size_bytes": 500107862016, - "is_rotational": false, - "model": "SAMSUNG MZ1LB960HAJQ-000FB", - "serial": "S4S2NA0N660582", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme2n1": { - "size_bytes": 500107862016, - "is_rotational": false, - "model": "SAMSUNG MZ1LB960HAJQ-000FB", - "serial": "S4S2NA0N660565", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/nvme0n1p4", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/synmon.json b/src/oomd/cfgen/test/cfgen_test_inputs/synmon.json deleted file mode 100644 index 32478506..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/synmon.json +++ /dev/null @@ -1,109 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "synmon061.snb1.facebook.com", - "region": "springfield", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 346252, - "kernelRelease": "5.19.0-0_fbk12_11583_g0bef9520ca2b", - "serverType": "TYPE_I_WEB", - "experiments": [], - "cpuArchitecture": "bergamo", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 128, - "maxChannelsRx": 64, - "maxChannelsTx": 64 - } - }, - "cpuCoreCount": 88, - "parentModelId": 344026, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "snb1", - "cluster": "01", - "memTotal": 269764808704, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:01:00.0": { - "vendor_id": 5348, - "device_id": 5969, - "class_code": 131072, - "board_part_number": "BCM957504-N1100FH", - "current_speed_mts": 16000, - "current_width": 4 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "bnxt_en", - "driver_version": "5.19.0-0_fbk12_11583_g0bef9520c", - "firmware_version": "225.0.157.0/pkg 225.1.109.0", - "bus_info": "0000:01:00.0", - "speed_mbps": 50000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "snb1.01", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 819367632896, - "is_rotational": false, - "model": "KXG8AZNV1T02", - "serial": "372393FC60N6EC5U", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/nvme0n1p4", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/twpool.json b/src/oomd/cfgen/test/cfgen_test_inputs/twpool.json deleted file mode 100644 index ed5a1a92..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/twpool.json +++ /dev/null @@ -1,107 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "tw066.02.cln2.facebook.com", - "region": "ireland", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 333376, - "kernelRelease": "5.19.0-0_fbk12_11583_g0bef9520ca2b", - "serverType": "TYPE_I_WEB", - "experiments": [], - "cpuArchitecture": "skylakede", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 36 - } - }, - "cpuCoreCount": 18, - "parentModelId": 334303, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "cln2", - "cluster": "02", - "memTotal": 66999275520, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:02:00.0": { - "vendor_id": 5555, - "device_id": 4117, - "class_code": 131072, - "board_part_number": "MCX4431N-GCAN_FB", - "current_speed_mts": 8000, - "current_width": 2 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx5_core", - "driver_version": "5.19.0-0_fbk12_11583_g0bef9520c", - "firmware_version": "14.32.1206 (FB_0000000006)", - "bus_info": "0000:02:00.0", - "speed_mbps": 50000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "cln1.02", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 256060514304, - "is_rotational": false, - "model": "HFS256GD9TNG-62A0A", - "serial": "MJ91N499211501J6C", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/nvme0n1p4", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/twpool_no_senpai.json b/src/oomd/cfgen/test/cfgen_test_inputs/twpool_no_senpai.json deleted file mode 100644 index 7baaae8e..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/twpool_no_senpai.json +++ /dev/null @@ -1,108 +0,0 @@ -@generated SignedSource<<4fa4e93433d44539a18aa6ebc14b8acb>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "tw130.03.ldc2.facebook.com", - "region": "loudoun", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 331202, - "kernelRelease": "5.19.0-0_fbk12_11583_g0bef9520ca2b", - "serverType": "TYPE_VI_FEED", - "experiments": [], - "cpuArchitecture": "skylake", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 128, - "maxChannelsRx": 64, - "maxChannelsTx": 64 - } - }, - "cpuCoreCount": 40, - "parentModelId": 333803, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "ldc2", - "cluster": "03", - "memTotal": 270019469312, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:5e:00.0": { - "vendor_id": 5348, - "device_id": 5833, - "class_code": 131072, - "board_part_number": "BCM957302M3023CBK", - "current_speed_mts": 8000, - "current_width": 8 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "bnxt_en", - "driver_version": "5.19.0-0_fbk12_11583_g0bef9520c", - "firmware_version": "20.6.167.0/pkg 20.6.4.12", - "bus_info": "0000:5e:00.0", - "speed_mbps": 25000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "ldc1.02", - "block_devices": { - "block_devices": { - "sda": { - "size_bytes": 2000398934016, - "is_rotational": true, - "model": "HGST HUS722T2TALA604", - "serial": "WMC6N0R0FFAW", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/sda4", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "", - "current_reservation_host_profile_id": "NEWLY_PROVISIONED_PROFILE" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/twshared_senpai_disabled.json b/src/oomd/cfgen/test/cfgen_test_inputs/twshared_senpai_disabled.json deleted file mode 100644 index a7fd83ad..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/twshared_senpai_disabled.json +++ /dev/null @@ -1,119 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "twshared44829.07.ash9.facebook.com", - "region": "east", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 333245, - "kernelRelease": "5.12.0-0_fbk13_clang_7455_gb24de3bdb045", - "serverType": "TYPE_VI_FEED", - "experiments": [], - "cpuArchitecture": "skylake", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 128, - "maxChannelsRx": 64, - "maxChannelsTx": 64 - } - }, - "cpuCoreCount": 40, - "parentModelId": 336939, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "ash9", - "cluster": "07", - "memTotal": 270023241728, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:5e:00.0": { - "vendor_id": 5348, - "device_id": 5833, - "class_code": 131072, - "board_part_number": "BCM957302M3023CBK", - "current_speed_mts": 8000, - "current_width": 8 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "bnxt_en", - "driver_version": "5.12.0-0_fbk13_clang_7455_gb24d", - "firmware_version": "20.6.167.0/pkg 20.6.4.12", - "bus_info": "0000:5e:00.0", - "speed_mbps": 25000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "ash9.02", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 1800360124416, - "is_rotational": false, - "model": "SAMSUNG MZ1LB1T9HALS-000FB", - "serial": "S4JTNA0M941126", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "sda": { - "size_bytes": 2000398934016, - "is_rotational": true, - "model": "ST2000NM0008-2F3100", - "serial": "ZDS16SA4", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-aarch64", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/sda3", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "discard", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "6321b443b7f1a", - "current_reservation_host_profile_id": "COMMON:NO_CPU_CONTROLLER|KERNEL:kernel_5.12.0-0_fbk13_clang_7455_gb24de3bdb045_base.v8|STORAGE:XFS_FULL|POWER:CPU_PERF_OPT|RUNTIME:DATASTORES_GENERIC_SYSCTLS|KERNEL_ARGS:kargs_default.v2|KERNEL_POLICY:KERNEL_POLICY_DATABASES|BOOT_CONFIG:bootloader814_initrd230_swap16G_native_arch|OS:CLASSIC" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/twshared_senpai_disabled_sandisk.json b/src/oomd/cfgen/test/cfgen_test_inputs/twshared_senpai_disabled_sandisk.json deleted file mode 100644 index 7c0c7e33..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/twshared_senpai_disabled_sandisk.json +++ /dev/null @@ -1,123 +0,0 @@ -@generated SignedSource<<056a97c966ec5254dca1f4a92ae0d37c>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "twshared15369.35.frc1.facebook.com", - "region": "carolina", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 56441, - "kernelRelease": "6.4.3-0_fbk2_785_gacbb203ea6ff", - "serverType": "TYPE_I_WEB", - "experiments": [], - "cpuArchitecture": "broadwellde", - "metalosRootfs": true, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 32 - } - }, - "cpuCoreCount": 16, - "parentModelId": 56442, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "frc1", - "cluster": "35", - "memTotal": 33468592128, - "osVersion": { - "distribution_name": "CentOS Stream", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": true, - "metalos_variant": "MclassicA" - }, - "pciByAddress": { - "0000:04:00.0": { - "vendor_id": 5555, - "device_id": 4117, - "class_code": 131072, - "board_part_number": "MCX4431M-GCAN_FB", - "current_speed_mts": 8000, - "current_width": 2 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk2_785_gacbb203ea6ff", - "firmware_version": "14.27.2606 (FB_2510111032)", - "bus_info": "0000:04:00.0", - "speed_mbps": 50000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "frc3.23", - "metalos_apis": { - "EFI_MOUNT": 1, - "GENERATORS": 1, - "KDUMP_SUBVOL": 1, - "NETCONSOLE": 1, - "NETWORKD_ROUTES_IGNORE": 1, - "NETWORK_MAX_BUFFER_SIZE": 1, - "SERVICE_IMAGE_GC": 1, - "SERVICE_IMAGE_HELPER": 1, - "SYSTEMD_KEXEC_LOAD": 1, - "TMP_SUBVOL": 2, - "TW_RESCTRL_MOUNT": 1, - "TW_SUBVOL": 1 - }, - "block_devices": { - "block_devices": { - "sda": { - "size_bytes": 256060514304, - "is_rotational": false, - "model": "SanDisk SD7SN6S256G", - "serial": "162993401660", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/sda2", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard=async", - "space_cache=v2", - "subvolid=289", - "subvol=/volume/run/boot/0:7ad4f0ac546b408cbfa438e60ca967f7" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "61231fc2a5767", - "current_reservation_host_profile_id": "KERNEL:kernel_6.4.3-0_fbk2_785_gacbb203ea6ff_base.v0|POWER:CPU_PERF_OPT|KERNEL_ARGS:kargs_consoleS057600.v1|BOOT_CONFIG:bootloader692_initrd208_swap16G_native_arch" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/twshared_t20_zionex.json b/src/oomd/cfgen/test/cfgen_test_inputs/twshared_t20_zionex.json deleted file mode 100644 index f209a2f5..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/twshared_t20_zionex.json +++ /dev/null @@ -1,487 +0,0 @@ -@generated SignedSource<<098946a436107fba1cd2232c3f885f4d>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "twshared40687.05.nha1.facebook.com", - "region": "alabama", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 341690, - "kernelRelease": "6.4.3-0_fbk11_zion_2563_g44ec95f7d7f4", - "serverType": "TYPE_XX_GPU_TC", - "experiments": [], - "cpuArchitecture": "cooperlake", - "metalosRootfs": false, - "provisioningConfig": { - "ethtoolByInterface": { - "beth0": { - "maxChannelsCombined": 63 - }, - "beth1": { - "maxChannelsCombined": 63 - }, - "beth2": { - "maxChannelsCombined": 63 - }, - "beth3": { - "maxChannelsCombined": 63 - }, - "beth4": { - "maxChannelsCombined": 63 - }, - "beth5": { - "maxChannelsCombined": 63 - }, - "beth6": { - "maxChannelsCombined": 63 - }, - "beth7": { - "maxChannelsCombined": 63 - }, - "eth0": { - "maxChannelsCombined": 63 - }, - "eth1": { - "maxChannelsCombined": 63 - }, - "eth2": { - "maxChannelsCombined": 63 - }, - "eth3": { - "maxChannelsCombined": 63 - } - }, - "cpuCoreCount": 96, - "parentModelId": 341983, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "nha1", - "cluster": "05", - "memTotal": 1621459357696, - "osVersion": { - "distribution_name": "CentOS Stream release", - "version": 9, - "is_in_ramdisk": false, - "is_metalos": false - }, - "pciByAddress": { - "0000:16:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-VDA_FB", - "current_speed_mts": 16000, - "current_width": 16 - }, - "0000:17:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-VDA_FB", - "current_speed_mts": 16000, - "current_width": 16 - }, - "0000:30:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-CDAB_FB", - "current_speed_mts": 8000, - "current_width": 16 - }, - "0000:4d:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-VDA_FB", - "current_speed_mts": 16000, - "current_width": 16 - }, - "0000:4e:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-VDA_FB", - "current_speed_mts": 16000, - "current_width": 16 - }, - "0000:6d:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-CDAB_FB", - "current_speed_mts": 8000, - "current_width": 16 - }, - "0000:8d:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-VDA_FB", - "current_speed_mts": 16000, - "current_width": 16 - }, - "0000:8e:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-VDA_FB", - "current_speed_mts": 16000, - "current_width": 16 - }, - "0000:ad:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-CDAB_FB", - "current_speed_mts": 8000, - "current_width": 16 - }, - "0000:cd:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-VDA_FB", - "current_speed_mts": 16000, - "current_width": 16 - }, - "0000:ce:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-VDA_FB", - "current_speed_mts": 16000, - "current_width": 16 - }, - "0000:ed:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435AC-CDAB_FB", - "current_speed_mts": 8000, - "current_width": 16 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "beth0": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.38.1002 (FB_0000000028)", - "bus_info": "0000:4e:00.0", - "speed_mbps": 200000 - }, - "beth1": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.38.1002 (FB_0000000028)", - "bus_info": "0000:17:00.0", - "speed_mbps": 200000 - }, - "beth2": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.38.1002 (FB_0000000028)", - "bus_info": "0000:8d:00.0", - "speed_mbps": 200000 - }, - "beth3": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.38.1002 (FB_0000000028)", - "bus_info": "0000:8e:00.0", - "speed_mbps": 200000 - }, - "beth4": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.38.1002 (FB_0000000028)", - "bus_info": "0000:16:00.0", - "speed_mbps": 200000 - }, - "beth5": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.38.1002 (FB_0000000028)", - "bus_info": "0000:cd:00.0", - "speed_mbps": 200000 - }, - "beth6": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.38.1002 (FB_0000000028)", - "bus_info": "0000:ce:00.0", - "speed_mbps": 200000 - }, - "beth7": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.38.1002 (FB_0000000028)", - "bus_info": "0000:4d:00.0", - "speed_mbps": 200000 - }, - "eth0": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.32.1206 (FB_0000000025)", - "bus_info": "0000:30:00.0", - "speed_mbps": 100000 - }, - "eth1": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.32.1206 (FB_0000000025)", - "bus_info": "0000:6d:00.0", - "speed_mbps": 100000 - }, - "eth2": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.32.1206 (FB_0000000025)", - "bus_info": "0000:ad:00.0", - "speed_mbps": 100000 - }, - "eth3": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk11_zion_2563_g44ec95", - "firmware_version": "22.32.1206 (FB_0000000025)", - "bus_info": "0000:ed:00.0", - "speed_mbps": 100000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "nha1.02", - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 256055095296, - "is_rotational": false, - "model": "KXG6AZNV512G TOSHIBA", - "serial": "31QF77MPFJM3", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": false - }, - "nvme10n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS10JBTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme11n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS104NTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme12n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS10IZTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme13n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS105STX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme14n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS1068TX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme15n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11US11E9TX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": true - }, - "nvme16n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11US11CBTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": true - }, - "nvme17n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS10D4TX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme18n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS10CWTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme1n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS106YTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme2n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS105VTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme3n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS1040TX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme4n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS1065TX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme5n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS107JTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme6n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS10K6TX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme7n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS1053TX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme8n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS10IITX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - }, - "nvme9n1": { - "size_bytes": 1920383410176, - "is_rotational": false, - "model": "KXD51LN11T92 TOSHIBA", - "serial": "11RS104VTX3M", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "ETH1", - "ETH2", - "ETH3", - "BETH0", - "BETH1", - "BETH2", - "BETH3", - "BETH4", - "BETH5", - "BETH6", - "BETH7", - "SVC0", - "SVC0_1", - "SVC0_2", - "SVC0_3" - ], - "loaded_kernel_modules": [ - { - "name": "nvidia", - "version": "535.154.05\n" - } - ], - "mounts": { - "mounts": [ - { - "device": "/dev/md0p1", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard=async", - "space_cache=v2", - "subvolid=5", - "subvol=/" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "61707f96ea04c", - "current_reservation_host_profile_id": "KERNEL:kernel_6.4.3-0_fbk11_zion_2563_g44ec95f7d7f4_nvidia_535.154.05_base.v0|POWER:CPU_PERF_OPT|KERNEL_ARGS:kargs_crashkernel384M_multinic.v0|BOOT_CONFIG:bootloader814_initrd230_swap16G_native_arch|DRIVER_ARGS:t20_zionex_nvidia_driver_args.v1|OS:CLASSIC" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_inputs/twshared_vll_shard00.json b/src/oomd/cfgen/test/cfgen_test_inputs/twshared_vll_shard00.json deleted file mode 100644 index 061754b4..00000000 --- a/src/oomd/cfgen/test/cfgen_test_inputs/twshared_vll_shard00.json +++ /dev/null @@ -1,132 +0,0 @@ -@generated SignedSource<<9f273028f0f3c33f65be5bf3e16fdf96>> -@codegen-command arc cfgen update-inputs fb-oomd -{ - "fqdn": "twshared50059.05.vll6.facebook.com", - "region": "newmexico", - "clusterType": "SERVICE_GENERIC_NON_MEMCACHE", - "modelId": 343171, - "kernelRelease": "6.4.3-0_fbk12_2624_g7d95a0297d81", - "serverType": "TYPE_X_SEARCH", - "experiments": [], - "cpuArchitecture": "cooperlake", - "metalosRootfs": true, - "provisioningConfig": { - "ethtoolByInterface": { - "eth0": { - "maxChannelsCombined": 52 - } - }, - "cpuCoreCount": 26, - "parentModelId": 338998, - "recoveryEnvironment": false, - "deviceType": "SERVER", - "datacenter": "vll6", - "cluster": "05", - "memTotal": 66860978176, - "osVersion": { - "distribution_name": "CentOS Stream", - "version": 9, - "is_in_ramdisk": false, - "is_edgeos": false, - "metalos_variant": "MclassicA" - }, - "pciByAddress": { - "0000:65:00.0": { - "vendor_id": 5555, - "device_id": 4125, - "class_code": 131072, - "board_part_number": "MCX623435MC-CDAE_FB", - "current_speed_mts": 8000, - "current_width": 4 - } - }, - "static_smc_tiers": [], - "machine": "x86_64" - }, - "bootConfig": { - "ethtoolByInterface": { - "eth0": { - "driver": "mlx5_core", - "driver_version": "6.4.3-0_fbk12_2624_g7d95a0297d8", - "firmware_version": "22.32.1206 (FB_0000000018)", - "bus_info": "0000:65:00.0", - "speed_mbps": 100000 - } - } - }, - "runtimeConfig": { - "hasHighPrivCert": true, - "regionRoutableCluster": "vll1.02", - "metalos_apis": { - "EFI_MOUNT": 1, - "GENERATORS": 1, - "KDUMP_SUBVOL": 1, - "NETCONSOLE": 1, - "NETWORKD_ROUTES_IGNORE": 1, - "NETWORK_MAX_BUFFER_SIZE": 1, - "SERVICE_IMAGE_GC": 1, - "SERVICE_IMAGE_HELPER": 1, - "SYSTEMD_KEXEC_LOAD": 1, - "TMP_SUBVOL": 2, - "TW_RESCTRL_MOUNT": 1, - "TW_SUBVOL": 1 - }, - "block_devices": { - "block_devices": { - "nvme0n1": { - "size_bytes": 256055095296, - "is_rotational": false, - "model": "HFS512GDE9X083N", - "serial": "3922CJBAN4118106031S", - "physical_block_size": 512, - "logical_block_size": 512, - "is_root": true - }, - "nvme1n1": { - "size_bytes": 1920924123136, - "is_rotational": false, - "model": "HFS1T9GDEZX106N", - "serial": "3922CDBAN4116I470M1E", - "physical_block_size": 4096, - "logical_block_size": 4096, - "is_root": false - } - } - }, - "dynamic_smc_tiers": [], - "cluster_state": "CLUSTER_IN_USE", - "installed_platforms": [ - "platform009", - "platform010", - "platform010-compat" - ], - "device_nics_enum": [ - "ETH0", - "SVC0" - ], - "loaded_kernel_modules": [], - "mounts": { - "mounts": [ - { - "device": "/dev/nvme0n1p2", - "mount_point": "/", - "fstype": "btrfs", - "mount_options": [ - "rw", - "relatime", - "compress-force=zstd:3", - "ssd", - "discard=async", - "space_cache=v2", - "subvolid=475", - "subvol=/volume/run/boot/0:f5f869cbf2e94dcdbd98e2be3d8dd537" - ] - } - ] - } - }, - "reservationConfig": { - "active_machine_materialization_id": "5ef2669df1e8f", - "current_reservation_host_profile_id": "COMMON:NO_CPU_CONTROLLER|KERNEL:kernel_6.4.3-0_fbk12_2624_g7d95a0297d81_base.v0|STORAGE:RAW_HIGH_PERFORMANCE_V1|POWER:CPU_PERF_OPT|RUNTIME:TAO_NETWORK|KERNEL_ARGS:kargs_crashkernel192M.v1|BOOT_CONFIG:bootloader957_initrd253_swap32G_native_arch|OS:MCLASSICA" - } -} diff --git a/src/oomd/cfgen/test/cfgen_test_manifest.yml b/src/oomd/cfgen/test/cfgen_test_manifest.yml deleted file mode 100644 index fa57a028..00000000 --- a/src/oomd/cfgen/test/cfgen_test_manifest.yml +++ /dev/null @@ -1,52 +0,0 @@ -# Usage: -# - Run tests: -# `arc cfgen test fb-oomd` -# - Update test result snapshots. -# You're usually going to need it when you change the cfgen. -# Make sure to verify that the generated changes look as expected. -# `arc cfgen update-outputs fb-oomd` -# - Update test input host-snapshots. -# You're only going to need it in rare cases, e.g. when new samples are added. -# `arc cfgen ui fb-oomd --remcmd-use-globalcert` -library_samples: - - devvm - - twshared_vll_shard00 - - twshared_t20_zionex - - fnedge - - gedge - - fna_shard00 - # Add more samples from https://fburl.com/code/vjwmkoa1 if needed -samples: - ondemand: - scuba: tier='od' - twshared_senpai_disabled: - # A host in twshared pool with hdd root - # serf get --fields name,storage_capacity,components[disk].is_rootdrive,components[disk].disk_obj.is_flash --limit 100 'hostnameScheme_obj.name=twshared,components[disk].is_rootdrive=1,components[disk].disk_obj.is_flash=0' - # If the query is too slow, just do serf get --fields name,storage_capacity,components[disk].is_rootdrive,components[disk].disk_obj.is_flash --limit 100 'hostnameScheme_obj.name=twshared' - # And then pick a record that has `components[disk].is_rootdrive=1` and `components[disk].disk_obj.is_flash=0` - production_host: twshared44829.07.ash9 - twshared_senpai_disabled_sandisk: - # serf get --fields 'name' --limit 100 'hostnameScheme_obj.name=twshared,components[disk].disk_obj.model=SD7SN6S256G' - production_host: twshared15369.35.frc1.facebook.com - dns: - scuba: tier='dns' - synmon: - scuba: tier='synmon' - devbig: - scuba: tier='devbig' - twpool: - # serf get --fields name --limit 100 'hostnameScheme_obj.name=tw,components[disk].is_rootdrive=1,components[disk].disk_obj.is_flash=1' - production_host: tw066.02.cln2.facebook.com - twpool_no_senpai: - # serf get --fields name --limit 100 'hostnameScheme_obj.name=tw,components[disk].is_rootdrive=1,components[disk].disk_obj.is_flash=0' - production_host: tw130.03.ldc2.facebook.com - devvm_with_samll_ram: - # serf get --fields 'name' --limit 100 'hostnameScheme_obj.name=devvm,ram=24' - production_host: devvm010.atn6.facebook.com - devgpu_non_T17: - scuba: tier='devgpu' AND server_type!='TYPE_XVII_INFERENCE' - devgpu_T17: - scuba: tier='devgpu' AND server_type='TYPE_XVII_INFERENCE' - dev_T10: - # serf get --fields 'name' --limit 100 'hostnameScheme_obj.name=dev,server_type=TYPE_X_SEARCH' - production_host: dev0050.snc8.facebook.com diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/dev_T10/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/dev_T10/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/dev_T10/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/dev_T10/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/dev_T10/oomd2.json deleted file mode 100644 index 27585bf4..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/dev_T10/oomd2.json +++ /dev/null @@ -1,176 +0,0 @@ -@generated SignedSource<<144fbbb5092086132881c34359e24f88>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "system.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "user session protection", - "detectors": [ - [ - "user pressure above 60 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "300", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "30" - } - } - ], - [ - "system pressure above 80 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "system.slice", - "duration": "300", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "system.slice", - "duration": "30" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_memory_size_or_growth", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 5%", - { - "name": "swap_free", - "args": { - "threshold_pct": "5" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true", - "threshold": "5" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devbig/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/devbig/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devbig/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devbig/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/devbig/oomd2.json deleted file mode 100644 index dfc6595e..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devbig/oomd2.json +++ /dev/null @@ -1,192 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "system.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "user session protection", - "detectors": [ - [ - "user pressure above 40 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "300", - "resource": "memory", - "threshold": "40" - } - }, - { - "name": "nr_dying_descendants", - "args": { - "cgroup": "/", - "lte": "true", - "count": "30000" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "30" - } - } - ], - [ - "system pressure above 60 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "system.slice", - "duration": "300", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "nr_dying_descendants", - "args": { - "cgroup": "/", - "lte": "true", - "count": "30000" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "system.slice", - "duration": "30" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_memory_size_or_growth", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 5%", - { - "name": "swap_free", - "args": { - "threshold_pct": "5" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true", - "threshold": "5" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_T17/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_T17/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_T17/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_T17/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_T17/oomd2.json deleted file mode 100644 index 13082f62..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_T17/oomd2.json +++ /dev/null @@ -1,176 +0,0 @@ -@generated SignedSource<<35a59b5bb6912fc9e9c91fe913a37146>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "system.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "user session protection", - "detectors": [ - [ - "user pressure above 40 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "300", - "resource": "memory", - "threshold": "40" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "30" - } - } - ], - [ - "system pressure above 60 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "system.slice", - "duration": "300", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "system.slice", - "duration": "30" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_memory_size_or_growth", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 5%", - { - "name": "swap_free", - "args": { - "threshold_pct": "5" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true", - "threshold": "5" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_non_T17/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_non_T17/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_non_T17/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_non_T17/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_non_T17/oomd2.json deleted file mode 100644 index 27585bf4..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devgpu_non_T17/oomd2.json +++ /dev/null @@ -1,176 +0,0 @@ -@generated SignedSource<<144fbbb5092086132881c34359e24f88>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "system.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "user session protection", - "detectors": [ - [ - "user pressure above 60 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "300", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "30" - } - } - ], - [ - "system pressure above 80 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "system.slice", - "duration": "300", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "system.slice", - "duration": "30" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_memory_size_or_growth", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 5%", - { - "name": "swap_free", - "args": { - "threshold_pct": "5" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true", - "threshold": "5" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devvm/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/devvm/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devvm/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devvm/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/devvm/oomd2.json deleted file mode 100644 index 13082f62..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devvm/oomd2.json +++ /dev/null @@ -1,176 +0,0 @@ -@generated SignedSource<<35a59b5bb6912fc9e9c91fe913a37146>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "system.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "user session protection", - "detectors": [ - [ - "user pressure above 40 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "300", - "resource": "memory", - "threshold": "40" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "30" - } - } - ], - [ - "system pressure above 60 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "system.slice", - "duration": "300", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "system.slice", - "duration": "30" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_memory_size_or_growth", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 5%", - { - "name": "swap_free", - "args": { - "threshold_pct": "5" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true", - "threshold": "5" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devvm_with_samll_ram/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/devvm_with_samll_ram/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devvm_with_samll_ram/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/devvm_with_samll_ram/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/devvm_with_samll_ram/oomd2.json deleted file mode 100644 index 27585bf4..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/devvm_with_samll_ram/oomd2.json +++ /dev/null @@ -1,176 +0,0 @@ -@generated SignedSource<<144fbbb5092086132881c34359e24f88>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "system.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "user session protection", - "detectors": [ - [ - "user pressure above 60 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "300", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "user.slice,workload.slice,www.slice", - "duration": "30" - } - } - ], - [ - "system pressure above 80 for 300s", - { - "name": "pressure_above", - "args": { - "cgroup": "system.slice", - "duration": "300", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "system.slice", - "duration": "30" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_memory_size_or_growth", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 5%", - { - "name": "swap_free", - "args": { - "threshold_pct": "5" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "cgroup": "user.slice/,system.slice/,workload.slice/,www.slice/", - "recursive": "true", - "threshold": "5" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/dns/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/dns/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/dns/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/dns/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/dns/oomd2.json deleted file mode 100644 index 5ba7a5b7..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/dns/oomd2.json +++ /dev/null @@ -1,268 +0,0 @@ -@generated SignedSource<<4ca58f94e32122f507d281f9736bb0b6>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "detects fast growing memory pressure", - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "60", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ], - [ - "detects slow growing memory pressure", - { - "name": "pressure_rising_beyond", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "90", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against wdb io thrashing", - "detectors": [ - [ - "low pressure in workload and high io in wdb", - { - "name": "pressure_rising_beyond", - "args": { - "cgroup": "workload.slice", - "duration": "0", - "resource": "io", - "threshold": "10" - } - }, - { - "name": "pressure_rising_beyond", - "args": { - "cgroup": "system.slice", - "duration": "0", - "resource": "io", - "threshold": "60" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pressure", - "args": { - "cgroup": "system.slice/*", - "recursive": "true", - "resource": "io" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "restart workload.slice/unbound-local-wrapper.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "workload.slice/unbound-local-wrapper.service", - "duration": "60", - "threshold_anon": "20%" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "post_action_delay": "180", - "service": "unbound-local-wrapper.service" - } - } - ] - }, - { - "name": "restart workload.slice/unbound-internet-wrapper.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "workload.slice/unbound-internet-wrapper.service", - "duration": "60", - "threshold_anon": "27%" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "post_action_delay": "180", - "service": "unbound-internet-wrapper.service" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/fna_shard00/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/fna_shard00/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/fna_shard00/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/fna_shard00/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/fna_shard00/oomd2.json deleted file mode 100644 index b9e2b5cb..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/fna_shard00/oomd2.json +++ /dev/null @@ -1,176 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai ruleset", - "silence-logs": "engine", - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "senpai_poking", - "args": { - "cgroup": "system.slice,workload.slice/workload-wdb.slice,hostcritical.slice,workload.slice/workload-wdb.slice/*,hostcritical.slice/*", - "io_pressure_pct": "1.0", - "memory_high_timeout_ms": "20", - "scuba_logger_dataset": "perfpipe_senpai_events", - "limit_min_bytes": "104857600" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/fnedge/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/fnedge/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/fnedge/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/fnedge/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/fnedge/oomd2.json deleted file mode 100644 index c65bf849..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/fnedge/oomd2.json +++ /dev/null @@ -1,202 +0,0 @@ -@generated SignedSource<<321bf87df3cdbf0d9f32602db039bec7>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai ruleset", - "silence-logs": "engine", - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "senpai_poking", - "args": { - "cgroup": "system.slice,workload.slice/workload-wdb.slice,hostcritical.slice,workload.slice/workload-wdb.slice/*,hostcritical.slice/*", - "io_pressure_pct": "1.0", - "memory_high_timeout_ms": "20", - "scuba_logger_dataset": "perfpipe_senpai_events", - "limit_min_bytes": "104857600" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/gedge/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/gedge/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/gedge/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/gedge/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/gedge/oomd2.json deleted file mode 100644 index b9e2b5cb..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/gedge/oomd2.json +++ /dev/null @@ -1,176 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai ruleset", - "silence-logs": "engine", - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "senpai_poking", - "args": { - "cgroup": "system.slice,workload.slice/workload-wdb.slice,hostcritical.slice,workload.slice/workload-wdb.slice/*,hostcritical.slice/*", - "io_pressure_pct": "1.0", - "memory_high_timeout_ms": "20", - "scuba_logger_dataset": "perfpipe_senpai_events", - "limit_min_bytes": "104857600" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/ondemand/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/ondemand/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/ondemand/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/ondemand/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/ondemand/oomd2.json deleted file mode 100644 index fc0479c1..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/ondemand/oomd2.json +++ /dev/null @@ -1,169 +0,0 @@ -@generated SignedSource<<815991786fb7793e5184c4c694d6a026>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "drop-in": { - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "system.slice,system.slice/system-hgcache\\x2dupdater.slice/hgcache-updater*.service" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "protection against high memory pressure", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "detects fast growing memory pressure", - { - "name": "pressure_above", - "args": { - "cgroup": "system.slice,system.slice/system-hgcache\\x2dupdater.slice/hgcache-updater*.service", - "duration": "60", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "system.slice,system.slice/system-hgcache\\x2dupdater.slice/hgcache-updater*.service", - "duration": "10" - } - } - ], - [ - "detects slow growing memory pressure", - { - "name": "pressure_rising_beyond", - "args": { - "cgroup": "system.slice,system.slice/system-hgcache\\x2dupdater.slice/hgcache-updater*.service", - "duration": "90", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "system.slice,system.slice/system-hgcache\\x2dupdater.slice/hgcache-updater*.service", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_memory_size_or_growth", - "args": { - "cgroup": "system.slice/*", - "dry": "true" - } - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine,plugins", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "stop detector group", - { - "name": "exists", - "args": { - "cgroup": "/", - "negate": true - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "protection against low swap", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "free swap goes below 5 percent", - { - "name": "swap_free", - "args": { - "threshold_pct": "5" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "cgroup": "system.slice/*", - "dry": "true" - } - } - ] - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/synmon/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/synmon/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/synmon/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/synmon/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/synmon/oomd2.json deleted file mode 100644 index d0465b4c..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/synmon/oomd2.json +++ /dev/null @@ -1,243 +0,0 @@ -@generated SignedSource<<1858fcd1254653f821a63b3b99860271>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "detects fast growing memory pressure", - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "60", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ], - [ - "detects slow growing memory pressure", - { - "name": "pressure_rising_beyond", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "90", - "resource": "memory", - "threshold": "60" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against wdb io thrashing", - "detectors": [ - [ - "low pressure in workload and high io in wdb", - { - "name": "pressure_rising_beyond", - "args": { - "cgroup": "workload.slice", - "duration": "0", - "resource": "io", - "threshold": "10" - } - }, - { - "name": "pressure_rising_beyond", - "args": { - "cgroup": "system.slice", - "duration": "0", - "resource": "io", - "threshold": "60" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pressure", - "args": { - "cgroup": "system.slice/*", - "recursive": "true", - "resource": "io" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai ruleset", - "silence-logs": "engine", - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "senpai_poking", - "args": { - "cgroup": "system.slice", - "io_pressure_pct": "1.0", - "memory_high_timeout_ms": "20", - "scuba_logger_dataset": "perfpipe_senpai_events", - "limit_min_bytes": "104857600" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twpool/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/twpool/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twpool/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twpool/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/twpool/oomd2.json deleted file mode 100644 index c65bf849..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twpool/oomd2.json +++ /dev/null @@ -1,202 +0,0 @@ -@generated SignedSource<<321bf87df3cdbf0d9f32602db039bec7>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai ruleset", - "silence-logs": "engine", - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "senpai_poking", - "args": { - "cgroup": "system.slice,workload.slice/workload-wdb.slice,hostcritical.slice,workload.slice/workload-wdb.slice/*,hostcritical.slice/*", - "io_pressure_pct": "1.0", - "memory_high_timeout_ms": "20", - "scuba_logger_dataset": "perfpipe_senpai_events", - "limit_min_bytes": "104857600" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twpool_no_senpai/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/twpool_no_senpai/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twpool_no_senpai/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twpool_no_senpai/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/twpool_no_senpai/oomd2.json deleted file mode 100644 index f0a8d3cf..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twpool_no_senpai/oomd2.json +++ /dev/null @@ -1,177 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled/oomd2.json deleted file mode 100644 index f0a8d3cf..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled/oomd2.json +++ /dev/null @@ -1,177 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled_sandisk/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled_sandisk/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled_sandisk/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled_sandisk/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled_sandisk/oomd2.json deleted file mode 100644 index f0a8d3cf..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_senpai_disabled_sandisk/oomd2.json +++ /dev/null @@ -1,177 +0,0 @@ -@generated SignedSource<> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_t20_zionex/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/twshared_t20_zionex/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_t20_zionex/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_t20_zionex/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/twshared_t20_zionex/oomd2.json deleted file mode 100644 index c65bf849..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_t20_zionex/oomd2.json +++ /dev/null @@ -1,202 +0,0 @@ -@generated SignedSource<<321bf87df3cdbf0d9f32602db039bec7>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai ruleset", - "silence-logs": "engine", - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "senpai_poking", - "args": { - "cgroup": "system.slice,workload.slice/workload-wdb.slice,hostcritical.slice,workload.slice/workload-wdb.slice/*,hostcritical.slice/*", - "io_pressure_pct": "1.0", - "memory_high_timeout_ms": "20", - "scuba_logger_dataset": "perfpipe_senpai_events", - "limit_min_bytes": "104857600" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_vll_shard00/50-change-propagator.conf b/src/oomd/cfgen/test/cfgen_test_outputs/twshared_vll_shard00/50-change-propagator.conf deleted file mode 100644 index c44ba252..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_vll_shard00/50-change-propagator.conf +++ /dev/null @@ -1,6 +0,0 @@ -@generated SignedSource<<3dd8c7637bb7afa680fc168e9c49060d>> -@codegen-command arc cfgen update-outputs fb-oomd -[Service] -Environment=OOMD_ARGS='--interval 1 --config /etc/oomd2.json --drop-in-dir /run/oomd/dropin' - -[Unit] diff --git a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_vll_shard00/oomd2.json b/src/oomd/cfgen/test/cfgen_test_outputs/twshared_vll_shard00/oomd2.json deleted file mode 100644 index c65bf849..00000000 --- a/src/oomd/cfgen/test/cfgen_test_outputs/twshared_vll_shard00/oomd2.json +++ /dev/null @@ -1,202 +0,0 @@ -@generated SignedSource<<321bf87df3cdbf0d9f32602db039bec7>> -@codegen-command arc cfgen update-outputs fb-oomd -{ - "rulesets": [ - { - "name": "system overview", - "silence-logs": "engine", - "detectors": [ - [ - "records system stats", - { - "name": "dump_cgroup_overview", - "args": { - "cgroup": "workload.slice" - } - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "restart smc_proxy.service on memory threshold", - "detectors": [ - [ - "memory usage above", - { - "name": "memory_above", - "args": { - "cgroup": "smc_proxy.service", - "duration": "10", - "threshold_anon": "15G" - } - } - ] - ], - "actions": [ - { - "name": "systemd_restart", - "args": { - "dry": "false", - "post_action_delay": "20", - "service": "smc_proxy.service" - } - } - ] - }, - { - "name": "protection against heavy workload thrashing", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "sustained high workload memory pressure", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "pressure_above", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "180", - "resource": "memory", - "threshold": "80" - } - }, - { - "name": "memory_reclaim", - "args": { - "cgroup": "workload.slice/workload-tw.slice", - "duration": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_pg_scan", - "args": { - "cgroup": "workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "protection against low swap", - "detectors": [ - [ - "free swap goes below 10 percent", - { - "name": "exists", - "args": { - "cgroup": "workload.slice/workload-tw.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.reservation.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/*.allotment.slice/sigrid_online_trainer*,workload.slice/workload-tw.slice/analyzer*,workload.slice/workload-tw.slice/*.reservation.slice/analyzer*,workload.slice/workload-tw.slice/*.allotment.slice/analyzer*,workload.slice/workload-tw.slice/bumblebee.*,workload.slice/workload-tw.slice/*.reservation.slice/bumblebee.*,workload.slice/workload-tw.slice/*.allotment.slice/bumblebee.*", - "negate": true - } - }, - { - "name": "swap_free", - "args": { - "threshold_pct": "10" - } - } - ] - ], - "actions": [ - { - "name": "kill_by_swap_usage", - "args": { - "biased_swap_kill": "true", - "cgroup": "system.slice/*,workload.slice/workload-wdb.slice/*,workload.slice/workload-tw.slice/*", - "recursive": "true" - } - } - ] - }, - { - "name": "senpai ruleset", - "silence-logs": "engine", - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "senpai_poking", - "args": { - "cgroup": "system.slice,workload.slice/workload-wdb.slice,hostcritical.slice,workload.slice/workload-wdb.slice/*,hostcritical.slice/*", - "io_pressure_pct": "1.0", - "memory_high_timeout_ms": "20", - "scuba_logger_dataset": "perfpipe_senpai_events", - "limit_min_bytes": "104857600" - } - } - ] - }, - { - "name": "senpai drop-in ruleset", - "silence-logs": "engine", - "drop-in": { - "disable-on-drop-in": true, - "actions": true - }, - "detectors": [ - [ - "continue detector group", - { - "name": "continue", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ] - }, - { - "name": "tw_container drop-in ruleset", - "drop-in": { - "disable-on-drop-in": true, - "detectors": true, - "actions": true - }, - "detectors": [ - [ - "continue", - { - "name": "stop", - "args": {} - } - ] - ], - "actions": [ - { - "name": "continue", - "args": {} - } - ], - "prekill_hook_timeout": "45" - } - ], - "version": "1.0.0" -} \ No newline at end of file