Browse code

plugin: remove/rename err-returns

Prevent accidentally shadowing these errors, which are used in defers, and
while at it, also fixed some linting warnings about unhandled errors.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2023/12/28 20:58:42
Showing 4 changed files
... ...
@@ -92,7 +92,7 @@ func (pm *Manager) Enable(refOrID string, config *backend.PluginEnableConfig) er
92 92
 }
93 93
 
94 94
 // Inspect examines a plugin config
95
-func (pm *Manager) Inspect(refOrID string) (tp *types.Plugin, err error) {
95
+func (pm *Manager) Inspect(refOrID string) (*types.Plugin, error) {
96 96
 	p, err := pm.config.Store.GetV2Plugin(refOrID)
97 97
 	if err != nil {
98 98
 		return nil, err
... ...
@@ -209,7 +209,7 @@ func (pm *Manager) Privileges(ctx context.Context, ref reference.Named, metaHead
209 209
 // Upgrade upgrades a plugin
210 210
 //
211 211
 // TODO: replace reference package usage with simpler url.Parse semantics
212
-func (pm *Manager) Upgrade(ctx context.Context, ref reference.Named, name string, metaHeader http.Header, authConfig *registry.AuthConfig, privileges types.PluginPrivileges, outStream io.Writer) (err error) {
212
+func (pm *Manager) Upgrade(ctx context.Context, ref reference.Named, name string, metaHeader http.Header, authConfig *registry.AuthConfig, privileges types.PluginPrivileges, outStream io.Writer) error {
213 213
 	p, err := pm.config.Store.GetV2Plugin(name)
214 214
 	if err != nil {
215 215
 		return err
... ...
@@ -257,7 +257,7 @@ func (pm *Manager) Upgrade(ctx context.Context, ref reference.Named, name string
257 257
 // Pull pulls a plugin, check if the correct privileges are provided and install the plugin.
258 258
 //
259 259
 // TODO: replace reference package usage with simpler url.Parse semantics
260
-func (pm *Manager) Pull(ctx context.Context, ref reference.Named, name string, metaHeader http.Header, authConfig *registry.AuthConfig, privileges types.PluginPrivileges, outStream io.Writer, opts ...CreateOpt) (err error) {
260
+func (pm *Manager) Pull(ctx context.Context, ref reference.Named, name string, metaHeader http.Header, authConfig *registry.AuthConfig, privileges types.PluginPrivileges, outStream io.Writer, opts ...CreateOpt) error {
261 261
 	pm.muGC.RLock()
262 262
 	defer pm.muGC.RUnlock()
263 263
 
... ...
@@ -28,7 +28,7 @@ func (pm *Manager) Enable(name string, config *backend.PluginEnableConfig) error
28 28
 }
29 29
 
30 30
 // Inspect examines a plugin config
31
-func (pm *Manager) Inspect(refOrID string) (tp *types.Plugin, err error) {
31
+func (pm *Manager) Inspect(refOrID string) (*types.Plugin, error) {
32 32
 	return nil, errNotSupported
33 33
 }
34 34
 
... ...
@@ -59,7 +59,7 @@ func setupProgressOutput(outStream io.Writer, cancel func()) (progress.Output, f
59 59
 
60 60
 // fetch the content related to the passed in reference into the blob store and appends the provided c8dimages.Handlers
61 61
 // There is no need to use remotes.FetchHandler since it already gets set
62
-func (pm *Manager) fetch(ctx context.Context, ref reference.Named, auth *registry.AuthConfig, out progress.Output, metaHeader http.Header, handlers ...c8dimages.Handler) (err error) {
62
+func (pm *Manager) fetch(ctx context.Context, ref reference.Named, auth *registry.AuthConfig, out progress.Output, metaHeader http.Header, handlers ...c8dimages.Handler) error {
63 63
 	// We need to make sure we have a domain on the reference
64 64
 	withDomain, err := reference.ParseNormalizedNamed(ref.String())
65 65
 	if err != nil {
... ...
@@ -212,7 +212,7 @@ func (pm *Manager) Shutdown() {
212 212
 	}
213 213
 }
214 214
 
215
-func (pm *Manager) upgradePlugin(p *v2.Plugin, configDigest, manifestDigest digest.Digest, blobsums []digest.Digest, tmpRootFSDir string, privileges *types.PluginPrivileges) (err error) {
215
+func (pm *Manager) upgradePlugin(p *v2.Plugin, configDigest, manifestDigest digest.Digest, blobsums []digest.Digest, tmpRootFSDir string, privileges *types.PluginPrivileges) (retErr error) {
216 216
 	config, err := pm.setupNewPlugin(configDigest, privileges)
217 217
 	if err != nil {
218 218
 		return err
... ...
@@ -234,20 +234,20 @@ func (pm *Manager) upgradePlugin(p *v2.Plugin, configDigest, manifestDigest dige
234 234
 	}
235 235
 
236 236
 	defer func() {
237
-		if err != nil {
238
-			if rmErr := os.RemoveAll(orig); rmErr != nil {
239
-				log.G(context.TODO()).WithError(rmErr).WithField("dir", backup).Error("error cleaning up after failed upgrade")
237
+		if retErr != nil {
238
+			if err := os.RemoveAll(orig); err != nil {
239
+				log.G(context.TODO()).WithError(err).WithField("dir", backup).Error("error cleaning up after failed upgrade")
240 240
 				return
241 241
 			}
242
-			if mvErr := os.Rename(backup, orig); mvErr != nil {
243
-				err = errors.Wrap(mvErr, "error restoring old plugin root on upgrade failure")
242
+			if err := os.Rename(backup, orig); err != nil {
243
+				retErr = errors.Wrap(err, "error restoring old plugin root on upgrade failure")
244 244
 			}
245
-			if rmErr := os.RemoveAll(tmpRootFSDir); rmErr != nil && !os.IsNotExist(rmErr) {
246
-				log.G(context.TODO()).WithError(rmErr).WithField("plugin", p.Name()).Errorf("error cleaning up plugin upgrade dir: %s", tmpRootFSDir)
245
+			if err := os.RemoveAll(tmpRootFSDir); err != nil && !os.IsNotExist(err) {
246
+				log.G(context.TODO()).WithError(err).WithField("plugin", p.Name()).Errorf("error cleaning up plugin upgrade dir: %s", tmpRootFSDir)
247 247
 			}
248 248
 		} else {
249
-			if rmErr := os.RemoveAll(backup); rmErr != nil {
250
-				log.G(context.TODO()).WithError(rmErr).WithField("dir", backup).Error("error cleaning up old plugin root after successful upgrade")
249
+			if err := os.RemoveAll(backup); err != nil {
250
+				log.G(context.TODO()).WithError(err).WithField("dir", backup).Error("error cleaning up old plugin root after successful upgrade")
251 251
 			}
252 252
 
253 253
 			p.Config = configDigest
... ...
@@ -261,8 +261,11 @@ func (pm *Manager) upgradePlugin(p *v2.Plugin, configDigest, manifestDigest dige
261 261
 
262 262
 	p.PluginObj.Config = config
263 263
 	p.Manifest = manifestDigest
264
-	err = pm.save(p)
265
-	return errors.Wrap(err, "error saving upgraded plugin config")
264
+	if err := pm.save(p); err != nil {
265
+		return errors.Wrap(err, "error saving upgraded plugin config")
266
+	}
267
+
268
+	return nil
266 269
 }
267 270
 
268 271
 func (pm *Manager) setupNewPlugin(configDigest digest.Digest, privileges *types.PluginPrivileges) (types.PluginConfig, error) {
... ...
@@ -294,7 +297,7 @@ func (pm *Manager) setupNewPlugin(configDigest digest.Digest, privileges *types.
294 294
 }
295 295
 
296 296
 // createPlugin creates a new plugin. take lock before calling.
297
-func (pm *Manager) createPlugin(name string, configDigest, manifestDigest digest.Digest, blobsums []digest.Digest, rootFSDir string, privileges *types.PluginPrivileges, opts ...CreateOpt) (p *v2.Plugin, err error) {
297
+func (pm *Manager) createPlugin(name string, configDigest, manifestDigest digest.Digest, blobsums []digest.Digest, rootFSDir string, privileges *types.PluginPrivileges, opts ...CreateOpt) (_ *v2.Plugin, retErr error) {
298 298
 	if err := pm.config.Store.validateName(name); err != nil { // todo: this check is wrong. remove store
299 299
 		return nil, errdefs.InvalidParameter(err)
300 300
 	}
... ...
@@ -304,7 +307,7 @@ func (pm *Manager) createPlugin(name string, configDigest, manifestDigest digest
304 304
 		return nil, err
305 305
 	}
306 306
 
307
-	p = &v2.Plugin{
307
+	p := &v2.Plugin{
308 308
 		PluginObj: types.Plugin{
309 309
 			Name:   name,
310 310
 			ID:     stringid.GenerateRandomID(),
... ...
@@ -325,8 +328,8 @@ func (pm *Manager) createPlugin(name string, configDigest, manifestDigest digest
325 325
 	}
326 326
 
327 327
 	defer func() {
328
-		if err != nil {
329
-			os.RemoveAll(pdir)
328
+		if retErr != nil {
329
+			_ = os.RemoveAll(pdir)
330 330
 		}
331 331
 	}()
332 332