From 5b431ca531dea0f0607f15d06f54891793cb72b1 Mon Sep 17 00:00:00 2001 From: Brad Davidson Date: Fri, 19 Apr 2024 17:33:50 +0000 Subject: [PATCH] Fix on-demand snapshots not honoring folder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also fix etcd s3 tests to actually check that the files are saved to s3 🙃 Signed-off-by: Brad Davidson --- pkg/etcd/snapshot_handler.go | 7 ++++--- tests/e2e/s3/Vagrantfile | 5 +++-- tests/e2e/s3/s3_test.go | 9 +++++---- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/pkg/etcd/snapshot_handler.go b/pkg/etcd/snapshot_handler.go index 6532f42c0f..a7f3364548 100644 --- a/pkg/etcd/snapshot_handler.go +++ b/pkg/etcd/snapshot_handler.go @@ -170,14 +170,15 @@ func (e *ETCD) withRequest(sr *SnapshotRequest) *ETCD { } if sr.S3 != nil { re.config.EtcdS3 = true - re.config.EtcdS3BucketName = sr.S3.Bucket re.config.EtcdS3AccessKey = sr.S3.AccessKey - re.config.EtcdS3SecretKey = sr.S3.SecretKey + re.config.EtcdS3BucketName = sr.S3.Bucket re.config.EtcdS3Endpoint = sr.S3.Endpoint re.config.EtcdS3EndpointCA = sr.S3.EndpointCA - re.config.EtcdS3SkipSSLVerify = sr.S3.SkipSSLVerify + re.config.EtcdS3Folder = sr.S3.Folder re.config.EtcdS3Insecure = sr.S3.Insecure re.config.EtcdS3Region = sr.S3.Region + re.config.EtcdS3SecretKey = sr.S3.SecretKey + re.config.EtcdS3SkipSSLVerify = sr.S3.SkipSSLVerify re.config.EtcdS3Timeout = sr.S3.Timeout.Duration } return re diff --git a/tests/e2e/s3/Vagrantfile b/tests/e2e/s3/Vagrantfile index c1746cf751..11f2f7eeb7 100644 --- a/tests/e2e/s3/Vagrantfile +++ b/tests/e2e/s3/Vagrantfile @@ -29,7 +29,7 @@ def provision(vm, role, role_num, node_num) runS3mock = <<~'SCRIPT' - docker run -p 9090:9090 -p 9191:9191 -d -e initialBuckets=test -e debug=true -t adobe/s3mock + docker run -p 9090:9090 -p 9191:9191 -d -e initialBuckets=test-bucket -e debug=true -t adobe/s3mock SCRIPT @@ -45,7 +45,8 @@ def provision(vm, role, role_num, node_num) flannel-iface: eth1 cluster-init: true etcd-s3-insecure: true - etcd-s3-bucket: test + etcd-s3-bucket: test-bucket + etcd-s3-folder: test-folder etcd-s3: true etcd-s3-endpoint: localhost:9090 etcd-s3-skip-ssl-verify: true diff --git a/tests/e2e/s3/s3_test.go b/tests/e2e/s3/s3_test.go index 92a287c70c..271a650a42 100644 --- a/tests/e2e/s3/s3_test.go +++ b/tests/e2e/s3/s3_test.go @@ -95,6 +95,7 @@ var _ = Describe("Verify Create", Ordered, func() { res, err := e2e.RunCmdOnNode("k3s etcd-snapshot list", serverNodeNames[0]) Expect(err).NotTo(HaveOccurred()) Expect(res).To(ContainSubstring("file:///var/lib/rancher/k3s/server/db/snapshots/on-demand-server-0")) + Expect(res).To(ContainSubstring("s3://test-bucket/test-folder/on-demand-server-0")) }) It("save 3 more s3 snapshots", func() { for _, i := range []string{"1", "2", "3"} { @@ -106,10 +107,10 @@ var _ = Describe("Verify Create", Ordered, func() { It("lists saved s3 snapshot", func() { res, err := e2e.RunCmdOnNode("k3s etcd-snapshot list", serverNodeNames[0]) Expect(err).NotTo(HaveOccurred()) - Expect(res).To(ContainSubstring("on-demand-server-0")) - Expect(res).To(ContainSubstring("special-1-server-0")) - Expect(res).To(ContainSubstring("special-2-server-0")) - Expect(res).To(ContainSubstring("special-3-server-0")) + Expect(res).To(ContainSubstring("s3://test-bucket/test-folder/on-demand-server-0")) + Expect(res).To(ContainSubstring("s3://test-bucket/test-folder/special-1-server-0")) + Expect(res).To(ContainSubstring("s3://test-bucket/test-folder/special-2-server-0")) + Expect(res).To(ContainSubstring("s3://test-bucket/test-folder/special-3-server-0")) }) It("delete first on-demand s3 snapshot", func() { _, err := e2e.RunCmdOnNode("sudo k3s etcd-snapshot ls >> ./snapshotname.txt", serverNodeNames[0])