diff --git a/client/alloc_runner_test.go b/client/alloc_runner_test.go index 148a33a42..15077c76c 100644 --- a/client/alloc_runner_test.go +++ b/client/alloc_runner_test.go @@ -31,7 +31,7 @@ func testAllocRunner(restarts bool) (*MockAllocStateUpdater, *AllocRunner) { conf.AllocDir = os.TempDir() upd := &MockAllocStateUpdater{} alloc := mock.Alloc() - consulClient, _ := NewConsulClient(logger) + consulClient, _ := NewConsulClient(logger, "127.0.0.1:8500") if !restarts { alloc.Job.Type = structs.JobTypeBatch *alloc.Job.LookupTaskGroup(alloc.TaskGroup).RestartPolicy = structs.RestartPolicy{Attempts: 0} @@ -142,7 +142,7 @@ func TestAllocRunner_SaveRestoreState(t *testing.T) { } // Create a new alloc runner - consulClient, err := NewConsulClient(ar.logger) + consulClient, err := NewConsulClient(ar.logger, "127.0.0.1:8500") ar2 := NewAllocRunner(ar.logger, ar.config, upd.Update, &structs.Allocation{ID: ar.alloc.ID}, consulClient) err = ar2.RestoreState() diff --git a/client/client.go b/client/client.go index 8e605f4a5..040d80bbf 100644 --- a/client/client.go +++ b/client/client.go @@ -99,7 +99,8 @@ func NewClient(cfg *config.Config) (*Client, error) { logger := log.New(cfg.LogOutput, "", log.LstdFlags) // Create the consul client - consulClient, err := NewConsulClient(logger) + consulAddr := cfg.ReadDefault("consul.address", "127.0.0.1:8500") + consulClient, err := NewConsulClient(logger, consulAddr) if err != nil { return nil, fmt.Errorf("failed to create the consul client: %v", err) } diff --git a/client/consul.go b/client/consul.go index db22eea56..0e122f13a 100644 --- a/client/consul.go +++ b/client/consul.go @@ -27,10 +27,12 @@ type ConsulClient struct { trackedServices map[string]*trackedService } -func NewConsulClient(logger *log.Logger) (*ConsulClient, error) { +func NewConsulClient(logger *log.Logger, consulAddr string) (*ConsulClient, error) { var err error var c *consul.Client - if c, err = consul.NewClient(consul.DefaultConfig()); err != nil { + cfg := consul.DefaultConfig() + cfg.Address = consulAddr + if c, err = consul.NewClient(cfg); err != nil { return nil, err } diff --git a/client/task_runner_test.go b/client/task_runner_test.go index 788b0b1d5..f8bc9e466 100644 --- a/client/task_runner_test.go +++ b/client/task_runner_test.go @@ -32,7 +32,7 @@ func testTaskRunner(restarts bool) (*MockTaskStateUpdater, *TaskRunner) { upd := &MockTaskStateUpdater{} alloc := mock.Alloc() task := alloc.Job.TaskGroups[0].Tasks[0] - consulClient, _ := NewConsulClient(logger) + consulClient, _ := NewConsulClient(logger, "127.0.0.1:8500") // Initialize the port listing. This should be done by the offer process but // we have a mock so that doesn't happen. task.Resources.Networks[0].ReservedPorts = []structs.Port{{"", 80}} @@ -164,7 +164,7 @@ func TestTaskRunner_SaveRestoreState(t *testing.T) { } // Create a new task runner - consulClient, _ := NewConsulClient(tr.logger) + consulClient, _ := NewConsulClient(tr.logger, "127.0.0.1:8500") tr2 := NewTaskRunner(tr.logger, tr.config, upd.Update, tr.ctx, tr.allocID, &structs.Task{Name: tr.task.Name}, tr.state, tr.restartTracker, consulClient)