Forráskód Böngészése

config: remove toml

Blake Mizerany 11 éve
szülő
commit
1805c15093
2 módosított fájl, 34 hozzáadás és 144 törlés
  1. 34 62
      config/config.go
  2. 0 82
      config/config_test.go

+ 34 - 62
config/config.go

@@ -14,8 +14,6 @@ import (
 	"strings"
 	"time"
 
-	"github.com/coreos/etcd/third_party/github.com/BurntSushi/toml"
-
 	"github.com/coreos/etcd/log"
 	ustrings "github.com/coreos/etcd/pkg/strings"
 )
@@ -27,46 +25,46 @@ const DefaultSystemConfigPath = "/etc/etcd/etcd.conf"
 type Config struct {
 	SystemPath string
 
-	Addr             string `toml:"addr" env:"ETCD_ADDR"`
-	BindAddr         string `toml:"bind_addr" env:"ETCD_BIND_ADDR"`
-	CAFile           string `toml:"ca_file" env:"ETCD_CA_FILE"`
-	CertFile         string `toml:"cert_file" env:"ETCD_CERT_FILE"`
+	Addr             string `env:"ETCD_ADDR"`
+	BindAddr         string `env:"ETCD_BIND_ADDR"`
+	CAFile           string `env:"ETCD_CA_FILE"`
+	CertFile         string `env:"ETCD_CERT_FILE"`
 	CPUProfileFile   string
-	CorsOrigins      []string `toml:"cors" env:"ETCD_CORS"`
-	DataDir          string   `toml:"data_dir" env:"ETCD_DATA_DIR"`
-	Discovery        string   `toml:"discovery" env:"ETCD_DISCOVERY"`
+	CorsOrigins      []string `env:"ETCD_CORS"`
+	DataDir          string   `env:"ETCD_DATA_DIR"`
+	Discovery        string   `env:"ETCD_DISCOVERY"`
 	Force            bool
-	KeyFile          string   `toml:"key_file" env:"ETCD_KEY_FILE"`
-	HTTPReadTimeout  float64  `toml:"http_read_timeout" env:"ETCD_HTTP_READ_TIMEOUT"`
-	HTTPWriteTimeout float64  `toml:"http_write_timeout" env:"ETCD_HTTP_WRITE_TIMEOUT"`
-	Peers            []string `toml:"peers" env:"ETCD_PEERS"`
-	PeersFile        string   `toml:"peers_file" env:"ETCD_PEERS_FILE"`
-	MaxResultBuffer  int      `toml:"max_result_buffer" env:"ETCD_MAX_RESULT_BUFFER"`
-	MaxRetryAttempts int      `toml:"max_retry_attempts" env:"ETCD_MAX_RETRY_ATTEMPTS"`
-	RetryInterval    float64  `toml:"retry_interval" env:"ETCD_RETRY_INTERVAL"`
-	Name             string   `toml:"name" env:"ETCD_NAME"`
-	Snapshot         bool     `toml:"snapshot" env:"ETCD_SNAPSHOT"`
-	SnapshotCount    int      `toml:"snapshot_count" env:"ETCD_SNAPSHOTCOUNT"`
+	KeyFile          string   `env:"ETCD_KEY_FILE"`
+	HTTPReadTimeout  float64  `env:"ETCD_HTTP_READ_TIMEOUT"`
+	HTTPWriteTimeout float64  `env:"ETCD_HTTP_WRITE_TIMEOUT"`
+	Peers            []string `env:"ETCD_PEERS"`
+	PeersFile        string   `env:"ETCD_PEERS_FILE"`
+	MaxResultBuffer  int      `env:"ETCD_MAX_RESULT_BUFFER"`
+	MaxRetryAttempts int      `env:"ETCD_MAX_RETRY_ATTEMPTS"`
+	RetryInterval    float64  `env:"ETCD_RETRY_INTERVAL"`
+	Name             string   `env:"ETCD_NAME"`
+	Snapshot         bool     `env:"ETCD_SNAPSHOT"`
+	SnapshotCount    int      `env:"ETCD_SNAPSHOTCOUNT"`
 	ShowHelp         bool
 	ShowVersion      bool
-	Verbose          bool `toml:"verbose" env:"ETCD_VERBOSE"`
-	VeryVerbose      bool `toml:"very_verbose" env:"ETCD_VERY_VERBOSE"`
-	VeryVeryVerbose  bool `toml:"very_very_verbose" env:"ETCD_VERY_VERY_VERBOSE"`
+	Verbose          bool `env:"ETCD_VERBOSE"`
+	VeryVerbose      bool `env:"ETCD_VERY_VERBOSE"`
+	VeryVeryVerbose  bool `env:"ETCD_VERY_VERY_VERBOSE"`
 	Peer             struct {
-		Addr              string `toml:"addr" env:"ETCD_PEER_ADDR"`
-		BindAddr          string `toml:"bind_addr" env:"ETCD_PEER_BIND_ADDR"`
-		CAFile            string `toml:"ca_file" env:"ETCD_PEER_CA_FILE"`
-		CertFile          string `toml:"cert_file" env:"ETCD_PEER_CERT_FILE"`
-		KeyFile           string `toml:"key_file" env:"ETCD_PEER_KEY_FILE"`
-		HeartbeatInterval int    `toml:"heartbeat_interval" env:"ETCD_PEER_HEARTBEAT_INTERVAL"`
-		ElectionTimeout   int    `toml:"election_timeout" env:"ETCD_PEER_ELECTION_TIMEOUT"`
-	}
-	strTrace     string `toml:"trace" env:"ETCD_TRACE"`
-	GraphiteHost string `toml:"graphite_host" env:"ETCD_GRAPHITE_HOST"`
+		Addr              string `env:"ETCD_PEER_ADDR"`
+		BindAddr          string `env:"ETCD_PEER_BIND_ADDR"`
+		CAFile            string `env:"ETCD_PEER_CA_FILE"`
+		CertFile          string `env:"ETCD_PEER_CERT_FILE"`
+		KeyFile           string `env:"ETCD_PEER_KEY_FILE"`
+		HeartbeatInterval int    `env:"ETCD_PEER_HEARTBEAT_INTERVAL"`
+		ElectionTimeout   int    `env:"ETCD_PEER_ELECTION_TIMEOUT"`
+	}
+	strTrace     string `env:"ETCD_TRACE"`
+	GraphiteHost string `env:"ETCD_GRAPHITE_HOST"`
 	Cluster      struct {
-		ActiveSize   int     `toml:"active_size" env:"ETCD_CLUSTER_ACTIVE_SIZE"`
-		RemoveDelay  float64 `toml:"remove_delay" env:"ETCD_CLUSTER_REMOVE_DELAY"`
-		SyncInterval float64 `toml:"sync_interval" env:"ETCD_CLUSTER_SYNC_INTERVAL"`
+		ActiveSize   int     `env:"ETCD_CLUSTER_ACTIVE_SIZE"`
+		RemoveDelay  float64 `env:"ETCD_CLUSTER_REMOVE_DELAY"`
+		SyncInterval float64 `env:"ETCD_CLUSTER_SYNC_INTERVAL"`
 	}
 }
 
@@ -103,18 +101,6 @@ func (c *Config) Load(arguments []string) error {
 	f.StringVar(&path, "config", "", "path to config file")
 	f.Parse(arguments)
 
-	// Load from system file.
-	if err := c.LoadSystemFile(); err != nil {
-		return err
-	}
-
-	// Load from config file specified in arguments.
-	if path != "" {
-		if err := c.LoadFile(path); err != nil {
-			return err
-		}
-	}
-
 	// Load from the environment variables next.
 	if err := c.LoadEnv(); err != nil {
 		return err
@@ -133,20 +119,6 @@ func (c *Config) Load(arguments []string) error {
 	return nil
 }
 
-// Loads from the system etcd configuration file if it exists.
-func (c *Config) LoadSystemFile() error {
-	if _, err := os.Stat(c.SystemPath); os.IsNotExist(err) {
-		return nil
-	}
-	return c.LoadFile(c.SystemPath)
-}
-
-// Loads configuration from a file.
-func (c *Config) LoadFile(path string) error {
-	_, err := toml.DecodeFile(path, &c)
-	return err
-}
-
 // LoadEnv loads the configuration via environment variables.
 func (c *Config) LoadEnv() error {
 	if err := c.loadEnv(c); err != nil {

+ 0 - 82
config/config_test.go

@@ -5,77 +5,9 @@ import (
 	"os"
 	"testing"
 
-	"github.com/coreos/etcd/third_party/github.com/BurntSushi/toml"
 	"github.com/coreos/etcd/third_party/github.com/stretchr/testify/assert"
 )
 
-// Ensures that a configuration can be deserialized from TOML.
-func TestConfigTOML(t *testing.T) {
-	content := `
-		addr = "127.0.0.1:4002"
-		ca_file = "/tmp/file.ca"
-		cert_file = "/tmp/file.cert"
-		cors = ["*"]
-		cpu_profile_file = "XXX"
-		data_dir = "/tmp/data"
-		discovery = "http://example.com/foobar"
-		key_file = "/tmp/file.key"
-		bind_addr = "127.0.0.1:4003"
-		peers = ["coreos.com:4001", "coreos.com:4002"]
-		peers_file = "/tmp/peers"
-		max_cluster_size = 10
-		max_result_buffer = 512
-		max_retry_attempts = 5
-		name = "test-name"
-		http_read_timeout = 2.34
-		snapshot = true
-		verbose = true
-		very_verbose = true
-		http_write_timeout = 1.23
-
-		[peer]
-		addr = "127.0.0.1:7002"
-		ca_file = "/tmp/peer/file.ca"
-		cert_file = "/tmp/peer/file.cert"
-		key_file = "/tmp/peer/file.key"
-		bind_addr = "127.0.0.1:7003"
-
-		[cluster]
-		active_size = 5
-		remove_delay = 100.0
-		sync_interval = 10.0
-	`
-	c := New()
-	_, err := toml.Decode(content, &c)
-	assert.Nil(t, err, "")
-	assert.Equal(t, c.Addr, "127.0.0.1:4002", "")
-	assert.Equal(t, c.CAFile, "/tmp/file.ca", "")
-	assert.Equal(t, c.CertFile, "/tmp/file.cert", "")
-	assert.Equal(t, c.CorsOrigins, []string{"*"}, "")
-	assert.Equal(t, c.DataDir, "/tmp/data", "")
-	assert.Equal(t, c.Discovery, "http://example.com/foobar", "")
-	assert.Equal(t, c.HTTPReadTimeout, 2.34, "")
-	assert.Equal(t, c.HTTPWriteTimeout, 1.23, "")
-	assert.Equal(t, c.KeyFile, "/tmp/file.key", "")
-	assert.Equal(t, c.BindAddr, "127.0.0.1:4003", "")
-	assert.Equal(t, c.Peers, []string{"coreos.com:4001", "coreos.com:4002"}, "")
-	assert.Equal(t, c.PeersFile, "/tmp/peers", "")
-	assert.Equal(t, c.MaxResultBuffer, 512, "")
-	assert.Equal(t, c.MaxRetryAttempts, 5, "")
-	assert.Equal(t, c.Name, "test-name", "")
-	assert.Equal(t, c.Snapshot, true, "")
-	assert.Equal(t, c.Verbose, true, "")
-	assert.Equal(t, c.VeryVerbose, true, "")
-	assert.Equal(t, c.Peer.Addr, "127.0.0.1:7002", "")
-	assert.Equal(t, c.Peer.CAFile, "/tmp/peer/file.ca", "")
-	assert.Equal(t, c.Peer.CertFile, "/tmp/peer/file.cert", "")
-	assert.Equal(t, c.Peer.KeyFile, "/tmp/peer/file.key", "")
-	assert.Equal(t, c.Peer.BindAddr, "127.0.0.1:7003", "")
-	assert.Equal(t, c.Cluster.ActiveSize, 5, "")
-	assert.Equal(t, c.Cluster.RemoveDelay, 100.0, "")
-	assert.Equal(t, c.Cluster.SyncInterval, 10.0, "")
-}
-
 // Ensures that a configuration can be retrieved from environment variables.
 func TestConfigEnv(t *testing.T) {
 	os.Setenv("ETCD_CA_FILE", "/tmp/file.ca")
@@ -569,20 +501,6 @@ func TestConfigClusterSyncIntervalFlag(t *testing.T) {
 	assert.Equal(t, c.HTTPWriteTimeout, 1.23, "")
 }
 
-// Ensures that a system config field is overridden by a custom config field.
-func TestConfigCustomConfigOverrideSystemConfig(t *testing.T) {
-	system := `addr = "127.0.0.1:5000"`
-	custom := `addr = "127.0.0.1:6000"`
-	withTempFile(system, func(p1 string) {
-		withTempFile(custom, func(p2 string) {
-			c := New()
-			c.SystemPath = p1
-			assert.Nil(t, c.Load([]string{"-config", p2}), "")
-			assert.Equal(t, c.Addr, "127.0.0.1:6000", "")
-		})
-	})
-}
-
 // Ensures that a custom config field is overridden by an environment variable.
 func TestConfigEnvVarOverrideCustomConfig(t *testing.T) {
 	os.Setenv("ETCD_PEER_ADDR", "127.0.0.1:8000")