Skip to content

Commit a461ff0

Browse files
committed
Await condition
1 parent 6fcc87c commit a461ff0

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

src/controller/definitions/epsilon_instance.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ impl EpsilonInstance {
5151
name: self.metadata.name.as_ref().unwrap().clone(),
5252
template: self.spec.template.clone(),
5353
state: self.get_state().clone(),
54-
slots: self.get_slots(),
54+
slots: self.status.as_ref().unwrap().slots,
5555
online_count: self.get_online_count().await.unwrap_or(0),
5656
}
5757
}
@@ -63,13 +63,6 @@ impl EpsilonInstance {
6363
}
6464
}
6565

66-
pub fn get_slots(&self) -> i32 {
67-
match &self.status {
68-
None => 0,
69-
Some(status) => status.slots,
70-
}
71-
}
72-
7366
pub async fn get_info(&self) -> EResult<StatusResponse> {
7467
let status = self.status.as_ref().unwrap();
7568
let address = status.ip.as_ref().unwrap();

src/epsilon/server/instances/instance_provider.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use anyhow::format_err;
1010
use futures::StreamExt;
1111
use k8s_openapi::apimachinery::pkg::apis::meta::v1::ObjectMeta;
1212
use kube::api::{DeleteParams, ListParams, PostParams};
13+
use kube::runtime::wait::await_condition;
1314
use kube::Api;
1415
use serde_json::json;
1516
use std::env;
@@ -66,6 +67,16 @@ impl InstanceProvider {
6667
) -> EResult<Vec<Arc<EpsilonInstance>>> {
6768
let mut instances = self.epsilon_controller.get_epsilon_instance_store().state();
6869

70+
for instance in &instances {
71+
let condition = await_condition(
72+
self.epsilon_controller.get_epsilon_instance_api().clone(),
73+
instance.metadata.name.as_ref().unwrap(),
74+
move |instance: Option<&EpsilonInstance>| instance.is_some(),
75+
);
76+
77+
let _ = tokio::time::timeout(std::time::Duration::from_secs(3), condition).await?;
78+
}
79+
6980
instances = instances
7081
.into_iter()
7182
.filter(|instance| {

0 commit comments

Comments
 (0)