diff --git a/doc/BackupAndRestore.md b/doc/BackupAndRestore.md index 313dad8e60..265058f1c0 100644 --- a/doc/BackupAndRestore.md +++ b/doc/BackupAndRestore.md @@ -50,7 +50,7 @@ access to the location where you are storing backups. -ceph_backup_storage_config - For the ceph plugin, this identifies the path to a text file with a JSON object as configuration. The JSON object requires the following keys: accessKey, secretKey and endPoint. Bucket name is computed from keyspace name and is separate for different keyspaces. + For the ceph plugin, this identifies the path to a text file with a JSON object as configuration. The JSON object requires the following keys: accessKey, secretKey, endPoint and useSSL. Bucket name is computed from keyspace name and is separate for different keyspaces. -restore_from_backup diff --git a/examples/local/ceph_backup_config.json b/examples/local/ceph_backup_config.json index f16ed853f9..d71c617069 100644 --- a/examples/local/ceph_backup_config.json +++ b/examples/local/ceph_backup_config.json @@ -1,5 +1,6 @@ { "accessKey" : "AccessKey", "secretKey" : "SecretKey", - "endPoint" : "URL" + "endPoint" : "URL", + "useSSL" : true } diff --git a/go/vt/mysqlctl/cephbackupstorage/ceph.go b/go/vt/mysqlctl/cephbackupstorage/ceph.go index 30b331d8ee..5eb5632634 100644 --- a/go/vt/mysqlctl/cephbackupstorage/ceph.go +++ b/go/vt/mysqlctl/cephbackupstorage/ceph.go @@ -30,6 +30,7 @@ var storageConfig struct { AccessKey string `json:"accessKey"` SecretKey string `json:"secretKey"` EndPoint string `json:"endPoint"` + UseSSL bool `json:"useSSL"` } // CephBackupHandle implements BackupHandle for Ceph Cloud Storage. @@ -135,6 +136,10 @@ func (bs *CephBackupStorage) ListBackups(dir string) ([]backupstorage.BackupHand doneCh := make(chan struct{}) for object := range c.ListObjects(bucket, searchPrefix, false, doneCh) { if object.Err != nil { + err := c.BucketExists(bucket) + if err != nil { + return nil, nil + } return nil, object.Err } subdir := strings.TrimPrefix(object.Key, searchPrefix) @@ -246,8 +251,9 @@ func (bs *CephBackupStorage) client() (*minio.Client, error) { accessKey := storageConfig.AccessKey secretKey := storageConfig.SecretKey url := storageConfig.EndPoint + useSSL := storageConfig.UseSSL - client, err := minio.NewV2(url, accessKey, secretKey, true) + client, err := minio.NewV2(url, accessKey, secretKey, useSSL) if err != nil { return nil, err } diff --git a/vendor/vendor.json b/vendor/vendor.json index b2bb6c0da9..d3abde91dc 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -449,10 +449,12 @@ "revisionTime": "2016-04-24T11:30:07Z" }, { - "checksumSHA1": "FR9klLOXPp3dMRN8Y0nzSbNynVk=", + "checksumSHA1": "FPCHcnP9aY7A/69F8bbOJGqZoxo=", "path": "github.com/minio/minio-go", - "revision": "17b4ebd52505bde655e3b14df732e31850641bb7", - "revisionTime": "2016-04-14T21:22:01Z" + "revision": "9f282f76643244430e3d0b69dc7285628a8db8a7", + "revisionTime": "2016-07-19T21:19:03Z", + "version": "v2.0.1", + "versionExact": "v2.0.1" }, { "checksumSHA1": "fb3i4XcL9StitSFLi/5pgGtRXDk=",