github.com/mwhudson/juju@v0.0.0-20160512215208-90ff01f3497f/upgrades/providerchanges.go (about) 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 }