func processMachine(machine *state.Machine, instance environs.Instance) (map[string]interface{}, error) { r := m() r["instance-id"] = instance.Id() if dnsname, err := instance.DNSName(); err == nil { r["dns-name"] = dnsname } processVersion(r, machine) processAgentStatus(r, machine) // TODO(dfc) unit-status return r, nil }
// assertInstanceId asserts that the machine has an instance id // that matches that of the given instance. If the instance is nil, // It asserts that the instance id is unset. func assertInstanceId(c *C, m *state.Machine, inst environs.Instance) { var wantId, gotId state.InstanceId var err error if inst != nil { wantId = inst.Id() } for a := waitAgent.Start(); a.Next(); { err := m.Refresh() c.Assert(err, IsNil) gotId, err = m.InstanceId() if state.IsNotFound(err) { if inst == nil { return } continue } c.Assert(err, IsNil) break } c.Assert(err, IsNil) c.Assert(gotId, Equals, wantId) }
// checkInstanceIdSet checks that the machine has an instance id // that matches that of the given instance. If the instance is nil, // It checks that the instance id is unset. func (s *ProvisionerSuite) checkInstanceId(c *C, m *state.Machine, inst environs.Instance) { // TODO(dfc) add machine.Watch() to avoid having to poll. s.State.StartSync() var instId state.InstanceId if inst != nil { instId = inst.Id() } for a := veryShortAttempt.Start(); a.Next(); { err := m.Refresh() c.Assert(err, IsNil) _, err = m.InstanceId() if state.IsNotFound(err) { if inst == nil { return } continue } c.Assert(err, IsNil) break } id, err := m.InstanceId() c.Assert(err, IsNil) c.Assert(id, Equals, instId) }