Implement DriverNetwork and Service.AddressMode

Ideally DriverNetwork would be fully populated in Driver.Prestart, but
Docker doesn't assign the container's IP until you start the container.

However, it's important to setup the port env vars before calling
Driver.Start, so Prestart should populate that.
This commit is contained in:
Michael Schurter
2017-06-09 10:29:41 -07:00
parent c96995b3f5
commit 3fddb05fc8
18 changed files with 338 additions and 112 deletions

View File

@@ -202,7 +202,7 @@ func NewJavaDriverConfig(task *structs.Task, env *env.TaskEnv) (*JavaDriverConfi
return &driverConfig, nil
}
func (d *JavaDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle, error) {
func (d *JavaDriver) Start(ctx *ExecContext, task *structs.Task) (*StartResponse, error) {
driverConfig, err := NewJavaDriverConfig(task, ctx.TaskEnv)
if err != nil {
return nil, err
@@ -296,7 +296,7 @@ func (d *JavaDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle,
waitCh: make(chan *dstructs.WaitResult, 1),
}
go h.run()
return h, nil
return &StartResponse{Handle: h}, nil
}
func (d *JavaDriver) Cleanup(*ExecContext, *CreatedResources) error { return nil }