mirror of https://github.com/docker/docs.git
Remove placeholder TLS parameter in discovery interface and New method
Signed-off-by: Alexandre Beslic <abronan@docker.com>
This commit is contained in:
parent
6f67ca3a58
commit
403f95f86c
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
|
@ -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")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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:]
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue