From 48cd1ebd69912aa32d505366eb54a259fa0cf1a8 Mon Sep 17 00:00:00 2001 From: Nishant Totla Date: Tue, 22 Mar 2016 14:02:21 -0700 Subject: [PATCH] Updating filters Signed-off-by: Nishant Totla --- scheduler/filter/affinity.go | 2 +- scheduler/filter/dependency.go | 6 +++--- scheduler/filter/port.go | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/scheduler/filter/affinity.go b/scheduler/filter/affinity.go index 6904b4d210..f5fc25471c 100644 --- a/scheduler/filter/affinity.go +++ b/scheduler/filter/affinity.go @@ -38,7 +38,7 @@ func (f *AffinityFilter) Filter(config *cluster.ContainerConfig, nodes []*node.N containers := []string{} for _, container := range node.Containers { if len(container.Names) > 0 { - containers = append(containers, container.Id, strings.TrimPrefix(container.Names[0], "/")) + containers = append(containers, container.ID, strings.TrimPrefix(container.Names[0], "/")) } } if affinity.Match(containers...) { diff --git a/scheduler/filter/dependency.go b/scheduler/filter/dependency.go index 83a3c363fb..bb7fd9168e 100644 --- a/scheduler/filter/dependency.go +++ b/scheduler/filter/dependency.go @@ -36,8 +36,8 @@ func (f *DependencyFilter) Filter(config *cluster.ContainerConfig, nodes []*node // Check if --net points to a container. net := []string{} - if strings.HasPrefix(config.HostConfig.NetworkMode, "container:") { - net = append(net, strings.TrimPrefix(config.HostConfig.NetworkMode, "container:")) + if strings.HasPrefix(string(config.HostConfig.NetworkMode), "container:") { + net = append(net, strings.TrimPrefix(string(config.HostConfig.NetworkMode), "container:")) } candidates := []*node.Node{} @@ -65,7 +65,7 @@ func (f *DependencyFilter) GetFilters(config *cluster.ContainerConfig) ([]string for _, link := range config.HostConfig.Links { dependencies = append(dependencies, fmt.Sprintf("--link=%s", link)) } - if strings.HasPrefix(config.HostConfig.NetworkMode, "container:") { + if strings.HasPrefix(string(config.HostConfig.NetworkMode), "container:") { dependencies = append(dependencies, fmt.Sprintf("--net=%s", config.HostConfig.NetworkMode)) } return dependencies, nil diff --git a/scheduler/filter/port.go b/scheduler/filter/port.go index 3579b43456..7168d0e82d 100644 --- a/scheduler/filter/port.go +++ b/scheduler/filter/port.go @@ -3,9 +3,9 @@ package filter import ( "fmt" + "github.com/docker/go-connections/nat" "github.com/docker/swarm/cluster" "github.com/docker/swarm/scheduler/node" - "github.com/samalba/dockerclient" ) // PortFilter guarantees that, when scheduling a container binding a public @@ -32,7 +32,7 @@ func (p *PortFilter) filterHost(config *cluster.ContainerConfig, nodes []*node.N for port := range config.ExposedPorts { candidates := []*node.Node{} for _, node := range nodes { - if !p.portAlreadyExposed(node, port) { + if !p.portAlreadyExposed(node, string(port)) { candidates = append(candidates, node) } } @@ -66,7 +66,7 @@ func (p *PortFilter) portAlreadyExposed(node *node.Node, requestedPort string) b for _, c := range node.Containers { if c.Info.HostConfig.NetworkMode == "host" { for port := range c.Info.Config.ExposedPorts { - if port == requestedPort { + if string(port) == requestedPort { return true } } @@ -75,7 +75,7 @@ func (p *PortFilter) portAlreadyExposed(node *node.Node, requestedPort string) b return false } -func (p *PortFilter) portAlreadyInUse(node *node.Node, requested dockerclient.PortBinding) bool { +func (p *PortFilter) portAlreadyInUse(node *node.Node, requested nat.PortBinding) bool { for _, c := range node.Containers { // HostConfig.PortBindings contains the requested ports. // NetworkSettings.Ports contains the actual ports. @@ -96,7 +96,7 @@ func (p *PortFilter) portAlreadyInUse(node *node.Node, requested dockerclient.Po return false } -func (p *PortFilter) compare(requested dockerclient.PortBinding, bindings map[string][]dockerclient.PortBinding) bool { +func (p *PortFilter) compare(requested nat.PortBinding, bindings nat.PortMap) bool { for _, binding := range bindings { for _, b := range binding { if b.HostPort == "" { @@ -110,7 +110,7 @@ func (p *PortFilter) compare(requested dockerclient.PortBinding, bindings map[st // port/protocol. Verify if they are requesting the same // binding IP, or if the other container is already binding on // every interface. - if requested.HostIp == b.HostIp || bindsAllInterfaces(requested) || bindsAllInterfaces(b) { + if requested.HostIP == b.HostIP || bindsAllInterfaces(requested) || bindsAllInterfaces(b) { return true } } @@ -137,6 +137,6 @@ func (p *PortFilter) GetFilters(config *cluster.ContainerConfig) ([]string, erro return allPortConstraints, nil } -func bindsAllInterfaces(binding dockerclient.PortBinding) bool { - return binding.HostIp == "0.0.0.0" || binding.HostIp == "" +func bindsAllInterfaces(binding nat.PortBinding) bool { + return binding.HostIP == "0.0.0.0" || binding.HostIP == "" }