Skip to content

Commit 8f1a791

Browse files
committed
fix(control-plane): Models not registering
1 parent 8911c9b commit 8f1a791

File tree

6 files changed

+124
-17
lines changed

6 files changed

+124
-17
lines changed
Lines changed: 104 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,110 @@
11
apiVersion: lazykoala.isala.me/v1alpha1
22
kind: Inspector
33
metadata:
4-
name: sample-service
4+
name: service-1-7a942121
55
namespace: default
66
spec:
7-
deploymentRef: sample-service
8-
serviceRef: sample-service
9-
modelName: sample_model
7+
deploymentRef: service-1-7a942121
8+
serviceRef: service-1-7a942121
9+
modelName: service-1-7a942121
1010
namespace: default
11+
---
12+
apiVersion: lazykoala.isala.me/v1alpha1
13+
kind: Inspector
14+
metadata:
15+
name: service-2-7a942121
16+
namespace: default
17+
spec:
18+
deploymentRef: service-2-7a942121
19+
serviceRef: service-2-7a942121
20+
modelName: service-2-7a942121
21+
namespace: default
22+
---
23+
apiVersion: lazykoala.isala.me/v1alpha1
24+
kind: Inspector
25+
metadata:
26+
name: service-3-7a942121
27+
namespace: default
28+
spec:
29+
deploymentRef: service-3-7a942121
30+
serviceRef: service-3-7a942121
31+
modelName: service-3-7a942121
32+
namespace: default
33+
---
34+
apiVersion: lazykoala.isala.me/v1alpha1
35+
kind: Inspector
36+
metadata:
37+
name: service-4-7a942121
38+
namespace: default
39+
spec:
40+
deploymentRef: service-4-7a942121
41+
serviceRef: service-4-7a942121
42+
modelName: service-4-7a942121
43+
namespace: default
44+
---
45+
apiVersion: lazykoala.isala.me/v1alpha1
46+
kind: Inspector
47+
metadata:
48+
name: service-5-7a942121
49+
namespace: default
50+
spec:
51+
deploymentRef: service-5-7a942121
52+
serviceRef: service-5-7a942121
53+
modelName: service-5-7a942121
54+
namespace: default
55+
---
56+
apiVersion: lazykoala.isala.me/v1alpha1
57+
kind: Inspector
58+
metadata:
59+
name: service-6-7a942121
60+
namespace: default
61+
spec:
62+
deploymentRef: service-6-7a942121
63+
serviceRef: service-6-7a942121
64+
modelName: service-6-7a942121
65+
namespace: default
66+
---
67+
apiVersion: lazykoala.isala.me/v1alpha1
68+
kind: Inspector
69+
metadata:
70+
name: service-7-7a942121
71+
namespace: default
72+
spec:
73+
deploymentRef: service-7-7a942121
74+
serviceRef: service-7-7a942121
75+
modelName: service-7-7a942121
76+
namespace: default
77+
---
78+
apiVersion: lazykoala.isala.me/v1alpha1
79+
kind: Inspector
80+
metadata:
81+
name: service-8-7a942121
82+
namespace: default
83+
spec:
84+
deploymentRef: service-8-7a942121
85+
serviceRef: service-8-7a942121
86+
modelName: service-8-7a942121
87+
namespace: default
88+
---
89+
apiVersion: lazykoala.isala.me/v1alpha1
90+
kind: Inspector
91+
metadata:
92+
name: service-9-7a942121
93+
namespace: default
94+
spec:
95+
deploymentRef: service-9-7a942121
96+
serviceRef: service-9-7a942121
97+
modelName: service-9-7a942121
98+
namespace: default
99+
---
100+
apiVersion: lazykoala.isala.me/v1alpha1
101+
kind: Inspector
102+
metadata:
103+
name: service-10-7a942121
104+
namespace: default
105+
spec:
106+
deploymentRef: service-10-7a942121
107+
serviceRef: service-10-7a942121
108+
modelName: service-10-7a942121
109+
namespace: default
110+
---

control-plane/config/samples/loads.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ spec:
88
name: lazy-koala-simulation
99
namespace: default
1010
# requestCount: 1
11-
replicas: 25
11+
replicas: 50
1212
# timeout: 15m
1313
betweenDelay: 1s
1414
requests:
@@ -23,4 +23,8 @@ spec:
2323
- |
2424
{"designation":"service_2","probability":99,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_10","probability":67,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_2","probability":54,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_9","probability":50,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_1","probability":76,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_7","probability":55,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_2","probability":67,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_4","probability":78,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_7","probability":98,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_5","probability":73,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_1","probability":62,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_8","probability":57,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_5","probability":85,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_9","probability":60,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_8","probability":80,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":[{"designation":"service_6","probability":53,"faults":{"before":[{"type":"latency","args":{"delay":322}}],"after":[{"type":"latency","args":{"delay":254}}]},"routes":null}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
2525
- |
26-
{"designation":"service_3","probability":55,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_5","probability":61,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_1","probability":91,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_2","probability":65,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_7","probability":70,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_2","probability":55,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_4","probability":75,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_8","probability":80,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_2","probability":94,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_10","probability":93,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_2","probability":60,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_8","probability":94,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_10","probability":59,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_9","probability":91,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_10","probability":58,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_5","probability":51,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":null}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
26+
{"designation":"service_3","probability":55,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_5","probability":61,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_1","probability":91,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_2","probability":65,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_7","probability":70,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_2","probability":55,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_4","probability":75,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_8","probability":80,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_2","probability":94,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_10","probability":93,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_2","probability":60,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_8","probability":94,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_10","probability":59,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_9","probability":91,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_10","probability":58,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":[{"designation":"service_5","probability":51,"faults":{"before":[{"type":"latency","args":{"delay":375}}],"after":[{"type":"latency","args":{"delay":358}}]},"routes":null}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
27+
- |
28+
{"designation":"service_1","probability":62,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_6","probability":77,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_2","probability":89,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_3","probability":61,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_7","probability":70,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_3","probability":90,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_8","probability":75,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_4","probability":83,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_3","probability":94,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_6","probability":61,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_1","probability":96,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_4","probability":56,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_5","probability":53,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_3","probability":85,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_4","probability":57,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":[{"designation":"service_3","probability":73,"faults":{"before":[{"type":"latency","args":{"delay":275}}],"after":[{"type":"latency","args":{"delay":119}}]},"routes":null}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
29+
- |
30+
{"designation":"service_3","probability":63,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_7","probability":79,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_4","probability":58,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_2","probability":68,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_5","probability":56,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_2","probability":87,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_3","probability":55,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_8","probability":82,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_3","probability":95,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_10","probability":97,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_8","probability":93,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_4","probability":96,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_7","probability":87,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_5","probability":81,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_1","probability":68,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":[{"designation":"service_4","probability":51,"faults":{"before":[{"type":"latency","args":{"delay":139}}],"after":[{"type":"latency","args":{"delay":223}}]},"routes":null}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}

control-plane/config/samples/simulation.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@ spec:
1313
language: go
1414
framework: gorilla
1515
service_3:
16-
language: go
17-
framework: gorilla
16+
language: node
17+
framework: express
1818
service_4:
1919
language: go
2020
framework: gorilla
2121
service_5:
22-
language: node
23-
framework: express
22+
language: python
23+
framework: flask
2424
service_6:
25-
language: node
26-
framework: express
25+
language: go
26+
framework: gorilla
2727
service_7:
2828
language: node
2929
framework: express
3030
service_8:
31-
language: python
32-
framework: flask
31+
language: node
32+
framework: express
3333
service_9:
3434
language: python
3535
framework: flask

control-plane/controllers/inspector_controller.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -301,14 +301,16 @@ func (r *InspectorReconciler) configureSherlock(ctx context.Context, inspector *
301301
ModelName: inspector.Spec.ModelName,
302302
Namespace: inspector.Spec.Namespace,
303303
}
304-
modelsList[inspector.Spec.ModelName] = true
305304
} else {
306305
if _, ok := sherlockServiceList[inspector.ObjectMeta.Name]; ok {
307306
delete(sherlockServiceList, inspector.ObjectMeta.Name)
308-
delete(modelsList, inspector.Spec.ModelName)
309307
}
310308
}
311309

310+
for _, service := range sherlockServiceList {
311+
modelsList[service.ModelName] = true
312+
}
313+
312314
// Generate the Servings Config
313315
servingsConfig, err := createServingsConfig(modelsList)
314316
if err != nil {

sherlock/src/inference.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ async fn query_model(service: &str, input: [[[f64; 3]; 9]; 10]) -> Result<f64, B
5858
.send()
5959
.await?;
6060

61+
6162
let predictions = res.json::<ModelResponse>().await?.predictions.into_iter().flatten().flatten().flatten().collect::<Vec<f64>>();
6263

6364
let mse: f64 = MeanAbsoluteError{}.get_score(&input.flat().flat().to_vec(), &predictions);

sherlock/src/query.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{env::var, f64::{INFINITY, NEG_INFINITY}, cmp};
1+
use std::{env::var, f64::{INFINITY, NEG_INFINITY}};
22
use prometheus_http_query::{Client, RangeVector};
33
use chrono::{Duration, Local, DateTime};
44
use lazy_static::lazy_static;

0 commit comments

Comments
 (0)