@@ -30,8 +30,8 @@ import (
30
30
"sync/atomic"
31
31
"time"
32
32
33
- "github.com/vhive-serverless/vhive/ctriface"
34
33
log "github.com/sirupsen/logrus"
34
+ "github.com/vhive-serverless/vhive/ctriface"
35
35
)
36
36
37
37
type coordinator struct {
@@ -99,12 +99,16 @@ func (c *coordinator) setIdleInstance(fi *funcInstance) {
99
99
}
100
100
101
101
func (c * coordinator ) startVM (ctx context.Context , image string ) (* funcInstance , error ) {
102
+ return c .startVMWithEnvironment (ctx , image , []string {})
103
+ }
104
+
105
+ func (c * coordinator ) startVMWithEnvironment (ctx context.Context , image string , environment []string ) (* funcInstance , error ) {
102
106
if fi := c .getIdleInstance (image ); c .orch != nil && c .orch .GetSnapshotsEnabled () && fi != nil {
103
107
err := c .orchLoadInstance (ctx , fi )
104
108
return fi , err
105
109
}
106
110
107
- return c .orchStartVM (ctx , image )
111
+ return c .orchStartVM (ctx , image , environment )
108
112
}
109
113
110
114
func (c * coordinator ) stopVM (ctx context.Context , containerID string ) error {
@@ -150,7 +154,7 @@ func (c *coordinator) insertActive(containerID string, fi *funcInstance) error {
150
154
return nil
151
155
}
152
156
153
- func (c * coordinator ) orchStartVM (ctx context.Context , image string ) (* funcInstance , error ) {
157
+ func (c * coordinator ) orchStartVM (ctx context.Context , image string , envVariables [] string ) (* funcInstance , error ) {
154
158
vmID := strconv .Itoa (int (atomic .AddUint64 (& c .nextID , 1 )))
155
159
logger := log .WithFields (
156
160
log.Fields {
@@ -170,7 +174,7 @@ func (c *coordinator) orchStartVM(ctx context.Context, image string) (*funcInsta
170
174
defer cancel ()
171
175
172
176
if ! c .withoutOrchestrator {
173
- resp , _ , err = c .orch .StartVM (ctxTimeout , vmID , image )
177
+ resp , _ , err = c .orch .StartVMWithEnvironment (ctxTimeout , vmID , image , envVariables )
174
178
if err != nil {
175
179
logger .WithError (err ).Error ("coordinator failed to start VM" )
176
180
}
0 commit comments