aboutsummaryrefslogtreecommitdiff
path: root/weed/command
diff options
context:
space:
mode:
Diffstat (limited to 'weed/command')
-rw-r--r--weed/command/filer.go4
-rw-r--r--weed/command/filer_meta_backup.go4
-rw-r--r--weed/command/filer_remote_gateway.go4
-rw-r--r--weed/command/filer_remote_sync.go4
-rw-r--r--weed/command/s3.go3
-rw-r--r--weed/command/server.go1
6 files changed, 20 insertions, 0 deletions
diff --git a/weed/command/filer.go b/weed/command/filer.go
index 7418a189b..888dc2d03 100644
--- a/weed/command/filer.go
+++ b/weed/command/filer.go
@@ -93,6 +93,7 @@ func init() {
filerS3Options.port = cmdFiler.Flag.Int("s3.port", 8333, "s3 server http listen port")
filerS3Options.portGrpc = cmdFiler.Flag.Int("s3.port.grpc", 0, "s3 server grpc listen port")
filerS3Options.domainName = cmdFiler.Flag.String("s3.domainName", "", "suffix of the host name in comma separated list, {bucket}.{domainName}")
+ filerS3Options.dataCenter = cmdFiler.Flag.String("s3.dataCenter", "", "prefer to read and write to volumes in this data center")
filerS3Options.tlsPrivateKey = cmdFiler.Flag.String("s3.key.file", "", "path to the TLS private key file")
filerS3Options.tlsCertificate = cmdFiler.Flag.String("s3.cert.file", "", "path to the TLS certificate file")
filerS3Options.config = cmdFiler.Flag.String("s3.config", "", "path to the config file")
@@ -167,6 +168,9 @@ func runFiler(cmd *Command, args []string) bool {
filerS3Options.filer = &filerAddress
filerS3Options.bindIp = f.bindIp
filerS3Options.localFilerSocket = f.localSocket
+ if *f.dataCenter != "" && *filerS3Options.dataCenter == "" {
+ filerS3Options.dataCenter = f.dataCenter
+ }
go func() {
time.Sleep(startDelay * time.Second)
filerS3Options.startS3Server()
diff --git a/weed/command/filer_meta_backup.go b/weed/command/filer_meta_backup.go
index 05ad5ec2f..e0f23ee27 100644
--- a/weed/command/filer_meta_backup.go
+++ b/weed/command/filer_meta_backup.go
@@ -234,3 +234,7 @@ func (metaBackup *FilerMetaBackupOptions) WithFilerClient(streamingMode bool, fn
func (metaBackup *FilerMetaBackupOptions) AdjustedUrl(location *filer_pb.Location) string {
return location.Url
}
+
+func (metaBackup *FilerMetaBackupOptions) GetDataCenter() string {
+ return ""
+}
diff --git a/weed/command/filer_remote_gateway.go b/weed/command/filer_remote_gateway.go
index 8d9421d8e..6446d28d0 100644
--- a/weed/command/filer_remote_gateway.go
+++ b/weed/command/filer_remote_gateway.go
@@ -43,6 +43,10 @@ func (option *RemoteGatewayOptions) AdjustedUrl(location *filer_pb.Location) str
return location.Url
}
+func (option *RemoteGatewayOptions) GetDataCenter() string {
+ return ""
+}
+
var (
remoteGatewayOptions RemoteGatewayOptions
)
diff --git a/weed/command/filer_remote_sync.go b/weed/command/filer_remote_sync.go
index e7f6f971b..84d2f0e91 100644
--- a/weed/command/filer_remote_sync.go
+++ b/weed/command/filer_remote_sync.go
@@ -33,6 +33,10 @@ func (option *RemoteSyncOptions) AdjustedUrl(location *filer_pb.Location) string
return location.Url
}
+func (option *RemoteSyncOptions) GetDataCenter() string {
+ return ""
+}
+
var (
remoteSyncOptions RemoteSyncOptions
)
diff --git a/weed/command/s3.go b/weed/command/s3.go
index 8e88bfc2c..4bcb9527b 100644
--- a/weed/command/s3.go
+++ b/weed/command/s3.go
@@ -39,6 +39,7 @@ type S3Options struct {
allowDeleteBucketNotEmpty *bool
auditLogConfig *string
localFilerSocket *string
+ dataCenter *string
}
func init() {
@@ -48,6 +49,7 @@ func init() {
s3StandaloneOptions.port = cmdS3.Flag.Int("port", 8333, "s3 server http listen port")
s3StandaloneOptions.portGrpc = cmdS3.Flag.Int("port.grpc", 0, "s3 server grpc listen port")
s3StandaloneOptions.domainName = cmdS3.Flag.String("domainName", "", "suffix of the host name in comma separated list, {bucket}.{domainName}")
+ s3StandaloneOptions.dataCenter = cmdS3.Flag.String("dataCenter", "", "prefer to read and write to volumes in this data center")
s3StandaloneOptions.config = cmdS3.Flag.String("config", "", "path to the config file")
s3StandaloneOptions.auditLogConfig = cmdS3.Flag.String("auditLogConfig", "", "path to the audit log config file")
s3StandaloneOptions.tlsPrivateKey = cmdS3.Flag.String("key.file", "", "path to the TLS private key file")
@@ -193,6 +195,7 @@ func (s3opt *S3Options) startS3Server() bool {
AllowEmptyFolder: *s3opt.allowEmptyFolder,
AllowDeleteBucketNotEmpty: *s3opt.allowDeleteBucketNotEmpty,
LocalFilerSocket: s3opt.localFilerSocket,
+ DataCenter: *s3opt.dataCenter,
})
if s3ApiServer_err != nil {
glog.Fatalf("S3 API Server startup error: %v", s3ApiServer_err)
diff --git a/weed/command/server.go b/weed/command/server.go
index f7cfa4805..d4c7fb64e 100644
--- a/weed/command/server.go
+++ b/weed/command/server.go
@@ -221,6 +221,7 @@ func runServer(cmd *Command, args []string) bool {
filerOptions.rack = serverRack
mqBrokerOptions.dataCenter = serverDataCenter
mqBrokerOptions.rack = serverRack
+ s3Options.dataCenter = serverDataCenter
filerOptions.disableHttp = serverDisableHttp
masterOptions.disableHttp = serverDisableHttp