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>
| ... | ... |
@@ -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 |
|