func (s *LxcSuite) createTemplate(c *gc.C) golxc.Container { name := "juju-series-template" ch := s.ensureTemplateStopped(name) defer func() { <-ch }() network := container.BridgeNetworkConfig("nic42") authorizedKeys := "authorized keys list" aptProxy := proxy.Settings{} template, err := lxc.EnsureCloneTemplate( "ext4", "series", network, authorizedKeys, aptProxy) c.Assert(err, gc.IsNil) c.Assert(template.Name(), gc.Equals, name) s.AssertEvent(c, <-s.events, mock.Created, name) s.AssertEvent(c, <-s.events, mock.Started, name) s.AssertEvent(c, <-s.events, mock.Stopped, name) autostartLink := lxc.RestartSymlink(name) config, err := ioutil.ReadFile(lxc.ContainerConfigFilename(name)) c.Assert(err, gc.IsNil) expected := ` lxc.network.type = veth lxc.network.link = nic42 lxc.network.flags = up ` // NOTE: no autostart, no mounting the log dir c.Assert(string(config), gc.Equals, expected) c.Assert(autostartLink, jc.DoesNotExist) return template }
func (s *LxcSuite) createTemplate(c *gc.C) golxc.Container { name := "juju-quantal-lxc-template" ch := s.ensureTemplateStopped(name) defer func() { <-ch }() network := container.BridgeNetworkConfig("nic42", 4321, nil) authorizedKeys := "authorized keys list" aptProxy := proxy.Settings{} aptMirror := "http://my.archive.ubuntu.com/ubuntu" callback := func(containerStatus status.Status, info string, data map[string]interface{}) error { return nil } template, err := lxc.EnsureCloneTemplate( "ext4", "quantal", network, authorizedKeys, aptProxy, aptMirror, true, true, &containertesting.MockURLGetter{}, false, callback, ) c.Assert(err, jc.ErrorIsNil) c.Assert(template.Name(), gc.Equals, name) createEvent := <-s.events c.Assert(createEvent.Action, gc.Equals, mock.Created) c.Assert(createEvent.InstanceId, gc.Equals, name) argsSet := set.NewStrings(createEvent.TemplateArgs...) c.Assert(argsSet.Contains("imageURL"), jc.IsTrue) s.AssertEvent(c, <-s.events, mock.Started, name) s.AssertEvent(c, <-s.events, mock.Stopped, name) autostartLink := lxc.RestartSymlink(name) config, err := ioutil.ReadFile(lxc.ContainerConfigFilename(name)) c.Assert(err, jc.ErrorIsNil) expected := ` # network config # interface "eth0" lxc.network.type = veth lxc.network.link = nic42 lxc.network.flags = up lxc.network.mtu = 4321 ` // NOTE: no autostart, no mounting the log dir c.Assert(string(config), gc.Equals, expected) c.Assert(autostartLink, jc.DoesNotExist) return template }