Skip to content
This repository has been archived by the owner on Mar 4, 2024. It is now read-only.

Commit

Permalink
EVEREST-386: backup name is required (#134)
Browse files Browse the repository at this point in the history
  • Loading branch information
Michal Kralik authored Sep 13, 2023
1 parent ff2ef40 commit c3e3814
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 8 deletions.
26 changes: 26 additions & 0 deletions cli-tests/tests/flow/validation.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// percona-everest-cli
// Copyright (C) 2023 Percona LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import { test } from '@fixtures';

test.describe('Backups', async () => {
test('backup.name is required', async ({ page, cli, request }) => {
const out = await cli.everestExecSkipWizard(`install operators --backup.enable --monitoring.enable=0 --name=cluster-name`);

await out.exitCodeEquals(1);
await out.outErrContainsNormalizedMany([
'Backup name cannot be empty',
]);
});
});
30 changes: 22 additions & 8 deletions pkg/install/operators.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,14 +186,8 @@ func NewOperators(c OperatorsConfig, l *zap.SugaredLogger) (*Operators, error) {

// Run runs the operators installation process.
func (o *Operators) Run(ctx context.Context) error {
if !o.config.SkipWizard {
if err := o.runWizard(ctx); err != nil {
return err
}
}

if o.config.Name == "" {
o.config.Name = o.kubeClient.ClusterName()
if err := o.populateConfig(ctx); err != nil {
return err
}

if o.everestClient == nil {
Expand Down Expand Up @@ -224,6 +218,26 @@ func (o *Operators) Run(ctx context.Context) error {
return o.performProvisioning(ctx)
}

func (o *Operators) populateConfig(ctx context.Context) error {
if !o.config.SkipWizard {
if err := o.runWizard(ctx); err != nil {
return err
}
}

if o.config.Name == "" {
o.config.Name = o.kubeClient.ClusterName()
}

if o.config.Backup.Enable && o.config.Backup.Name == "" {
l := o.l.WithOptions(zap.AddStacktrace(zap.DPanicLevel))
l.Error("Backup name cannot be empty if backup is enabled")
return common.ErrExitWithError
}

return nil
}

func (o *Operators) checkEverestConnection(ctx context.Context) error {
o.l.Info("Checking connection to Everest")
_, err := o.everestClient.ListMonitoringInstances(ctx)
Expand Down

0 comments on commit c3e3814

Please sign in to comment.