Merge lp:~thumper/juju-core/instance-id into lp:~go-bot/juju-core/trunk

Proposed by Tim Penhey
Status: Merged
Approved by: Tim Penhey
Approved revision: no longer in the source branch.
Merged at revision: 1289
Proposed branch: lp:~thumper/juju-core/instance-id
Merge into: lp:~go-bot/juju-core/trunk
Prerequisite: lp:~thumper/juju-core/lxc-cloud-init
Diff against target: 1455 lines (+188/-185)
38 files modified
cmd/juju/ssh.go (+2/-1)
cmd/juju/ssh_test.go (+2/-1)
cmd/juju/status.go (+4/-4)
cmd/jujud/bootstrap_test.go (+2/-1)
environs/azure/environ.go (+1/-1)
environs/azure/environprovider.go (+2/-2)
environs/azure/instance.go (+1/-2)
environs/dummy/environs.go (+10/-10)
environs/ec2/ec2.go (+13/-13)
environs/ec2/export_test.go (+1/-2)
environs/ec2/live_test.go (+3/-4)
environs/ec2/local_test.go (+2/-2)
environs/ec2/state.go (+2/-2)
environs/interface.go (+2/-2)
environs/jujutest/livetests.go (+7/-7)
environs/jujutest/tests.go (+2/-3)
environs/maas/environ.go (+5/-5)
environs/maas/environ_test.go (+7/-8)
environs/maas/environprovider.go (+3/-3)
environs/maas/environprovider_test.go (+2/-2)
environs/maas/instance.go (+5/-6)
environs/maas/state.go (+2/-2)
environs/maas/util.go (+3/-3)
environs/maas/util_test.go (+5/-4)
environs/openstack/export_test.go (+2/-2)
environs/openstack/local_test.go (+43/-44)
environs/openstack/provider.go (+15/-15)
environs/openstack/state.go (+2/-2)
instance/instance.go (+5/-2)
state/apiserver/api_test.go (+3/-2)
state/machine.go (+4/-7)
state/machine_test.go (+3/-2)
state/megawatcher_internal_test.go (+3/-2)
state/state.go (+3/-2)
state/state_test.go (+10/-9)
worker/firewaller/firewaller.go (+3/-2)
worker/provisioner/provisioner_task.go (+3/-3)
worker/provisioner/provisioner_test.go (+1/-1)
To merge this branch: bzr merge lp:~thumper/juju-core/instance-id
Reviewer Review Type Date Requested Status
Juju Engineering Pending
Review via email: mp+169709@code.launchpad.net

Commit message

Move state.InstanceId to instance.Id

Very mechanical change, just imports, and occasional variable renames.

https://codereview.appspot.com/10325043/

Description of the change

Move state.InstanceId to instance.Id

Very mechanical change, just imports, and occasional variable renames.

https://codereview.appspot.com/10325043/

To post a comment you must log in.
Revision history for this message
Tim Penhey (thumper) wrote :

Reviewers: mp+169709_code.launchpad.net,

Message:
Please take a look.

Description:
Move state.InstanceId to instance.Id

Very mechanical change, just imports, and occasional variable renames.

https://code.launchpad.net/~thumper/juju-core/instance-id/+merge/169709

Requires:
https://code.launchpad.net/~thumper/juju-core/lxc-cloud-init/+merge/169328

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/10325043/

Affected files:
   A [revision details]
   M cmd/juju/ssh.go
   M cmd/juju/ssh_test.go
   M cmd/juju/status.go
   M cmd/jujud/bootstrap_test.go
   M environs/azure/environ.go
   M environs/azure/environprovider.go
   M environs/azure/instance.go
   M environs/dummy/environs.go
   M environs/ec2/ec2.go
   M environs/ec2/export_test.go
   M environs/ec2/live_test.go
   M environs/ec2/local_test.go
   M environs/ec2/state.go
   M environs/interface.go
   M environs/jujutest/livetests.go
   M environs/jujutest/tests.go
   M environs/maas/environ.go
   M environs/maas/environ_test.go
   M environs/maas/environprovider.go
   M environs/maas/environprovider_test.go
   M environs/maas/instance.go
   M environs/maas/state.go
   M environs/maas/util.go
   M environs/maas/util_test.go
   M environs/openstack/export_test.go
   M environs/openstack/local_test.go
   M environs/openstack/provider.go
   M environs/openstack/state.go
   M instance/instance.go
   M state/apiserver/api_test.go
   M state/machine.go
   M state/machine_test.go
   M state/megawatcher_internal_test.go
   M state/state.go
   M state/state_test.go
   M worker/firewaller/firewaller.go
   M worker/provisioner/provisioner_task.go
   M worker/provisioner/provisioner_test.go

Revision history for this message
Ian Booth (wallyworld) wrote :

LGTM with the rename suggestion.

https://codereview.appspot.com/10325043/diff/1/environs/maas/instance.go
File environs/maas/instance.go (right):

https://codereview.appspot.com/10325043/diff/1/environs/maas/instance.go#newcode20
environs/maas/instance.go:20: func (this *maasInstance) Id() instance.Id
{
The usual convention would be something like:
func (mi *maasInstance) Id() instance.Id {

https://codereview.appspot.com/10325043/

Revision history for this message
Go Bot (go-bot) wrote :

There are additional revisions which have not been approved in review. Please seek review and approval of these new revisions.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'cmd/juju/ssh.go'
--- cmd/juju/ssh.go 2013-05-02 15:55:42 +0000
+++ cmd/juju/ssh.go 2013-06-17 21:39:25 +0000
@@ -7,6 +7,7 @@
7 "errors"7 "errors"
8 "fmt"8 "fmt"
9 "launchpad.net/juju-core/cmd"9 "launchpad.net/juju-core/cmd"
10 "launchpad.net/juju-core/instance"
10 "launchpad.net/juju-core/juju"11 "launchpad.net/juju-core/juju"
11 "launchpad.net/juju-core/log"12 "launchpad.net/juju-core/log"
12 "launchpad.net/juju-core/state"13 "launchpad.net/juju-core/state"
@@ -105,7 +106,7 @@
105 for _ = range w.Changes() {106 for _ = range w.Changes() {
106 if instid, ok := machine.InstanceId(); ok {107 if instid, ok := machine.InstanceId(); ok {
107 w.Stop()108 w.Stop()
108 inst, err := c.Environ.Instances([]state.InstanceId{instid})109 inst, err := c.Environ.Instances([]instance.Id{instid})
109 if err != nil {110 if err != nil {
110 return "", err111 return "", err
111 }112 }
112113
=== modified file 'cmd/juju/ssh_test.go'
--- cmd/juju/ssh_test.go 2013-05-27 03:17:41 +0000
+++ cmd/juju/ssh_test.go 2013-06-17 21:39:25 +0000
@@ -9,6 +9,7 @@
9 . "launchpad.net/gocheck"9 . "launchpad.net/gocheck"
10 "launchpad.net/juju-core/charm"10 "launchpad.net/juju-core/charm"
11 "launchpad.net/juju-core/cmd"11 "launchpad.net/juju-core/cmd"
12 "launchpad.net/juju-core/instance"
12 "launchpad.net/juju-core/juju/testing"13 "launchpad.net/juju-core/juju/testing"
13 "launchpad.net/juju-core/state"14 "launchpad.net/juju-core/state"
14 coretesting "launchpad.net/juju-core/testing"15 coretesting "launchpad.net/juju-core/testing"
@@ -139,7 +140,7 @@
139 // fudge unit.SetPublicAddress140 // fudge unit.SetPublicAddress
140 id, ok := m.InstanceId()141 id, ok := m.InstanceId()
141 c.Assert(ok, Equals, true)142 c.Assert(ok, Equals, true)
142 insts, err := s.Conn.Environ.Instances([]state.InstanceId{id})143 insts, err := s.Conn.Environ.Instances([]instance.Id{id})
143 c.Assert(err, IsNil)144 c.Assert(err, IsNil)
144 addr, err := insts[0].WaitDNSName()145 addr, err := insts[0].WaitDNSName()
145 c.Assert(err, IsNil)146 c.Assert(err, IsNil)
146147
=== modified file 'cmd/juju/status.go'
--- cmd/juju/status.go 2013-06-16 22:10:37 +0000
+++ cmd/juju/status.go 2013-06-17 21:39:25 +0000
@@ -43,7 +43,7 @@
43}43}
4444
45type statusContext struct {45type statusContext struct {
46 instances map[state.InstanceId]instance.Instance46 instances map[instance.Id]instance.Instance
47 machines map[string][]*state.Machine47 machines map[string][]*state.Machine
48 services map[string]*state.Service48 services map[string]*state.Service
49 units map[string]map[string]*state.Unit49 units map[string]map[string]*state.Unit
@@ -80,8 +80,8 @@
80}80}
8181
82// fetchAllInstances returns a map from instance id to instance.82// fetchAllInstances returns a map from instance id to instance.
83func fetchAllInstances(env environs.Environ) (map[state.InstanceId]instance.Instance, error) {83func fetchAllInstances(env environs.Environ) (map[instance.Id]instance.Instance, error) {
84 m := make(map[state.InstanceId]instance.Instance)84 m := make(map[instance.Id]instance.Instance)
85 insts, err := env.AllInstances()85 insts, err := env.AllInstances()
86 if err != nil {86 if err != nil {
87 return nil, err87 return nil, err
@@ -357,7 +357,7 @@
357 AgentStateInfo string `json:"agent-state-info,omitempty" yaml:"agent-state-info,omitempty"`357 AgentStateInfo string `json:"agent-state-info,omitempty" yaml:"agent-state-info,omitempty"`
358 AgentVersion string `json:"agent-version,omitempty" yaml:"agent-version,omitempty"`358 AgentVersion string `json:"agent-version,omitempty" yaml:"agent-version,omitempty"`
359 DNSName string `json:"dns-name,omitempty" yaml:"dns-name,omitempty"`359 DNSName string `json:"dns-name,omitempty" yaml:"dns-name,omitempty"`
360 InstanceId state.InstanceId `json:"instance-id,omitempty" yaml:"instance-id,omitempty"`360 InstanceId instance.Id `json:"instance-id,omitempty" yaml:"instance-id,omitempty"`
361 InstanceState string `json:"instance-state,omitempty" yaml:"instance-state,omitempty"`361 InstanceState string `json:"instance-state,omitempty" yaml:"instance-state,omitempty"`
362 Life string `json:"life,omitempty" yaml:"life,omitempty"`362 Life string `json:"life,omitempty" yaml:"life,omitempty"`
363 Series string `json:"series,omitempty" yaml:"series,omitempty"`363 Series string `json:"series,omitempty" yaml:"series,omitempty"`
364364
=== modified file 'cmd/jujud/bootstrap_test.go'
--- cmd/jujud/bootstrap_test.go 2013-06-11 13:52:19 +0000
+++ cmd/jujud/bootstrap_test.go 2013-06-17 21:39:25 +0000
@@ -10,6 +10,7 @@
10 "launchpad.net/juju-core/constraints"10 "launchpad.net/juju-core/constraints"
11 "launchpad.net/juju-core/environs/agent"11 "launchpad.net/juju-core/environs/agent"
12 "launchpad.net/juju-core/errors"12 "launchpad.net/juju-core/errors"
13 "launchpad.net/juju-core/instance"
13 "launchpad.net/juju-core/state"14 "launchpad.net/juju-core/state"
14 "launchpad.net/juju-core/testing"15 "launchpad.net/juju-core/testing"
15)16)
@@ -79,7 +80,7 @@
7980
80 instid, ok := machines[0].InstanceId()81 instid, ok := machines[0].InstanceId()
81 c.Assert(ok, Equals, true)82 c.Assert(ok, Equals, true)
82 c.Assert(instid, Equals, state.InstanceId("dummy.instance.id"))83 c.Assert(instid, Equals, instance.Id("dummy.instance.id"))
8384
84 cons, err := st.EnvironConstraints()85 cons, err := st.EnvironConstraints()
85 c.Assert(err, IsNil)86 c.Assert(err, IsNil)
8687
=== modified file 'environs/azure/environ.go'
--- environs/azure/environ.go 2013-06-14 01:02:53 +0000
+++ environs/azure/environ.go 2013-06-17 21:39:25 +0000
@@ -54,7 +54,7 @@
54}54}
5555
56// Instances is specified in the Environ interface.56// Instances is specified in the Environ interface.
57func (env *azureEnviron) Instances(ids []state.InstanceId) ([]instance.Instance, error) {57func (env *azureEnviron) Instances(ids []instance.Id) ([]instance.Instance, error) {
58 panic("unimplemented")58 panic("unimplemented")
59}59}
6060
6161
=== modified file 'environs/azure/environprovider.go'
--- environs/azure/environprovider.go 2013-06-11 12:41:10 +0000
+++ environs/azure/environprovider.go 2013-06-17 21:39:25 +0000
@@ -6,7 +6,7 @@
6import (6import (
7 "launchpad.net/juju-core/environs"7 "launchpad.net/juju-core/environs"
8 "launchpad.net/juju-core/environs/config"8 "launchpad.net/juju-core/environs/config"
9 "launchpad.net/juju-core/state"9 "launchpad.net/juju-core/instance"
10)10)
1111
12type azureEnvironProvider struct{}12type azureEnvironProvider struct{}
@@ -45,6 +45,6 @@
45}45}
4646
47// InstanceId is specified in the EnvironProvider interface.47// InstanceId is specified in the EnvironProvider interface.
48func (prov azureEnvironProvider) InstanceId() (state.InstanceId, error) {48func (prov azureEnvironProvider) InstanceId() (instance.Id, error) {
49 panic("unimplemented")49 panic("unimplemented")
50}50}
5151
=== modified file 'environs/azure/instance.go'
--- environs/azure/instance.go 2013-06-14 01:02:53 +0000
+++ environs/azure/instance.go 2013-06-17 21:39:25 +0000
@@ -5,7 +5,6 @@
55
6import (6import (
7 "launchpad.net/juju-core/instance"7 "launchpad.net/juju-core/instance"
8 "launchpad.net/juju-core/state"
9 "launchpad.net/juju-core/state/api/params"8 "launchpad.net/juju-core/state/api/params"
10)9)
1110
@@ -15,7 +14,7 @@
15var _ instance.Instance = (*azureInstance)(nil)14var _ instance.Instance = (*azureInstance)(nil)
1615
17// Id is specified in the Instance interface.16// Id is specified in the Instance interface.
18func (instance *azureInstance) Id() state.InstanceId {17func (instance *azureInstance) Id() instance.Id {
19 panic("unimplemented")18 panic("unimplemented")
20}19}
2120
2221
=== modified file 'environs/dummy/environs.go'
--- environs/dummy/environs.go 2013-06-17 15:12:53 +0000
+++ environs/dummy/environs.go 2013-06-17 21:39:25 +0000
@@ -91,14 +91,14 @@
91type OpOpenPorts struct {91type OpOpenPorts struct {
92 Env string92 Env string
93 MachineId string93 MachineId string
94 InstanceId state.InstanceId94 InstanceId instance.Id
95 Ports []params.Port95 Ports []params.Port
96}96}
9797
98type OpClosePorts struct {98type OpClosePorts struct {
99 Env string99 Env string
100 MachineId string100 MachineId string
101 InstanceId state.InstanceId101 InstanceId instance.Id
102 Ports []params.Port102 Ports []params.Port
103}103}
104104
@@ -126,7 +126,7 @@
126 ops chan<- Operation126 ops chan<- Operation
127 mu sync.Mutex127 mu sync.Mutex
128 maxId int // maximum instance id allocated so far.128 maxId int // maximum instance id allocated so far.
129 insts map[state.InstanceId]*dummyInstance129 insts map[instance.Id]*dummyInstance
130 globalPorts map[params.Port]bool130 globalPorts map[params.Port]bool
131 firewallMode config.FirewallMode131 firewallMode config.FirewallMode
132 bootstrapped bool132 bootstrapped bool
@@ -228,7 +228,7 @@
228 s := &environState{228 s := &environState{
229 name: name,229 name: name,
230 ops: ops,230 ops: ops,
231 insts: make(map[state.InstanceId]*dummyInstance),231 insts: make(map[instance.Id]*dummyInstance),
232 globalPorts: make(map[params.Port]bool),232 globalPorts: make(map[params.Port]bool),
233 firewallMode: fwmode,233 firewallMode: fwmode,
234 }234 }
@@ -389,8 +389,8 @@
389 return "private.dummy.address.example.com", nil389 return "private.dummy.address.example.com", nil
390}390}
391391
392func (*environProvider) InstanceId() (state.InstanceId, error) {392func (*environProvider) InstanceId() (instance.Id, error) {
393 return state.InstanceId("dummy.instance.id"), nil393 return instance.Id("dummy.instance.id"), nil
394}394}
395395
396func (*environProvider) BoilerplateConfig() string {396func (*environProvider) BoilerplateConfig() string {
@@ -561,7 +561,7 @@
561 }561 }
562 i := &dummyInstance{562 i := &dummyInstance{
563 state: e.state,563 state: e.state,
564 id: state.InstanceId(fmt.Sprintf("%s-%d", e.state.name, e.state.maxId)),564 id: instance.Id(fmt.Sprintf("%s-%d", e.state.name, e.state.maxId)),
565 ports: make(map[params.Port]bool),565 ports: make(map[params.Port]bool),
566 machineId: machineId,566 machineId: machineId,
567 series: series,567 series: series,
@@ -598,7 +598,7 @@
598 return nil598 return nil
599}599}
600600
601func (e *environ) Instances(ids []state.InstanceId) (insts []instance.Instance, err error) {601func (e *environ) Instances(ids []instance.Id) (insts []instance.Instance, err error) {
602 defer delay()602 defer delay()
603 if err := e.checkBroken("Instances"); err != nil {603 if err := e.checkBroken("Instances"); err != nil {
604 return nil, err604 return nil, err
@@ -684,12 +684,12 @@
684type dummyInstance struct {684type dummyInstance struct {
685 state *environState685 state *environState
686 ports map[params.Port]bool686 ports map[params.Port]bool
687 id state.InstanceId687 id instance.Id
688 machineId string688 machineId string
689 series string689 series string
690}690}
691691
692func (inst *dummyInstance) Id() state.InstanceId {692func (inst *dummyInstance) Id() instance.Id {
693 return inst.id693 return inst.id
694}694}
695695
696696
=== modified file 'environs/ec2/ec2.go'
--- environs/ec2/ec2.go 2013-06-17 15:12:53 +0000
+++ environs/ec2/ec2.go 2013-06-17 21:39:25 +0000
@@ -77,8 +77,8 @@
7777
78var _ instance.Instance = (*ec2Instance)(nil)78var _ instance.Instance = (*ec2Instance)(nil)
7979
80func (inst *ec2Instance) Id() state.InstanceId {80func (inst *ec2Instance) Id() instance.Id {
81 return state.InstanceId(inst.InstanceId)81 return instance.Id(inst.InstanceId)
82}82}
8383
84func (inst *ec2Instance) DNSName() (string, error) {84func (inst *ec2Instance) DNSName() (string, error) {
@@ -87,7 +87,7 @@
87 }87 }
88 // Fetch the instance information again, in case88 // Fetch the instance information again, in case
89 // the DNS information has become available.89 // the DNS information has become available.
90 insts, err := inst.e.Instances([]state.InstanceId{inst.Id()})90 insts, err := inst.e.Instances([]instance.Id{inst.Id()})
91 if err != nil {91 if err != nil {
92 return "", err92 return "", err
93 }93 }
@@ -158,9 +158,9 @@
158 return fetchMetadata("local-hostname")158 return fetchMetadata("local-hostname")
159}159}
160160
161func (environProvider) InstanceId() (state.InstanceId, error) {161func (environProvider) InstanceId() (instance.Id, error) {
162 str, err := fetchMetadata("instance-id")162 str, err := fetchMetadata("instance-id")
163 return state.InstanceId(str), err163 return instance.Id(str), err
164}164}
165165
166func (e *environ) Config() *config.Config {166func (e *environ) Config() *config.Config {
@@ -279,7 +279,7 @@
279 return fmt.Errorf("cannot start bootstrap instance: %v", err)279 return fmt.Errorf("cannot start bootstrap instance: %v", err)
280 }280 }
281 err = e.saveState(&bootstrapState{281 err = e.saveState(&bootstrapState{
282 StateInstances: []state.InstanceId{inst.Id()},282 StateInstances: []instance.Id{inst.Id()},
283 })283 })
284 if err != nil {284 if err != nil {
285 // ignore error on StopInstance because the previous error is285 // ignore error on StopInstance because the previous error is
@@ -467,7 +467,7 @@
467}467}
468468
469func (e *environ) StopInstances(insts []instance.Instance) error {469func (e *environ) StopInstances(insts []instance.Instance) error {
470 ids := make([]state.InstanceId, len(insts))470 ids := make([]instance.Id, len(insts))
471 for i, inst := range insts {471 for i, inst := range insts {
472 ids[i] = inst.(*ec2Instance).Id()472 ids[i] = inst.(*ec2Instance).Id()
473 }473 }
@@ -478,7 +478,7 @@
478// id whose corresponding insts slot is nil.478// id whose corresponding insts slot is nil.
479// It returns environs.ErrPartialInstances if the insts479// It returns environs.ErrPartialInstances if the insts
480// slice has not been completely filled.480// slice has not been completely filled.
481func (e *environ) gatherInstances(ids []state.InstanceId, insts []instance.Instance) error {481func (e *environ) gatherInstances(ids []instance.Id, insts []instance.Instance) error {
482 var need []string482 var need []string
483 for i, inst := range insts {483 for i, inst := range insts {
484 if inst == nil {484 if inst == nil {
@@ -520,7 +520,7 @@
520 return nil520 return nil
521}521}
522522
523func (e *environ) Instances(ids []state.InstanceId) ([]instance.Instance, error) {523func (e *environ) Instances(ids []instance.Id) ([]instance.Instance, error) {
524 if len(ids) == 0 {524 if len(ids) == 0 {
525 return nil, nil525 return nil, nil
526 }526 }
@@ -573,8 +573,8 @@
573 if err != nil {573 if err != nil {
574 return fmt.Errorf("cannot get instances: %v", err)574 return fmt.Errorf("cannot get instances: %v", err)
575 }575 }
576 found := make(map[state.InstanceId]bool)576 found := make(map[instance.Id]bool)
577 var ids []state.InstanceId577 var ids []instance.Id
578 for _, inst := range insts {578 for _, inst := range insts {
579 ids = append(ids, inst.Id())579 ids = append(ids, inst.Id())
580 found[inst.Id()] = true580 found[inst.Id()] = true
@@ -583,7 +583,7 @@
583 // Add any instances we've been told about but haven't yet shown583 // Add any instances we've been told about but haven't yet shown
584 // up in the instance list.584 // up in the instance list.
585 for _, inst := range ensureInsts {585 for _, inst := range ensureInsts {
586 id := state.InstanceId(inst.(*ec2Instance).InstanceId)586 id := instance.Id(inst.(*ec2Instance).InstanceId)
587 if !found[id] {587 if !found[id] {
588 ids = append(ids, id)588 ids = append(ids, id)
589 found[id] = true589 found[id] = true
@@ -720,7 +720,7 @@
720 return &providerInstance720 return &providerInstance
721}721}
722722
723func (e *environ) terminateInstances(ids []state.InstanceId) error {723func (e *environ) terminateInstances(ids []instance.Id) error {
724 if len(ids) == 0 {724 if len(ids) == 0 {
725 return nil725 return nil
726 }726 }
727727
=== modified file 'environs/ec2/export_test.go'
--- environs/ec2/export_test.go 2013-06-14 01:23:48 +0000
+++ environs/ec2/export_test.go 2013-06-17 21:39:25 +0000
@@ -12,13 +12,12 @@
12 "launchpad.net/juju-core/environs/imagemetadata"12 "launchpad.net/juju-core/environs/imagemetadata"
13 "launchpad.net/juju-core/environs/jujutest"13 "launchpad.net/juju-core/environs/jujutest"
14 "launchpad.net/juju-core/instance"14 "launchpad.net/juju-core/instance"
15 "launchpad.net/juju-core/state"
16 "launchpad.net/juju-core/utils"15 "launchpad.net/juju-core/utils"
17 "net/http"16 "net/http"
18)17)
1918
20type BootstrapState struct {19type BootstrapState struct {
21 StateInstances []state.InstanceId20 StateInstances []instance.Id
22}21}
2322
24func LoadState(e environs.Environ) (*BootstrapState, error) {23func LoadState(e environs.Environ) (*BootstrapState, error) {
2524
=== modified file 'environs/ec2/live_test.go'
--- environs/ec2/live_test.go 2013-06-14 01:02:53 +0000
+++ environs/ec2/live_test.go 2013-06-17 21:39:25 +0000
@@ -19,7 +19,6 @@
19 "launchpad.net/juju-core/errors"19 "launchpad.net/juju-core/errors"
20 "launchpad.net/juju-core/instance"20 "launchpad.net/juju-core/instance"
21 "launchpad.net/juju-core/juju/testing"21 "launchpad.net/juju-core/juju/testing"
22 "launchpad.net/juju-core/state"
23 coretesting "launchpad.net/juju-core/testing"22 coretesting "launchpad.net/juju-core/testing"
24 "strings"23 "strings"
25)24)
@@ -120,7 +119,7 @@
120 c.Assert(err, IsNil)119 c.Assert(err, IsNil)
121 c.Assert(dns, Not(Equals), "")120 c.Assert(dns, Not(Equals), "")
122121
123 insts, err := t.Env.Instances([]state.InstanceId{inst.Id()})122 insts, err := t.Env.Instances([]instance.Id{inst.Id()})
124 c.Assert(err, IsNil)123 c.Assert(err, IsNil)
125 c.Assert(len(insts), Equals, 1)124 c.Assert(len(insts), Equals, 1)
126125
@@ -230,7 +229,7 @@
230 msg := Commentf("reservation %#v", r)229 msg := Commentf("reservation %#v", r)
231 c.Assert(hasSecurityGroup(r, groups[0]), Equals, true, msg)230 c.Assert(hasSecurityGroup(r, groups[0]), Equals, true, msg)
232 inst := r.Instances[0]231 inst := r.Instances[0]
233 switch state.InstanceId(inst.InstanceId) {232 switch instance.Id(inst.InstanceId) {
234 case inst0.Id():233 case inst0.Id():
235 c.Assert(hasSecurityGroup(r, groups[1]), Equals, true, msg)234 c.Assert(hasSecurityGroup(r, groups[1]), Equals, true, msg)
236 c.Assert(hasSecurityGroup(r, groups[2]), Equals, false, msg)235 c.Assert(hasSecurityGroup(r, groups[2]), Equals, false, msg)
@@ -325,7 +324,7 @@
325 // if it succeeds.324 // if it succeeds.
326 gone := false325 gone := false
327 for a := ec2.ShortAttempt.Start(); a.Next(); {326 for a := ec2.ShortAttempt.Start(); a.Next(); {
328 insts, err = t.Env.Instances([]state.InstanceId{inst0.Id(), inst2.Id()})327 insts, err = t.Env.Instances([]instance.Id{inst0.Id(), inst2.Id()})
329 if err == environs.ErrPartialInstances {328 if err == environs.ErrPartialInstances {
330 // instances not gone yet.329 // instances not gone yet.
331 continue330 continue
332331
=== modified file 'environs/ec2/local_test.go'
--- environs/ec2/local_test.go 2013-05-28 08:05:49 +0000
+++ environs/ec2/local_test.go 2013-06-17 21:39:25 +0000
@@ -18,7 +18,7 @@
18 "launchpad.net/juju-core/environs/imagemetadata"18 "launchpad.net/juju-core/environs/imagemetadata"
19 "launchpad.net/juju-core/environs/jujutest"19 "launchpad.net/juju-core/environs/jujutest"
20 envtesting "launchpad.net/juju-core/environs/testing"20 envtesting "launchpad.net/juju-core/environs/testing"
21 "launchpad.net/juju-core/state"21 "launchpad.net/juju-core/instance"
22 "launchpad.net/juju-core/testing"22 "launchpad.net/juju-core/testing"
23 "launchpad.net/juju-core/utils"23 "launchpad.net/juju-core/utils"
24 "regexp"24 "regexp"
@@ -50,7 +50,7 @@
5050
51 id, err := p.InstanceId()51 id, err := p.InstanceId()
52 c.Assert(err, IsNil)52 c.Assert(err, IsNil)
53 c.Assert(id, Equals, state.InstanceId("dummy.instance.id"))53 c.Assert(id, Equals, instance.Id("dummy.instance.id"))
54}54}
5555
56func registerLocalTests() {56func registerLocalTests() {
5757
=== modified file 'environs/ec2/state.go'
--- environs/ec2/state.go 2013-05-02 15:55:42 +0000
+++ environs/ec2/state.go 2013-06-17 21:39:25 +0000
@@ -8,13 +8,13 @@
8 "fmt"8 "fmt"
9 "io/ioutil"9 "io/ioutil"
10 "launchpad.net/goyaml"10 "launchpad.net/goyaml"
11 "launchpad.net/juju-core/state"11 "launchpad.net/juju-core/instance"
12)12)
1313
14const stateFile = "provider-state"14const stateFile = "provider-state"
1515
16type bootstrapState struct {16type bootstrapState struct {
17 StateInstances []state.InstanceId `yaml:"state-instances"`17 StateInstances []instance.Id `yaml:"state-instances"`
18}18}
1919
20func (e *environ) saveState(state *bootstrapState) error {20func (e *environ) saveState(state *bootstrapState) error {
2121
=== modified file 'environs/interface.go'
--- environs/interface.go 2013-06-14 01:02:53 +0000
+++ environs/interface.go 2013-06-17 21:39:25 +0000
@@ -47,7 +47,7 @@
47 PrivateAddress() (string, error)47 PrivateAddress() (string, error)
4848
49 // InstanceId returns this machine's instance id.49 // InstanceId returns this machine's instance id.
50 InstanceId() (state.InstanceId, error)50 InstanceId() (instance.Id, error)
51}51}
5252
53var ErrNoInstances = errors.New("no instances found")53var ErrNoInstances = errors.New("no instances found")
@@ -146,7 +146,7 @@
146 // some but not all the instances were found, the returned slice146 // some but not all the instances were found, the returned slice
147 // will have some nil slots, and an ErrPartialInstances error147 // will have some nil slots, and an ErrPartialInstances error
148 // will be returned.148 // will be returned.
149 Instances(ids []state.InstanceId) ([]instance.Instance, error)149 Instances(ids []instance.Id) ([]instance.Instance, error)
150150
151 // AllInstances returns all instances currently known to the151 // AllInstances returns all instances currently known to the
152 // environment.152 // environment.
153153
=== modified file 'environs/jujutest/livetests.go'
--- environs/jujutest/livetests.go 2013-06-17 15:12:53 +0000
+++ environs/jujutest/livetests.go 2013-06-17 21:39:25 +0000
@@ -113,7 +113,7 @@
113 c.Assert(inst, NotNil)113 c.Assert(inst, NotNil)
114 id0 := inst.Id()114 id0 := inst.Id()
115115
116 insts, err := t.Env.Instances([]state.InstanceId{id0, id0})116 insts, err := t.Env.Instances([]instance.Id{id0, id0})
117 c.Assert(err, IsNil)117 c.Assert(err, IsNil)
118 c.Assert(insts, HasLen, 2)118 c.Assert(insts, HasLen, 2)
119 c.Assert(insts[0].Id(), Equals, id0)119 c.Assert(insts[0].Id(), Equals, id0)
@@ -138,7 +138,7 @@
138 c.Assert(err, IsNil)138 c.Assert(err, IsNil)
139 c.Assert(dns, Not(Equals), "")139 c.Assert(dns, Not(Equals), "")
140140
141 insts, err = t.Env.Instances([]state.InstanceId{id0, ""})141 insts, err = t.Env.Instances([]instance.Id{id0, ""})
142 c.Assert(err, Equals, environs.ErrPartialInstances)142 c.Assert(err, Equals, environs.ErrPartialInstances)
143 c.Assert(insts, HasLen, 2)143 c.Assert(insts, HasLen, 2)
144 c.Check(insts[0].Id(), Equals, id0)144 c.Check(insts[0].Id(), Equals, id0)
@@ -150,7 +150,7 @@
150 // The machine may not be marked as shutting down150 // The machine may not be marked as shutting down
151 // immediately. Repeat a few times to ensure we get the error.151 // immediately. Repeat a few times to ensure we get the error.
152 for a := t.Attempt.Start(); a.Next(); {152 for a := t.Attempt.Start(); a.Next(); {
153 insts, err = t.Env.Instances([]state.InstanceId{id0})153 insts, err = t.Env.Instances([]instance.Id{id0})
154 if err != nil {154 if err != nil {
155 break155 break
156 }156 }
@@ -621,17 +621,17 @@
621 if !ok {621 if !ok {
622 continue622 continue
623 }623 }
624 _, err = t.Env.Instances([]state.InstanceId{instId})624 _, err = t.Env.Instances([]instance.Id{instId})
625 c.Assert(err, IsNil)625 c.Assert(err, IsNil)
626 return626 return
627 }627 }
628 c.Fatalf("provisioner failed to start machine after %v", waitAgent.Total)628 c.Fatalf("provisioner failed to start machine after %v", waitAgent.Total)
629}629}
630630
631func (t *LiveTests) assertStopInstance(c *C, env environs.Environ, instId state.InstanceId) {631func (t *LiveTests) assertStopInstance(c *C, env environs.Environ, instId instance.Id) {
632 var err error632 var err error
633 for a := waitAgent.Start(); a.Next(); {633 for a := waitAgent.Start(); a.Next(); {
634 _, err = t.Env.Instances([]state.InstanceId{instId})634 _, err = t.Env.Instances([]instance.Id{instId})
635 if err == nil {635 if err == nil {
636 continue636 continue
637 }637 }
@@ -647,7 +647,7 @@
647// that matches that of the given instance. If the instance is nil,647// that matches that of the given instance. If the instance is nil,
648// It asserts that the instance id is unset.648// It asserts that the instance id is unset.
649func assertInstanceId(c *C, m *state.Machine, inst instance.Instance) {649func assertInstanceId(c *C, m *state.Machine, inst instance.Instance) {
650 var wantId, gotId state.InstanceId650 var wantId, gotId instance.Id
651 var err error651 var err error
652 if inst != nil {652 if inst != nil {
653 wantId = inst.Id()653 wantId = inst.Id()
654654
=== modified file 'environs/jujutest/tests.go'
--- environs/jujutest/tests.go 2013-06-14 01:02:53 +0000
+++ environs/jujutest/tests.go 2013-06-17 21:39:25 +0000
@@ -14,7 +14,6 @@
14 "launchpad.net/juju-core/errors"14 "launchpad.net/juju-core/errors"
15 "launchpad.net/juju-core/instance"15 "launchpad.net/juju-core/instance"
16 "launchpad.net/juju-core/juju/testing"16 "launchpad.net/juju-core/juju/testing"
17 "launchpad.net/juju-core/state"
18 coretesting "launchpad.net/juju-core/testing"17 coretesting "launchpad.net/juju-core/testing"
19 "launchpad.net/juju-core/utils"18 "launchpad.net/juju-core/utils"
20 "launchpad.net/juju-core/version"19 "launchpad.net/juju-core/version"
@@ -96,7 +95,7 @@
96 c.Assert(inst1, NotNil)95 c.Assert(inst1, NotNil)
97 id1 := inst1.Id()96 id1 := inst1.Id()
9897
99 insts, err = e.Instances([]state.InstanceId{id0, id1})98 insts, err = e.Instances([]instance.Id{id0, id1})
100 c.Assert(err, IsNil)99 c.Assert(err, IsNil)
101 c.Assert(insts, HasLen, 2)100 c.Assert(insts, HasLen, 2)
102 c.Assert(insts[0].Id(), Equals, id0)101 c.Assert(insts[0].Id(), Equals, id0)
@@ -111,7 +110,7 @@
111 err = e.StopInstances([]instance.Instance{inst0})110 err = e.StopInstances([]instance.Instance{inst0})
112 c.Assert(err, IsNil)111 c.Assert(err, IsNil)
113112
114 insts, err = e.Instances([]state.InstanceId{id0, id1})113 insts, err = e.Instances([]instance.Id{id0, id1})
115 c.Assert(err, Equals, environs.ErrPartialInstances)114 c.Assert(err, Equals, environs.ErrPartialInstances)
116 c.Assert(insts[0], IsNil)115 c.Assert(insts[0], IsNil)
117 c.Assert(insts[1].Id(), Equals, id1)116 c.Assert(insts[1].Id(), Equals, id1)
118117
=== modified file 'environs/maas/environ.go'
--- environs/maas/environ.go 2013-06-17 15:12:53 +0000
+++ environs/maas/environ.go 2013-06-17 21:39:25 +0000
@@ -116,7 +116,7 @@
116 if err != nil {116 if err != nil {
117 return err117 return err
118 }118 }
119 err = env.saveState(&bootstrapState{StateInstances: []state.InstanceId{inst.Id()}})119 err = env.saveState(&bootstrapState{StateInstances: []instance.Id{inst.Id()}})
120 if err != nil {120 if err != nil {
121 if err := env.releaseInstance(inst); err != nil {121 if err := env.releaseInstance(inst); err != nil {
122 log.Errorf("environs/maas: cannot release failed bootstrap instance: %v", err)122 log.Errorf("environs/maas: cannot release failed bootstrap instance: %v", err)
@@ -397,9 +397,9 @@
397}397}
398398
399// Instances returns the instance.Instance objects corresponding to the given399// Instances returns the instance.Instance objects corresponding to the given
400// slice of state.InstanceId. Similar to what the ec2 provider does,400// slice of instance.Id. Similar to what the ec2 provider does,
401// Instances returns nil if the given slice is empty or nil.401// Instances returns nil if the given slice is empty or nil.
402func (environ *maasEnviron) Instances(ids []state.InstanceId) ([]instance.Instance, error) {402func (environ *maasEnviron) Instances(ids []instance.Id) ([]instance.Instance, error) {
403 if len(ids) == 0 {403 if len(ids) == 0 {
404 return nil, nil404 return nil, nil
405 }405 }
@@ -411,7 +411,7 @@
411// If the some of the intances could not be found, it returns the instance411// If the some of the intances could not be found, it returns the instance
412// that could be found plus the error environs.ErrPartialInstances in the error412// that could be found plus the error environs.ErrPartialInstances in the error
413// return.413// return.
414func (environ *maasEnviron) instances(ids []state.InstanceId) ([]instance.Instance, error) {414func (environ *maasEnviron) instances(ids []instance.Id) ([]instance.Instance, error) {
415 nodeListing := environ.getMAASClient().GetSubObject("nodes")415 nodeListing := environ.getMAASClient().GetSubObject("nodes")
416 filter := getSystemIdValues(ids)416 filter := getSystemIdValues(ids)
417 listNodeObjects, err := nodeListing.CallGet("list", filter)417 listNodeObjects, err := nodeListing.CallGet("list", filter)
@@ -463,7 +463,7 @@
463 if err != nil {463 if err != nil {
464 return fmt.Errorf("cannot get instances: %v", err)464 return fmt.Errorf("cannot get instances: %v", err)
465 }465 }
466 found := make(map[state.InstanceId]bool)466 found := make(map[instance.Id]bool)
467 for _, inst := range insts {467 for _, inst := range insts {
468 found[inst.Id()] = true468 found[inst.Id()] = true
469 }469 }
470470
=== modified file 'environs/maas/environ_test.go'
--- environs/maas/environ_test.go 2013-06-14 01:23:48 +0000
+++ environs/maas/environ_test.go 2013-06-17 21:39:25 +0000
@@ -16,7 +16,6 @@
16 "launchpad.net/juju-core/environs/tools"16 "launchpad.net/juju-core/environs/tools"
17 "launchpad.net/juju-core/errors"17 "launchpad.net/juju-core/errors"
18 "launchpad.net/juju-core/instance"18 "launchpad.net/juju-core/instance"
19 "launchpad.net/juju-core/state"
20 "launchpad.net/juju-core/testing"19 "launchpad.net/juju-core/testing"
21 "launchpad.net/juju-core/utils"20 "launchpad.net/juju-core/utils"
22 "launchpad.net/juju-core/version"21 "launchpad.net/juju-core/version"
@@ -134,7 +133,7 @@
134 input := `{"system_id": "test"}`133 input := `{"system_id": "test"}`
135 node := suite.testMAASObject.TestServer.NewNode(input)134 node := suite.testMAASObject.TestServer.NewNode(input)
136 resourceURI, _ := node.GetField("resource_uri")135 resourceURI, _ := node.GetField("resource_uri")
137 instanceIds := []state.InstanceId{state.InstanceId(resourceURI)}136 instanceIds := []instance.Id{instance.Id(resourceURI)}
138137
139 instances, err := suite.environ.Instances(instanceIds)138 instances, err := suite.environ.Instances(instanceIds)
140139
@@ -147,7 +146,7 @@
147 // Instances returns nil if the given parameter is empty.146 // Instances returns nil if the given parameter is empty.
148 input := `{"system_id": "test"}`147 input := `{"system_id": "test"}`
149 suite.testMAASObject.TestServer.NewNode(input)148 suite.testMAASObject.TestServer.NewNode(input)
150 instances, err := suite.environ.Instances([]state.InstanceId{})149 instances, err := suite.environ.Instances([]instance.Id{})
151150
152 c.Check(err, IsNil)151 c.Check(err, IsNil)
153 c.Check(instances, IsNil)152 c.Check(instances, IsNil)
@@ -188,9 +187,9 @@
188 resourceURI1, _ := node1.GetField("resource_uri")187 resourceURI1, _ := node1.GetField("resource_uri")
189 input2 := `{"system_id": "test2"}`188 input2 := `{"system_id": "test2"}`
190 suite.testMAASObject.TestServer.NewNode(input2)189 suite.testMAASObject.TestServer.NewNode(input2)
191 instanceId1 := state.InstanceId(resourceURI1)190 instanceId1 := instance.Id(resourceURI1)
192 instanceId2 := state.InstanceId("unknown systemID")191 instanceId2 := instance.Id("unknown systemID")
193 instanceIds := []state.InstanceId{instanceId1, instanceId2}192 instanceIds := []instance.Id{instanceId1, instanceId2}
194193
195 instances, err := suite.environ.Instances(instanceIds)194 instances, err := suite.environ.Instances(instanceIds)
196195
@@ -370,8 +369,8 @@
370 hostname := "test"369 hostname := "test"
371 input := `{"system_id": "system_id", "hostname": "` + hostname + `"}`370 input := `{"system_id": "system_id", "hostname": "` + hostname + `"}`
372 node := suite.testMAASObject.TestServer.NewNode(input)371 node := suite.testMAASObject.TestServer.NewNode(input)
373 instance := &maasInstance{&node, suite.environ}372 testInstance := &maasInstance{&node, suite.environ}
374 err := env.saveState(&bootstrapState{StateInstances: []state.InstanceId{instance.Id()}})373 err := env.saveState(&bootstrapState{StateInstances: []instance.Id{testInstance.Id()}})
375 c.Assert(err, IsNil)374 c.Assert(err, IsNil)
376375
377 stateInfo, apiInfo, err := env.StateInfo()376 stateInfo, apiInfo, err := env.StateInfo()
378377
=== modified file 'environs/maas/environprovider.go'
--- environs/maas/environprovider.go 2013-05-02 15:55:42 +0000
+++ environs/maas/environprovider.go 2013-06-17 21:39:25 +0000
@@ -6,8 +6,8 @@
6import (6import (
7 "launchpad.net/juju-core/environs"7 "launchpad.net/juju-core/environs"
8 "launchpad.net/juju-core/environs/config"8 "launchpad.net/juju-core/environs/config"
9 "launchpad.net/juju-core/instance"
9 "launchpad.net/juju-core/log"10 "launchpad.net/juju-core/log"
10 "launchpad.net/juju-core/state"
11)11)
1212
13type maasEnvironProvider struct{}13type maasEnvironProvider struct{}
@@ -78,11 +78,11 @@
78}78}
7979
80// InstanceId is specified in the EnvironProvider interface.80// InstanceId is specified in the EnvironProvider interface.
81func (maasEnvironProvider) InstanceId() (state.InstanceId, error) {81func (maasEnvironProvider) InstanceId() (instance.Id, error) {
82 info := machineInfo{}82 info := machineInfo{}
83 err := info.load()83 err := info.load()
84 if err != nil {84 if err != nil {
85 return "", err85 return "", err
86 }86 }
87 return state.InstanceId(info.InstanceId), nil87 return instance.Id(info.InstanceId), nil
88}88}
8989
=== modified file 'environs/maas/environprovider_test.go'
--- environs/maas/environprovider_test.go 2013-05-02 15:55:42 +0000
+++ environs/maas/environprovider_test.go 2013-06-17 21:39:25 +0000
@@ -8,7 +8,7 @@
8 . "launchpad.net/gocheck"8 . "launchpad.net/gocheck"
9 "launchpad.net/goyaml"9 "launchpad.net/goyaml"
10 "launchpad.net/juju-core/environs/config"10 "launchpad.net/juju-core/environs/config"
11 "launchpad.net/juju-core/state"11 "launchpad.net/juju-core/instance"
12)12)
1313
14type EnvironProviderSuite struct {14type EnvironProviderSuite struct {
@@ -68,7 +68,7 @@
68 provider := suite.environ.Provider()68 provider := suite.environ.Provider()
69 returnedInstanceId, err := provider.InstanceId()69 returnedInstanceId, err := provider.InstanceId()
70 c.Assert(err, IsNil)70 c.Assert(err, IsNil)
71 c.Check(returnedInstanceId, Equals, state.InstanceId(instanceId))71 c.Check(returnedInstanceId, Equals, instance.Id(instanceId))
72}72}
7373
74// PublicAddress and PrivateAddress return the hostname of the machine read74// PublicAddress and PrivateAddress return the hostname of the machine read
7575
=== modified file 'environs/maas/instance.go'
--- environs/maas/instance.go 2013-06-14 01:02:53 +0000
+++ environs/maas/instance.go 2013-06-17 21:39:25 +0000
@@ -7,7 +7,6 @@
7 "launchpad.net/gomaasapi"7 "launchpad.net/gomaasapi"
8 "launchpad.net/juju-core/instance"8 "launchpad.net/juju-core/instance"
9 "launchpad.net/juju-core/log"9 "launchpad.net/juju-core/log"
10 "launchpad.net/juju-core/state"
11 "launchpad.net/juju-core/state/api/params"10 "launchpad.net/juju-core/state/api/params"
12)11)
1312
@@ -18,20 +17,20 @@
1817
19var _ instance.Instance = (*maasInstance)(nil)18var _ instance.Instance = (*maasInstance)(nil)
2019
21func (instance *maasInstance) Id() state.InstanceId {20func (mi *maasInstance) Id() instance.Id {
22 // Use the node's 'resource_uri' value.21 // Use the node's 'resource_uri' value.
23 return state.InstanceId((*instance.maasObject).URI().String())22 return instance.Id((*mi.maasObject).URI().String())
24}23}
2524
26// refreshInstance refreshes the instance with the most up-to-date information25// refreshInstance refreshes the instance with the most up-to-date information
27// from the MAAS server.26// from the MAAS server.
28func (instance *maasInstance) refreshInstance() error {27func (mi *maasInstance) refreshInstance() error {
29 insts, err := instance.environ.Instances([]state.InstanceId{instance.Id()})28 insts, err := mi.environ.Instances([]instance.Id{mi.Id()})
30 if err != nil {29 if err != nil {
31 return err30 return err
32 }31 }
33 newMaasObject := insts[0].(*maasInstance).maasObject32 newMaasObject := insts[0].(*maasInstance).maasObject
34 instance.maasObject = newMaasObject33 mi.maasObject = newMaasObject
35 return nil34 return nil
36}35}
3736
3837
=== modified file 'environs/maas/state.go'
--- environs/maas/state.go 2013-05-02 15:55:42 +0000
+++ environs/maas/state.go 2013-06-17 21:39:25 +0000
@@ -8,7 +8,7 @@
8 "fmt"8 "fmt"
9 "io/ioutil"9 "io/ioutil"
10 "launchpad.net/goyaml"10 "launchpad.net/goyaml"
11 "launchpad.net/juju-core/state"11 "launchpad.net/juju-core/instance"
12)12)
1313
14const stateFile = "provider-state"14const stateFile = "provider-state"
@@ -16,7 +16,7 @@
16// Persistent environment state. An environment needs to know what instances16// Persistent environment state. An environment needs to know what instances
17// it manages.17// it manages.
18type bootstrapState struct {18type bootstrapState struct {
19 StateInstances []state.InstanceId `yaml:"state-instances"`19 StateInstances []instance.Id `yaml:"state-instances"`
20}20}
2121
22// saveState writes the environment's state to the provider-state file stored22// saveState writes the environment's state to the provider-state file stored
2323
=== modified file 'environs/maas/util.go'
--- environs/maas/util.go 2013-05-02 15:55:42 +0000
+++ environs/maas/util.go 2013-06-17 21:39:25 +0000
@@ -8,8 +8,8 @@
8 "launchpad.net/goyaml"8 "launchpad.net/goyaml"
9 cloudinit_core "launchpad.net/juju-core/cloudinit"9 cloudinit_core "launchpad.net/juju-core/cloudinit"
10 "launchpad.net/juju-core/environs/cloudinit"10 "launchpad.net/juju-core/environs/cloudinit"
11 "launchpad.net/juju-core/instance"
11 "launchpad.net/juju-core/log"12 "launchpad.net/juju-core/log"
12 "launchpad.net/juju-core/state"
13 "launchpad.net/juju-core/utils"13 "launchpad.net/juju-core/utils"
14 "net/url"14 "net/url"
15 "strings"15 "strings"
@@ -17,7 +17,7 @@
1717
18// extractSystemId extracts the 'system_id' part from an InstanceId.18// extractSystemId extracts the 'system_id' part from an InstanceId.
19// "/MAAS/api/1.0/nodes/system_id/" => "system_id"19// "/MAAS/api/1.0/nodes/system_id/" => "system_id"
20func extractSystemId(instanceId state.InstanceId) string {20func extractSystemId(instanceId instance.Id) string {
21 trimmed := strings.TrimRight(string(instanceId), "/")21 trimmed := strings.TrimRight(string(instanceId), "/")
22 split := strings.Split(trimmed, "/")22 split := strings.Split(trimmed, "/")
23 return split[len(split)-1]23 return split[len(split)-1]
@@ -26,7 +26,7 @@
26// getSystemIdValues returns a url.Values object with all the 'system_ids'26// getSystemIdValues returns a url.Values object with all the 'system_ids'
27// from the given instanceIds stored under the key 'id'. This is used27// from the given instanceIds stored under the key 'id'. This is used
28// to filter out instances when listing the nodes objects.28// to filter out instances when listing the nodes objects.
29func getSystemIdValues(instanceIds []state.InstanceId) url.Values {29func getSystemIdValues(instanceIds []instance.Id) url.Values {
30 values := url.Values{}30 values := url.Values{}
31 for _, instanceId := range instanceIds {31 for _, instanceId := range instanceIds {
32 values.Add("id", extractSystemId(instanceId))32 values.Add("id", extractSystemId(instanceId))
3333
=== modified file 'environs/maas/util_test.go'
--- environs/maas/util_test.go 2013-05-31 07:39:15 +0000
+++ environs/maas/util_test.go 2013-06-17 21:39:25 +0000
@@ -9,6 +9,7 @@
9 "launchpad.net/goyaml"9 "launchpad.net/goyaml"
10 "launchpad.net/juju-core/environs/cloudinit"10 "launchpad.net/juju-core/environs/cloudinit"
11 "launchpad.net/juju-core/environs/config"11 "launchpad.net/juju-core/environs/config"
12 "launchpad.net/juju-core/instance"
12 "launchpad.net/juju-core/state"13 "launchpad.net/juju-core/state"
13 "launchpad.net/juju-core/state/api"14 "launchpad.net/juju-core/state/api"
14 "launchpad.net/juju-core/testing"15 "launchpad.net/juju-core/testing"
@@ -21,7 +22,7 @@
21var _ = Suite(&UtilSuite{})22var _ = Suite(&UtilSuite{})
2223
23func (s *UtilSuite) TestExtractSystemId(c *C) {24func (s *UtilSuite) TestExtractSystemId(c *C) {
24 instanceId := state.InstanceId("/MAAS/api/1.0/nodes/system_id/")25 instanceId := instance.Id("/MAAS/api/1.0/nodes/system_id/")
2526
26 systemId := extractSystemId(instanceId)27 systemId := extractSystemId(instanceId)
2728
@@ -29,9 +30,9 @@
29}30}
3031
31func (s *UtilSuite) TestGetSystemIdValues(c *C) {32func (s *UtilSuite) TestGetSystemIdValues(c *C) {
32 instanceId1 := state.InstanceId("/MAAS/api/1.0/nodes/system_id1/")33 instanceId1 := instance.Id("/MAAS/api/1.0/nodes/system_id1/")
33 instanceId2 := state.InstanceId("/MAAS/api/1.0/nodes/system_id2/")34 instanceId2 := instance.Id("/MAAS/api/1.0/nodes/system_id2/")
34 instanceIds := []state.InstanceId{instanceId1, instanceId2}35 instanceIds := []instance.Id{instanceId1, instanceId2}
3536
36 values := getSystemIdValues(instanceIds)37 values := getSystemIdValues(instanceIds)
3738
3839
=== modified file 'environs/openstack/export_test.go'
--- environs/openstack/export_test.go 2013-05-30 05:39:33 +0000
+++ environs/openstack/export_test.go 2013-06-17 21:39:25 +0000
@@ -15,7 +15,7 @@
15 "launchpad.net/juju-core/environs/instances"15 "launchpad.net/juju-core/environs/instances"
16 "launchpad.net/juju-core/environs/jujutest"16 "launchpad.net/juju-core/environs/jujutest"
17 "launchpad.net/juju-core/environs/tools"17 "launchpad.net/juju-core/environs/tools"
18 "launchpad.net/juju-core/state"18 "launchpad.net/juju-core/instance"
19 "launchpad.net/juju-core/utils"19 "launchpad.net/juju-core/utils"
20 "net/http"20 "net/http"
21 "strings"21 "strings"
@@ -286,7 +286,7 @@
286}286}
287287
288type BootstrapState struct {288type BootstrapState struct {
289 StateInstances []state.InstanceId289 StateInstances []instance.Id
290}290}
291291
292func LoadState(e environs.Environ) (*BootstrapState, error) {292func LoadState(e environs.Environ) (*BootstrapState, error) {
293293
=== modified file 'environs/openstack/local_test.go'
--- environs/openstack/local_test.go 2013-06-14 01:02:53 +0000
+++ environs/openstack/local_test.go 2013-06-17 21:39:25 +0000
@@ -19,7 +19,6 @@
19 envtesting "launchpad.net/juju-core/environs/testing"19 envtesting "launchpad.net/juju-core/environs/testing"
20 "launchpad.net/juju-core/instance"20 "launchpad.net/juju-core/instance"
21 "launchpad.net/juju-core/juju/testing"21 "launchpad.net/juju-core/juju/testing"
22 "launchpad.net/juju-core/state"
23 coretesting "launchpad.net/juju-core/testing"22 coretesting "launchpad.net/juju-core/testing"
24 "launchpad.net/juju-core/version"23 "launchpad.net/juju-core/version"
25 "net/http"24 "net/http"
@@ -56,7 +55,7 @@
5655
57 id, err := p.InstanceId()56 id, err := p.InstanceId()
58 c.Assert(err, IsNil)57 c.Assert(err, IsNil)
59 c.Assert(id, Equals, state.InstanceId("d8e02d56-2648-49a3-bf97-6be8f1204f38"))58 c.Assert(id, Equals, instance.Id("d8e02d56-2648-49a3-bf97-6be8f1204f38"))
60}59}
6160
62func (s *ProviderSuite) TestPublicFallbackToPrivate(c *C) {61func (s *ProviderSuite) TestPublicFallbackToPrivate(c *C) {
@@ -90,7 +89,7 @@
9089
91 id, err := p.InstanceId()90 id, err := p.InstanceId()
92 c.Assert(err, IsNil)91 c.Assert(err, IsNil)
93 c.Assert(id, Equals, state.InstanceId("2748"))92 c.Assert(id, Equals, instance.Id("2748"))
94}93}
9594
96// Register tests to run against a test Openstack instance (service doubles).95// Register tests to run against a test Openstack instance (service doubles).
@@ -287,48 +286,48 @@
287}286}
288287
289var instanceGathering = []struct {288var instanceGathering = []struct {
290 ids []state.InstanceId289 ids []instance.Id
291 err error290 err error
292}{291}{
293 {ids: []state.InstanceId{"id0"}},292 {ids: []instance.Id{"id0"}},
294 {ids: []state.InstanceId{"id0", "id0"}},293 {ids: []instance.Id{"id0", "id0"}},
295 {ids: []state.InstanceId{"id0", "id1"}},294 {ids: []instance.Id{"id0", "id1"}},
296 {ids: []state.InstanceId{"id1", "id0"}},295 {ids: []instance.Id{"id1", "id0"}},
297 {ids: []state.InstanceId{"id1", "id0", "id1"}},296 {ids: []instance.Id{"id1", "id0", "id1"}},
298 {297 {
299 ids: []state.InstanceId{""},298 ids: []instance.Id{""},
300 err: environs.ErrNoInstances,299 err: environs.ErrNoInstances,
301 },300 },
302 {301 {
303 ids: []state.InstanceId{"", ""},302 ids: []instance.Id{"", ""},
304 err: environs.ErrNoInstances,303 err: environs.ErrNoInstances,
305 },304 },
306 {305 {
307 ids: []state.InstanceId{"", "", ""},306 ids: []instance.Id{"", "", ""},
308 err: environs.ErrNoInstances,307 err: environs.ErrNoInstances,
309 },308 },
310 {309 {
311 ids: []state.InstanceId{"id0", ""},310 ids: []instance.Id{"id0", ""},
312 err: environs.ErrPartialInstances,311 err: environs.ErrPartialInstances,
313 },312 },
314 {313 {
315 ids: []state.InstanceId{"", "id1"},314 ids: []instance.Id{"", "id1"},
316 err: environs.ErrPartialInstances,315 err: environs.ErrPartialInstances,
317 },316 },
318 {317 {
319 ids: []state.InstanceId{"id0", "id1", ""},318 ids: []instance.Id{"id0", "id1", ""},
320 err: environs.ErrPartialInstances,319 err: environs.ErrPartialInstances,
321 },320 },
322 {321 {
323 ids: []state.InstanceId{"id0", "", "id0"},322 ids: []instance.Id{"id0", "", "id0"},
324 err: environs.ErrPartialInstances,323 err: environs.ErrPartialInstances,
325 },324 },
326 {325 {
327 ids: []state.InstanceId{"id0", "id0", ""},326 ids: []instance.Id{"id0", "id0", ""},
328 err: environs.ErrPartialInstances,327 err: environs.ErrPartialInstances,
329 },328 },
330 {329 {
331 ids: []state.InstanceId{"", "id0", "id1"},330 ids: []instance.Id{"", "id0", "id1"},
332 err: environs.ErrPartialInstances,331 err: environs.ErrPartialInstances,
333 },332 },
334}333}
@@ -345,7 +344,7 @@
345344
346 for i, test := range instanceGathering {345 for i, test := range instanceGathering {
347 c.Logf("test %d: find %v -> expect len %d, err: %v", i, test.ids, len(test.ids), test.err)346 c.Logf("test %d: find %v -> expect len %d, err: %v", i, test.ids, len(test.ids), test.err)
348 ids := make([]state.InstanceId, len(test.ids))347 ids := make([]instance.Id, len(test.ids))
349 for j, id := range test.ids {348 for j, id := range test.ids {
350 switch id {349 switch id {
351 case "id0":350 case "id0":
352351
=== modified file 'environs/openstack/provider.go'
--- environs/openstack/provider.go 2013-06-17 15:12:53 +0000
+++ environs/openstack/provider.go 2013-06-17 21:39:25 +0000
@@ -159,12 +159,12 @@
159 return fetchMetadata("local-ipv4")159 return fetchMetadata("local-ipv4")
160}160}
161161
162func (p environProvider) InstanceId() (state.InstanceId, error) {162func (p environProvider) InstanceId() (instance.Id, error) {
163 str, err := fetchInstanceUUID()163 str, err := fetchInstanceUUID()
164 if err != nil {164 if err != nil {
165 str, err = fetchLegacyId()165 str, err = fetchLegacyId()
166 }166 }
167 return state.InstanceId(str), err167 return instance.Id(str), err
168}168}
169169
170// metadataHost holds the address of the instance metadata service.170// metadataHost holds the address of the instance metadata service.
@@ -283,8 +283,8 @@
283283
284var _ instance.Instance = (*openstackInstance)(nil)284var _ instance.Instance = (*openstackInstance)(nil)
285285
286func (inst *openstackInstance) Id() state.InstanceId {286func (inst *openstackInstance) Id() instance.Id {
287 return state.InstanceId(inst.ServerDetail.Id)287 return instance.Id(inst.ServerDetail.Id)
288}288}
289289
290// instanceAddress processes a map of networks to lists of IP290// instanceAddress processes a map of networks to lists of IP
@@ -507,7 +507,7 @@
507 return fmt.Errorf("cannot start bootstrap instance: %v", err)507 return fmt.Errorf("cannot start bootstrap instance: %v", err)
508 }508 }
509 err = e.saveState(&bootstrapState{509 err = e.saveState(&bootstrapState{
510 StateInstances: []state.InstanceId{inst.Id()},510 StateInstances: []instance.Id{inst.Id()},
511 })511 })
512 if err != nil {512 if err != nil {
513 // ignore error on StopInstance because the previous error is513 // ignore error on StopInstance because the previous error is
@@ -841,7 +841,7 @@
841 log.Infof("environs/openstack: started instance %q", inst.Id())841 log.Infof("environs/openstack: started instance %q", inst.Id())
842 if scfg.withPublicIP {842 if scfg.withPublicIP {
843 if err := e.assignPublicIP(publicIP, string(inst.Id())); err != nil {843 if err := e.assignPublicIP(publicIP, string(inst.Id())); err != nil {
844 if err := e.terminateInstances([]state.InstanceId{inst.Id()}); err != nil {844 if err := e.terminateInstances([]instance.Id{inst.Id()}); err != nil {
845 // ignore the failure at this stage, just log it845 // ignore the failure at this stage, just log it
846 log.Debugf("environs/openstack: failed to terminate instance %q: %v", inst.Id(), err)846 log.Debugf("environs/openstack: failed to terminate instance %q: %v", inst.Id(), err)
847 }847 }
@@ -853,7 +853,7 @@
853}853}
854854
855func (e *environ) StopInstances(insts []instance.Instance) error {855func (e *environ) StopInstances(insts []instance.Instance) error {
856 ids := make([]state.InstanceId, len(insts))856 ids := make([]instance.Id, len(insts))
857 for i, inst := range insts {857 for i, inst := range insts {
858 instanceValue, ok := inst.(*openstackInstance)858 instanceValue, ok := inst.(*openstackInstance)
859 if !ok {859 if !ok {
@@ -868,7 +868,7 @@
868// collectInstances tries to get information on each instance id in ids.868// collectInstances tries to get information on each instance id in ids.
869// It fills the slots in the given map for known servers with status869// It fills the slots in the given map for known servers with status
870// either ACTIVE or BUILD. Returns a list of missing ids.870// either ACTIVE or BUILD. Returns a list of missing ids.
871func (e *environ) collectInstances(ids []state.InstanceId, out map[state.InstanceId]instance.Instance) []state.InstanceId {871func (e *environ) collectInstances(ids []instance.Id, out map[instance.Id]instance.Instance) []instance.Id {
872 var err error872 var err error
873 serversById := make(map[string]nova.ServerDetail)873 serversById := make(map[string]nova.ServerDetail)
874 if len(ids) == 1 {874 if len(ids) == 1 {
@@ -888,7 +888,7 @@
888 if err != nil {888 if err != nil {
889 return ids889 return ids
890 }890 }
891 var missing []state.InstanceId891 var missing []instance.Id
892 for _, id := range ids {892 for _, id := range ids {
893 if server, found := serversById[string(id)]; found {893 if server, found := serversById[string(id)]; found {
894 if server.Status == nova.StatusActive || server.Status == nova.StatusBuild {894 if server.Status == nova.StatusActive || server.Status == nova.StatusBuild {
@@ -901,12 +901,12 @@
901 return missing901 return missing
902}902}
903903
904func (e *environ) Instances(ids []state.InstanceId) ([]instance.Instance, error) {904func (e *environ) Instances(ids []instance.Id) ([]instance.Instance, error) {
905 if len(ids) == 0 {905 if len(ids) == 0 {
906 return nil, nil906 return nil, nil
907 }907 }
908 missing := ids908 missing := ids
909 found := make(map[state.InstanceId]instance.Instance)909 found := make(map[instance.Id]instance.Instance)
910 // Make a series of requests to cope with eventual consistency.910 // Make a series of requests to cope with eventual consistency.
911 // Each request will attempt to add more instances to the requested911 // Each request will attempt to add more instances to the requested
912 // set.912 // set.
@@ -950,8 +950,8 @@
950 if err != nil {950 if err != nil {
951 return fmt.Errorf("cannot get instances: %v", err)951 return fmt.Errorf("cannot get instances: %v", err)
952 }952 }
953 found := make(map[state.InstanceId]bool)953 found := make(map[instance.Id]bool)
954 var ids []state.InstanceId954 var ids []instance.Id
955 for _, inst := range insts {955 for _, inst := range insts {
956 ids = append(ids, inst.Id())956 ids = append(ids, inst.Id())
957 found[inst.Id()] = true957 found[inst.Id()] = true
@@ -960,7 +960,7 @@
960 // Add any instances we've been told about but haven't yet shown960 // Add any instances we've been told about but haven't yet shown
961 // up in the instance list.961 // up in the instance list.
962 for _, inst := range ensureInsts {962 for _, inst := range ensureInsts {
963 id := state.InstanceId(inst.(*openstackInstance).Id())963 id := instance.Id(inst.(*openstackInstance).Id())
964 if !found[id] {964 if !found[id] {
965 ids = append(ids, id)965 ids = append(ids, id)
966 found[id] = true966 found[id] = true
@@ -1190,7 +1190,7 @@
1190 return *group, nil1190 return *group, nil
1191}1191}
11921192
1193func (e *environ) terminateInstances(ids []state.InstanceId) error {1193func (e *environ) terminateInstances(ids []instance.Id) error {
1194 if len(ids) == 0 {1194 if len(ids) == 0 {
1195 return nil1195 return nil
1196 }1196 }
11971197
=== modified file 'environs/openstack/state.go'
--- environs/openstack/state.go 2013-05-02 15:55:42 +0000
+++ environs/openstack/state.go 2013-06-17 21:39:25 +0000
@@ -8,13 +8,13 @@
8 "fmt"8 "fmt"
9 "io/ioutil"9 "io/ioutil"
10 "launchpad.net/goyaml"10 "launchpad.net/goyaml"
11 "launchpad.net/juju-core/state"11 "launchpad.net/juju-core/instance"
12)12)
1313
14const stateFile = "provider-state"14const stateFile = "provider-state"
1515
16type bootstrapState struct {16type bootstrapState struct {
17 StateInstances []state.InstanceId `yaml:"state-instances"`17 StateInstances []instance.Id `yaml:"state-instances"`
18}18}
1919
20func (e *environ) saveState(state *bootstrapState) error {20func (e *environ) saveState(state *bootstrapState) error {
2121
=== modified file 'instance/instance.go'
--- instance/instance.go 2013-06-14 00:43:05 +0000
+++ instance/instance.go 2013-06-17 21:39:25 +0000
@@ -6,16 +6,19 @@
6import (6import (
7 "errors"7 "errors"
88
9 "launchpad.net/juju-core/state"
10 "launchpad.net/juju-core/state/api/params"9 "launchpad.net/juju-core/state/api/params"
11)10)
1211
13var ErrNoDNSName = errors.New("DNS name not allocated")12var ErrNoDNSName = errors.New("DNS name not allocated")
1413
14// An instance Id is a provider-specific identifier associated with an
15// instance (physical or virtual machine allocated in the provider).
16type Id string
17
15// Instance represents the the realization of a machine in state.18// Instance represents the the realization of a machine in state.
16type Instance interface {19type Instance interface {
17 // Id returns a provider-generated identifier for the Instance.20 // Id returns a provider-generated identifier for the Instance.
18 Id() state.InstanceId21 Id() Id
1922
20 // DNSName returns the DNS name for the instance.23 // DNSName returns the DNS name for the instance.
21 // If the name is not yet allocated, it will return24 // If the name is not yet allocated, it will return
2225
=== modified file 'state/apiserver/api_test.go'
--- state/apiserver/api_test.go 2013-06-05 12:03:14 +0000
+++ state/apiserver/api_test.go 2013-06-17 21:39:25 +0000
@@ -9,6 +9,7 @@
9 "launchpad.net/juju-core/constraints"9 "launchpad.net/juju-core/constraints"
10 "launchpad.net/juju-core/environs/config"10 "launchpad.net/juju-core/environs/config"
11 "launchpad.net/juju-core/errors"11 "launchpad.net/juju-core/errors"
12 "launchpad.net/juju-core/instance"
12 "launchpad.net/juju-core/juju/testing"13 "launchpad.net/juju-core/juju/testing"
13 "launchpad.net/juju-core/state"14 "launchpad.net/juju-core/state"
14 "launchpad.net/juju-core/state/api"15 "launchpad.net/juju-core/state/api"
@@ -203,7 +204,7 @@
203 m, err := s.State.AddMachine("series", state.JobManageEnviron)204 m, err := s.State.AddMachine("series", state.JobManageEnviron)
204 c.Assert(err, IsNil)205 c.Assert(err, IsNil)
205 c.Assert(m.Tag(), Equals, "machine-0")206 c.Assert(m.Tag(), Equals, "machine-0")
206 err = m.SetProvisioned(state.InstanceId("i-"+m.Tag()), "fake_nonce")207 err = m.SetProvisioned(instance.Id("i-"+m.Tag()), "fake_nonce")
207 c.Assert(err, IsNil)208 c.Assert(err, IsNil)
208 setDefaultPassword(c, m)209 setDefaultPassword(c, m)
209 setDefaultStatus(c, m)210 setDefaultStatus(c, m)
@@ -237,7 +238,7 @@
237 err = m.SetConstraints(constraints.MustParse("mem=1G"))238 err = m.SetConstraints(constraints.MustParse("mem=1G"))
238 c.Assert(err, IsNil)239 c.Assert(err, IsNil)
239 }240 }
240 err = m.SetProvisioned(state.InstanceId("i-"+m.Tag()), "fake_nonce")241 err = m.SetProvisioned(instance.Id("i-"+m.Tag()), "fake_nonce")
241 c.Assert(err, IsNil)242 c.Assert(err, IsNil)
242 setDefaultPassword(c, m)243 setDefaultPassword(c, m)
243 setDefaultStatus(c, m)244 setDefaultStatus(c, m)
244245
=== modified file 'state/machine.go'
--- state/machine.go 2013-06-16 22:12:59 +0000
+++ state/machine.go 2013-06-17 21:39:25 +0000
@@ -9,6 +9,7 @@
9 "labix.org/v2/mgo/txn"9 "labix.org/v2/mgo/txn"
10 "launchpad.net/juju-core/constraints"10 "launchpad.net/juju-core/constraints"
11 "launchpad.net/juju-core/errors"11 "launchpad.net/juju-core/errors"
12 "launchpad.net/juju-core/instance"
12 "launchpad.net/juju-core/state/api/params"13 "launchpad.net/juju-core/state/api/params"
13 "launchpad.net/juju-core/state/presence"14 "launchpad.net/juju-core/state/presence"
14 "launchpad.net/juju-core/utils"15 "launchpad.net/juju-core/utils"
@@ -16,10 +17,6 @@
16 "time"17 "time"
17)18)
1819
19// An InstanceId is a provider-specific identifier associated with an
20// instance (physical or virtual machine allocated in the provider).
21type InstanceId string
22
23// Machine represents the state of a machine.20// Machine represents the state of a machine.
24type Machine struct {21type Machine struct {
25 st *State22 st *State
@@ -59,7 +56,7 @@
59 Nonce string56 Nonce string
60 Series string57 Series string
61 ContainerType string58 ContainerType string
62 InstanceId InstanceId59 InstanceId instance.Id
63 Principals []string60 Principals []string
64 Life Life61 Life Life
65 Tools *Tools `bson:",omitempty"`62 Tools *Tools `bson:",omitempty"`
@@ -452,7 +449,7 @@
452449
453// InstanceId returns the provider specific instance id for this machine450// InstanceId returns the provider specific instance id for this machine
454// and whether it has been set.451// and whether it has been set.
455func (m *Machine) InstanceId() (InstanceId, bool) {452func (m *Machine) InstanceId() (instance.Id, bool) {
456 return m.doc.InstanceId, m.doc.InstanceId != ""453 return m.doc.InstanceId, m.doc.InstanceId != ""
457}454}
458455
@@ -480,7 +477,7 @@
480477
481// SetProvisioned sets the provider specific machine id and nonce for478// SetProvisioned sets the provider specific machine id and nonce for
482// this machine. Once set, the instance id cannot be changed.479// this machine. Once set, the instance id cannot be changed.
483func (m *Machine) SetProvisioned(id InstanceId, nonce string) (err error) {480func (m *Machine) SetProvisioned(id instance.Id, nonce string) (err error) {
484 defer utils.ErrorContextf(&err, "cannot set instance id of machine %q", m)481 defer utils.ErrorContextf(&err, "cannot set instance id of machine %q", m)
485482
486 if id == "" || nonce == "" {483 if id == "" || nonce == "" {
487484
=== modified file 'state/machine_test.go'
--- state/machine_test.go 2013-06-14 02:27:04 +0000
+++ state/machine_test.go 2013-06-17 21:39:25 +0000
@@ -7,6 +7,7 @@
7 . "launchpad.net/gocheck"7 . "launchpad.net/gocheck"
8 "launchpad.net/juju-core/constraints"8 "launchpad.net/juju-core/constraints"
9 "launchpad.net/juju-core/errors"9 "launchpad.net/juju-core/errors"
10 "launchpad.net/juju-core/instance"
10 "launchpad.net/juju-core/state"11 "launchpad.net/juju-core/state"
11 "launchpad.net/juju-core/state/api/params"12 "launchpad.net/juju-core/state/api/params"
12 "launchpad.net/juju-core/version"13 "launchpad.net/juju-core/version"
@@ -255,7 +256,7 @@
255 err = machine.Refresh()256 err = machine.Refresh()
256 c.Assert(err, IsNil)257 c.Assert(err, IsNil)
257 iid, _ := machine.InstanceId()258 iid, _ := machine.InstanceId()
258 c.Assert(iid, Equals, state.InstanceId("spaceship/0"))259 c.Assert(iid, Equals, instance.Id("spaceship/0"))
259}260}
260261
261func (s *MachineSuite) TestMachineInstanceIdCorrupt(c *C) {262func (s *MachineSuite) TestMachineInstanceIdCorrupt(c *C) {
@@ -271,7 +272,7 @@
271 c.Assert(err, IsNil)272 c.Assert(err, IsNil)
272 iid, ok := machine.InstanceId()273 iid, ok := machine.InstanceId()
273 c.Assert(ok, Equals, false)274 c.Assert(ok, Equals, false)
274 c.Assert(iid, Equals, state.InstanceId(""))275 c.Assert(iid, Equals, instance.Id(""))
275}276}
276277
277func (s *MachineSuite) TestMachineInstanceIdMissing(c *C) {278func (s *MachineSuite) TestMachineInstanceIdMissing(c *C) {
278279
=== modified file 'state/megawatcher_internal_test.go'
--- state/megawatcher_internal_test.go 2013-06-11 00:58:34 +0000
+++ state/megawatcher_internal_test.go 2013-06-17 21:39:25 +0000
@@ -10,6 +10,7 @@
10 . "launchpad.net/gocheck"10 . "launchpad.net/gocheck"
11 "launchpad.net/juju-core/charm"11 "launchpad.net/juju-core/charm"
12 "launchpad.net/juju-core/constraints"12 "launchpad.net/juju-core/constraints"
13 "launchpad.net/juju-core/instance"
13 "launchpad.net/juju-core/state/api/params"14 "launchpad.net/juju-core/state/api/params"
14 "launchpad.net/juju-core/state/multiwatcher"15 "launchpad.net/juju-core/state/multiwatcher"
15 "launchpad.net/juju-core/state/watcher"16 "launchpad.net/juju-core/state/watcher"
@@ -64,7 +65,7 @@
64 m, err := s.State.AddMachine("series", JobManageEnviron)65 m, err := s.State.AddMachine("series", JobManageEnviron)
65 c.Assert(err, IsNil)66 c.Assert(err, IsNil)
66 c.Assert(m.Tag(), Equals, "machine-0")67 c.Assert(m.Tag(), Equals, "machine-0")
67 err = m.SetProvisioned(InstanceId("i-"+m.Tag()), "fake_nonce")68 err = m.SetProvisioned(instance.Id("i-"+m.Tag()), "fake_nonce")
68 c.Assert(err, IsNil)69 c.Assert(err, IsNil)
69 add(&params.MachineInfo{70 add(&params.MachineInfo{
70 Id: "0",71 Id: "0",
@@ -140,7 +141,7 @@
140 Annotations: pairs,141 Annotations: pairs,
141 })142 })
142143
143 err = m.SetProvisioned(InstanceId("i-"+m.Tag()), "fake_nonce")144 err = m.SetProvisioned(instance.Id("i-"+m.Tag()), "fake_nonce")
144 c.Assert(err, IsNil)145 c.Assert(err, IsNil)
145 err = m.SetStatus(params.StatusError, m.Tag())146 err = m.SetStatus(params.StatusError, m.Tag())
146 c.Assert(err, IsNil)147 c.Assert(err, IsNil)
147148
=== modified file 'state/state.go'
--- state/state.go 2013-06-16 11:39:46 +0000
+++ state/state.go 2013-06-17 21:39:25 +0000
@@ -15,6 +15,7 @@
15 "launchpad.net/juju-core/constraints"15 "launchpad.net/juju-core/constraints"
16 "launchpad.net/juju-core/environs/config"16 "launchpad.net/juju-core/environs/config"
17 "launchpad.net/juju-core/errors"17 "launchpad.net/juju-core/errors"
18 "launchpad.net/juju-core/instance"
18 "launchpad.net/juju-core/log"19 "launchpad.net/juju-core/log"
19 "launchpad.net/juju-core/state/api/params"20 "launchpad.net/juju-core/state/api/params"
20 "launchpad.net/juju-core/state/multiwatcher"21 "launchpad.net/juju-core/state/multiwatcher"
@@ -200,7 +201,7 @@
200// InjectMachine adds a new machine, corresponding to an existing provider201// InjectMachine adds a new machine, corresponding to an existing provider
201// instance, configured to run the supplied jobs on the supplied series, using202// instance, configured to run the supplied jobs on the supplied series, using
202// the specified constraints.203// the specified constraints.
203func (st *State) InjectMachine(series string, cons constraints.Value, instanceId InstanceId, jobs ...MachineJob) (m *Machine, err error) {204func (st *State) InjectMachine(series string, cons constraints.Value, instanceId instance.Id, jobs ...MachineJob) (m *Machine, err error) {
204 if instanceId == "" {205 if instanceId == "" {
205 return nil, fmt.Errorf("cannot inject a machine without an instance id")206 return nil, fmt.Errorf("cannot inject a machine without an instance id")
206 }207 }
@@ -275,7 +276,7 @@
275 Constraints constraints.Value276 Constraints constraints.Value
276 ParentId string277 ParentId string
277 ContainerType ContainerType278 ContainerType ContainerType
278 instanceId InstanceId279 instanceId instance.Id
279 nonce string280 nonce string
280 Jobs []MachineJob281 Jobs []MachineJob
281}282}
282283
=== modified file 'state/state_test.go'
--- state/state_test.go 2013-06-16 11:39:46 +0000
+++ state/state_test.go 2013-06-17 21:39:25 +0000
@@ -11,6 +11,7 @@
11 "launchpad.net/juju-core/constraints"11 "launchpad.net/juju-core/constraints"
12 "launchpad.net/juju-core/environs/config"12 "launchpad.net/juju-core/environs/config"
13 "launchpad.net/juju-core/errors"13 "launchpad.net/juju-core/errors"
14 "launchpad.net/juju-core/instance"
14 "launchpad.net/juju-core/state"15 "launchpad.net/juju-core/state"
15 "launchpad.net/juju-core/state/api/params"16 "launchpad.net/juju-core/state/api/params"
16 "launchpad.net/juju-core/testing"17 "launchpad.net/juju-core/testing"
@@ -307,22 +308,22 @@
307}308}
308309
309func (s *StateSuite) TestInjectMachineErrors(c *C) {310func (s *StateSuite) TestInjectMachineErrors(c *C) {
310 _, err := s.State.InjectMachine("", emptyCons, state.InstanceId("i-minvalid"), state.JobHostUnits)311 _, err := s.State.InjectMachine("", emptyCons, instance.Id("i-minvalid"), state.JobHostUnits)
311 c.Assert(err, ErrorMatches, "cannot add a new machine: no series specified")312 c.Assert(err, ErrorMatches, "cannot add a new machine: no series specified")
312 _, err = s.State.InjectMachine("series", emptyCons, state.InstanceId(""), state.JobHostUnits)313 _, err = s.State.InjectMachine("series", emptyCons, instance.Id(""), state.JobHostUnits)
313 c.Assert(err, ErrorMatches, "cannot inject a machine without an instance id")314 c.Assert(err, ErrorMatches, "cannot inject a machine without an instance id")
314 _, err = s.State.InjectMachine("series", emptyCons, state.InstanceId("i-mlazy"))315 _, err = s.State.InjectMachine("series", emptyCons, instance.Id("i-mlazy"))
315 c.Assert(err, ErrorMatches, "cannot add a new machine: no jobs specified")316 c.Assert(err, ErrorMatches, "cannot add a new machine: no jobs specified")
316}317}
317318
318func (s *StateSuite) TestInjectMachine(c *C) {319func (s *StateSuite) TestInjectMachine(c *C) {
319 cons := constraints.MustParse("mem=4G")320 cons := constraints.MustParse("mem=4G")
320 m, err := s.State.InjectMachine("series", cons, state.InstanceId("i-mindustrious"), state.JobHostUnits, state.JobManageEnviron)321 m, err := s.State.InjectMachine("series", cons, instance.Id("i-mindustrious"), state.JobHostUnits, state.JobManageEnviron)
321 c.Assert(err, IsNil)322 c.Assert(err, IsNil)
322 c.Assert(m.Jobs(), DeepEquals, []state.MachineJob{state.JobHostUnits, state.JobManageEnviron})323 c.Assert(m.Jobs(), DeepEquals, []state.MachineJob{state.JobHostUnits, state.JobManageEnviron})
323 instanceId, ok := m.InstanceId()324 instanceId, ok := m.InstanceId()
324 c.Assert(ok, Equals, true)325 c.Assert(ok, Equals, true)
325 c.Assert(instanceId, Equals, state.InstanceId("i-mindustrious"))326 c.Assert(instanceId, Equals, instance.Id("i-mindustrious"))
326 mcons, err := m.Constraints()327 mcons, err := m.Constraints()
327 c.Assert(err, IsNil)328 c.Assert(err, IsNil)
328 c.Assert(cons, DeepEquals, mcons)329 c.Assert(cons, DeepEquals, mcons)
@@ -333,7 +334,7 @@
333334
334func (s *StateSuite) TestAddContainerToInjectedMachine(c *C) {335func (s *StateSuite) TestAddContainerToInjectedMachine(c *C) {
335 oneJob := []state.MachineJob{state.JobHostUnits}336 oneJob := []state.MachineJob{state.JobHostUnits}
336 m0, err := s.State.InjectMachine("series", emptyCons, state.InstanceId("i-mindustrious"), state.JobHostUnits, state.JobManageEnviron)337 m0, err := s.State.InjectMachine("series", emptyCons, instance.Id("i-mindustrious"), state.JobHostUnits, state.JobManageEnviron)
337 c.Assert(err, IsNil)338 c.Assert(err, IsNil)
338339
339 // Add first container.340 // Add first container.
@@ -397,7 +398,7 @@
397 for i := 0; i < numInserts; i++ {398 for i := 0; i < numInserts; i++ {
398 m, err := s.State.AddMachine("series", state.JobHostUnits)399 m, err := s.State.AddMachine("series", state.JobHostUnits)
399 c.Assert(err, IsNil)400 c.Assert(err, IsNil)
400 err = m.SetProvisioned(state.InstanceId(fmt.Sprintf("foo-%d", i)), "fake_nonce")401 err = m.SetProvisioned(instance.Id(fmt.Sprintf("foo-%d", i)), "fake_nonce")
401 c.Assert(err, IsNil)402 c.Assert(err, IsNil)
402 err = m.SetAgentTools(newTools("7.8.9-foo-bar", "http://arble.tgz"))403 err = m.SetAgentTools(newTools("7.8.9-foo-bar", "http://arble.tgz"))
403 c.Assert(err, IsNil)404 c.Assert(err, IsNil)
@@ -772,7 +773,7 @@
772 // Dying machine...773 // Dying machine...
773 dying, err := s.State.AddMachine("series", state.JobHostUnits)774 dying, err := s.State.AddMachine("series", state.JobHostUnits)
774 c.Assert(err, IsNil)775 c.Assert(err, IsNil)
775 err = dying.SetProvisioned(state.InstanceId("i-blah"), "fake-nonce")776 err = dying.SetProvisioned(instance.Id("i-blah"), "fake-nonce")
776 c.Assert(err, IsNil)777 c.Assert(err, IsNil)
777 err = dying.Destroy()778 err = dying.Destroy()
778 c.Assert(err, IsNil)779 c.Assert(err, IsNil)
@@ -820,7 +821,7 @@
820 s.assertChange(c, w, "0")821 s.assertChange(c, w, "0")
821822
822 // Change the machine: not reported.823 // Change the machine: not reported.
823 err = machine.SetProvisioned(state.InstanceId("i-blah"), "fake-nonce")824 err = machine.SetProvisioned(instance.Id("i-blah"), "fake-nonce")
824 c.Assert(err, IsNil)825 c.Assert(err, IsNil)
825 s.assertNoChange(c, w)826 s.assertNoChange(c, w)
826827
827828
=== modified file 'worker/firewaller/firewaller.go'
--- worker/firewaller/firewaller.go 2013-06-11 02:15:31 +0000
+++ worker/firewaller/firewaller.go 2013-06-17 21:39:25 +0000
@@ -8,6 +8,7 @@
8 "launchpad.net/juju-core/environs"8 "launchpad.net/juju-core/environs"
9 "launchpad.net/juju-core/environs/config"9 "launchpad.net/juju-core/environs/config"
10 "launchpad.net/juju-core/errors"10 "launchpad.net/juju-core/errors"
11 "launchpad.net/juju-core/instance"
11 "launchpad.net/juju-core/log"12 "launchpad.net/juju-core/log"
12 "launchpad.net/juju-core/state"13 "launchpad.net/juju-core/state"
13 "launchpad.net/juju-core/state/api/params"14 "launchpad.net/juju-core/state/api/params"
@@ -273,7 +274,7 @@
273 if !ok {274 if !ok {
274 return errors.NotFoundf("instance id for %v", m)275 return errors.NotFoundf("instance id for %v", m)
275 }276 }
276 instances, err := fw.environ.Instances([]state.InstanceId{instanceId})277 instances, err := fw.environ.Instances([]instance.Id{instanceId})
277 if err == environs.ErrNoInstances {278 if err == environs.ErrNoInstances {
278 return nil279 return nil
279 } else if err != nil {280 } else if err != nil {
@@ -444,7 +445,7 @@
444 if !ok {445 if !ok {
445 return errors.NotFoundf("instance id for %v", m)446 return errors.NotFoundf("instance id for %v", m)
446 }447 }
447 instances, err := fw.environ.Instances([]state.InstanceId{instanceId})448 instances, err := fw.environ.Instances([]instance.Id{instanceId})
448 if err != nil {449 if err != nil {
449 return err450 return err
450 }451 }
451452
=== modified file 'worker/provisioner/provisioner_task.go'
--- worker/provisioner/provisioner_task.go 2013-06-14 01:02:53 +0000
+++ worker/provisioner/provisioner_task.go 2013-06-17 21:39:25 +0000
@@ -68,7 +68,7 @@
68 apiInfo *api.Info68 apiInfo *api.Info
6969
70 // instance id -> instance70 // instance id -> instance
71 instances map[state.InstanceId]instance.Instance71 instances map[instance.Id]instance.Instance
72 // machine id -> machine72 // machine id -> machine
73 machines map[string]*state.Machine73 machines map[string]*state.Machine
74}74}
@@ -159,7 +159,7 @@
159}159}
160160
161func (task *provisionerTask) populateMachineMaps(ids []string) error {161func (task *provisionerTask) populateMachineMaps(ids []string) error {
162 task.instances = make(map[state.InstanceId]instance.Instance)162 task.instances = make(map[instance.Id]instance.Instance)
163163
164 instances, err := task.broker.AllInstances()164 instances, err := task.broker.AllInstances()
165 if err != nil {165 if err != nil {
@@ -240,7 +240,7 @@
240// findUnknownInstances finds instances which are not associated with a machine.240// findUnknownInstances finds instances which are not associated with a machine.
241func (task *provisionerTask) findUnknownInstances() ([]instance.Instance, error) {241func (task *provisionerTask) findUnknownInstances() ([]instance.Instance, error) {
242 // Make a copy of the instances we know about.242 // Make a copy of the instances we know about.
243 instances := make(map[state.InstanceId]instance.Instance)243 instances := make(map[instance.Id]instance.Instance)
244 for k, v := range task.instances {244 for k, v := range task.instances {
245 instances[k] = v245 instances[k] = v
246 }246 }
247247
=== modified file 'worker/provisioner/provisioner_test.go'
--- worker/provisioner/provisioner_test.go 2013-06-14 01:23:48 +0000
+++ worker/provisioner/provisioner_test.go 2013-06-17 21:39:25 +0000
@@ -222,7 +222,7 @@
222222
223// waitInstanceId waits until the supplied machine has an instance id, then223// waitInstanceId waits until the supplied machine has an instance id, then
224// asserts it is as expected.224// asserts it is as expected.
225func (s *ProvisionerSuite) waitInstanceId(c *C, m *state.Machine, expect state.InstanceId) {225func (s *ProvisionerSuite) waitInstanceId(c *C, m *state.Machine, expect instance.Id) {
226 s.waitMachine(c, m, func() bool {226 s.waitMachine(c, m, func() bool {
227 err := m.Refresh()227 err := m.Refresh()
228 c.Assert(err, IsNil)228 c.Assert(err, IsNil)

Subscribers

People subscribed via source and target branches

to status/vote changes: