aboutsummaryrefslogtreecommitdiff
path: root/weed/filer2
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-08-19 15:17:55 -0700
committerChris Lu <chris.lu@gmail.com>2018-08-19 15:17:55 -0700
commitf827ada811bb807a9cf9e3db702a01e6f8e4ae3b (patch)
treea1a18dc6e30b906bb97492aa98692003ec5a555d /weed/filer2
parentc91372daa6ddceed2ef66e6e36d986658551d237 (diff)
downloadseaweedfs-f827ada811bb807a9cf9e3db702a01e6f8e4ae3b.tar.xz
seaweedfs-f827ada811bb807a9cf9e3db702a01e6f8e4ae3b.zip
merge notification config with filer.toml
Diffstat (limited to 'weed/filer2')
-rw-r--r--weed/filer2/cassandra/cassandra_store.go3
-rw-r--r--weed/filer2/configuration.go36
-rw-r--r--weed/filer2/filerstore.go3
-rw-r--r--weed/filer2/leveldb/leveldb_store.go2
-rw-r--r--weed/filer2/memdb/memdb_store.go3
-rw-r--r--weed/filer2/mysql/mysql_store.go3
-rw-r--r--weed/filer2/postgres/postgres_store.go3
-rw-r--r--weed/filer2/redis/redis_cluster_store.go3
-rw-r--r--weed/filer2/redis/redis_store.go3
9 files changed, 20 insertions, 39 deletions
diff --git a/weed/filer2/cassandra/cassandra_store.go b/weed/filer2/cassandra/cassandra_store.go
index 7552cb524..1309cd1ee 100644
--- a/weed/filer2/cassandra/cassandra_store.go
+++ b/weed/filer2/cassandra/cassandra_store.go
@@ -5,6 +5,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/filer2"
"github.com/chrislusf/seaweedfs/weed/glog"
"github.com/gocql/gocql"
+ "github.com/chrislusf/seaweedfs/weed/util"
)
func init() {
@@ -20,7 +21,7 @@ func (store *CassandraStore) GetName() string {
return "cassandra"
}
-func (store *CassandraStore) Initialize(configuration filer2.Configuration) (err error) {
+func (store *CassandraStore) Initialize(configuration util.Configuration) (err error) {
return store.initialize(
configuration.GetString("keyspace"),
configuration.GetStringSlice("hosts"),
diff --git a/weed/filer2/configuration.go b/weed/filer2/configuration.go
index dac537673..387672311 100644
--- a/weed/filer2/configuration.go
+++ b/weed/filer2/configuration.go
@@ -4,7 +4,7 @@ import (
"os"
"github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/spf13/viper"
+ "github.com/spf13/viper"
)
const (
@@ -91,29 +91,17 @@ var (
Stores []FilerStore
)
-func (f *Filer) LoadConfiguration() {
-
- // find a filer store
- viper.SetConfigName("filer") // name of config file (without extension)
- viper.AddConfigPath(".") // optionally look for config in the working directory
- viper.AddConfigPath("$HOME/.seaweedfs") // call multiple times to add many search paths
- viper.AddConfigPath("/etc/seaweedfs/") // path to look for the config file in
- if err := viper.ReadInConfig(); err != nil { // Handle errors reading the config file
- glog.Fatalf("Failed to load filer.toml file from current directory, or $HOME/.seaweedfs/, or /etc/seaweedfs/" +
- "\n\nPlease follow this example and add a filer.toml file to " +
- "current directory, or $HOME/.seaweedfs/, or /etc/seaweedfs/:\n" + FILER_TOML_EXAMPLE)
- }
+func (f *Filer) LoadConfiguration(config *viper.Viper) {
- glog.V(0).Infof("Reading filer configuration from %s", viper.ConfigFileUsed())
for _, store := range Stores {
- if viper.GetBool(store.GetName() + ".enabled") {
- viperSub := viper.Sub(store.GetName())
+ if config.GetBool(store.GetName() + ".enabled") {
+ viperSub := config.Sub(store.GetName())
if err := store.Initialize(viperSub); err != nil {
glog.Fatalf("Failed to initialize store for %s: %+v",
store.GetName(), err)
}
f.SetStore(store)
- glog.V(0).Infof("Configure filer for %s from %s", store.GetName(), viper.ConfigFileUsed())
+ glog.V(0).Infof("Configure filer for %s", store.GetName())
return
}
}
@@ -124,19 +112,5 @@ func (f *Filer) LoadConfiguration() {
println(" " + store.GetName())
}
- println()
- println("Please configure a supported filer store in", viper.ConfigFileUsed())
- println()
-
os.Exit(-1)
}
-
-// A simplified interface to decouple from Viper
-type Configuration interface {
- GetString(key string) string
- GetBool(key string) bool
- GetInt(key string) int
- GetInt64(key string) int64
- GetFloat64(key string) float64
- GetStringSlice(key string) []string
-}
diff --git a/weed/filer2/filerstore.go b/weed/filer2/filerstore.go
index 68fc06a5d..9ef1d9d48 100644
--- a/weed/filer2/filerstore.go
+++ b/weed/filer2/filerstore.go
@@ -2,13 +2,14 @@ package filer2
import (
"errors"
+ "github.com/chrislusf/seaweedfs/weed/util"
)
type FilerStore interface {
// GetName gets the name to locate the configuration in filer.toml file
GetName() string
// Initialize initializes the file store
- Initialize(configuration Configuration) error
+ Initialize(configuration util.Configuration) error
InsertEntry(*Entry) error
UpdateEntry(*Entry) (err error)
// err == filer2.ErrNotFound if not found
diff --git a/weed/filer2/leveldb/leveldb_store.go b/weed/filer2/leveldb/leveldb_store.go
index ac2fb0d66..5f3427a3d 100644
--- a/weed/filer2/leveldb/leveldb_store.go
+++ b/weed/filer2/leveldb/leveldb_store.go
@@ -27,7 +27,7 @@ func (store *LevelDBStore) GetName() string {
return "leveldb"
}
-func (store *LevelDBStore) Initialize(configuration filer2.Configuration) (err error) {
+func (store *LevelDBStore) Initialize(configuration weed_util.Configuration) (err error) {
dir := configuration.GetString("dir")
return store.initialize(dir)
}
diff --git a/weed/filer2/memdb/memdb_store.go b/weed/filer2/memdb/memdb_store.go
index 08cee0afd..db3a86bd2 100644
--- a/weed/filer2/memdb/memdb_store.go
+++ b/weed/filer2/memdb/memdb_store.go
@@ -5,6 +5,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/filer2"
"github.com/google/btree"
"strings"
+ "github.com/chrislusf/seaweedfs/weed/util"
)
func init() {
@@ -27,7 +28,7 @@ func (store *MemDbStore) GetName() string {
return "memory"
}
-func (store *MemDbStore) Initialize(configuration filer2.Configuration) (err error) {
+func (store *MemDbStore) Initialize(configuration util.Configuration) (err error) {
store.tree = btree.New(8)
return nil
}
diff --git a/weed/filer2/mysql/mysql_store.go b/weed/filer2/mysql/mysql_store.go
index 6e0ca2b68..8adec161f 100644
--- a/weed/filer2/mysql/mysql_store.go
+++ b/weed/filer2/mysql/mysql_store.go
@@ -7,6 +7,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/filer2"
"github.com/chrislusf/seaweedfs/weed/filer2/abstract_sql"
_ "github.com/go-sql-driver/mysql"
+ "github.com/chrislusf/seaweedfs/weed/util"
)
const (
@@ -25,7 +26,7 @@ func (store *MysqlStore) GetName() string {
return "mysql"
}
-func (store *MysqlStore) Initialize(configuration filer2.Configuration) (err error) {
+func (store *MysqlStore) Initialize(configuration util.Configuration) (err error) {
return store.initialize(
configuration.GetString("username"),
configuration.GetString("password"),
diff --git a/weed/filer2/postgres/postgres_store.go b/weed/filer2/postgres/postgres_store.go
index f5904ab21..8836e2be7 100644
--- a/weed/filer2/postgres/postgres_store.go
+++ b/weed/filer2/postgres/postgres_store.go
@@ -7,6 +7,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/filer2"
"github.com/chrislusf/seaweedfs/weed/filer2/abstract_sql"
_ "github.com/lib/pq"
+ "github.com/chrislusf/seaweedfs/weed/util"
)
const (
@@ -25,7 +26,7 @@ func (store *PostgresStore) GetName() string {
return "postgres"
}
-func (store *PostgresStore) Initialize(configuration filer2.Configuration) (err error) {
+func (store *PostgresStore) Initialize(configuration util.Configuration) (err error) {
return store.initialize(
configuration.GetString("username"),
configuration.GetString("password"),
diff --git a/weed/filer2/redis/redis_cluster_store.go b/weed/filer2/redis/redis_cluster_store.go
index 02a62567c..8a3dce4b8 100644
--- a/weed/filer2/redis/redis_cluster_store.go
+++ b/weed/filer2/redis/redis_cluster_store.go
@@ -3,6 +3,7 @@ package redis
import (
"github.com/chrislusf/seaweedfs/weed/filer2"
"github.com/go-redis/redis"
+ "github.com/chrislusf/seaweedfs/weed/util"
)
func init() {
@@ -17,7 +18,7 @@ func (store *RedisClusterStore) GetName() string {
return "redis_cluster"
}
-func (store *RedisClusterStore) Initialize(configuration filer2.Configuration) (err error) {
+func (store *RedisClusterStore) Initialize(configuration util.Configuration) (err error) {
return store.initialize(
configuration.GetStringSlice("addresses"),
)
diff --git a/weed/filer2/redis/redis_store.go b/weed/filer2/redis/redis_store.go
index 85236a5af..77d157ab4 100644
--- a/weed/filer2/redis/redis_store.go
+++ b/weed/filer2/redis/redis_store.go
@@ -3,6 +3,7 @@ package redis
import (
"github.com/chrislusf/seaweedfs/weed/filer2"
"github.com/go-redis/redis"
+ "github.com/chrislusf/seaweedfs/weed/util"
)
func init() {
@@ -17,7 +18,7 @@ func (store *RedisStore) GetName() string {
return "redis"
}
-func (store *RedisStore) Initialize(configuration filer2.Configuration) (err error) {
+func (store *RedisStore) Initialize(configuration util.Configuration) (err error) {
return store.initialize(
configuration.GetString("address"),
configuration.GetString("password"),