Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
juju/juju
18m-ltc/juju
1stvamp/juju
4a6f656c/juju
AdamIsrael/juju
AlexisBruemmer/juju
Argon-/juju
BryanQuigley/juju
CNXTEoEorg/juju
CSRedRat/juju
DarkDare/juju
Eeemil/juju
ExternalReality/juju
JAYSNVA/juju
KnightSecretShop/juju
LinuxDoom/juju
LinuxEntrepreneur/juju
MG-Akbar/juju
MuharremOkutan/juju
Pankov404/juju
Pekkari/juju
ProgrammerAndHacker/juju
Stasonhub/juju
Veebers/juju
abentley/juju
alesstimec/juju
allomov/juju
anastasiamac/juju
andrewdmcleod/juju
arunsingh/juju
ateleshev/juju
atombender/juju
axw/juju
aznashwan/juju
babbageclunk/juju
bac/juju
battlemidget/juju
bcsaller/juju
benileo/juju
bigsurge/juju
binary132/juju
bkuschel/juju
bloodearnest/juju
bogdanteleaga/juju
bpattewar/juju
brianalbrecht/juju
bryanl/juju
bz2/juju
ccoblis/juju
cherylj/juju
cholcombe973/juju-1
chrisglass/juju
chrisjohnston/juju
cmars/juju
dardevelin/juju
davecheney/juju
deanmaniatis/juju
devigned/juju
didrocks/juju
dimitern/juju
dooferlad/juju
dougparrish/juju
dpb1/juju
dshcherb/juju
elopio/juju
ericsnowcurrently/juju
evandandrea/juju
evilnick/juju
exekias/juju
fabricematrat/juju
felicianotech/juju
fnordahl/juju
frankban/juju
freyes/juju
frobware/juju
fwereade/juju
gabriel-samfira/juju
gitqueue/juju
gnuoy/juju
gooops/juju
hamsterksu/juju
hartsock/juju
hbcbh1999/juju
hoenirvili/juju
howbazaar/juju
imoapps/juju
ip-2014/juju
ipedrazas/juju
jameinel/juju
jiasir/juju
jimmiebtlr/juju
jisanB/juju
jjo/juju
jogeo/juju
johnsca/juju
jolestar/juju
jrwren/juju
julianwang/juju
junaid-ali/juju
jwood1/juju
kakamessi99/juju
kambyarthur/juju
kapilt/juju
kat-co/juju
kazishariar/juju
kevinnguyeneng/juju
khanchan/juju
kinganeng/juju
klyachin/juju
kryptBlue/juju
ktsakalozos/juju
leobcn/juju
linearregression/juju
lingo-reviews/juju
linux-days/juju
lucciano/juju
macduff23/juju
macgreagoir/juju
makyo/juju
marcmolla/juju
marcoceppi/juju
mattyw/juju
maximp/juju-cloudsigma
mbruzek/juju
mhilton/juju-juju
michaelkrumpe/juju
mikeaddison93/juju
mikemccracken/juju
mitechie/juju
mjs/juju
mwhudson/juju
niedbalski/juju
nobuto-m/juju
ns950/juju
optimuse/juju
packethost/juju
pdaniel-frk/juju
perrito666/juju
pmatulis/juju
pombredanne/juju
prevosis/juju
punalpatel/juju
radoslavsandov/juju
raghucse2010/juju
rastaman/juju
reddydodda/juju
reedobrien/juju
rgardler/juju
rhalff/juju
rogpeppe/juju
rowhit/juju
sagardeyrakesh/juju
samiujan/juju
sarkartanzil/juju
saydulk/juju
sean-jc/juju
sebastienpattyn93/juju
seman/juju
sfrias/juju
sidnei/juju
simonklb/juju
simudream/juju
sinzui/juju
snailwalker/juju
stgraber/juju
stub42/juju
sweetcard/juju
t0mk/juju
tasdomas/juju
tedmcox/juju
tekny/juju
th3architect/juju
thabo104/juju
theosotr/juju
thomnico/juju
tomzhang/juju
trobert2/juju
tvansteenburgh/juju
tych0/juju
uk702/juju
urosj/juju
vijaytripathi/juju
voidspace/juju
vonwenm/juju
vtapia/juju
waigani/juju
wallyworld/juju
wangmingjob/juju
watonyweng/juju
whitmo/juju
wolsen/juju
wupeka/juju
wwitzel3/juju
xiaoqing-wei/juju
xnox/juju
xushiwei/juju
yeer911/juju
zbyufei/juju
zeiv/juju
zhoutiekui/juju
Nothing to show
...
Choose a Head Repository
juju/juju
18m-ltc/juju
1stvamp/juju
4a6f656c/juju
AdamIsrael/juju
AlexisBruemmer/juju
Argon-/juju
BryanQuigley/juju
CNXTEoEorg/juju
CSRedRat/juju
DarkDare/juju
Eeemil/juju
ExternalReality/juju
JAYSNVA/juju
KnightSecretShop/juju
LinuxDoom/juju
LinuxEntrepreneur/juju
MG-Akbar/juju
MuharremOkutan/juju
Pankov404/juju
Pekkari/juju
ProgrammerAndHacker/juju
Stasonhub/juju
Veebers/juju
abentley/juju
alesstimec/juju
allomov/juju
anastasiamac/juju
andrewdmcleod/juju
arunsingh/juju
ateleshev/juju
atombender/juju
axw/juju
aznashwan/juju
babbageclunk/juju
bac/juju
battlemidget/juju
bcsaller/juju
benileo/juju
bigsurge/juju
binary132/juju
bkuschel/juju
bloodearnest/juju
bogdanteleaga/juju
bpattewar/juju
brianalbrecht/juju
bryanl/juju
bz2/juju
ccoblis/juju
cherylj/juju
cholcombe973/juju-1
chrisglass/juju
chrisjohnston/juju
cmars/juju
dardevelin/juju
davecheney/juju
deanmaniatis/juju
devigned/juju
didrocks/juju
dimitern/juju
dooferlad/juju
dougparrish/juju
dpb1/juju
dshcherb/juju
elopio/juju
ericsnowcurrently/juju
evandandrea/juju
evilnick/juju
exekias/juju
fabricematrat/juju
felicianotech/juju
fnordahl/juju
frankban/juju
freyes/juju
frobware/juju
fwereade/juju
gabriel-samfira/juju
gitqueue/juju
gnuoy/juju
gooops/juju
hamsterksu/juju
hartsock/juju
hbcbh1999/juju
hoenirvili/juju
howbazaar/juju
imoapps/juju
ip-2014/juju
ipedrazas/juju
jameinel/juju
jiasir/juju
jimmiebtlr/juju
jisanB/juju
jjo/juju
jogeo/juju
johnsca/juju
jolestar/juju
jrwren/juju
julianwang/juju
junaid-ali/juju
jwood1/juju
kakamessi99/juju
kambyarthur/juju
kapilt/juju
kat-co/juju
kazishariar/juju
kevinnguyeneng/juju
khanchan/juju
kinganeng/juju
klyachin/juju
kryptBlue/juju
ktsakalozos/juju
leobcn/juju
linearregression/juju
lingo-reviews/juju
linux-days/juju
lucciano/juju
macduff23/juju
macgreagoir/juju
makyo/juju
marcmolla/juju
marcoceppi/juju
mattyw/juju
maximp/juju-cloudsigma
mbruzek/juju
mhilton/juju-juju
michaelkrumpe/juju
mikeaddison93/juju
mikemccracken/juju
mitechie/juju
mjs/juju
mwhudson/juju
niedbalski/juju
nobuto-m/juju
ns950/juju
optimuse/juju
packethost/juju
pdaniel-frk/juju
perrito666/juju
pmatulis/juju
pombredanne/juju
prevosis/juju
punalpatel/juju
radoslavsandov/juju
raghucse2010/juju
rastaman/juju
reddydodda/juju
reedobrien/juju
rgardler/juju
rhalff/juju
rogpeppe/juju
rowhit/juju
sagardeyrakesh/juju
samiujan/juju
sarkartanzil/juju
saydulk/juju
sean-jc/juju
sebastienpattyn93/juju
seman/juju
sfrias/juju
sidnei/juju
simonklb/juju
simudream/juju
sinzui/juju
snailwalker/juju
stgraber/juju
stub42/juju
sweetcard/juju
t0mk/juju
tasdomas/juju
tedmcox/juju
tekny/juju
th3architect/juju
thabo104/juju
theosotr/juju
thomnico/juju
tomzhang/juju
trobert2/juju
tvansteenburgh/juju
tych0/juju
uk702/juju
urosj/juju
vijaytripathi/juju
voidspace/juju
vonwenm/juju
vtapia/juju
waigani/juju
wallyworld/juju
wangmingjob/juju
watonyweng/juju
whitmo/juju
wolsen/juju
wupeka/juju
wwitzel3/juju
xiaoqing-wei/juju
xnox/juju
xushiwei/juju
yeer911/juju
zbyufei/juju
zeiv/juju
zhoutiekui/juju
Nothing to show
Choose a head branch
1.25
100-add-check
100-dummy-arm64
100-fix-lp-1458717
100-fix-lp-1458721
100-fix-lp-1459064
100-fix-lp-1459085
100-fix-lp-1460893
100-update-juju-testing
128-update-ssh-terminal
129-set-strings-is-already-a-reference-type
130-refactor-merge-functions
131-names-refactor-part-iv
132-names-refactor-part-v
133-names-refactor-part-vi
135-names-refactor-part-viii
137-names-refactor-part-ix
139-update-juju-utils
141-names-refactor-part-x
142-update-juju-ratelimit
143-apiinfo-whisky-tango-foxtrot
144-damn-you-jujuconnsuite-why-you-no-take-environment
146-cleave-jujuconnsuite
148-environs-config-cleanup
149-environs-drop-name-method
150-environs-config-grow-a-uuid-method
153-make-replicaset-tests-a-little-less-wasteful
154-remove-pre-1.14-logic-again
155-pass-environment-uuid-via-config-rather-than-generate-on-the-server
157-always-truncate-configstore
183-state-apiserver-keymanager-canread-is-not-an-authfunc
184-cmd-juju-move-some-tests
186-state-networkinterfaces-tags
187-go-fmt-minus-s-all
188-state-clone-state-serving-info
189-mongo-move-mongoinfo-type
190-move-state-api-params-to-state-apiserver-params
191-move-state-api-apiserver-to-top-level
192-mongo-dont-depend-on-apiserver-params
193-apiserver-params-remove-status-data-type
194-api-uniter-validate-unit-name
195-update-to-latest-goose
196-api-client-retry-provisioning-takes-a-tag
196-state-status-not-apiserver-params-status
197-update-juju-testing-dep
199-fix-data-race-in-agent-test
199-fix-data-race-in-apiserver-tests
199-fix-data-race-in-cert-tests
199-fix-error-message
199-make-api-not-dependent-on-state
199-worker-rsyslog-fix-race-in-test
200-state-life-does-not-depend-on-apiserver-params
201-state-machine-remove-from-params
224-detect-econnrefused-in-go15
225-adjust-error-string
226-adjust-error-string
227-update-x-net-revision
a
api-block-driveby
apiserver-common-errors-driveby
apiserver-upgrade-in-progress
b
bootstrap-remove-version-current-arch
bugger-off-version-binary-os
cleanup-teardown-suite
cmd-juju-bootstrap-refactor-issue-1538583
cmd-jujud-agent-tidy-up
container-hook-up-utils
container-remove-unused-test-seem
davecheney-bootstrap-remove-version-current-arch
dummy-backports
environs-sync-use-patchvalue
etoomuchbasesuite
findtools-arch-string
fix-global-ipv6-race
fix-test-fixture
fixedbugs/1458585
fixedbugs/1494917
fixedbugs/1500283
fixedbugs/1518810
fixedbugs/1536378
fixedbugs/1537937
fixedbugs/1556630
fixedbugs/1563628-ii
fixedbugs/1563628-iii
fixedbugs/1588135
fixedbugs/1588143
fixedbugs/1588574
fixedbugs/1589353
followup/1544796
immutable-storage
introduce-juju-juju-juju-os
introduce-juju-series
issue/1580400
juju-testing
master
move-arch
networking-common
params-from-network
pprof-followup
pprof
remove-apiserver-api-dependendency
remove-entry
remove-os-depdendency
remove-unchecked-error
remove-utils-filelock
remove-utils-ssh
remove-version-arch
remove-version-os
report-compiler-version
rpc-client-server-refactor
rpc-refactor-error
rpc-simplify-dummynotifier
skip-featuretests-race
state-dont-export-testing-method
state-fix-logf-in-tests
state-multiwatcher-remove-unused-field
state-presence-fix-error-sync
state-stop-resetting
sync-mutex
unpick
unused
update-testing-dep
update-testing
update-x-net-revision-1.22
update-x-net-revision-1.23
update-x-net-revision-1.24
use-utils-bzr
validate-upload-allowed-takes-string
worker-provisioner-skip-xenial
Nothing to show
Checking mergeability… Don’t worry, you can still create the pull request.
  • 15 commits
  • 37 files changed
  • 0 commit comments
  • 1 contributor
Showing with 1,006 additions and 233 deletions.
  1. +7 −1 api/provisioner/provisioner_test.go
  2. +33 −5 api/upgrader/unitupgrader_test.go
  3. +33 −5 api/upgrader/upgrader_test.go
  4. +59 −16 apiserver/common/tools_test.go
  5. +43 −6 apiserver/tools_test.go
  6. +35 −5 apiserver/upgrader/unitupgrader_test.go
  7. +31 −8 apiserver/upgrader/upgrader_test.go
  8. +13 −3 cmd/juju/commands/bootstrap_test.go
  9. +8 −1 cmd/juju/commands/synctools_test.go
  10. +17 −3 cmd/juju/commands/upgradejuju_test.go
  11. +354 −55 cmd/jujud/agent/machine_test.go
  12. +8 −1 cmd/jujud/agent/unit_test.go
  13. +9 −2 cmd/jujud/bootstrap.go
  14. +16 −3 cmd/jujud/bootstrap_test.go
  15. +13 −4 environs/jujutest/livetests.go
  16. +19 −5 environs/testing/tools.go
  17. +16 −5 environs/tools/testing/testing.go
  18. +21 −4 juju/testing/conn.go
  19. +15 −2 provider/common/bootstrap_test.go
  20. +5 −5 provider/ec2/ebs_test.go
  21. +5 −5 provider/ec2/live_test.go
  22. +5 −5 provider/ec2/local_test.go
  23. +3 −2 provider/local/environ.go
  24. +7 −1 provider/local/environ_test.go
  25. +6 −2 provider/openstack/local_test.go
  26. +3 −7 service/discovery.go
  27. +1 −1 service/testing_test.go
  28. +95 −28 state/toolstorage/tools_test.go
  29. +18 −4 version/version.go
  30. +11 −3 worker/deployer/simple.go
  31. +9 −2 worker/deployer/simple_test.go
  32. +36 −6 worker/provisioner/container_initialisation_test.go
  33. +0 −6 worker/provisioner/kvm-broker_test.go
  34. +0 −6 worker/provisioner/lxc-broker_test.go
  35. +8 −1 worker/uniter/runner/jujuc/tools_test.go
  36. +23 −4 worker/upgrader/upgrader.go
  37. +21 −11 worker/upgrader/upgrader_test.go
@@ -805,7 +805,13 @@ func (s *provisionerSuite) TestFindToolsLogicError(c *gc.C) {
}
func (s *provisionerSuite) testFindTools(c *gc.C, matchArch bool, apiError, logicError error) {
- var toolsList = coretools.List{&coretools.Tools{Version: version.Current}}
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ var toolsList = coretools.List{&coretools.Tools{Version: current}}
var called bool
var a string
if matchArch {
@@ -12,6 +12,7 @@ import (
"github.com/juju/juju/api"
"github.com/juju/juju/api/upgrader"
"github.com/juju/juju/apiserver/params"
+ "github.com/juju/juju/juju/arch"
jujutesting "github.com/juju/juju/juju/testing"
"github.com/juju/juju/state"
statetesting "github.com/juju/juju/state/testing"
@@ -62,19 +63,36 @@ func (s *unitUpgraderSuite) addMachineServiceCharmAndUnit(c *gc.C, serviceName s
}
func (s *unitUpgraderSuite) TestSetVersionWrongUnit(c *gc.C) {
- err := s.st.SetVersion("unit-wordpress-42", version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ err := s.st.SetVersion("unit-wordpress-42", current)
c.Assert(err, gc.ErrorMatches, "permission denied")
c.Assert(err, jc.Satisfies, params.IsCodeUnauthorized)
}
func (s *unitUpgraderSuite) TestSetVersionNotUnit(c *gc.C) {
- err := s.st.SetVersion("foo-42", version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ err := s.st.SetVersion("foo-42", current)
c.Assert(err, gc.ErrorMatches, "permission denied")
c.Assert(err, jc.Satisfies, params.IsCodeUnauthorized)
}
func (s *unitUpgraderSuite) TestSetVersion(c *gc.C) {
- cur := version.Current
+ cur := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
agentTools, err := s.rawUnit.AgentTools()
c.Assert(err, jc.Satisfies, errors.IsNotFound)
c.Assert(agentTools, gc.IsNil)
@@ -101,7 +119,12 @@ func (s *unitUpgraderSuite) TestToolsNotUnit(c *gc.C) {
}
func (s *unitUpgraderSuite) TestTools(c *gc.C) {
- cur := version.Current
+ cur := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
curTools := &tools.Tools{Version: cur, URL: ""}
curTools.Version.Minor++
s.rawMachine.SetAgentVersion(cur)
@@ -146,7 +169,12 @@ func (s *unitUpgraderSuite) TestWatchAPIVersionNotUnit(c *gc.C) {
}
func (s *unitUpgraderSuite) TestDesiredVersion(c *gc.C) {
- cur := version.Current
+ cur := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
curTools := &tools.Tools{Version: cur, URL: ""}
curTools.Version.Minor++
s.rawMachine.SetAgentVersion(cur)
@@ -14,6 +14,7 @@ import (
"github.com/juju/juju/api"
"github.com/juju/juju/api/upgrader"
"github.com/juju/juju/apiserver/params"
+ "github.com/juju/juju/juju/arch"
"github.com/juju/juju/juju/testing"
"github.com/juju/juju/state"
statetesting "github.com/juju/juju/state/testing"
@@ -56,19 +57,36 @@ func (s *machineUpgraderSuite) TestNew(c *gc.C) {
}
func (s *machineUpgraderSuite) TestSetVersionWrongMachine(c *gc.C) {
- err := s.st.SetVersion("machine-42", version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ err := s.st.SetVersion("machine-42", current)
c.Assert(err, gc.ErrorMatches, "permission denied")
c.Assert(err, jc.Satisfies, params.IsCodeUnauthorized)
}
func (s *machineUpgraderSuite) TestSetVersionNotMachine(c *gc.C) {
- err := s.st.SetVersion("foo-42", version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ err := s.st.SetVersion("foo-42", current)
c.Assert(err, gc.ErrorMatches, "permission denied")
c.Assert(err, jc.Satisfies, params.IsCodeUnauthorized)
}
func (s *machineUpgraderSuite) TestSetVersion(c *gc.C) {
- cur := version.Current
+ cur := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
agentTools, err := s.rawMachine.AgentTools()
c.Assert(err, jc.Satisfies, errors.IsNotFound)
c.Assert(agentTools, gc.IsNil)
@@ -95,7 +113,12 @@ func (s *machineUpgraderSuite) TestToolsNotMachine(c *gc.C) {
}
func (s *machineUpgraderSuite) TestTools(c *gc.C) {
- cur := version.Current
+ cur := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
curTools := &tools.Tools{Version: cur, URL: ""}
curTools.Version.Minor++
s.rawMachine.SetAgentVersion(cur)
@@ -134,7 +157,12 @@ func (s *machineUpgraderSuite) TestWatchAPIVersion(c *gc.C) {
}
func (s *machineUpgraderSuite) TestDesiredVersion(c *gc.C) {
- cur := version.Current
+ cur := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
curTools := &tools.Tools{Version: cur, URL: ""}
curTools.Version.Minor++
s.rawMachine.SetAgentVersion(cur)
@@ -48,7 +48,13 @@ func (s *toolsSuite) TestTools(c *gc.C) {
tg := common.NewToolsGetter(s.State, s.State, s.State, sprintfURLGetter("tools:%s"), getCanRead)
c.Assert(tg, gc.NotNil)
- err := s.machine0.SetAgentVersion(version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ err := s.machine0.SetAgentVersion(current)
c.Assert(err, jc.ErrorIsNil)
args := params.Entities{
@@ -62,8 +68,8 @@ func (s *toolsSuite) TestTools(c *gc.C) {
c.Assert(result.Results, gc.HasLen, 3)
c.Assert(result.Results[0].Error, gc.IsNil)
c.Assert(result.Results[0].Tools, gc.NotNil)
- c.Assert(result.Results[0].Tools.Version, gc.DeepEquals, version.Current)
- c.Assert(result.Results[0].Tools.URL, gc.Equals, "tools:"+version.Current.String())
+ c.Assert(result.Results[0].Tools.Version, gc.DeepEquals, current)
+ c.Assert(result.Results[0].Tools.URL, gc.Equals, "tools:"+current.String())
c.Assert(result.Results[0].DisableSSLHostnameVerification, jc.IsTrue)
c.Assert(result.Results[1].Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
c.Assert(result.Results[2].Error, gc.DeepEquals, apiservertesting.NotFoundError("machine 42"))
@@ -91,24 +97,30 @@ func (s *toolsSuite) TestSetTools(c *gc.C) {
ts := common.NewToolsSetter(s.State, getCanWrite)
c.Assert(ts, gc.NotNil)
- err := s.machine0.SetAgentVersion(version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ err := s.machine0.SetAgentVersion(current)
c.Assert(err, jc.ErrorIsNil)
args := params.EntitiesVersion{
AgentTools: []params.EntityVersion{{
Tag: "machine-0",
Tools: &params.Version{
- Version: version.Current,
+ Version: current,
},
}, {
Tag: "machine-1",
Tools: &params.Version{
- Version: version.Current,
+ Version: current,
},
}, {
Tag: "machine-42",
Tools: &params.Version{
- Version: version.Current,
+ Version: current,
},
}},
}
@@ -118,7 +130,7 @@ func (s *toolsSuite) TestSetTools(c *gc.C) {
c.Assert(result.Results[0].Error, gc.IsNil)
agentTools, err := s.machine0.AgentTools()
c.Assert(err, jc.ErrorIsNil)
- c.Assert(agentTools.Version, gc.DeepEquals, version.Current)
+ c.Assert(agentTools.Version, gc.DeepEquals, current)
c.Assert(result.Results[1].Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
c.Assert(result.Results[2].Error, gc.DeepEquals, apiservertesting.NotFoundError("machine 42"))
}
@@ -127,12 +139,18 @@ func (s *toolsSuite) TestToolsSetError(c *gc.C) {
getCanWrite := func() (common.AuthFunc, error) {
return nil, fmt.Errorf("splat")
}
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
ts := common.NewToolsSetter(s.State, getCanWrite)
args := params.EntitiesVersion{
AgentTools: []params.EntityVersion{{
Tag: "machine-42",
Tools: &params.Version{
- Version: version.Current,
+ Version: current,
},
}},
}
@@ -196,18 +214,25 @@ func (s *toolsSuite) TestFindToolsNotFound(c *gc.C) {
c.Assert(result.Error, jc.Satisfies, params.IsCodeNotFound)
}
+func (s *toolsSuite) patchVersion(v version.Binary) {
+ s.PatchValue(&arch.HostArch, func() string { return v.Arch })
+ fake := version.Current
+ fake.Number = v.Number
+ fake.Series = v.Series
+ fake.OS = v.OS
+ s.PatchValue(&version.Current, fake)
+}
+
func (s *toolsSuite) TestFindToolsExactInStorage(c *gc.C) {
mockToolsStorage := &mockToolsStorage{
metadata: []toolstorage.Metadata{
{Version: version.MustParseBinary("1.22-beta1-trusty-amd64")},
{Version: version.MustParseBinary("1.22.0-trusty-amd64")},
},
}
-
- s.PatchValue(&arch.HostArch, func() string { return arch.AMD64 })
- s.PatchValue(&version.Current, version.MustParseBinary("1.22-beta1-trusty-amd64"))
+ s.patchVersion(version.MustParseBinary("1.22-beta1-trusty-amd64"))
s.testFindToolsExact(c, mockToolsStorage, true, true)
- s.PatchValue(&version.Current, version.MustParseBinary("1.22.0-trusty-amd64"))
+ s.patchVersion(version.MustParseBinary("1.22.0-trusty-amd64"))
s.testFindToolsExact(c, mockToolsStorage, true, false)
}
@@ -274,13 +299,25 @@ func (s *toolsSuite) TestFindToolsToolsStorageError(c *gc.C) {
func (s *toolsSuite) TestToolsURLGetterNoAPIHostPorts(c *gc.C) {
g := common.NewToolsURLGetter("my-uuid", mockAPIHostPortsGetter{})
- _, err := g.ToolsURL(version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ _, err := g.ToolsURL(current)
c.Assert(err, gc.ErrorMatches, "no API host ports")
}
func (s *toolsSuite) TestToolsURLGetterAPIHostPortsError(c *gc.C) {
g := common.NewToolsURLGetter("my-uuid", mockAPIHostPortsGetter{err: errors.New("oh noes")})
- _, err := g.ToolsURL(version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ _, err := g.ToolsURL(current)
c.Assert(err, gc.ErrorMatches, "oh noes")
}
@@ -290,7 +327,13 @@ func (s *toolsSuite) TestToolsURLGetter(c *gc.C) {
network.NewHostPorts(1234, "0.1.2.3"),
},
})
- url, err := g.ToolsURL(version.Current)
+ current := version.Binary{
+ Number: version.Current.Number,
+ Series: version.Current.Series,
+ Arch: arch.HostArch(),
+ OS: version.Current.OS,
+ }
+ url, err := g.ToolsURL(current)
c.Assert(err, jc.ErrorIsNil)
c.Assert(url, gc.Equals, "https://0.1.2.3:1234/environment/my-uuid/tools/"+version.Current.String())
}
Oops, something went wrong.

No commit comments for this range