Skip to content

Commit

Permalink
Merge pull request #14 from allegro/hostname_to_address_refactoring
Browse files Browse the repository at this point in the history
Hostname to Agent-address refactoring
  • Loading branch information
dankraw committed Dec 15, 2015
2 parents 9ffa782 + 7dd5379 commit 353f33f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 25 deletions.
24 changes: 12 additions & 12 deletions consul/consul.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
type ConsulServices interface {
GetAllServices() ([]*consulapi.CatalogService, error)
Register(service *consulapi.AgentServiceRegistration) error
Deregister(serviceId string, agent string) error
Deregister(serviceId string, agentAddress string) error
}

type Consul struct {
Expand Down Expand Up @@ -81,11 +81,11 @@ func (c *Consul) register(service *consulapi.AgentServiceRegistration) error {
return err
}
fields := log.Fields{
"Name": service.Name,
"Id": service.ID,
"Tags": service.Tags,
"Host": service.Address,
"Port": service.Port,
"Name": service.Name,
"Id": service.ID,
"Tags": service.Tags,
"Address": service.Address,
"Port": service.Port,
}
log.WithFields(fields).Info("Registering")

Expand All @@ -96,9 +96,9 @@ func (c *Consul) register(service *consulapi.AgentServiceRegistration) error {
return err
}

func (c *Consul) Deregister(serviceId string, agentHost string) error {
func (c *Consul) Deregister(serviceId string, agentAddress string) error {
var err error
metrics.Time("consul.deregister", func() { err = c.deregister(serviceId, agentHost) })
metrics.Time("consul.deregister", func() { err = c.deregister(serviceId, agentAddress) })
if err != nil {
metrics.Mark("consul.deregister.error")
} else {
Expand All @@ -107,17 +107,17 @@ func (c *Consul) Deregister(serviceId string, agentHost string) error {
return err
}

func (c *Consul) deregister(serviceId string, agentHost string) error {
agent, err := c.agents.GetAgent(agentHost)
func (c *Consul) deregister(serviceId string, agentAddress string) error {
agent, err := c.agents.GetAgent(agentAddress)
if err != nil {
return err
}

log.WithField("Id", serviceId).WithField("Host", agentHost).Info("Deregistering")
log.WithField("Id", serviceId).WithField("Address", agentAddress).Info("Deregistering")

err = agent.Agent().ServiceDeregister(serviceId)
if err != nil {
log.WithError(err).WithField("Id", serviceId).WithField("Host", agentHost).Error("Unable to deregister")
log.WithError(err).WithField("Id", serviceId).WithField("Address", agentAddress).Error("Unable to deregister")
}
return err
}
8 changes: 4 additions & 4 deletions consul/consul_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ func TestRegisterServices_shouldReturnErrorOnFailure(t *testing.T) {

func TestDeregisterServices(t *testing.T) {
t.Parallel()
server := CreateNamedConsulTestServer("localhost", "dc1", t)
server := CreateConsulTestServer("dc1", t)
defer server.Stop()

consul := ConsulClientAtServer(server)
Expand All @@ -143,7 +143,7 @@ func TestDeregisterServices(t *testing.T) {
assert.Len(t, services, 2)

// when
consul.Deregister("serviceA", server.Config.NodeName)
consul.Deregister("serviceA", server.Config.Bind)

// then
services, _ = consul.GetAllServices()
Expand All @@ -153,7 +153,7 @@ func TestDeregisterServices(t *testing.T) {

func TestDeregisterServices_shouldReturnErrorOnFailure(t *testing.T) {
t.Parallel()
server := CreateNamedConsulTestServer("localhost", "dc1", t)
server := CreateConsulTestServer("dc1", t)
defer server.Stop()

consul := ConsulClientAtServer(server)
Expand All @@ -163,7 +163,7 @@ func TestDeregisterServices_shouldReturnErrorOnFailure(t *testing.T) {

// when
server.Stop()
err := consul.Deregister("serviceA", server.Config.NodeName)
err := consul.Deregister("serviceA", server.Config.Bind)

// then
assert.Error(t, err)
Expand Down
7 changes: 0 additions & 7 deletions consul/consul_test_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,6 @@ func CreateConsulTestServer(dc string, t *testing.T) *testutil.TestServer {
})
}

func CreateNamedConsulTestServer(hostname string, dc string, t *testing.T) *testutil.TestServer {
return testutil.NewTestServerConfig(t, func(c *testutil.TestServerConfig) {
c.Datacenter = dc
c.NodeName = hostname
})
}

func ConsulClientAtServer(server *testutil.TestServer) *Consul {
return consulClientAtAddress(server.Config.Bind, server.Config.Ports.HTTP)
}
Expand Down
7 changes: 5 additions & 2 deletions sync/sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,12 @@ func (s Sync) deregisterConsulServicesThatAreNotInMarathonApps(apps []*apps.App,
}
}
if !found {
err := s.service.Deregister(instance.ServiceID, instance.Node)
err := s.service.Deregister(instance.ServiceID, instance.Address)
if err != nil {
log.WithError(err).WithField("Id", instance.ServiceID).Error("Can't deregister service")
log.WithError(err).WithFields(log.Fields{
"Id": instance.ServiceID,
"Address": instance.Address,
}).Error("Can't deregister service")
}
}
}
Expand Down

0 comments on commit 353f33f

Please sign in to comment.