Skip to content

Commit 6020604

Browse files
committed
Go 1.13 error wrapping: Use fmt.Errorf as per 1.13.
Use fmt.Errorf as per 1.13. Changed errors.Wrap and errors.Wrapf to use fmt.Errorf. Fixes operator-framework#2308
1 parent 721a850 commit 6020604

Some content is hidden

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

56 files changed

+259
-257
lines changed

cmd/operator-sdk/add/api.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ func apiRun(cmd *cobra.Command, args []string) error {
115115
// scaffold a group.go to prevent erroneous gengo parse errors.
116116
group := &scaffold.Group{Resource: r}
117117
if err := scaffoldIfNoPkgFileExists(s, cfg, group); err != nil {
118-
return errors.Wrap(err, "scaffold group file")
118+
return fmt.Errorf("scaffold group file: %w", err)
119119
}
120120

121121
err = s.Execute(cfg,
@@ -127,12 +127,12 @@ func apiRun(cmd *cobra.Command, args []string) error {
127127
&scaffold.CRD{Resource: r, IsOperatorGo: projutil.IsOperatorGo()},
128128
)
129129
if err != nil {
130-
return fmt.Errorf("api scaffold failed: (%v)", err)
130+
return fmt.Errorf("api scaffold failed: %w", err)
131131
}
132132

133133
// update deploy/role.yaml for the given resource r.
134134
if err := scaffold.UpdateRoleForResource(r, absProjectPath); err != nil {
135-
return fmt.Errorf("failed to update the RBAC manifest for the resource (%v, %v): (%v)", r.APIVersion, r.Kind, err)
135+
return fmt.Errorf("failed to update the RBAC manifest for the resource (%v, %v): %w", r.APIVersion, r.Kind, err)
136136
}
137137

138138
if !skipGeneration {
@@ -156,12 +156,12 @@ func apiRun(cmd *cobra.Command, args []string) error {
156156
func scaffoldIfNoPkgFileExists(s *scaffold.Scaffold, cfg *input.Config, f input.File) error {
157157
i, err := f.GetInput()
158158
if err != nil {
159-
return errors.Wrapf(err, "error getting file %s input", i.Path)
159+
return fmt.Errorf("error getting file %s input: %w", i.Path, err)
160160
}
161161
groupDir := filepath.Dir(i.Path)
162162
gdInfos, err := ioutil.ReadDir(groupDir)
163163
if err != nil && !os.IsNotExist(err) {
164-
return errors.Wrapf(err, "error reading dir %s", groupDir)
164+
return fmt.Errorf("error reading dir %s: %w", groupDir, err)
165165
}
166166
if err == nil {
167167
for _, info := range gdInfos {

cmd/operator-sdk/add/controller.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func controllerRun(cmd *cobra.Command, args []string) error {
9292
&scaffold.AddController{Resource: r},
9393
)
9494
if err != nil {
95-
return fmt.Errorf("controller scaffold failed: (%v)", err)
95+
return fmt.Errorf("controller scaffold failed: %w", err)
9696
}
9797

9898
log.Info("Controller generation complete.")

cmd/operator-sdk/add/crd.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,12 @@ func crdFunc(cmd *cobra.Command, args []string) error {
9595
},
9696
)
9797
if err != nil {
98-
return fmt.Errorf("crd scaffold failed: (%v)", err)
98+
return fmt.Errorf("crd scaffold failed: %w", err)
9999
}
100100

101101
// update deploy/role.yaml for the given resource r.
102102
if err := scaffold.UpdateRoleForResource(resource, cfg.AbsProjectPath); err != nil {
103-
return fmt.Errorf("failed to update the RBAC manifest for the resource (%v, %v): (%v)", resource.APIVersion, resource.Kind, err)
103+
return fmt.Errorf("failed to update the RBAC manifest for the resource (%v, %v): %w", resource.APIVersion, resource.Kind, err)
104104
}
105105

106106
log.Info("CRD generation complete.")
@@ -128,7 +128,7 @@ func verifyCRDFlags() error {
128128
func verifyCRDDeployPath() error {
129129
wd, err := os.Getwd()
130130
if err != nil {
131-
return fmt.Errorf("failed to determine the full path of the current directory: (%v)", err)
131+
return fmt.Errorf("failed to determine the full path of the current directory: %w", err)
132132
}
133133
// check if the deploy sub-directory exist
134134
_, err = os.Stat(filepath.Join(wd, scaffold.DeployDir))

cmd/operator-sdk/build/cmd.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func buildFunc(cmd *cobra.Command, args []string) error {
120120
Env: goBuildEnv,
121121
}
122122
if err := projutil.GoBuild(opts); err != nil {
123-
return fmt.Errorf("failed to build operator binary: (%v)", err)
123+
return fmt.Errorf("failed to build operator binary: %w", err)
124124
}
125125
}
126126

@@ -134,7 +134,7 @@ func buildFunc(cmd *cobra.Command, args []string) error {
134134
}
135135

136136
if err := projutil.ExecCmd(buildCmd); err != nil {
137-
return fmt.Errorf("failed to output build image %s: (%v)", image, err)
137+
return fmt.Errorf("failed to output build image %s: %w", image, err)
138138
}
139139

140140
log.Info("Operator build complete.")

cmd/operator-sdk/internal/genutil/crds.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func CRDGen() error {
3636

3737
gvMap, err := k8sutil.ParseGroupSubpackages(scaffold.ApisDir)
3838
if err != nil {
39-
return fmt.Errorf("failed to parse group versions: (%v)", err)
39+
return fmt.Errorf("failed to parse group versions: %w", err)
4040
}
4141
gvb := &strings.Builder{}
4242
for g, vs := range gvMap {

cmd/operator-sdk/internal/genutil/k8s.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func K8sCodegen() error {
4040

4141
gvMap, err := k8sutil.ParseGroupSubpackages(scaffold.ApisDir)
4242
if err != nil {
43-
return fmt.Errorf("failed to parse group versions: (%v)", err)
43+
return fmt.Errorf("failed to parse group versions: %w", err)
4444
}
4545
gvb := &strings.Builder{}
4646
for g, vs := range gvMap {
@@ -91,7 +91,7 @@ func deepcopyGen(hf string, fqApis []string) error {
9191
}
9292

9393
if err := generatorargs.Validate(args); err != nil {
94-
return errors.Wrap(err, "deepcopy-gen argument validation error")
94+
return fmt.Errorf("deepcopy-gen argument validation error: %w", err)
9595
}
9696

9797
err = args.Execute(
@@ -100,7 +100,7 @@ func deepcopyGen(hf string, fqApis []string) error {
100100
generators.Packages,
101101
)
102102
if err != nil {
103-
return errors.Wrap(err, "deepcopy-gen generator error")
103+
return fmt.Errorf("deepcopy-gen generator error: %w", err)
104104
}
105105
}
106106
return nil

cmd/operator-sdk/internal/genutil/openapi.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func OpenAPIGen() error {
3939

4040
gvMap, err := k8sutil.ParseGroupSubpackages(scaffold.ApisDir)
4141
if err != nil {
42-
return fmt.Errorf("failed to parse group versions: (%v)", err)
42+
return fmt.Errorf("failed to parse group versions: %w", err)
4343
}
4444
gvb := &strings.Builder{}
4545
for g, vs := range gvMap {
@@ -83,7 +83,7 @@ func openAPIGen(hf string, fqApis []string) error {
8383
// Print API rule violations to stdout
8484
cargs.ReportFilename = "-"
8585
if err := generatorargs.Validate(args); err != nil {
86-
return errors.Wrap(err, "openapi-gen argument validation error")
86+
return fmt.Errorf("openapi-gen argument validation error: %w", err)
8787
}
8888

8989
err := args.Execute(
@@ -92,7 +92,7 @@ func openAPIGen(hf string, fqApis []string) error {
9292
generators.Packages,
9393
)
9494
if err != nil {
95-
return errors.Wrap(err, "openapi-gen generator error")
95+
return fmt.Errorf("openapi-gen generator error: %w", err)
9696
}
9797
}
9898
return nil

cmd/operator-sdk/migrate/cmd.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func migrateAnsible() error {
101101
case os.IsNotExist(err):
102102
log.Info("No playbook was found, so not including it in the new Dockerfile")
103103
default:
104-
return fmt.Errorf("error trying to stat %s: (%v)", ansible.PlaybookYamlFile, err)
104+
return fmt.Errorf("error trying to stat %s: %w", ansible.PlaybookYamlFile, err)
105105
}
106106
if err := renameDockerfile(); err != nil {
107107
return err
@@ -111,7 +111,7 @@ func migrateAnsible() error {
111111
if headerFile != "" {
112112
err = s.Execute(cfg, &scaffold.Boilerplate{BoilerplateSrcPath: headerFile})
113113
if err != nil {
114-
return fmt.Errorf("boilerplate scaffold failed: (%v)", err)
114+
return fmt.Errorf("boilerplate scaffold failed: %w", err)
115115
}
116116
s.BoilerplatePath = headerFile
117117
}
@@ -126,7 +126,7 @@ func migrateAnsible() error {
126126
&ansible.AoLogs{},
127127
)
128128
if err != nil {
129-
return fmt.Errorf("migrate ansible scaffold failed: (%v)", err)
129+
return fmt.Errorf("migrate ansible scaffold failed: %w", err)
130130
}
131131
return nil
132132
}
@@ -149,7 +149,7 @@ func migrateHelm() error {
149149
if headerFile != "" {
150150
err := s.Execute(cfg, &scaffold.Boilerplate{BoilerplateSrcPath: headerFile})
151151
if err != nil {
152-
return fmt.Errorf("boilerplate scaffold failed: (%v)", err)
152+
return fmt.Errorf("boilerplate scaffold failed: %w", err)
153153
}
154154
s.BoilerplatePath = headerFile
155155
}
@@ -166,7 +166,7 @@ func migrateHelm() error {
166166
&helm.UserSetup{},
167167
)
168168
if err != nil {
169-
return fmt.Errorf("migrate helm scaffold failed: (%v)", err)
169+
return fmt.Errorf("migrate helm scaffold failed: %w", err)
170170
}
171171
return nil
172172
}
@@ -176,7 +176,7 @@ func renameDockerfile() error {
176176
newDockerfilePath := dockerfilePath + ".sdkold"
177177
err := os.Rename(dockerfilePath, newDockerfilePath)
178178
if err != nil {
179-
return fmt.Errorf("failed to rename Dockerfile: (%v)", err)
179+
return fmt.Errorf("failed to rename Dockerfile: %w", err)
180180
}
181181
log.Infof("Renamed Dockerfile to %s and replaced with newer version. Compare the new Dockerfile to your old one and manually migrate any customizations", newDockerfilePath)
182182
return nil

cmd/operator-sdk/new/cmd.go

+11-12
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929
"github.com/operator-framework/operator-sdk/internal/util/projutil"
3030

3131
"github.com/ghodss/yaml"
32-
"github.com/pkg/errors"
3332
log "github.com/sirupsen/logrus"
3433
"github.com/spf13/cobra"
3534
"k8s.io/client-go/discovery"
@@ -181,7 +180,7 @@ func doGoScaffold() error {
181180
if headerFile != "" {
182181
err := s.Execute(cfg, &scaffold.Boilerplate{BoilerplateSrcPath: headerFile})
183182
if err != nil {
184-
return fmt.Errorf("boilerplate scaffold failed: (%v)", err)
183+
return fmt.Errorf("boilerplate scaffold failed: %w", err)
185184
}
186185
s.BoilerplatePath = headerFile
187186
}
@@ -207,7 +206,7 @@ func doGoScaffold() error {
207206
&scaffold.Gitignore{},
208207
)
209208
if err != nil {
210-
return fmt.Errorf("new Go scaffold failed: (%v)", err)
209+
return fmt.Errorf("new Go scaffold failed: %w", err)
211210
}
212211
return nil
213212
}
@@ -220,7 +219,7 @@ func doAnsibleScaffold() error {
220219

221220
resource, err := scaffold.NewResource(apiVersion, kind)
222221
if err != nil {
223-
return fmt.Errorf("invalid apiVersion and kind: (%v)", err)
222+
return fmt.Errorf("invalid apiVersion and kind: %w", err)
224223
}
225224

226225
roleFiles := ansible.RolesFiles{Resource: *resource}
@@ -264,17 +263,17 @@ func doAnsibleScaffold() error {
264263
&ansible.MoleculeTestLocalPrepare{Resource: *resource},
265264
)
266265
if err != nil {
267-
return fmt.Errorf("new ansible scaffold failed: (%v)", err)
266+
return fmt.Errorf("new ansible scaffold failed: %w", err)
268267
}
269268

270269
// Remove placeholders from empty directories
271270
err = os.Remove(filepath.Join(s.AbsProjectPath, roleFiles.Path))
272271
if err != nil {
273-
return fmt.Errorf("new ansible scaffold failed: (%v)", err)
272+
return fmt.Errorf("new ansible scaffold failed: %w", err)
274273
}
275274
err = os.Remove(filepath.Join(s.AbsProjectPath, roleTemplates.Path))
276275
if err != nil {
277-
return fmt.Errorf("new ansible scaffold failed: (%v)", err)
276+
return fmt.Errorf("new ansible scaffold failed: %w", err)
278277
}
279278

280279
// Decide on playbook.
@@ -285,13 +284,13 @@ func doAnsibleScaffold() error {
285284
&ansible.Playbook{Resource: *resource},
286285
)
287286
if err != nil {
288-
return fmt.Errorf("new ansible playbook scaffold failed: (%v)", err)
287+
return fmt.Errorf("new ansible playbook scaffold failed: %w", err)
289288
}
290289
}
291290

292291
// update deploy/role.yaml for the given resource r.
293292
if err := scaffold.UpdateRoleForResource(resource, cfg.AbsProjectPath); err != nil {
294-
return fmt.Errorf("failed to update the RBAC manifest for the resource (%v, %v): (%v)", resource.APIVersion, resource.Kind, err)
293+
return fmt.Errorf("failed to update the RBAC manifest for the resource (%v, %v): %w", resource.APIVersion, resource.Kind, err)
295294
}
296295
return nil
297296
}
@@ -354,14 +353,14 @@ func doHelmScaffold() error {
354353
}
355354

356355
if err := scaffold.UpdateRoleForResource(resource, cfg.AbsProjectPath); err != nil {
357-
return fmt.Errorf("failed to update the RBAC manifest for resource (%v, %v): %w", resource.APIVersion, resource.Kind, err)
356+
return fmt.Errorf("failed to update the RBAC manifest for resource (%v, %w): %w", resource.APIVersion, resource.Kind, err)
358357
}
359358
return nil
360359
}
361360

362361
func verifyFlags() error {
363362
if operatorType != projutil.OperatorTypeGo && operatorType != projutil.OperatorTypeAnsible && operatorType != projutil.OperatorTypeHelm {
364-
return errors.Wrap(projutil.ErrUnknownOperatorType{Type: operatorType}, "value of --type can only be `go`, `ansible`, or `helm`")
363+
return fmt.Errorf("value of --type can only be `go`, `ansible`, or `helm`: %w", err)
365364
}
366365
if operatorType != projutil.OperatorTypeAnsible && generatePlaybook {
367366
return fmt.Errorf("value of --generate-playbook can only be used with --type `ansible`")
@@ -439,7 +438,7 @@ func getDeps() error {
439438
func initGit() error {
440439
log.Info("Running git init")
441440
if err := execProjCmd("git", "init"); err != nil {
442-
return errors.Wrapf(err, "failed to run git init")
441+
return fmt.Errorf("failed to run git init: %w", err)
443442
}
444443
log.Info("Run git init done")
445444
return nil

cmd/operator-sdk/olmcatalog/gen-csv.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ func genCSVFunc(cmd *cobra.Command, args []string) error {
124124
},
125125
)
126126
if err != nil {
127-
return fmt.Errorf("catalog scaffold failed: (%v)", err)
127+
return fmt.Errorf("catalog scaffold failed: %w", err)
128128
}
129129

130130
// Write CRD's to the new or updated CSV package dir.
@@ -165,7 +165,7 @@ func verifyGenCSVFlags() error {
165165
func verifyCSVVersion(version string) error {
166166
v, err := semver.NewVersion(version)
167167
if err != nil {
168-
return fmt.Errorf("%s is not a valid semantic version: (%v)", version, err)
168+
return fmt.Errorf("%s is not a valid semantic version: %w", version, err)
169169
}
170170
// Ensures numerical values composing csvVersion don't contain leading 0's,
171171
// ex. 01.01.01

cmd/operator-sdk/printdeps/cmd.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func printDepsFunc(cmd *cobra.Command, args []string) error {
4444
projutil.MustInProjectRoot()
4545

4646
if err := printDeps(); err != nil {
47-
return fmt.Errorf("print deps failed: %v", err)
47+
return fmt.Errorf("print deps failed: %w", err)
4848
}
4949
return nil
5050
}

0 commit comments

Comments
 (0)