func (s *lxcBrokerSuite) SetUpTest(c *gc.C) { if runtime.GOOS == "windows" { c.Skip("Skipping lxc tests on windows") } s.lxcSuite.SetUpTest(c) var err error s.agentConfig, err = agent.NewAgentConfig( agent.AgentConfigParams{ Paths: agent.NewPathsWithDefaults(agent.Paths{DataDir: "/not/used/here"}), Tag: names.NewMachineTag("1"), UpgradedToVersion: jujuversion.Current, Password: "******", Nonce: "nonce", APIAddresses: []string{"10.0.0.1:1234"}, CACert: coretesting.CACert, Model: coretesting.ModelTag, }) c.Assert(err, jc.ErrorIsNil) managerConfig := container.ManagerConfig{ container.ConfigName: "juju", "log-dir": c.MkDir(), "use-clone": "false", } s.api = NewFakeAPI() s.broker, err = provisioner.NewLxcBroker(s.api, s.agentConfig, managerConfig, nil, false, 0) c.Assert(err, jc.ErrorIsNil) }
// WriteStateAgentConfig creates and writes a state agent config. func (s *AgentSuite) WriteStateAgentConfig( c *gc.C, tag names.Tag, password string, vers version.Binary, modelTag names.ModelTag, ) agent.ConfigSetterWriter { stateInfo := s.State.MongoConnectionInfo() apiPort := gitjujutesting.FindTCPPort() apiAddr := []string{fmt.Sprintf("localhost:%d", apiPort)} conf, err := agent.NewStateMachineConfig( agent.AgentConfigParams{ Paths: agent.NewPathsWithDefaults(agent.Paths{DataDir: s.DataDir()}), Tag: tag, UpgradedToVersion: vers.Number, Password: password, Nonce: agent.BootstrapNonce, StateAddresses: stateInfo.Addrs, APIAddresses: apiAddr, CACert: stateInfo.CACert, Model: modelTag, }, params.StateServingInfo{ Cert: coretesting.ServerCert, PrivateKey: coretesting.ServerKey, CAPrivateKey: coretesting.CAKey, StatePort: gitjujutesting.MgoServer.Port(), APIPort: apiPort, }) c.Assert(err, jc.ErrorIsNil) conf.SetPassword(password) c.Assert(conf.Write(), gc.IsNil) return conf }
// writeStateAgentConfig creates and writes a state agent config. func writeStateAgentConfig( c *gc.C, stateInfo *mongo.MongoInfo, dataDir string, tag names.Tag, password string, vers version.Binary, envTag names.EnvironTag) agent.ConfigSetterWriter { port := gitjujutesting.FindTCPPort() apiAddr := []string{fmt.Sprintf("localhost:%d", port)} conf, err := agent.NewStateMachineConfig( agent.AgentConfigParams{ Paths: agent.NewPathsWithDefaults(agent.Paths{DataDir: dataDir}), Tag: tag, UpgradedToVersion: vers.Number, Password: password, Nonce: agent.BootstrapNonce, StateAddresses: stateInfo.Addrs, APIAddresses: apiAddr, CACert: stateInfo.CACert, Environment: envTag, }, params.StateServingInfo{ Cert: coretesting.ServerCert, PrivateKey: coretesting.ServerKey, CAPrivateKey: coretesting.CAKey, StatePort: gitjujutesting.MgoServer.Port(), APIPort: port, }) c.Assert(err, jc.ErrorIsNil) conf.SetPassword(password) c.Assert(conf.Write(), gc.IsNil) return conf }
func (s *lxdBrokerSuite) SetUpTest(c *gc.C) { s.BaseSuite.SetUpTest(c) if runtime.GOOS == "windows" { c.Skip("Skipping lxd tests on windows") } // To isolate the tests from the host's architecture, we override it here. s.PatchValue(&arch.HostArch, func() string { return arch.AMD64 }) var err error s.agentConfig, err = agent.NewAgentConfig( agent.AgentConfigParams{ Paths: agent.NewPathsWithDefaults(agent.Paths{DataDir: "/not/used/here"}), Tag: names.NewMachineTag("1"), UpgradedToVersion: jujuversion.Current, Password: "******", Nonce: "nonce", APIAddresses: []string{"10.0.0.1:1234"}, CACert: coretesting.CACert, Controller: coretesting.ControllerTag, Model: coretesting.ModelTag, }) c.Assert(err, jc.ErrorIsNil) s.api = NewFakeAPI() s.manager = &fakeContainerManager{} s.broker, err = provisioner.NewLxdBroker(s.api, s.manager, s.agentConfig) c.Assert(err, jc.ErrorIsNil) }
func (s *kvmBrokerSuite) SetUpTest(c *gc.C) { if runtime.GOOS == "windows" { c.Skip("Skipping kvm tests on windows") } s.kvmSuite.SetUpTest(c) var err error s.agentConfig, err = agent.NewAgentConfig( agent.AgentConfigParams{ Paths: agent.NewPathsWithDefaults(agent.Paths{DataDir: "/not/used/here"}), Tag: names.NewUnitTag("ubuntu/1"), UpgradedToVersion: version.Current, Password: "******", Nonce: "nonce", APIAddresses: []string{"10.0.0.1:1234"}, CACert: coretesting.CACert, Environment: coretesting.EnvironmentTag, }) c.Assert(err, jc.ErrorIsNil) s.api = NewFakeAPI() managerConfig := container.ManagerConfig{container.ConfigName: "juju"} s.broker, err = provisioner.NewKvmBroker(s.api, s.agentConfig, managerConfig, false) c.Assert(err, jc.ErrorIsNil) }
func (s *lxdBrokerSuite) SetUpTest(c *gc.C) { s.BaseSuite.SetUpTest(c) if runtime.GOOS == "windows" { c.Skip("Skipping lxd tests on windows") } // To isolate the tests from the host's architecture, we override it here. s.PatchValue(&arch.HostArch, func() string { return arch.AMD64 }) s.possibleTools = coretools.List{&coretools.Tools{ Version: version.MustParseBinary("2.3.4-quantal-amd64"), URL: "http://tools.testing.invalid/2.3.4-quantal-amd64.tgz", }, { // non-host-arch tools should be filtered out by StartInstance Version: version.MustParseBinary("2.3.4-quantal-arm64"), URL: "http://tools.testing.invalid/2.3.4-quantal-arm64.tgz", }} var err error s.agentConfig, err = agent.NewAgentConfig( agent.AgentConfigParams{ Paths: agent.NewPathsWithDefaults(agent.Paths{DataDir: "/not/used/here"}), Tag: names.NewMachineTag("1"), UpgradedToVersion: jujuversion.Current, Password: "******", Nonce: "nonce", APIAddresses: []string{"10.0.0.1:1234"}, CACert: coretesting.CACert, Model: coretesting.ModelTag, }) c.Assert(err, jc.ErrorIsNil) s.api = NewFakeAPI() s.manager = &fakeContainerManager{} s.broker, err = provisioner.NewLxdBroker(s.api, s.manager, s.agentConfig, "namespace", true) c.Assert(err, jc.ErrorIsNil) }