~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/upgrades/providerchanges.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2015 Canonical Ltd.
 
2
// Licensed under the AGPLv3, see LICENCE file for details.
 
3
 
 
4
package upgrades
 
5
 
 
6
import (
 
7
        "github.com/juju/errors"
 
8
        "github.com/juju/juju/environs"
 
9
        "github.com/juju/juju/provider"
 
10
        "github.com/juju/version"
 
11
)
 
12
 
 
13
func upgradeProviderChanges(env environs.Environ, reader environConfigReader, ver version.Number) error {
 
14
        cfg, err := reader.ModelConfig()
 
15
        if err != nil {
 
16
                return errors.Annotate(err, "reading model config")
 
17
        }
 
18
 
 
19
        upgrader, ok := env.(provider.Upgradeable)
 
20
        if !ok {
 
21
                logger.Debugf("provider %q has no upgrades", cfg.Type())
 
22
                return nil
 
23
        }
 
24
 
 
25
        if err := upgrader.RunUpgradeStepsFor(ver); err != nil {
 
26
                return errors.Annotate(err, "running upgrade steps")
 
27
        }
 
28
        return nil
 
29
}