From 1ba212d7071a66003aad198441cc7d39a6f6b03c Mon Sep 17 00:00:00 2001 From: Philip Snowberger Date: Sun, 9 Mar 2014 01:11:57 -0800 Subject: [PATCH] Add kv queue to google drive / google cloud storage sync handlers Change-Id: I978ae42dbc6ce2840071cbadaf9351498a23415f --- pkg/serverinit/genconfig.go | 18 ++++++++++++++---- pkg/serverinit/testdata/mem-want.json | 8 ++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/pkg/serverinit/genconfig.go b/pkg/serverinit/genconfig.go index 42ff3b797..46f84b2ca 100644 --- a/pkg/serverinit/genconfig.go +++ b/pkg/serverinit/genconfig.go @@ -266,7 +266,7 @@ func addS3Config(params *configPrefixesParams, prefixes jsonconfig.Obj, s3 strin return nil } -func addGoogleDriveConfig(prefixes jsonconfig.Obj, highCfg string) error { +func addGoogleDriveConfig(params *configPrefixesParams, prefixes jsonconfig.Obj, highCfg string) error { f := strings.SplitN(highCfg, ":", 4) if len(f) != 4 { return errors.New(`genconfig: expected "googledrive" field to be of form "client_id:client_secret:refresh_token:parent_id"`) @@ -309,6 +309,11 @@ func addGoogleDriveConfig(prefixes jsonconfig.Obj, highCfg string) error { "handlerArgs": map[string]interface{}{ "from": "/bs/", "to": prefix, + "queue": map[string]interface{}{ + "type": "kv", + "file": filepath.Join(params.blobPath, + "sync-to-googledrive-queue.kv"), + }, }, } } @@ -316,7 +321,7 @@ func addGoogleDriveConfig(prefixes jsonconfig.Obj, highCfg string) error { return nil } -func addGoogleCloudStorageConfig(prefixes jsonconfig.Obj, highCfg string) error { +func addGoogleCloudStorageConfig(params *configPrefixesParams, prefixes jsonconfig.Obj, highCfg string) error { f := strings.SplitN(highCfg, ":", 4) if len(f) != 4 { return errors.New(`genconfig: expected "googlecloudstorage" field to be of form "client_id:client_secret:refresh_token:bucket"`) @@ -365,6 +370,11 @@ func addGoogleCloudStorageConfig(prefixes jsonconfig.Obj, highCfg string) error "handlerArgs": map[string]interface{}{ "from": "/bs/", "to": gsPrefix, + "queue": map[string]interface{}{ + "type": "kv", + "file": filepath.Join(params.blobPath, + "sync-to-googlecloud-queue.kv"), + }, }, } } @@ -686,12 +696,12 @@ func genLowLevelConfig(conf *serverconfig.Config) (lowLevelConf *Config, err err } } if conf.GoogleDrive != "" { - if err := addGoogleDriveConfig(prefixes, conf.GoogleDrive); err != nil { + if err := addGoogleDriveConfig(prefixesParams, prefixes, conf.GoogleDrive); err != nil { return nil, err } } if conf.GoogleCloudStorage != "" { - if err := addGoogleCloudStorageConfig(prefixes, conf.GoogleCloudStorage); err != nil { + if err := addGoogleCloudStorageConfig(prefixesParams, prefixes, conf.GoogleCloudStorage); err != nil { return nil, err } } diff --git a/pkg/serverinit/testdata/mem-want.json b/pkg/serverinit/testdata/mem-want.json index ee07545a9..e32a1c6e5 100644 --- a/pkg/serverinit/testdata/mem-want.json +++ b/pkg/serverinit/testdata/mem-want.json @@ -114,6 +114,10 @@ "handler": "sync", "handlerArgs": { "from": "/bs/", + "queue": { + "file": "/tmp/blobs/sync-to-googlecloud-queue.kv", + "type": "kv" + }, "to": "/sto-googlecloudstorage/" } }, @@ -121,6 +125,10 @@ "handler": "sync", "handlerArgs": { "from": "/bs/", + "queue": { + "file": "/tmp/blobs/sync-to-googledrive-queue.kv", + "type": "kv" + }, "to": "/sto-googledrive/" } },