func (s *runSuite) addUnit(c *gc.C, service *state.Service) *state.Unit { unit, err := service.AddUnit() c.Assert(err, gc.IsNil) err = unit.AssignToNewMachine() c.Assert(err, gc.IsNil) mId, err := unit.AssignedMachineId() c.Assert(err, gc.IsNil) machine, err := s.State.Machine(mId) c.Assert(err, gc.IsNil) machine.SetAddresses(instance.NewAddress("10.3.2.1", instance.NetworkUnknown)) return unit }
func (s *HookContextSuite) AddUnit(c *gc.C, svc *state.Service) *state.Unit { unit, err := svc.AddUnit() c.Assert(err, gc.IsNil) s.machine, err = s.State.AddMachine("quantal", state.JobHostUnits) c.Assert(err, gc.IsNil) err = unit.AssignToMachine(s.machine) c.Assert(err, gc.IsNil) name := strings.Replace(unit.Name(), "/", "-", 1) privateAddr := instance.NewAddress(name+".testing.invalid", instance.NetworkCloudLocal) err = s.machine.SetAddresses(privateAddr) c.Assert(err, gc.IsNil) return unit }
func addRU(c *gc.C, svc *state.Service, rel *state.Relation, principal *state.Unit) (*state.Unit, *state.RelationUnit) { // Given the service svc in the relation rel, add a unit of svc and create // a RelationUnit with rel. If principal is supplied, svc is assumed to be // subordinate and the unit will be created by temporarily entering the // relation's scope as the principal. var u *state.Unit if principal == nil { unit, err := svc.AddUnit() c.Assert(err, gc.IsNil) u = unit } else { origUnits, err := svc.AllUnits() c.Assert(err, gc.IsNil) pru, err := rel.Unit(principal) c.Assert(err, gc.IsNil) err = pru.EnterScope(nil) // to create the subordinate c.Assert(err, gc.IsNil) err = pru.LeaveScope() // to reset to initial expected state c.Assert(err, gc.IsNil) newUnits, err := svc.AllUnits() c.Assert(err, gc.IsNil) for _, unit := range newUnits { found := false for _, old := range origUnits { if unit.Name() == old.Name() { found = true break } } if !found { u = unit break } } c.Assert(u, gc.NotNil) } preventUnitDestroyRemove(c, u) ru, err := rel.Unit(u) c.Assert(err, gc.IsNil) return u, ru }
func (s *SSHCommonSuite) addUnit(srv *state.Service, m *state.Machine, c *gc.C) { u, err := srv.AddUnit() c.Assert(err, gc.IsNil) err = u.AssignToMachine(m) c.Assert(err, gc.IsNil) }