Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6fc3a7fc9 | ||
|
|
51f0ae2e23 | ||
|
|
54d162f494 |
No files matched your search
@@ -252,17 +252,21 @@ impl ReflectorSelector {
|
||||
candidates.swap(i, j);
|
||||
}
|
||||
|
||||
if (candidates.len() as u8) < num_reflectors {
|
||||
info!(
|
||||
"Only {} usable reflectors, retaining current set of {}",
|
||||
candidates.len(),
|
||||
num_reflectors
|
||||
);
|
||||
if candidates.is_empty() {
|
||||
info!("No usable reflectors, retaining current set");
|
||||
self.reflector_tx.send(current_peers.clone())?;
|
||||
*reflectors_peers = current_peers;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (candidates.len() as u8) < num_reflectors {
|
||||
info!(
|
||||
"Only {} usable reflectors, selecting available candidates",
|
||||
candidates.len()
|
||||
);
|
||||
}
|
||||
let num_reflectors = num_reflectors.min(candidates.len() as u8);
|
||||
|
||||
let mut new_peers = Vec::new();
|
||||
for i in 0..num_reflectors {
|
||||
let peer = candidates[i as usize].0;
|
||||
|
||||
+8
-1
@@ -200,7 +200,14 @@ impl Settings {
|
||||
config::File::with_name("/etc/sqm-autorate-rust/config.toml").required(false),
|
||||
);
|
||||
|
||||
let builder = builder.add_source(Environment::with_prefix("SQMA").separator("__"));
|
||||
let builder = builder.add_source(
|
||||
Environment::with_prefix("SQMA")
|
||||
.separator("__")
|
||||
.try_parsing(true)
|
||||
.list_separator(",")
|
||||
.with_list_parse_key("reflectors.files")
|
||||
.with_list_parse_key("reflectors.countries"),
|
||||
);
|
||||
let mut settings: Self = builder.build()?.try_deserialize()?;
|
||||
|
||||
settings.reflectors.load_files()?;
|
||||
|
||||
@@ -212,6 +212,15 @@ impl ReflectorSettings {
|
||||
);
|
||||
}
|
||||
|
||||
for (index, reflector) in self.entries.iter().enumerate() {
|
||||
if reflector.protocols.is_empty() {
|
||||
report.error(
|
||||
"reflectors.entries",
|
||||
format!("entry {index} must have at least one measurement protocol"),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
for (index, file) in self.files.iter().enumerate() {
|
||||
if file.trim().is_empty() {
|
||||
report.error(
|
||||
|
||||
Reference in new issue
Block a user