From 0b39c1ab256f3ebcc283f9456ef642c227b1abef Mon Sep 17 00:00:00 2001 From: Furkat Gofurov Date: Tue, 13 Feb 2024 11:05:22 +0200 Subject: [PATCH] Differentiate etcd backup location based on the parameters If S3 storage is specified and used, set the etcdSnapshotDir to S3 folder while use local directory when local storage is utilized Signed-off-by: Furkat Gofurov (cherry picked from commit 261395ea390109e7fa4637f4f15261675dfbc08e) --- pkg/rke2/config.go | 11 +++++++---- pkg/rke2/config_test.go | 7 ++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/pkg/rke2/config.go b/pkg/rke2/config.go index c2419c90..44c71051 100644 --- a/pkg/rke2/config.go +++ b/pkg/rke2/config.go @@ -310,13 +310,16 @@ func newRKE2ServerConfig(opts ServerConfigOpts) (*rke2ServerConfig, []bootstrapv }) } - rke2ServerConfig.EtcdSnapshotDir = opts.ServerConfig.Etcd.BackupConfig.Directory - rke2ServerConfig.EtcdSnapshotName = opts.ServerConfig.Etcd.BackupConfig.SnapshotName - rke2ServerConfig.EtcdSnapshotRetention = opts.ServerConfig.Etcd.BackupConfig.Retention - rke2ServerConfig.EtcdSnapshotScheduleCron = opts.ServerConfig.Etcd.BackupConfig.ScheduleCron + rke2ServerConfig.EtcdSnapshotDir = opts.ServerConfig.Etcd.BackupConfig.S3.Folder rke2ServerConfig.EtcdS3SkipSslVerify = !opts.ServerConfig.Etcd.BackupConfig.S3.EnforceSSLVerify + } else { + rke2ServerConfig.EtcdSnapshotDir = opts.ServerConfig.Etcd.BackupConfig.Directory } + rke2ServerConfig.EtcdSnapshotName = opts.ServerConfig.Etcd.BackupConfig.SnapshotName + rke2ServerConfig.EtcdSnapshotRetention = opts.ServerConfig.Etcd.BackupConfig.Retention + rke2ServerConfig.EtcdSnapshotScheduleCron = opts.ServerConfig.Etcd.BackupConfig.ScheduleCron + if opts.ServerConfig.Etcd.CustomConfig != nil { rke2ServerConfig.EtcdArgs = opts.ServerConfig.Etcd.CustomConfig.ExtraArgs rke2ServerConfig.EtcdImage = opts.ServerConfig.Etcd.CustomConfig.OverrideImage diff --git a/pkg/rke2/config_test.go b/pkg/rke2/config_test.go index 3c9cfe2d..1fae3760 100644 --- a/pkg/rke2/config_test.go +++ b/pkg/rke2/config_test.go @@ -122,6 +122,7 @@ var _ = Describe("RKE2ServerConfig", func() { Bucket: "testbucket", Region: "testregion", Endpoint: "testendpoint", + Folder: "testfolder", EnforceSSLVerify: true, }, Directory: "testdir", @@ -195,7 +196,11 @@ var _ = Describe("RKE2ServerConfig", func() { Expect(rke2ServerConfig.EtcdS3Folder).To(Equal(serverConfig.Etcd.BackupConfig.S3.Folder)) Expect(rke2ServerConfig.EtcdS3Endpoint).To(Equal(serverConfig.Etcd.BackupConfig.S3.Endpoint)) Expect(rke2ServerConfig.EtcdS3EndpointCA).To(Equal("/etc/rancher/rke2/etcd-s3-ca.crt")) - Expect(rke2ServerConfig.EtcdSnapshotDir).To(Equal(serverConfig.Etcd.BackupConfig.Directory)) + if serverConfig.Etcd.BackupConfig.S3 != nil { + Expect(rke2ServerConfig.EtcdSnapshotDir).To(Equal(serverConfig.Etcd.BackupConfig.S3.Folder)) + } else { + Expect(rke2ServerConfig.EtcdSnapshotDir).To(Equal(serverConfig.Etcd.BackupConfig.Directory)) + } Expect(rke2ServerConfig.EtcdSnapshotName).To(Equal(serverConfig.Etcd.BackupConfig.SnapshotName)) Expect(rke2ServerConfig.EtcdSnapshotRetention).To(Equal(serverConfig.Etcd.BackupConfig.Retention)) Expect(rke2ServerConfig.EtcdSnapshotScheduleCron).To(Equal(serverConfig.Etcd.BackupConfig.ScheduleCron))