Skip to content

Commit 3e27862

Browse files
committed
gRPC bugfix for Dirigent
Signed-off-by: Lazar Cvetković <l.cvetkovic.997@gmail.com>
1 parent d8be132 commit 3e27862

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

data/traces/example/dirigent.csv

Lines changed: 0 additions & 5 deletions
This file was deleted.

pkg/common/trace_types.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ type DirigentMetadata struct {
7979
ScalingLowerBound int `csv:"ScalingLowerBound"`
8080
IterationMultiplier int `csv:"IterationMultiplier"`
8181
IOPercentage int `csv:"IOPercentage"`
82+
EnvVars string `csv:"EnvVars"`
83+
ProgramArgs string `csv:"ProgramArgs"`
8284
}
8385

8486
type Function struct {

pkg/driver/clients/grpc_client.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ func (i *grpcInvoker) Invoke(function *common.Function, runtimeSpec *common.Runt
6868

6969
var dialOptions []grpc.DialOption
7070
dialOptions = append(dialOptions, grpc.WithTransportCredentials(insecure.NewCredentials()))
71+
if strings.Contains(strings.ToLower(i.cfg.Platform), "dirigent") {
72+
dialOptions = append(dialOptions, grpc.WithAuthority(function.Name)) // Dirigent specific
73+
}
7174
if i.cfg.EnableZipkinTracing {
7275
dialOptions = append(dialOptions, grpc.WithStatsHandler(otelgrpc.NewClientHandler()))
7376
}

pkg/driver/deployment/dirigent.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,18 @@ var registrationClient = &http.Client{
5353
},
5454
}
5555

56+
const CSVColumnDelimiter = " "
57+
58+
func prepareEnvVars(data string) []string {
59+
// FORMAT: arg1=value1 arg2=value2
60+
return strings.Split(data, CSVColumnDelimiter)
61+
}
62+
63+
func prepareProgramArgs(data string) []string {
64+
// FORMAT: arg1 val1 arg2 val2
65+
return strings.Split(data, CSVColumnDelimiter)
66+
}
67+
5668
func deployDirigent(function *common.Function, controlPlaneAddress string, busyLoopOnColdStart bool) {
5769
metadata := function.DirigentMetadata
5870

@@ -68,6 +80,8 @@ func deployDirigent(function *common.Function, controlPlaneAddress string, busyL
6880
"scaling_lower_bound": {strconv.Itoa(metadata.ScalingLowerBound)},
6981
"requested_cpu": {strconv.Itoa(function.CPURequestsMilli)},
7082
"requested_memory": {strconv.Itoa(function.MemoryRequestsMiB)},
83+
"env_vars": prepareEnvVars(metadata.EnvVars),
84+
"program_args": prepareProgramArgs(metadata.ProgramArgs),
7185
}
7286

7387
if busyLoopOnColdStart {

0 commit comments

Comments
 (0)