Skip to content

Commit b496b10

Browse files
authored
change all 'operator(s)' references to 'extension(s)' in olmv1 commands (#227)
Signed-off-by: Artur Zych <[email protected]> Co-authored-by: Artur Zych <[email protected]>
1 parent 4ddebe0 commit b496b10

19 files changed

+254
-254
lines changed

internal/cmd/internal/olmv1/operator_install.go internal/cmd/internal/olmv1/extension_install.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,21 @@ import (
88
"github.com/operator-framework/kubectl-operator/pkg/action"
99
)
1010

11-
func NewOperatorInstallCmd(cfg *action.Configuration) *cobra.Command {
12-
i := v1action.NewOperatorInstall(cfg)
11+
func NewExtensionInstallCmd(cfg *action.Configuration) *cobra.Command {
12+
i := v1action.NewExtensionInstall(cfg)
1313
i.Logf = log.Printf
1414

1515
cmd := &cobra.Command{
16-
Use: "install <operator>",
17-
Short: "Install an operator",
16+
Use: "install <extension>",
17+
Short: "Install an extension",
1818
Args: cobra.ExactArgs(1),
1919
Run: func(cmd *cobra.Command, args []string) {
2020
i.Package = args[0]
2121
_, err := i.Run(cmd.Context())
2222
if err != nil {
23-
log.Fatalf("failed to install operator: %v", err)
23+
log.Fatalf("failed to install extension: %v", err)
2424
}
25-
log.Printf("operator %q created", i.Package)
25+
log.Printf("extension %q created", i.Package)
2626
},
2727
}
2828

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package olmv1
2+
3+
import (
4+
"github.com/spf13/cobra"
5+
6+
"github.com/operator-framework/kubectl-operator/internal/cmd/internal/log"
7+
v1action "github.com/operator-framework/kubectl-operator/internal/pkg/v1/action"
8+
"github.com/operator-framework/kubectl-operator/pkg/action"
9+
)
10+
11+
// NewExtensionInstalledGetCmd handles get commands in the form of:
12+
// extension(s) [extension_name] - this will either list all the installed extensions
13+
// if no extension_name has been provided or display the details of the specific
14+
// one otherwise
15+
func NewExtensionInstalledGetCmd(cfg *action.Configuration) *cobra.Command {
16+
i := v1action.NewExtensionInstalledGet(cfg)
17+
i.Logf = log.Printf
18+
19+
cmd := &cobra.Command{
20+
Use: "extension [extension_name]",
21+
Aliases: []string{"extensions [extension_name]"},
22+
Args: cobra.RangeArgs(0, 1),
23+
Short: "Display one or many installed extensions",
24+
Run: func(cmd *cobra.Command, args []string) {
25+
if len(args) == 1 {
26+
i.ExtensionName = args[0]
27+
}
28+
installedExtensions, err := i.Run(cmd.Context())
29+
if err != nil {
30+
log.Fatalf("failed getting installed extension(s): %v", err)
31+
}
32+
33+
printFormattedExtensions(installedExtensions...)
34+
},
35+
}
36+
37+
return cmd
38+
}

internal/cmd/internal/olmv1/operator_uninstall.go internal/cmd/internal/olmv1/extension_uninstall.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,26 @@ import (
88
"github.com/operator-framework/kubectl-operator/pkg/action"
99
)
1010

11-
func NewOperatorUninstallCmd(cfg *action.Configuration) *cobra.Command {
12-
u := v1action.NewOperatorUninstall(cfg)
11+
func NewExtensionUninstallCmd(cfg *action.Configuration) *cobra.Command {
12+
u := v1action.NewExtensionUninstall(cfg)
1313
u.Logf = log.Printf
1414

1515
cmd := &cobra.Command{
16-
Use: "uninstall <operator>",
17-
Short: "Uninstall an operator",
18-
Long: `Uninstall deletes the named Operator object.
16+
Use: "uninstall <extension>",
17+
Short: "Uninstall an extension",
18+
Long: `Uninstall deletes the named extension object.
1919
2020
Warning: this command permanently deletes objects from the cluster. If the
21-
uninstalled Operator bundle contains CRDs, the CRDs will be deleted, which
21+
uninstalled extension bundle contains CRDs, the CRDs will be deleted, which
2222
cascades to the deletion of all operands.
2323
`,
2424
Args: cobra.ExactArgs(1),
2525
Run: func(cmd *cobra.Command, args []string) {
2626
u.Package = args[0]
2727
if err := u.Run(cmd.Context()); err != nil {
28-
log.Fatalf("uninstall operator: %v", err)
28+
log.Fatalf("uninstall extension: %v", err)
2929
}
30-
log.Printf("deleted operator %q", u.Package)
30+
log.Printf("deleted extension %q", u.Package)
3131
},
3232
}
3333
return cmd

internal/cmd/internal/olmv1/operator_update.go internal/cmd/internal/olmv1/extension_update.go

+12-12
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,34 @@ import (
99
"github.com/operator-framework/kubectl-operator/pkg/action"
1010
)
1111

12-
// NewOperatorUpdateCmd allows updating a selected operator
13-
func NewOperatorUpdateCmd(cfg *action.Configuration) *cobra.Command {
14-
i := v1action.NewOperatorUpdate(cfg)
12+
// NewExtensionUpdateCmd allows updating a selected operator
13+
func NewExtensionUpdateCmd(cfg *action.Configuration) *cobra.Command {
14+
i := v1action.NewExtensionUpdate(cfg)
1515
i.Logf = log.Printf
1616

1717
cmd := &cobra.Command{
18-
Use: "operator <operator>",
19-
Short: "Update an operator",
18+
Use: "extension <extension>",
19+
Short: "Update an extension",
2020
Args: cobra.ExactArgs(1),
2121
Run: func(cmd *cobra.Command, args []string) {
2222
i.Package = args[0]
2323
_, err := i.Run(cmd.Context())
2424
if err != nil {
25-
log.Fatalf("failed to update operator: %v", err)
25+
log.Fatalf("failed to update extension: %v", err)
2626
}
27-
log.Printf("operator %q updated", i.Package)
27+
log.Printf("extension %q updated", i.Package)
2828
},
2929
}
30-
bindOperatorUpdateFlags(cmd.Flags(), i)
30+
bindExtensionUpdateFlags(cmd.Flags(), i)
3131

3232
return cmd
3333
}
3434

35-
func bindOperatorUpdateFlags(fs *pflag.FlagSet, i *v1action.OperatorUpdate) {
36-
fs.StringVar(&i.Version, "version", "", "desired operator version (single or range) in semVer format. AND operation with channels")
35+
func bindExtensionUpdateFlags(fs *pflag.FlagSet, i *v1action.ExtensionUpdate) {
36+
fs.StringVar(&i.Version, "version", "", "desired extension version (single or range) in semVer format. AND operation with channels")
3737
fs.StringVar(&i.Selector, "selector", "", "filters the set of catalogs used in the bundle selection process. Empty means that all catalogs will be used in the bundle selection process")
38-
fs.StringArrayVar(&i.Channels, "channels", []string{}, "desired channels for operator versions. AND operation with version. Empty list means all available channels will be taken into consideration")
38+
fs.StringArrayVar(&i.Channels, "channels", []string{}, "desired channels for extension versions. AND operation with version. Empty list means all available channels will be taken into consideration")
3939
fs.StringVar(&i.UpgradeConstraintPolicy, "upgrade-constraint-policy", "", "controls whether the upgrade path(s) defined in the catalog are enforced. One of CatalogProvided|SelfCertified), Default: CatalogProvided")
40-
fs.StringToStringVar(&i.Labels, "labels", map[string]string{}, "labels that will be set on the operator")
40+
fs.StringToStringVar(&i.Labels, "labels", map[string]string{}, "labels that will be set on the extension")
4141
fs.BoolVar(&i.IgnoreUnset, "ignore-unset", true, "when enabled, any unset flag value will not be changed. Disabling means that for each unset value a default will be used instead")
4242
}

internal/cmd/internal/olmv1/operator_installed_get.go

-38
This file was deleted.

internal/cmd/internal/olmv1/printing.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ import (
1515
olmv1 "github.com/operator-framework/operator-controller/api/v1"
1616
)
1717

18-
func printFormattedOperators(extensions ...olmv1.ClusterExtension) {
18+
func printFormattedExtensions(extensions ...olmv1.ClusterExtension) {
1919
tw := tabwriter.NewWriter(os.Stdout, 3, 4, 2, ' ', 0)
2020
_, _ = fmt.Fprint(tw, "NAME\tINSTALLED BUNDLE\tVERSION\tSOURCE TYPE\tINSTALLED\tPROGRESSING\tAGE\n")
2121

22-
sortOperators(extensions)
22+
sortExtensions(extensions)
2323
for _, ext := range extensions {
2424
var bundleName, bundleVersion string
2525
if ext.Status.Install != nil {
@@ -63,9 +63,9 @@ func printFormattedCatalogs(catalogs ...olmv1.ClusterCatalog) {
6363
_ = tw.Flush()
6464
}
6565

66-
// sortOperators sorts operators in place and uses the following sorting order:
66+
// sortExtensions sorts extensions in place and uses the following sorting order:
6767
// name (asc), version (desc)
68-
func sortOperators(extensions []olmv1.ClusterExtension) {
68+
func sortExtensions(extensions []olmv1.ClusterExtension) {
6969
slices.SortFunc(extensions, func(a, b olmv1.ClusterExtension) int {
7070
if a.Status.Install == nil || b.Status.Install == nil {
7171
return cmp.Compare(a.Name, b.Name)

internal/cmd/internal/olmv1/printing_test.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,22 @@ var _ = Describe("SortCatalogs", func() {
2626
})
2727
})
2828

29-
var _ = Describe("SortOperators", func() {
30-
It("sorts operators in correct order", func() {
31-
operators := []olmv1.ClusterExtension{
29+
var _ = Describe("SortExtensions", func() {
30+
It("sorts extensions in correct order", func() {
31+
extensions := []olmv1.ClusterExtension{
3232
newClusterExtension("op-1", "1.0.0"),
3333
newClusterExtension("op-1", "1.0.1"),
3434
newClusterExtension("op-1", "1.0.1-rc4"),
3535
newClusterExtension("op-1", "1.0.1-rc2"),
3636
newClusterExtension("op-2", "2.0.0"),
3737
}
38-
sortOperators(operators)
38+
sortExtensions(extensions)
3939

40-
Expect(operators[0].Status.Install.Bundle.Version).To(Equal("1.0.1"))
41-
Expect(operators[1].Status.Install.Bundle.Version).To(Equal("1.0.1-rc4"))
42-
Expect(operators[2].Status.Install.Bundle.Version).To(Equal("1.0.1-rc2"))
43-
Expect(operators[3].Status.Install.Bundle.Version).To(Equal("1.0.0"))
44-
Expect(operators[4].Status.Install.Bundle.Version).To(Equal("2.0.0"))
40+
Expect(extensions[0].Status.Install.Bundle.Version).To(Equal("1.0.1"))
41+
Expect(extensions[1].Status.Install.Bundle.Version).To(Equal("1.0.1-rc4"))
42+
Expect(extensions[2].Status.Install.Bundle.Version).To(Equal("1.0.1-rc2"))
43+
Expect(extensions[3].Status.Install.Bundle.Version).To(Equal("1.0.0"))
44+
Expect(extensions[4].Status.Install.Bundle.Version).To(Equal("2.0.0"))
4545
})
4646
})
4747

internal/cmd/olmv1.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import (
1010
func newOlmV1Cmd(cfg *action.Configuration) *cobra.Command {
1111
cmd := &cobra.Command{
1212
Use: "olmv1",
13-
Short: "Manage operators via OLMv1 in a cluster from the command line",
14-
Long: "Manage operators via OLMv1 in a cluster from the command line.",
13+
Short: "Manage extensions via OLMv1 in a cluster from the command line",
14+
Long: "Manage extensions via OLMv1 in a cluster from the command line.",
1515
}
1616

1717
getCmd := &cobra.Command{
@@ -20,7 +20,7 @@ func newOlmV1Cmd(cfg *action.Configuration) *cobra.Command {
2020
Long: "Display one or many resource(s)",
2121
}
2222
getCmd.AddCommand(
23-
olmv1.NewOperatorInstalledGetCmd(cfg),
23+
olmv1.NewExtensionInstalledGetCmd(cfg),
2424
olmv1.NewCatalogInstalledGetCmd(cfg),
2525
)
2626

@@ -44,12 +44,12 @@ func newOlmV1Cmd(cfg *action.Configuration) *cobra.Command {
4444
Long: "Update a resource",
4545
}
4646
updateCmd.AddCommand(
47-
olmv1.NewOperatorUpdateCmd(cfg),
47+
olmv1.NewExtensionUpdateCmd(cfg),
4848
)
4949

5050
cmd.AddCommand(
51-
olmv1.NewOperatorInstallCmd(cfg),
52-
olmv1.NewOperatorUninstallCmd(cfg),
51+
olmv1.NewExtensionInstallCmd(cfg),
52+
olmv1.NewExtensionUninstallCmd(cfg),
5353
getCmd,
5454
createCmd,
5555
deleteCmd,

internal/pkg/v1/action/action_suite_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ func buildExtension(packageName string, opts ...extensionOpt) *olmv1.ClusterExte
157157
return ext
158158
}
159159

160-
func updateOperatorConditionStatus(name string, cl client.Client, typ string, status metav1.ConditionStatus) error {
160+
func updateExtensionConditionStatus(name string, cl client.Client, typ string, status metav1.ConditionStatus) error {
161161
var ext olmv1.ClusterExtension
162162
key := types.NamespacedName{Name: name}
163163

internal/pkg/v1/action/catalog_installed_get_test.go

+11-11
Original file line numberDiff line numberDiff line change
@@ -52,31 +52,31 @@ var _ = Describe("CatalogInstalledGet", func() {
5252
It("returns empty list in case no catalogs were found", func() {
5353
cfg := setupEnv()
5454

55-
getter := internalaction.NewOperatorInstalledGet(&cfg)
56-
operators, err := getter.Run(context.TODO())
55+
getter := internalaction.NewCatalogInstalledGet(&cfg)
56+
catalogs, err := getter.Run(context.TODO())
5757
Expect(err).To(BeNil())
58-
Expect(operators).To(BeEmpty())
58+
Expect(catalogs).To(BeEmpty())
5959
})
6060

6161
It("gets an installed catalog", func() {
6262
cfg := setupEnv(setupTestCatalogs(3)...)
6363

6464
getter := internalaction.NewCatalogInstalledGet(&cfg)
6565
getter.CatalogName = "cat2"
66-
operators, err := getter.Run(context.TODO())
66+
catalogs, err := getter.Run(context.TODO())
6767
Expect(err).To(BeNil())
68-
Expect(operators).NotTo(BeEmpty())
69-
Expect(operators).To(HaveLen(1))
70-
Expect(operators[0].Name).To(Equal("cat2"))
68+
Expect(catalogs).NotTo(BeEmpty())
69+
Expect(catalogs).To(HaveLen(1))
70+
Expect(catalogs[0].Name).To(Equal("cat2"))
7171
})
7272

7373
It("returns an empty list when an installed catalog was not found", func() {
7474
cfg := setupEnv()
7575

76-
getter := internalaction.NewOperatorInstalledGet(&cfg)
77-
getter.OperatorName = "cat2"
78-
operators, err := getter.Run(context.TODO())
76+
getter := internalaction.NewCatalogInstalledGet(&cfg)
77+
getter.CatalogName = "cat2"
78+
catalogs, err := getter.Run(context.TODO())
7979
Expect(err).NotTo(BeNil())
80-
Expect(operators).To(BeEmpty())
80+
Expect(catalogs).To(BeEmpty())
8181
})
8282
})

internal/pkg/v1/action/errors.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ import "errors"
55
var (
66
ErrNoResourcesFound = errors.New("no resources found")
77
ErrNameAndSelector = errors.New("name cannot be provided when a selector is specified")
8-
ErrNoChange = errors.New("no changes detected - operator already in desired state")
8+
ErrNoChange = errors.New("no changes detected - extension already in desired state")
99
)

internal/pkg/v1/action/operator_install.go internal/pkg/v1/action/extension_install.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,25 @@ import (
1414
"github.com/operator-framework/kubectl-operator/pkg/action"
1515
)
1616

17-
type OperatorInstall struct {
17+
type ExtensionInstall struct {
1818
config *action.Configuration
1919

2020
Package string
2121

2222
Logf func(string, ...interface{})
2323
}
2424

25-
func NewOperatorInstall(cfg *action.Configuration) *OperatorInstall {
26-
return &OperatorInstall{
25+
func NewExtensionInstall(cfg *action.Configuration) *ExtensionInstall {
26+
return &ExtensionInstall{
2727
config: cfg,
2828
Logf: func(string, ...interface{}) {},
2929
}
3030
}
3131

32-
func (i *OperatorInstall) Run(ctx context.Context) (*olmv1.ClusterExtension, error) {
32+
func (i *ExtensionInstall) Run(ctx context.Context) (*olmv1.ClusterExtension, error) {
3333
// TODO(developer): Lookup package information when the OLMv1 equivalent of the
3434
// packagemanifests API is available. That way, we can check to see if the
35-
// package is actually available to the cluster before creating the Operator
35+
// package is actually available to the cluster before creating the Extension
3636
// object.
3737

3838
opKey := types.NamespacedName{Name: i.Package}
@@ -51,9 +51,9 @@ func (i *OperatorInstall) Run(ctx context.Context) (*olmv1.ClusterExtension, err
5151
return nil, err
5252
}
5353

54-
// TODO(developer): Improve the logic in this poll wait once the Operator reconciler
54+
// TODO(developer): Improve the logic in this poll wait once the Extension reconciler
5555
// and conditions types and reasons are improved. For now, this will stop waiting as
56-
// soon as a Ready condition is found, but we should probably wait until the Operator
56+
// soon as a Ready condition is found, but we should probably wait until the Extension
5757
// stops progressing.
5858
// All Types will exist, so Ready may have a false Status. So, wait until
5959
// Type=Ready,Status=True happens
@@ -68,7 +68,7 @@ func (i *OperatorInstall) Run(ctx context.Context) (*olmv1.ClusterExtension, err
6868
}
6969
return false, nil
7070
}); err != nil {
71-
return nil, fmt.Errorf("waiting for operator to become ready: %v", err)
71+
return nil, fmt.Errorf("waiting for extension to become ready: %v", err)
7272
}
7373

7474
return op, nil

0 commit comments

Comments
 (0)