mirror of
https://gitlab.com/fabinfra/fabaccess/bffh.git
synced 2025-04-20 03:06:26 +02:00
fix init_connections and actor_connections
This commit is contained in:
parent
95241a6fd0
commit
646aae8ef5
@ -248,12 +248,11 @@ pub fn load(
|
|||||||
actor_connections_data_vec.push((actor_connection.machine, actor_connection.actor));
|
actor_connections_data_vec.push((actor_connection.machine, actor_connection.actor));
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut actor_map: HashMap<String, _> =
|
let mut actor_map: HashMap<String, _> = actor_connections_data_vec
|
||||||
actor_connections_data_vec
|
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|(k, v)| {
|
.filter_map(|(k, v)| {
|
||||||
if let Some(resource) = resources.get_by_id(v) {
|
if let Some(resource) = resources.get_by_id(k) {
|
||||||
Some((k.clone(), resource.get_signal()))
|
Some((v.clone(), resource.get_signal()))
|
||||||
} else {
|
} else {
|
||||||
tracing::error!(actor=%k, machine=%v, "Machine configured for actor not found!");
|
tracing::error!(actor=%k, machine=%v, "Machine configured for actor not found!");
|
||||||
None
|
None
|
||||||
|
@ -94,8 +94,7 @@ pub struct Config {
|
|||||||
|
|
||||||
/// Initiators to load and their configuration options
|
/// Initiators to load and their configuration options
|
||||||
pub initiators: HashMap<String, ModuleConfig>,
|
pub initiators: HashMap<String, ModuleConfig>,
|
||||||
pub init_connections: Vec<(String, String)>,
|
pub init_connections: Vec<InitiatorConnectionConfig>,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Config {
|
impl Config {
|
||||||
@ -122,6 +121,12 @@ pub struct ActorConnectionConfig {
|
|||||||
pub actor: String,
|
pub actor: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
|
pub struct InitiatorConnectionConfig {
|
||||||
|
pub machine: String,
|
||||||
|
pub initiator: String,
|
||||||
|
}
|
||||||
|
|
||||||
pub(crate) fn deser_option<'de, D, T>(d: D) -> std::result::Result<Option<T>, D::Error>
|
pub(crate) fn deser_option<'de, D, T>(d: D) -> std::result::Result<Option<T>, D::Error>
|
||||||
where
|
where
|
||||||
D: serde::Deserializer<'de>,
|
D: serde::Deserializer<'de>,
|
||||||
@ -138,14 +143,19 @@ impl Default for Config {
|
|||||||
let mut machines: HashMap<String, MachineDescription> = HashMap::new();
|
let mut machines: HashMap<String, MachineDescription> = HashMap::new();
|
||||||
|
|
||||||
let mut initiator_123_params: HashMap<String, String> = HashMap::new();
|
let mut initiator_123_params: HashMap<String, String> = HashMap::new();
|
||||||
initiator_123_params.insert("args".to_string(), "".to_string() );
|
initiator_123_params.insert("args".to_string(), "".to_string());
|
||||||
initiator_123_params.insert("cmd".to_string(), "echo".to_string() );
|
initiator_123_params.insert("cmd".to_string(), "echo".to_string());
|
||||||
|
|
||||||
let mut actor_connections_vec: Vec<ActorConnectionConfig> = vec![
|
let mut actor_connections_vec: Vec<ActorConnectionConfig> = vec![ActorConnectionConfig {
|
||||||
ActorConnectionConfig {machine: "resource_a".to_string(), actor: "actor_123".to_string()},
|
machine: "resource_a".to_string(),
|
||||||
ActorConnectionConfig {machine: "resource_b".to_string(), actor: "actor_123".to_string()}
|
actor: "actor_123".to_string(),
|
||||||
];
|
}];
|
||||||
|
|
||||||
|
let mut initiator_connections_vec: Vec<InitiatorConnectionConfig> =
|
||||||
|
vec![InitiatorConnectionConfig {
|
||||||
|
machine: "resource_a".to_string(),
|
||||||
|
initiator: "initiator_123".to_string(),
|
||||||
|
}];
|
||||||
|
|
||||||
roles.insert(
|
roles.insert(
|
||||||
"admin".to_string(),
|
"admin".to_string(),
|
||||||
@ -273,7 +283,7 @@ impl Default for Config {
|
|||||||
actors,
|
actors,
|
||||||
actor_connections: actor_connections_vec,
|
actor_connections: actor_connections_vec,
|
||||||
initiators,
|
initiators,
|
||||||
init_connections: vec![("initiator_123".to_string(), "resource_b".to_string())],
|
init_connections: initiator_connections_vec,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -103,12 +103,16 @@ pub fn load(
|
|||||||
let span = tracing::info_span!("loading initiators");
|
let span = tracing::info_span!("loading initiators");
|
||||||
let _guard = span.enter();
|
let _guard = span.enter();
|
||||||
|
|
||||||
let mut initiator_map: HashMap<String, Resource> = config
|
let mut init_connections_data_vec: Vec<(String, String)> = vec![];
|
||||||
.init_connections
|
for init_connection in config.init_connections.clone().into_iter() {
|
||||||
|
init_connections_data_vec.push((init_connection.machine, init_connection.initiator));
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut initiator_map: HashMap<String, Resource> = init_connections_data_vec
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|(k, v)| {
|
.filter_map(|(k, v)| {
|
||||||
if let Some(resource) = resources.get_by_id(v) {
|
if let Some(resource) = resources.get_by_id(k) {
|
||||||
Some((k.clone(), resource.clone()))
|
Some((v.clone(), resource.clone()))
|
||||||
} else {
|
} else {
|
||||||
tracing::error!(initiator=%k, machine=%v,
|
tracing::error!(initiator=%k, machine=%v,
|
||||||
"Machine configured for initiator not found!");
|
"Machine configured for initiator not found!");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user