Skip to content

Commit 9f6da60

Browse files
authored
feat(cli): demo command for easier cluster creation (#599)
1 parent c912f32 commit 9f6da60

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+863
-295
lines changed

go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ require (
1818
github.com/gorilla/websocket v1.5.0
1919
github.com/hashicorp/golang-lru/v2 v2.0.7
2020
github.com/jmoiron/sqlx v1.3.5
21+
github.com/manifoldco/promptui v0.9.0
2122
github.com/mattn/go-isatty v0.0.20
2223
github.com/mcuadros/go-defaults v1.2.0
2324
github.com/mitchellh/mapstructure v1.5.0
@@ -62,6 +63,7 @@ require (
6263
github.com/cespare/xxhash/v2 v2.3.0 // indirect
6364
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
6465
github.com/chenzhuoyu/iasm v0.9.1 // indirect
66+
github.com/chzyer/readline v1.5.1 // indirect
6567
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
6668
github.com/dennwc/varint v1.0.0 // indirect
6769
github.com/edsrzf/mmap-go v1.1.0 // indirect

go.sum

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,14 @@ github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLI
9797
github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0=
9898
github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog=
9999
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
100+
github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM=
101+
github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ=
100102
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
103+
github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI=
104+
github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk=
101105
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
106+
github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04=
107+
github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8=
102108
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
103109
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
104110
github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ=
@@ -420,6 +426,8 @@ github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0V
420426
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
421427
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
422428
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
429+
github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA=
430+
github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg=
423431
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
424432
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
425433
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
@@ -734,6 +742,7 @@ golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
734742
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
735743
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
736744
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
745+
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
737746
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
738747
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
739748
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -772,6 +781,7 @@ golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBc
772781
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
773782
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
774783
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
784+
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
775785
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
776786
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
777787
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

internal/cli/backup/create.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ import (
2929

3030
apitypes "github.com/oceanbase/ob-operator/api/types"
3131
"github.com/oceanbase/ob-operator/api/v1alpha1"
32-
"github.com/oceanbase/ob-operator/internal/cli/cmd/util"
3332
"github.com/oceanbase/ob-operator/internal/cli/generic"
33+
"github.com/oceanbase/ob-operator/internal/cli/utils"
34+
3435
"github.com/oceanbase/ob-operator/internal/clients"
3536
oceanbaseconst "github.com/oceanbase/ob-operator/internal/const/oceanbase"
3637
"github.com/oceanbase/ob-operator/pkg/k8s/client"
@@ -108,7 +109,7 @@ func CreateTenantBackupPolicy(ctx context.Context, o *CreateOptions) (*v1alpha1.
108109
return nil, err
109110
}
110111
// Check tenant status
111-
if err := util.CheckTenantStatus(tenant); err != nil {
112+
if err := utils.CheckTenantStatus(tenant); err != nil {
112113
return nil, err
113114
}
114115
// Check if backup policy already exists

internal/cli/backup/update.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import (
2222
"github.com/spf13/pflag"
2323
"k8s.io/apimachinery/pkg/types"
2424

25-
"github.com/oceanbase/ob-operator/internal/cli/cmd/util"
2625
"github.com/oceanbase/ob-operator/internal/cli/generic"
26+
"github.com/oceanbase/ob-operator/internal/cli/utils"
2727
"github.com/oceanbase/ob-operator/internal/clients"
2828
)
2929

@@ -50,7 +50,7 @@ func UpdateTenantBackupPolicy(ctx context.Context, o *UpdateOptions) error {
5050
if err != nil {
5151
return err
5252
}
53-
if err := util.CheckTenantStatus(obtenant); err != nil {
53+
if err := utils.CheckTenantStatus(obtenant); err != nil {
5454
return err
5555
}
5656
policy, err := clients.GetTenantBackupPolicy(ctx, nn)

internal/cli/cli.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818

1919
"github.com/oceanbase/ob-operator/internal/cli/cmd/backup"
2020
"github.com/oceanbase/ob-operator/internal/cli/cmd/cluster"
21+
"github.com/oceanbase/ob-operator/internal/cli/cmd/demo"
2122
"github.com/oceanbase/ob-operator/internal/cli/cmd/install"
2223
"github.com/oceanbase/ob-operator/internal/cli/cmd/tenant"
2324
"github.com/oceanbase/ob-operator/internal/cli/cmd/update"
@@ -45,6 +46,7 @@ func NewCliCmd() *cobra.Command {
4546
cmd.AddCommand(backup.NewCmd())
4647
cmd.AddCommand(install.NewCmd())
4748
cmd.AddCommand(update.NewCmd())
49+
cmd.AddCommand(demo.NewCmd())
4850
cmd.Flags().BoolP("version", "v", false, "Print the version of oceanbase cli")
4951
return cmd
5052
}

internal/cli/cluster/create.go

Lines changed: 55 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,23 @@ See the Mulan PSL v2 for more details.
1414
package cluster
1515

1616
import (
17-
"errors"
17+
"context"
1818
"fmt"
1919

20-
apitypes "github.com/oceanbase/ob-operator/api/types"
21-
"github.com/oceanbase/ob-operator/api/v1alpha1"
22-
oceanbaseconst "github.com/oceanbase/ob-operator/internal/const/oceanbase"
23-
"github.com/oceanbase/ob-operator/internal/dashboard/business/common"
24-
"github.com/oceanbase/ob-operator/internal/dashboard/business/constant"
25-
20+
"github.com/pkg/errors"
2621
"github.com/spf13/cobra"
2722
"github.com/spf13/pflag"
2823
corev1 "k8s.io/api/core/v1"
2924
apiresource "k8s.io/apimachinery/pkg/api/resource"
3025
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3126

27+
apitypes "github.com/oceanbase/ob-operator/api/types"
28+
"github.com/oceanbase/ob-operator/api/v1alpha1"
29+
"github.com/oceanbase/ob-operator/internal/clients"
30+
oceanbaseconst "github.com/oceanbase/ob-operator/internal/const/oceanbase"
31+
"github.com/oceanbase/ob-operator/internal/dashboard/business/common"
32+
"github.com/oceanbase/ob-operator/internal/dashboard/business/constant"
33+
3234
"github.com/oceanbase/ob-operator/internal/cli/generic"
3335
utils "github.com/oceanbase/ob-operator/internal/cli/utils"
3436
modelcommon "github.com/oceanbase/ob-operator/internal/dashboard/model/common"
@@ -75,7 +77,7 @@ func (o *CreateOptions) Validate() error {
7577
return nil
7678
}
7779

78-
func (o *CreateOptions) Parse(_ *cobra.Command, args []string) error {
80+
func (o *CreateOptions) Parse(cmd *cobra.Command, args []string) error {
7981
// Parse the zone topology
8082
topology, err := utils.MapZonesToTopology(o.Zones)
8183
if err != nil {
@@ -93,6 +95,7 @@ func (o *CreateOptions) Parse(_ *cobra.Command, args []string) error {
9395
o.Parameters = parameters
9496
o.Topology = topology
9597
o.Name = args[0]
98+
o.Cmd = cmd
9699
return nil
97100
}
98101

@@ -263,38 +266,66 @@ func buildMonitorTemplate(monitorSpec *param.MonitorSpec) *apitypes.MonitorTempl
263266
return monitorTemplate
264267
}
265268

266-
// CreateOBClusterInstance creates an OBClusterInstance
267-
func CreateOBClusterInstance(param *CreateOptions) *v1alpha1.OBCluster {
268-
observerTemplate := buildOBServerTemplate(param.OBServer)
269-
monitorTemplate := buildMonitorTemplate(param.Monitor)
270-
backupVolume := buildBackupVolume(param.BackupVolume)
271-
parameters := buildOBClusterParameters(param.Parameters)
272-
topology := buildOBClusterTopology(param.Topology)
269+
// CreateOBCluster creates an OBCluster
270+
func CreateOBCluster(ctx context.Context, o *CreateOptions) (*v1alpha1.OBCluster, error) {
271+
observerTemplate := buildOBServerTemplate(o.OBServer)
272+
monitorTemplate := buildMonitorTemplate(o.Monitor)
273+
backupVolume := buildBackupVolume(o.BackupVolume)
274+
parameters := buildOBClusterParameters(o.Parameters)
275+
topology := buildOBClusterTopology(o.Topology)
273276
obcluster := &v1alpha1.OBCluster{
274277
ObjectMeta: metav1.ObjectMeta{
275-
Namespace: param.Namespace,
276-
Name: param.Name,
278+
Namespace: o.Namespace,
279+
Name: o.Name,
277280
Annotations: map[string]string{},
278281
},
279282
Spec: v1alpha1.OBClusterSpec{
280-
ClusterName: param.ClusterName,
281-
ClusterId: param.ClusterId,
283+
ClusterName: o.ClusterName,
284+
ClusterId: o.ClusterId,
282285
OBServerTemplate: observerTemplate,
283286
MonitorTemplate: monitorTemplate,
284287
BackupVolume: backupVolume,
285288
Parameters: parameters,
286289
Topology: topology,
287-
UserSecrets: utils.GenerateUserSecrets(param.Name, param.ClusterId),
290+
UserSecrets: utils.GenerateUserSecrets(o.Name, o.ClusterId),
288291
},
289292
}
290-
switch param.Mode {
293+
switch o.Mode {
291294
case string(modelcommon.ClusterModeStandalone):
292295
obcluster.Annotations[oceanbaseconst.AnnotationsMode] = oceanbaseconst.ModeStandalone
293296
case string(modelcommon.ClusterModeService):
294297
obcluster.Annotations[oceanbaseconst.AnnotationsMode] = oceanbaseconst.ModeService
295298
default:
296299
}
297-
return obcluster
300+
if err := CreateSecretsForOBCluster(ctx, obcluster, o.RootPassword); err != nil {
301+
return nil, err
302+
}
303+
obcluster, err := clients.CreateOBCluster(ctx, obcluster)
304+
if err != nil {
305+
return nil, err
306+
}
307+
return obcluster, nil
308+
}
309+
310+
// CreateSecretsForOBCluster creates secrets for OBCluster
311+
func CreateSecretsForOBCluster(ctx context.Context, obcluster *v1alpha1.OBCluster, rootPass string) error {
312+
err := utils.CreatePasswordSecret(ctx, obcluster.Namespace, obcluster.Spec.UserSecrets.Root, rootPass)
313+
if err != nil {
314+
return errors.Wrap(err, "Create secret for user root")
315+
}
316+
err = utils.CreatePasswordSecret(ctx, obcluster.Namespace, obcluster.Spec.UserSecrets.Monitor, utils.GenerateNaivePassword())
317+
if err != nil {
318+
return errors.Wrap(err, "Create secret for user monitor")
319+
}
320+
err = utils.CreatePasswordSecret(ctx, obcluster.Namespace, obcluster.Spec.UserSecrets.ProxyRO, utils.GenerateNaivePassword())
321+
if err != nil {
322+
return errors.Wrap(err, "Create secret for user proxyro")
323+
}
324+
err = utils.CreatePasswordSecret(ctx, obcluster.Namespace, obcluster.Spec.UserSecrets.Operator, utils.GenerateNaivePassword())
325+
if err != nil {
326+
return errors.Wrap(err, "Create secret for user operator")
327+
}
328+
return nil
298329
}
299330

300331
// AddFlags adds base and specific feature flags, Only support observer and zone config
@@ -319,7 +350,7 @@ func (o *CreateOptions) AddBaseFlags(cmd *cobra.Command) {
319350
baseFlags.StringVarP(&o.ClusterName, FLAG_CLUSTER_NAME, "n", "", "Cluster name, if not specified, use resource name in k8s instead")
320351
baseFlags.StringVar(&o.Namespace, FLAG_NAMESPACE, DEFAULT_NAMESPACE, "The namespace of the cluster")
321352
baseFlags.Int64Var(&o.ClusterId, FLAG_CLUSTER_ID, DEFAULT_ID, "The id of the cluster")
322-
baseFlags.StringVarP(&o.RootPassword, FLAG_ROOTPASSWD, "p", "", "The root password of the cluster")
353+
baseFlags.StringVarP(&o.RootPassword, FLAG_ROOT_PASSWORD, "p", "", "The root password of the cluster")
323354
baseFlags.StringVar(&o.Mode, FLAG_MODE, "", "The mode of the cluster")
324355
}
325356

@@ -358,6 +389,6 @@ func (o *CreateOptions) AddBackupVolumeFlags(cmd *cobra.Command) {
358389
// AddParameterFlags adds the parameter-related flags, e.g. __min_full_resource_pool_memory, to the command
359390
func (o *CreateOptions) AddParameterFlags(cmd *cobra.Command) {
360391
parameterFlags := pflag.NewFlagSet(FLAGSET_PARAMETERS, pflag.ContinueOnError)
361-
parameterFlags.StringToStringVar(&o.KvParameters, FLAG_PARAMETERS, map[string]string{"__min_full_resource_pool_memory": DEFAULT_MIN_FULL_RESOURCE_POOL_MEMORY, "system_memory": DEFAULT_MIN_SYSTEM_MEMORY}, "Other parameter settings in OBCluster, e.g., __min_full_resource_pool_memory")
392+
parameterFlags.StringToStringVar(&o.KvParameters, FLAG_PARAMETERS, map[string]string{FLAG_MIN_FULL_RESOURCE_POOL_MEMORY: DEFAULT_MIN_FULL_RESOURCE_POOL_MEMORY, FLAG_SYSTEM_MEMORY: DEFAULT_SYSTEM_MEMORY}, "Other parameter settings in OBCluster, e.g., __min_full_resource_pool_memory")
362393
cmd.Flags().AddFlagSet(parameterFlags)
363394
}

internal/cli/cluster/enter.go

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ const (
2323
FLAGSET_PARAMETERS = "parameters"
2424

2525
// Flags for all the commands in cluster management
26-
FLAG_CLUSTER_NAME = "cluster-name"
27-
FLAG_NAMESPACE = "namespace"
28-
FLAG_CLUSTER_ID = "id"
29-
FLAG_ROOTPASSWD = "root-password"
30-
FLAG_MODE = "mode"
26+
FLAG_CLUSTER_NAME = "cluster-name"
27+
FLAG_NAMESPACE = "namespace"
28+
FLAG_CLUSTER_ID = "id"
29+
FLAG_ROOT_PASSWORD = "root-password"
30+
FLAG_MODE = "mode"
31+
FLAG_NAME = "name"
3132

3233
// Flags for zone-related options
3334
FLAG_ZONES = "zones"
@@ -53,15 +54,20 @@ const (
5354
FLAG_BACKUP_PATH = "backup-storage-path"
5455

5556
// Flags for parameter-related options
56-
FLAG_PARAMETERS = "parameters"
57+
FLAG_PARAMETERS = "parameters"
58+
FLAG_MIN_FULL_RESOURCE_POOL_MEMORY = "__min_full_resource_pool_memory"
59+
FLAG_SYSTEM_MEMORY = "system_memory"
60+
61+
// Flag for demo cluster
62+
FLAG_WAIT = "wait"
5763
)
5864

5965
// Default values for cluster management
6066
const (
6167
// Default values for int and string flags
6268
DEFAULT_NAMESPACE = "default"
6369
DEFAULT_ID = 0
64-
DEFAULT_OBSERVER_IMAGE = "quay.io/oceanbase/oceanbase-cloud-native:4.2.1.6-106000012024042515"
70+
DEFAULT_OBSERVER_IMAGE = "quay.io/oceanbase/oceanbase-cloud-native:4.3.3.1-101000012024102216"
6571
DEFAULT_OBSERVER_CPU = 2
6672
DEFAULT_OBSERVER_MEMORY = 10
6773
DEFAULT_DATA_STORAGE_CLASS = "local-path"
@@ -73,8 +79,25 @@ const (
7379
DEFAULT_MONITOR_IMAGE = "oceanbase/obagent:4.2.1-100000092023101717"
7480
DEFAULT_MONITOR_CPU = 1
7581
DEFAULT_MONITOR_MEMORY = 1
82+
DEFAULT_NAME = "test"
7683

7784
// Default values for Parameter flag
7885
DEFAULT_MIN_FULL_RESOURCE_POOL_MEMORY = "2147483648"
79-
DEFAULT_MIN_SYSTEM_MEMORY = "1G"
86+
DEFAULT_SYSTEM_MEMORY = "1G"
87+
88+
// Default values for wait flag
89+
DEFAULT_WAIT = false
90+
)
91+
92+
// Default cluster type for easier cluster creation
93+
const (
94+
CLUSTER_TYPE = "cluster-type"
95+
SINGLE_NODE = "single-node"
96+
THREE_NODE = "three-node"
97+
)
98+
99+
// Error messages for cluster management
100+
101+
const (
102+
ErrInvalidClusterType = "invalid cluster type"
80103
)

internal/cli/cmd/backup/create.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ import (
1717
"github.com/spf13/cobra"
1818

1919
"github.com/oceanbase/ob-operator/internal/cli/backup"
20-
cmdUtil "github.com/oceanbase/ob-operator/internal/cli/cmd/util"
20+
"github.com/oceanbase/ob-operator/internal/cli/utils"
2121
)
2222

2323
// NewCreateCmd create an new backup policy
2424
func NewCreateCmd() *cobra.Command {
2525
o := backup.NewCreateOptions()
26-
logger := cmdUtil.GetDefaultLoggerInstance()
26+
logger := utils.GetDefaultLoggerInstance()
2727
cmd := &cobra.Command{
2828
Use: "create <tenant_name>",
2929
Short: "Create a backup policy for the specified ob tenant",

internal/cli/cmd/backup/delete.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ import (
1717
"github.com/spf13/cobra"
1818

1919
"github.com/oceanbase/ob-operator/internal/cli/backup"
20-
cmdUtil "github.com/oceanbase/ob-operator/internal/cli/cmd/util"
20+
"github.com/oceanbase/ob-operator/internal/cli/utils"
2121
)
2222

2323
// NewDeleteCmd delete backup policy
2424
func NewDeleteCmd() *cobra.Command {
2525
o := backup.NewDeleteOptions()
26-
logger := cmdUtil.GetDefaultLoggerInstance()
26+
logger := utils.GetDefaultLoggerInstance()
2727
cmd := &cobra.Command{
2828
Use: "delete <tenant_name>",
2929
Short: "Delete backup policy for the specified tenant",

internal/cli/cmd/backup/list.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ import (
2020
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2121

2222
"github.com/oceanbase/ob-operator/internal/cli/backup"
23-
cmdUtil "github.com/oceanbase/ob-operator/internal/cli/cmd/util"
23+
"github.com/oceanbase/ob-operator/internal/cli/utils"
2424
"github.com/oceanbase/ob-operator/internal/clients"
2525
)
2626

2727
// NewListCmd list all backup policies
2828
func NewListCmd() *cobra.Command {
2929
o := backup.NewListOptions()
30-
tbw, tbLog := cmdUtil.GetTableLoggerInstance()
31-
logger := cmdUtil.GetDefaultLoggerInstance()
30+
tbw, tbLog := utils.GetTableLoggerInstance()
31+
logger := utils.GetDefaultLoggerInstance()
3232
cmd := &cobra.Command{
3333
Use: "list",
3434
Short: "List all backup policies",

0 commit comments

Comments
 (0)