From f942b902fad602662b62a44cf5d3654f8c60a974 Mon Sep 17 00:00:00 2001 From: lgtm <1gtm@users.noreply.github.com> Date: Mon, 6 Jun 2022 03:42:28 -0700 Subject: [PATCH] [cherry-pick] Make sure to fail the backup/restore sessions if license check fails. (#1192) (#1193) Signed-off-by: Emruz Hossain --- Dockerfile.dbg | 2 +- Dockerfile.in | 2 +- pkg/backup.go | 11 +++++++---- pkg/restore.go | 11 +++++++---- pkg/utils.go | 2 ++ 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/Dockerfile.dbg b/Dockerfile.dbg index c8ee45325..30490775c 100644 --- a/Dockerfile.dbg +++ b/Dockerfile.dbg @@ -36,7 +36,7 @@ RUN set -x \ && apk add --update --no-cache bash ca-certificates curl git RUN npm config set unsafe-perm true \ - && npm install -g https://github.com/stashed/elasticsearch-dump#88ffff07568743344dcfed9f51c45921e6712e2d + && npm install -g https://github.com/stashed/elasticsearch-dump#2932ffdcae8e13e4c43f410bf410e2f83c8d8b6b COPY --from=0 restic /bin/restic COPY bin/{ARG_OS}_{ARG_ARCH}/{ARG_BIN} /{ARG_BIN} diff --git a/Dockerfile.in b/Dockerfile.in index cf66b3c38..559c3df9e 100644 --- a/Dockerfile.in +++ b/Dockerfile.in @@ -36,7 +36,7 @@ RUN set -x \ && apk add --update --no-cache bash ca-certificates curl git RUN npm config set unsafe-perm true \ - && npm install -g https://github.com/stashed/elasticsearch-dump#88ffff07568743344dcfed9f51c45921e6712e2d + && npm install -g https://github.com/stashed/elasticsearch-dump#2932ffdcae8e13e4c43f410bf410e2f83c8d8b6b COPY --from=0 /restic /bin/restic COPY bin/{ARG_OS}_{ARG_ARCH}/{ARG_BIN} /{ARG_BIN} diff --git a/pkg/backup.go b/pkg/backup.go index 640493bf7..0d14ab6bd 100644 --- a/pkg/backup.go +++ b/pkg/backup.go @@ -68,10 +68,8 @@ func NewCmdBackup() *cobra.Command { if err != nil { return err } - err = license.CheckLicenseEndpoint(config, licenseApiService, SupportedProducts) - if err != nil { - return err - } + opt.config = config + opt.kubeClient, err = kubernetes.NewForConfig(config) if err != nil { return err @@ -156,6 +154,11 @@ func NewCmdBackup() *cobra.Command { func (opt *esOptions) backupElasticsearch(targetRef api_v1beta1.TargetRef) (*restic.BackupOutput, error) { var err error + err = license.CheckLicenseEndpoint(opt.config, licenseApiService, SupportedProducts) + if err != nil { + return nil, err + } + opt.setupOptions.StorageSecret, err = opt.kubeClient.CoreV1().Secrets(opt.storageSecret.Namespace).Get(context.TODO(), opt.storageSecret.Name, metav1.GetOptions{}) if err != nil { return nil, err diff --git a/pkg/restore.go b/pkg/restore.go index dcef02a35..d9e86213b 100644 --- a/pkg/restore.go +++ b/pkg/restore.go @@ -64,10 +64,8 @@ func NewCmdRestore() *cobra.Command { if err != nil { return err } - err = license.CheckLicenseEndpoint(config, licenseApiService, SupportedProducts) - if err != nil { - return err - } + opt.config = config + opt.kubeClient, err = kubernetes.NewForConfig(config) if err != nil { return err @@ -139,6 +137,11 @@ func NewCmdRestore() *cobra.Command { func (opt *esOptions) restoreElasticsearch(targetRef api_v1beta1.TargetRef) (*restic.RestoreOutput, error) { var err error + err = license.CheckLicenseEndpoint(opt.config, licenseApiService, SupportedProducts) + if err != nil { + return nil, err + } + opt.setupOptions.StorageSecret, err = opt.kubeClient.CoreV1().Secrets(opt.storageSecret.Namespace).Get(context.TODO(), opt.storageSecret.Name, metav1.GetOptions{}) if err != nil { return nil, err diff --git a/pkg/utils.go b/pkg/utils.go index fc417397c..202aa4ae9 100644 --- a/pkg/utils.go +++ b/pkg/utils.go @@ -33,6 +33,7 @@ import ( core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" + restclient "k8s.io/client-go/rest" "k8s.io/klog/v2" kmapi "kmodules.xyz/client-go/api/v1" meta_util "kmodules.xyz/client-go/meta" @@ -66,6 +67,7 @@ type esOptions struct { setupOptions restic.SetupOptions backupOptions restic.BackupOptions restoreOptions restic.RestoreOptions + config *restclient.Config } type sessionWrapper struct { sh *shell.Session