func (s *DirectorySuite) TestRemoveContainerDir(c *gc.C) { dir, err := container.NewDirectory("testing") c.Assert(err, gc.IsNil) err = container.RemoveDirectory("testing") c.Assert(err, gc.IsNil) c.Assert(dir, jc.DoesNotExist) c.Assert(filepath.Join(s.removedDir, "testing"), jc.IsDirectory) }
func (manager *containerManager) DestroyContainer(instance instance.Instance) error { name := string(instance.Id()) kvmContainer := KvmObjectFactory.New(name) if err := kvmContainer.Stop(); err != nil { logger.Errorf("failed to stop kvm container: %v", err) return err } return container.RemoveDirectory(name) }
func (s *DirectorySuite) TestRemoveContainerDirWithClash(c *gc.C) { dir, err := container.NewDirectory("testing") c.Assert(err, gc.IsNil) clash := filepath.Join(s.removedDir, "testing") err = os.MkdirAll(clash, 0755) c.Assert(err, gc.IsNil) err = container.RemoveDirectory("testing") c.Assert(err, gc.IsNil) c.Assert(dir, jc.DoesNotExist) c.Assert(filepath.Join(s.removedDir, "testing.1"), jc.IsDirectory) }
func (manager *containerManager) DestroyContainer(instance instance.Instance) error { start := time.Now() name := string(instance.Id()) lxcContainer := LxcObjectFactory.New(name) if useRestartDir() { // Remove the autostart link. if err := os.Remove(restartSymlink(name)); err != nil { logger.Errorf("failed to remove restart symlink: %v", err) return err } } if err := lxcContainer.Destroy(); err != nil { logger.Errorf("failed to destroy lxc container: %v", err) return err } err := container.RemoveDirectory(name) logger.Tracef("container %q stopped: %v", name, time.Now().Sub(start)) return err }