// StartInstance is specified in the Environ interface. func (env *localEnviron) StartInstance( machineId, machineNonce, series string, cons constraints.Value, stateInfo *state.Info, apiInfo *api.Info, ) (instance.Instance, *instance.HardwareCharacteristics, error) { // We pretty much ignore the constraints. logger.Debugf("StartInstance: %q, %s", machineId, series) possibleTools, err := environs.FindInstanceTools(env, series, cons) if err != nil { return nil, nil, err } if len(possibleTools) == 0 { return nil, nil, fmt.Errorf("could not find appropriate tools") } tools := possibleTools[0] logger.Debugf("tools: %#v", tools) network := lxc.DefaultNetworkConfig() inst, err := env.containerManager.StartContainer( machineId, series, machineNonce, network, tools, env.config.Config, stateInfo, apiInfo) if err != nil { return nil, nil, err } // TODO(thumper): return some hardware characteristics. return inst, nil, nil }
func (*NetworkSuite) TestGenerateNetworkConfig(c *gc.C) { for _, test := range []struct { config *lxc.NetworkConfig net string link string }{{ config: nil, net: "veth", link: "lxcbr0", }, { config: lxc.DefaultNetworkConfig(), net: "veth", link: "lxcbr0", }, { config: lxc.BridgeNetworkConfig("foo"), net: "veth", link: "foo", }, { config: lxc.PhysicalNetworkConfig("foo"), net: "phys", link: "foo", }} { config := lxc.GenerateNetworkConfig(test.config) c.Assert(config, jc.Contains, fmt.Sprintf("lxc.network.type = %s\n", test.net)) c.Assert(config, jc.Contains, fmt.Sprintf("lxc.network.link = %s\n", test.link)) } }