Remove placeholder TLS parameter in discovery interface and New method

Signed-off-by: Alexandre Beslic <abronan@docker.com>
This commit is contained in:
Alexandre Beslic 2015-05-12 14:19:30 -07:00
parent 6f67ca3a58
commit 403f95f86c
12 changed files with 20 additions and 27 deletions

View File

@ -64,7 +64,7 @@ func Run() {
log.Fatalf("the `create` command takes no arguments. See '%s create --help'.", c.App.Name) log.Fatalf("the `create` command takes no arguments. See '%s create --help'.", c.App.Name)
} }
discovery := &token.Discovery{} discovery := &token.Discovery{}
discovery.Initialize("", 0, nil) discovery.Initialize("", 0)
token, err := discovery.CreateCluster() token, err := discovery.CreateCluster()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
@ -82,7 +82,7 @@ func Run() {
log.Fatalf("discovery required to list a cluster. See '%s list --help'.", c.App.Name) log.Fatalf("discovery required to list a cluster. See '%s list --help'.", c.App.Name)
} }
d, err := discovery.New(dflag, 10, nil) d, err := discovery.New(dflag, 10)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -26,8 +26,7 @@ func join(c *cli.Context) {
log.Fatal("--heartbeat should be an unsigned integer and greater than 0") log.Fatal("--heartbeat should be an unsigned integer and greater than 0")
} }
// TODO Add TLS on join d, err := discovery.New(dflag, hb)
d, err := discovery.New(dflag, hb, nil)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -42,7 +42,7 @@ func NewCluster(scheduler *scheduler.Scheduler, store *state.Store, options *clu
// get the list of entries from the discovery service // get the list of entries from the discovery service
go func() { go func() {
d, err := discovery.New(options.Discovery, options.Heartbeat, options.TLS) d, err := discovery.New(options.Discovery, options.Heartbeat)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -1,7 +1,6 @@
package discovery package discovery
import ( import (
"crypto/tls"
"errors" "errors"
"fmt" "fmt"
"net" "net"
@ -34,7 +33,7 @@ type WatchCallback func(entries []*Entry)
// Discovery is exported // Discovery is exported
type Discovery interface { type Discovery interface {
Initialize(string, uint64, *tls.Config) error Initialize(string, uint64) error
Fetch() ([]*Entry, error) Fetch() ([]*Entry, error)
Watch(WatchCallback) Watch(WatchCallback)
Register(string) error Register(string) error
@ -74,12 +73,12 @@ func parse(rawurl string) (string, string) {
} }
// New is exported // New is exported
func New(rawurl string, heartbeat uint64, tls *tls.Config) (Discovery, error) { func New(rawurl string, heartbeat uint64) (Discovery, error) {
scheme, uri := parse(rawurl) scheme, uri := parse(rawurl)
if discovery, exists := discoveries[scheme]; exists { if discovery, exists := discoveries[scheme]; exists {
log.WithFields(log.Fields{"name": scheme, "uri": uri}).Debug("Initializing discovery service") log.WithFields(log.Fields{"name": scheme, "uri": uri}).Debug("Initializing discovery service")
err := discovery.Initialize(uri, heartbeat, tls) err := discovery.Initialize(uri, heartbeat)
return discovery, err return discovery, err
} }

View File

@ -1,7 +1,6 @@
package file package file
import ( import (
"crypto/tls"
"io/ioutil" "io/ioutil"
"strings" "strings"
"time" "time"
@ -20,7 +19,7 @@ func init() {
} }
// Initialize is exported // Initialize is exported
func (s *Discovery) Initialize(path string, heartbeat uint64, _ *tls.Config) error { func (s *Discovery) Initialize(path string, heartbeat uint64) error {
s.path = path s.path = path
s.heartbeat = heartbeat s.heartbeat = heartbeat
return nil return nil

View File

@ -8,7 +8,7 @@ import (
func TestInitialize(t *testing.T) { func TestInitialize(t *testing.T) {
discovery := &Discovery{} discovery := &Discovery{}
discovery.Initialize("/path/to/file", 0, nil) discovery.Initialize("/path/to/file", 0)
assert.Equal(t, discovery.path, "/path/to/file") assert.Equal(t, discovery.path, "/path/to/file")
} }

View File

@ -1,7 +1,6 @@
package kv package kv
import ( import (
"crypto/tls"
"fmt" "fmt"
"path" "path"
"strings" "strings"
@ -26,7 +25,7 @@ func init() {
} }
// Initialize is exported // Initialize is exported
func (s *Discovery) Initialize(uris string, heartbeat uint64, tls *tls.Config) error { func (s *Discovery) Initialize(uris string, heartbeat uint64) error {
var ( var (
parts = strings.SplitN(uris, "/", 2) parts = strings.SplitN(uris, "/", 2)
ips = strings.Split(parts[0], ",") ips = strings.Split(parts[0], ",")
@ -51,7 +50,6 @@ func (s *Discovery) Initialize(uris string, heartbeat uint64, tls *tls.Config) e
s.name, // name of the store s.name, // name of the store
addrs, addrs,
store.Config{ store.Config{
TLS: tls,
Timeout: s.heartbeat, Timeout: s.heartbeat,
}, },
) )

View File

@ -9,12 +9,12 @@ import (
func TestInitialize(t *testing.T) { func TestInitialize(t *testing.T) {
discoveryService := &Discovery{} discoveryService := &Discovery{}
assert.Equal(t, discoveryService.Initialize("127.0.0.1", 0, nil).Error(), "invalid format \"127.0.0.1\", missing <path>") assert.Equal(t, discoveryService.Initialize("127.0.0.1", 0).Error(), "invalid format \"127.0.0.1\", missing <path>")
assert.Error(t, discoveryService.Initialize("127.0.0.1/path", 0, nil)) assert.Error(t, discoveryService.Initialize("127.0.0.1/path", 0))
assert.Equal(t, discoveryService.prefix, "path") assert.Equal(t, discoveryService.prefix, "path")
assert.Error(t, discoveryService.Initialize("127.0.0.1,127.0.0.2,127.0.0.3/path", 0, nil)) assert.Error(t, discoveryService.Initialize("127.0.0.1,127.0.0.2,127.0.0.3/path", 0))
assert.Equal(t, discoveryService.prefix, "path") assert.Equal(t, discoveryService.prefix, "path")
} }

View File

@ -1,7 +1,6 @@
package nodes package nodes
import ( import (
"crypto/tls"
"strings" "strings"
"github.com/docker/swarm/discovery" "github.com/docker/swarm/discovery"
@ -17,7 +16,7 @@ func init() {
} }
// Initialize is exported // Initialize is exported
func (s *Discovery) Initialize(uris string, _ uint64, _ *tls.Config) error { func (s *Discovery) Initialize(uris string, _ uint64) error {
for _, input := range strings.Split(uris, ",") { for _, input := range strings.Split(uris, ",") {
for _, ip := range discovery.Generate(input) { for _, ip := range discovery.Generate(input) {
entry, err := discovery.NewEntry(ip) entry, err := discovery.NewEntry(ip)

View File

@ -8,7 +8,7 @@ import (
func TestInitialise(t *testing.T) { func TestInitialise(t *testing.T) {
discovery := &Discovery{} discovery := &Discovery{}
discovery.Initialize("1.1.1.1:1111,2.2.2.2:2222", 0, nil) discovery.Initialize("1.1.1.1:1111,2.2.2.2:2222", 0)
assert.Equal(t, len(discovery.entries), 2) assert.Equal(t, len(discovery.entries), 2)
assert.Equal(t, discovery.entries[0].String(), "1.1.1.1:1111") assert.Equal(t, discovery.entries[0].String(), "1.1.1.1:1111")
assert.Equal(t, discovery.entries[1].String(), "2.2.2.2:2222") assert.Equal(t, discovery.entries[1].String(), "2.2.2.2:2222")
@ -16,7 +16,7 @@ func TestInitialise(t *testing.T) {
func TestInitialiseWithPattern(t *testing.T) { func TestInitialiseWithPattern(t *testing.T) {
discovery := &Discovery{} discovery := &Discovery{}
discovery.Initialize("1.1.1.[1:2]:1111,2.2.2.[2:4]:2222", 0, nil) discovery.Initialize("1.1.1.[1:2]:1111,2.2.2.[2:4]:2222", 0)
assert.Equal(t, len(discovery.entries), 5) assert.Equal(t, len(discovery.entries), 5)
assert.Equal(t, discovery.entries[0].String(), "1.1.1.1:1111") assert.Equal(t, discovery.entries[0].String(), "1.1.1.1:1111")
assert.Equal(t, discovery.entries[1].String(), "1.1.1.2:1111") assert.Equal(t, discovery.entries[1].String(), "1.1.1.2:1111")

View File

@ -1,7 +1,6 @@
package token package token
import ( import (
"crypto/tls"
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
@ -28,7 +27,7 @@ func init() {
} }
// Initialize is exported // Initialize is exported
func (s *Discovery) Initialize(urltoken string, heartbeat uint64, _ *tls.Config) error { func (s *Discovery) Initialize(urltoken string, heartbeat uint64) error {
if i := strings.LastIndex(urltoken, "/"); i != -1 { if i := strings.LastIndex(urltoken, "/"); i != -1 {
s.url = "https://" + urltoken[:i] s.url = "https://" + urltoken[:i]
s.token = urltoken[i+1:] s.token = urltoken[i+1:]

View File

@ -8,17 +8,17 @@ import (
func TestInitialize(t *testing.T) { func TestInitialize(t *testing.T) {
discovery := &Discovery{} discovery := &Discovery{}
err := discovery.Initialize("token", 0, nil) err := discovery.Initialize("token", 0)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, discovery.token, "token") assert.Equal(t, discovery.token, "token")
assert.Equal(t, discovery.url, DiscoveryURL) assert.Equal(t, discovery.url, DiscoveryURL)
err = discovery.Initialize("custom/path/token", 0, nil) err = discovery.Initialize("custom/path/token", 0)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, discovery.token, "token") assert.Equal(t, discovery.token, "token")
assert.Equal(t, discovery.url, "https://custom/path") assert.Equal(t, discovery.url, "https://custom/path")
err = discovery.Initialize("", 0, nil) err = discovery.Initialize("", 0)
assert.Error(t, err) assert.Error(t, err)
} }