Skip to content

Commit

Permalink
fix(control-plane): Models not registering
Browse files Browse the repository at this point in the history
  • Loading branch information
isala404 committed Apr 7, 2022
1 parent 8911c9b commit 8f1a791
Show file tree
Hide file tree
Showing 6 changed files with 124 additions and 17 deletions.
108 changes: 104 additions & 4 deletions control-plane/config/samples/lazykoala_v1alpha1_inspector.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,110 @@
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: sample-service
name: service-1-7a942121
namespace: default
spec:
deploymentRef: sample-service
serviceRef: sample-service
modelName: sample_model
deploymentRef: service-1-7a942121
serviceRef: service-1-7a942121
modelName: service-1-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-2-7a942121
namespace: default
spec:
deploymentRef: service-2-7a942121
serviceRef: service-2-7a942121
modelName: service-2-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-3-7a942121
namespace: default
spec:
deploymentRef: service-3-7a942121
serviceRef: service-3-7a942121
modelName: service-3-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-4-7a942121
namespace: default
spec:
deploymentRef: service-4-7a942121
serviceRef: service-4-7a942121
modelName: service-4-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-5-7a942121
namespace: default
spec:
deploymentRef: service-5-7a942121
serviceRef: service-5-7a942121
modelName: service-5-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-6-7a942121
namespace: default
spec:
deploymentRef: service-6-7a942121
serviceRef: service-6-7a942121
modelName: service-6-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-7-7a942121
namespace: default
spec:
deploymentRef: service-7-7a942121
serviceRef: service-7-7a942121
modelName: service-7-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-8-7a942121
namespace: default
spec:
deploymentRef: service-8-7a942121
serviceRef: service-8-7a942121
modelName: service-8-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-9-7a942121
namespace: default
spec:
deploymentRef: service-9-7a942121
serviceRef: service-9-7a942121
modelName: service-9-7a942121
namespace: default
---
apiVersion: lazykoala.isala.me/v1alpha1
kind: Inspector
metadata:
name: service-10-7a942121
namespace: default
spec:
deploymentRef: service-10-7a942121
serviceRef: service-10-7a942121
modelName: service-10-7a942121
namespace: default
---
8 changes: 6 additions & 2 deletions control-plane/config/samples/loads.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ spec:
name: lazy-koala-simulation
namespace: default
# requestCount: 1
replicas: 25
replicas: 50
# timeout: 15m
betweenDelay: 1s
requests:
Expand All @@ -23,4 +23,8 @@ spec:
- |
{"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}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
- |
{"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}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
{"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}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
- |
{"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}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
- |
{"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}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
16 changes: 8 additions & 8 deletions control-plane/config/samples/simulation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,23 @@ spec:
language: go
framework: gorilla
service_3:
language: go
framework: gorilla
language: node
framework: express
service_4:
language: go
framework: gorilla
service_5:
language: node
framework: express
language: python
framework: flask
service_6:
language: node
framework: express
language: go
framework: gorilla
service_7:
language: node
framework: express
service_8:
language: python
framework: flask
language: node
framework: express
service_9:
language: python
framework: flask
Expand Down
6 changes: 4 additions & 2 deletions control-plane/controllers/inspector_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -301,14 +301,16 @@ func (r *InspectorReconciler) configureSherlock(ctx context.Context, inspector *
ModelName: inspector.Spec.ModelName,
Namespace: inspector.Spec.Namespace,
}
modelsList[inspector.Spec.ModelName] = true
} else {
if _, ok := sherlockServiceList[inspector.ObjectMeta.Name]; ok {
delete(sherlockServiceList, inspector.ObjectMeta.Name)
delete(modelsList, inspector.Spec.ModelName)
}
}

for _, service := range sherlockServiceList {
modelsList[service.ModelName] = true
}

// Generate the Servings Config
servingsConfig, err := createServingsConfig(modelsList)
if err != nil {
Expand Down
1 change: 1 addition & 0 deletions sherlock/src/inference.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ async fn query_model(service: &str, input: [[[f64; 3]; 9]; 10]) -> Result<f64, B
.send()
.await?;


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

let mse: f64 = MeanAbsoluteError{}.get_score(&input.flat().flat().to_vec(), &predictions);
Expand Down
2 changes: 1 addition & 1 deletion sherlock/src/query.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use std::{env::var, f64::{INFINITY, NEG_INFINITY}, cmp};
use std::{env::var, f64::{INFINITY, NEG_INFINITY}};
use prometheus_http_query::{Client, RangeVector};
use chrono::{Duration, Local, DateTime};
use lazy_static::lazy_static;
Expand Down

0 comments on commit 8f1a791

Please sign in to comment.