~james-page/ubuntu/saucy/juju-core/1.16.5

« back to all changes in this revision

Viewing changes to src/launchpad.net/juju-core/worker/upgrader/upgrader.go

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2013-09-03 14:22:22 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20130903142222-9mes2r8wqr0bs7lp
Tags: 1.13.3-0ubuntu1
New upstream point release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
125
125
        // all around us.
126
126
        var dying <-chan struct{}
127
127
        var wantTools *coretools.Tools
 
128
        var wantVersion version.Number
128
129
        for {
129
130
                select {
130
131
                case _, ok := <-changes:
131
132
                        if !ok {
132
133
                                return watcher.MustErr(versionWatcher)
133
134
                        }
134
 
                        wantTools, err = u.st.Tools(u.tag)
 
135
                        wantVersion, err = u.st.DesiredVersion(u.tag)
135
136
                        if err != nil {
136
137
                                return err
137
138
                        }
138
 
                        logger.Infof("required tools: %v", wantTools.Version)
 
139
                        logger.Infof("desired tool version: %v", wantVersion)
139
140
                        dying = u.tomb.Dying()
140
141
                case <-retry:
141
142
                case <-dying:
142
143
                        return nil
143
144
                }
144
 
                if wantTools.Version.Number != currentTools.Version.Number {
145
 
                        logger.Infof("upgrade required from %v to %v", currentTools.Version, wantTools.Version)
 
145
                if wantVersion != currentTools.Version.Number {
 
146
                        logger.Infof("upgrade requested from %v to %v", currentTools.Version, wantVersion)
 
147
                        wantTools, err = u.st.Tools(u.tag)
 
148
                        if err != nil {
 
149
                                // Not being able to lookup Tools is considered fatal
 
150
                                return err
 
151
                        }
146
152
                        // The worker cannot be stopped while we're downloading
147
153
                        // the tools - this means that even if the API is going down
148
154
                        // repeatedly (causing the agent to be stopped), as long