1
0
mirror of https://github.com/gluster/glusterd2.git synced 2026-02-05 12:45:38 +01:00

config: removed default configuration file

To view the default values run `glusterd2 --help`

Signed-off-by: Aravinda VK <avishwan@redhat.com>
This commit is contained in:
Aravinda VK
2018-05-24 14:49:36 +05:30
parent 7239e4c00e
commit 049ba9f8ed
7 changed files with 44 additions and 99 deletions

2
.gitignore vendored
View File

@@ -23,5 +23,3 @@ endpoints.json
generate-doc
# Ignore vi backup files
*~
# Generated by Make
glusterd2/paths_config.go

View File

@@ -24,13 +24,14 @@ GD2CONF_INSTALL = $(DESTDIR)$(SYSCONFDIR)/$(GD2)/$(GD2_CONF)
GD2STATEDIR = $(LOCALSTATEDIR)/$(GD2)
GD2LOGDIR = $(LOGDIR)/$(GD2)
GD2RUNDIR = $(RUNDIR)/$(GD2)
DEPENV ?=
PLUGINS ?= yes
FASTBUILD ?= yes
.PHONY: all build check check-go check-reqs install vendor-update vendor-install verify release check-protoc $(GD2_BIN) $(GD2_BUILD) $(CLI_BIN) $(CLI_BUILD) cli $(GD2_CONF) gd2conf test dist dist-vendor functest generated
.PHONY: all build check check-go check-reqs install vendor-update vendor-install verify release check-protoc $(GD2_BIN) $(GD2_BUILD) $(CLI_BIN) $(CLI_BUILD) cli $(GD2_CONF) gd2conf test dist dist-vendor functest
all: build
@@ -49,17 +50,9 @@ check-reqs:
@./scripts/check-reqs.sh
@echo
generated:
@echo "Generating sources..."
@PREFIX=$(PREFIX) BASE_PREFIX=$(BASE_PREFIX) EXEC_PREFIX=$(EXEC_PREFIX) \
BINDIR=$(BINDIR) SBINDIR=$(SBINDIR) DATADIR=$(DATADIR) \
LOCALSTATEDIR=$(LOCALSTATEDIR) LOGDIR=$(LOGDIR) \
SYSCONFDIR=$(SYSCONFDIR) ./scripts/prepare_path_config.sh glusterd2
$(GD2_BIN): $(GD2_BUILD) gd2conf generated
$(GD2_BUILD): generated
@PLUGINS=$(PLUGINS) FASTBUILD=$(FASTBUILD) ./scripts/build.sh glusterd2
$(GD2_BIN): $(GD2_BUILD) gd2conf
$(GD2_BUILD):
@PLUGINS=$(PLUGINS) FASTBUILD=$(FASTBUILD) BASE_PREFIX=$(BASE_PREFIX) ./scripts/build.sh glusterd2
@echo
$(CLI_BIN) cli: $(CLI_BUILD)
@@ -69,9 +62,9 @@ $(CLI_BUILD):
@./$(CLI_BASH_COMPLETION_GEN_BIN) $(CLI_BASH_COMPLETION_BUILD)
@echo
$(GD2_CONF) gd2conf: $(GD2CONF_BUILD)
$(GD2CONF_BUILD):
@GD2STATEDIR=$(GD2STATEDIR) GD2LOGDIR=$(GD2LOGDIR) $(GD2CONF_BUILDSCRIPT)
$(GD2_CONF) gd2conf:
@GD2=$(GD2) GD2STATEDIR=$(GD2STATEDIR) GD2LOGDIR=$(GD2LOGDIR) \
GD2RUNDIR=$(GD2RUNDIR) $(GD2CONF_BUILDSCRIPT)
install:
install -D $(GD2_BUILD) $(GD2_INSTALL)
@@ -90,10 +83,10 @@ vendor-install:
@$(DEPENV) dep ensure
@echo
test: check-reqs generated
test: check-reqs
@./test.sh $(TESTOPTIONS)
functest: check-reqs generated
functest: check-reqs
@go test ./e2e -v -functest
release: build

View File

@@ -21,3 +21,4 @@ LOCALSTATEDIR ?= $(BASE_PREFIX)/var/lib
LOGDIR ?= $(BASE_PREFIX)/var/log
SYSCONFDIR ?= $(BASE_PREFIX)/etc
RUNDIR ?= $(BASE_PREFIX)/var/run

View File

@@ -7,7 +7,6 @@ import (
"net"
"os"
"path"
"path/filepath"
"github.com/gluster/glusterd2/glusterd2/gdctx"
"github.com/gluster/glusterd2/glusterd2/store"
@@ -18,39 +17,49 @@ import (
config "github.com/spf13/viper"
)
const (
defaultlogfile = "STDOUT"
defaultpeerport = "24008"
defaultpeeraddress = ":24008"
defaultclientaddress = ":24007"
defaultloglevel = "debug"
)
var (
// metrics
expConfig = expvar.NewMap("config")
)
const (
defaultLogLevel = "debug"
defaultConfName = "glusterd2"
// defaultPathPrefix is set by LDFLAGS
defaultPathPrefix = ""
defaultlocalstatedir = defaultPathPrefix + "/var/lib/glusterd2"
defaultlogdir = defaultPathPrefix + "/var/log/glusterd2"
defaultrundir = defaultPathPrefix + "/var/run/glusterd2"
)
// parseFlags sets up the flags and parses them, this needs to be called before any other operation
func parseFlags() {
flag.String("workdir", "", "Working directory for GlusterD. (default: current directory)")
flag.String("localstatedir", "", "Directory to store local state information. (default: workdir)")
flag.String("rundir", "", "Directory to store runtime data.")
flag.String("config", "", "Configuration file for GlusterD. By default looks for glusterd2.toml in [/usr/local]/etc/glusterd2 and current working directory.")
flag.String("localstatedir", defaultlocalstatedir, "Directory to store local state information.")
flag.String("rundir", defaultrundir, "Directory to store runtime data.")
flag.String("config", "", "Configuration file for GlusterD.")
flag.String(logging.DirFlag, "", logging.DirHelp+" (default: workdir/log)")
flag.String(logging.FileFlag, "STDOUT", logging.FileHelp)
flag.String(logging.LevelFlag, defaultLogLevel, logging.LevelHelp)
flag.String(logging.DirFlag, defaultlogdir, logging.DirHelp)
flag.String(logging.FileFlag, defaultlogfile, logging.FileHelp)
flag.String(logging.LevelFlag, defaultloglevel, logging.LevelHelp)
// TODO: Change default to false (disabled) in future.
flag.Bool("statedump", true, "Enable /statedump endpoint for metrics.")
flag.String("clientaddress", "", "Address to bind the REST service.")
flag.String("peeraddress", "", "Address to bind the inter glusterd2 RPC service.")
flag.String("clientaddress", defaultclientaddress, "Address to bind the REST service.")
flag.String("peeraddress", defaultpeeraddress, "Address to bind the inter glusterd2 RPC service.")
// TODO: SSL/TLS is currently only implemented for REST interface
flag.String("cert-file", "", "Certificate used for SSL/TLS connections from clients to glusterd2.")
flag.String("key-file", "", "Private key for the SSL/TLS certificate.")
// PID file
flag.String("pidfile", "", "PID file path(default: rundir/gluster/glusterd2.pid)")
flag.String("pidfile", "", "PID file path. (default \"rundir/glusterd2.pid)\"")
store.InitFlags()
@@ -65,22 +74,12 @@ func setDefaults() error {
return err
}
wd := config.GetString("workdir")
if wd == "" {
if config.GetString("workdir") == "" {
config.SetDefault("workdir", cwd)
wd = cwd
}
if config.GetString("localstatedir") == "" {
config.SetDefault("localstatedir", wd)
}
config.SetDefault("hooksdir", config.GetString("localstatedir")+"/hooks")
if config.GetString(logging.DirFlag) == "" {
config.SetDefault(logging.DirFlag, path.Join(config.GetString("localstatedir"), "log"))
}
if config.GetString("pidfile") == "" {
config.SetDefault("pidfile", path.Join(config.GetString("rundir"), "glusterd2.pid"))
}
@@ -94,7 +93,7 @@ func setDefaults() error {
host = gdctx.HostIP
}
if port == "" {
port = config.GetString("defaultpeerport")
port = defaultpeerport
}
config.Set("peeraddress", host+":"+port)
@@ -111,7 +110,10 @@ func (v valueType) String() string {
}
func dumpConfigToLog() {
log.WithField("file", config.ConfigFileUsed()).Info("loaded configuration from file")
if config.ConfigFileUsed() != "" {
log.WithField("file", config.ConfigFileUsed()).Info("loaded configuration from file")
}
l := log.NewEntry(log.StandardLogger())
for k, v := range config.AllSettings() {
@@ -129,30 +131,6 @@ func initConfig(confFile string) error {
// Limit config to toml only to avoid confusion with multiple config types
config.SetConfigType("toml")
config.SetConfigName(defaultConfName)
// Set default config dir and path if default config file exists
// Chances of not having default config file is only during development
// Add current directory to this path if default conf file exists
confdir := defaultConfDir
conffile := defaultConfDir + "/" + defaultConfName + ".toml"
if _, err := os.Stat(defaultConfDir + "/" + defaultConfName + ".toml"); os.IsNotExist(err) {
cdir, err := filepath.Abs(filepath.Dir(os.Args[0]))
if err != nil {
return err
}
confdir = cdir
conffile = cdir + "/" + defaultConfName + ".toml"
log.Info("default config file not found, loading config file from current directory")
}
config.AddConfigPath(confdir)
if err := config.MergeInConfig(); err != nil {
log.WithError(err).
WithField("file", conffile).
Error("failed to read default config file")
return err
}
// If custom configuration is passed
if confFile != "" {

View File

@@ -34,6 +34,10 @@ GIT_SHA_FULL=${GIT_SHA_FULL:-$(git rev-parse HEAD || echo "undefined")}
LDFLAGS="-X ${REPO_PATH}/version.GlusterdVersion=${VERSION} -X ${REPO_PATH}/version.GitSHA=${GIT_SHA}"
LDFLAGS+=" -B 0x${GIT_SHA_FULL}"
if [ "$BIN" == "glusterd2" ]; then
LDFLAGS+=" -X main.defaultPathPrefix=${BASE_PREFIX}"
fi
GOBUILD_TAGS=""
if [ "$PLUGINS" == "yes" ]; then
GOBUILD_TAGS+="plugins "

View File

@@ -1,21 +1,5 @@
#!/bin/bash
PREFIX=${PREFIX:-/usr/local}
BASE_PREFIX=$PREFIX
if [ "$PREFIX" = "/usr" ]; then
BASE_PREFIX=""
fi
DATADIR=${DATADIR:-$PREFIX/share}
LOCALSTATEDIR=${LOCALSTATEDIR:-$PREFIX/var/lib}
LOGDIR=${LOGDIR:-$BASE_PREFIX/var/log}
RUNDIR=${RUNDIR:-$BASE_PREFIX/var/run}
GD2="glusterd2"
GD2STATEDIR=${GD2STATEDIR:-$LOCALSTATEDIR/$GD2}
GD2LOGDIR=${GD2LOGDIR:-$LOGDIR/$GD2}
GD2RUNDIR=${GD2RUNDIR:-$RUNDIR/$GD2}
OUTDIR=${1:-build}
mkdir -p "$OUTDIR"

View File

@@ -1,13 +0,0 @@
#!/bin/bash
# Create glusterd2/paths_config.go
glusterd2dir=$1
OUTPUT=${glusterd2dir}/paths_config.go
cat >"$OUTPUT" <<EOF
package main
var defaultConfDir = "${SYSCONFDIR}/glusterd2"
EOF