func addStateServerMachine(c *gc.C, st *state.State) { // The AddStateServerMachine call will update the API host ports // to made-up addresses. We need valid addresses so that the uniter // can download charms from the API server. apiHostPorts, err := st.APIHostPorts() c.Assert(err, gc.IsNil) testing.AddStateServerMachine(c, st) err = st.SetAPIHostPorts(apiHostPorts) c.Assert(err, gc.IsNil) }
// primeAgent creates a unit, and sets up the unit agent's directory. // It returns the assigned machine, new unit and the agent's configuration. func (s *UnitSuite) primeAgent(c *gc.C) (*state.Machine, *state.Unit, agent.Config, *tools.Tools) { jujutesting.AddStateServerMachine(c, s.State) svc := s.AddTestingService(c, "wordpress", s.AddTestingCharm(c, "wordpress")) unit, err := svc.AddUnit() c.Assert(err, gc.IsNil) err = unit.SetPassword(initialUnitPassword) c.Assert(err, gc.IsNil) // Assign the unit to a machine. err = unit.AssignToNewMachine() c.Assert(err, gc.IsNil) id, err := unit.AssignedMachineId() c.Assert(err, gc.IsNil) machine, err := s.State.Machine(id) c.Assert(err, gc.IsNil) conf, tools := s.agentSuite.primeAgent(c, unit.Tag(), initialUnitPassword, version.Current) return machine, unit, conf, tools }
// primeAgent creates a unit, and sets up the unit agent's directory. // It returns the assigned machine, new unit and the agent's configuration. func (s *UnitSuite) primeAgent(c *gc.C) (*state.Machine, *state.Unit, agent.Config, *tools.Tools) { jujutesting.AddStateServerMachine(c, s.State) svc := s.AddTestingService(c, "wordpress", s.AddTestingCharm(c, "wordpress")) unit, err := svc.AddUnit() c.Assert(err, jc.ErrorIsNil) err = unit.SetPassword(initialUnitPassword) c.Assert(err, jc.ErrorIsNil) // Assign the unit to a machine. err = unit.AssignToNewMachine() c.Assert(err, jc.ErrorIsNil) id, err := unit.AssignedMachineId() c.Assert(err, jc.ErrorIsNil) machine, err := s.State.Machine(id) c.Assert(err, jc.ErrorIsNil) inst, md := jujutesting.AssertStartInstance(c, s.Environ, id) err = machine.SetProvisioned(inst.Id(), agent.BootstrapNonce, md) c.Assert(err, jc.ErrorIsNil) conf, tools := s.PrimeAgent(c, unit.Tag(), initialUnitPassword) return machine, unit, conf, tools }
func (s *uniterSuite) setUpTest(c *gc.C, addStateServer bool) { s.JujuConnSuite.SetUpTest(c) if addStateServer { s.stateServerMachine = testing.AddStateServerMachine(c, s.State) } // Create a machine, a service and add a unit so we can log in as // its agent. s.wordpressMachine, s.wordpressService, s.wordpressCharm, s.wordpressUnit = s.addMachineServiceCharmAndUnit(c, "wordpress") password, err := utils.RandomPassword() c.Assert(err, gc.IsNil) err = s.wordpressUnit.SetPassword(password) c.Assert(err, gc.IsNil) s.st = s.OpenAPIAs(c, s.wordpressUnit.Tag().String(), password) // Create the uniter API facade. s.uniter = s.st.Uniter() c.Assert(s.uniter, gc.NotNil) }
func (s *provisionerSuite) setUpTest(c *gc.C, withStateServer bool) { s.JujuConnSuite.SetUpTest(c) // Reset previous machines (if any) and create 3 machines // for the tests, plus an optional state server machine. s.machines = nil // Note that the specific machine ids allocated are assumed // to be numerically consecutive from zero. if withStateServer { s.machines = append(s.machines, testing.AddStateServerMachine(c, s.State)) } for i := 0; i < 5; i++ { machine, err := s.State.AddMachine("quantal", state.JobHostUnits) c.Check(err, gc.IsNil) s.machines = append(s.machines, machine) } // Create a FakeAuthorizer so we can check permissions, // set up assuming we logged in as the environment manager. s.authorizer = apiservertesting.FakeAuthorizer{ LoggedIn: true, EnvironManager: true, } // Create the resource registry separately to track invocations to // Register. s.resources = common.NewResources() // Create a provisioner API for the machine. provisionerAPI, err := provisioner.NewProvisionerAPI( s.State, s.resources, s.authorizer, ) c.Assert(err, gc.IsNil) s.provisioner = provisionerAPI }