~rogpeppe/juju-core/438-local-instance-Addresses

« back to all changes in this revision

Viewing changes to state/apiserver/upgrader/upgrader_test.go

[r=fwereade],[bug=1234035] Fix upgrade 1.14 -> 1.15

This adds a Tools() API call to provisioner API,
similarly to the upgrader API. Common code factored
out into apiserver/common/tools.go.

SetAgentTools() renamed to SetAgentVersion() in
machine and unit state types. Also renamed a few
types in params to be shorter or better reflect
what are they about. Added DEPRECATE(v1.18) tags
to bits of the API that need cleanup.

Live tested on EC2 - after copying the tools from
/tools/releases/ to /tools/ the upgrade proceeds
and finishes successfully.

https://codereview.appspot.com/14231044/

R=fwereade, jameinel

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
        "launchpad.net/juju-core/state/apiserver/upgrader"
16
16
        statetesting "launchpad.net/juju-core/state/testing"
17
17
        jc "launchpad.net/juju-core/testing/checkers"
18
 
        "launchpad.net/juju-core/tools"
19
18
        "launchpad.net/juju-core/version"
20
19
)
21
20
 
150
149
        // The machine must have its existing tools set before we query for the
151
150
        // next tools. This is so that we can grab Arch and Series without
152
151
        // having to pass it in again
153
 
        err := s.rawMachine.SetAgentTools(&tools.Tools{
154
 
                URL:     "",
155
 
                Version: version.Current,
156
 
        })
 
152
        err := s.rawMachine.SetAgentVersion(version.Current)
157
153
        c.Assert(err, gc.IsNil)
158
154
 
159
155
        args := params.Entities{Entities: []params.Entity{agent}}
168
164
 
169
165
func (s *upgraderSuite) TestSetToolsNothing(c *gc.C) {
170
166
        // Not an error to watch nothing
171
 
        results, err := s.upgrader.SetTools(params.SetAgentsTools{})
 
167
        results, err := s.upgrader.SetTools(params.EntitiesVersion{})
172
168
        c.Assert(err, gc.IsNil)
173
169
        c.Check(results.Results, gc.HasLen, 0)
174
170
}
178
174
        anAuthorizer.Tag = "machine-12354"
179
175
        anUpgrader, err := upgrader.NewUpgraderAPI(s.State, s.resources, anAuthorizer)
180
176
        c.Check(err, gc.IsNil)
181
 
        args := params.SetAgentsTools{
182
 
                AgentTools: []params.SetAgentTools{{
 
177
        args := params.EntitiesVersion{
 
178
                AgentTools: []params.EntityVersion{{
183
179
                        Tag: s.rawMachine.Tag(),
184
 
                        Tools: &tools.Tools{
 
180
                        Tools: &params.Version{
185
181
                                Version: version.Current,
186
182
                        },
187
183
                }},
196
192
        cur := version.Current
197
193
        _, err := s.rawMachine.AgentTools()
198
194
        c.Assert(err, jc.Satisfies, errors.IsNotFoundError)
199
 
        args := params.SetAgentsTools{
200
 
                AgentTools: []params.SetAgentTools{{
 
195
        args := params.EntitiesVersion{
 
196
                AgentTools: []params.EntityVersion{{
201
197
                        Tag: s.rawMachine.Tag(),
202
 
                        Tools: &tools.Tools{
 
198
                        Tools: &params.Version{
203
199
                                Version: cur,
204
200
                        }},
205
201
                },