def cleanup(self): super(run, self).cleanup() # Clean up all containers dc = DockerContainers(self) for cobj in dc.list_containers(): self.logwarning("Found leftover container: %s", cobj.container_name) try: dc.kill_container_by_obj(cobj) except ValueError: pass # already dead else: self.logdebug("Killed container %s, waiting up to %d seconds " "for it to exit", cobj.container_name, dc.timeout) dc.wait_by_obj(cobj) self.logdebug("Removing container %s", cobj.container_name) dc.remove_by_obj(cobj) # Clean up all non-default images fqin = DockerImage.full_name_from_defaults(self.config) di = DockerImages(self) def_img_obj = di.list_imgs_with_full_name(fqin)[0] for img_obj in di.list_imgs(): if img_obj.full_name != def_img_obj.full_name: self.logwarning("Found leftover image: %s", img_obj) di.remove_image_by_image_obj(img_obj) else: self.logdebug("Not removing default image: %s", def_img_obj)
def cleanup(self): super(commit_base, self).cleanup() # Auto-converts "yes/no" to a boolean if (self.config['remove_after_test'] and 'image_list' in self.sub_stuff): dkrcmd = DockerCmd(self.parent_subtest, "rm", ['--volumes', '--force', self.sub_stuff["container"]]) cmdresult = dkrcmd.execute() msg = (" removed test container: %s" % self.sub_stuff["container"]) if cmdresult.exit_status == 0: self.loginfo("Successfully" + msg) else: self.logwarning("Failed" + msg) for image in self.sub_stuff["image_list"]: try: di = DockerImages(self.parent_subtest) self.logdebug("Removing image %s", image.full_name) di.remove_image_by_image_obj(image) self.loginfo("Successfully removed test image: %s", image.full_name) except error.CmdError, e: error_text = "tagged in multiple repositories" if not error_text in e.result_obj.stderr: raise
def cleanup(self): super(pull_base, self).cleanup() # Auto-converts "yes/no" to a boolean if (self.config['remove_after_test'] and 'image_list' in self.sub_stuff): for image in self.sub_stuff["image_list"]: try: di = DockerImages(self.parent_subtest) di.remove_image_by_image_obj(image) self.loginfo("Successfully removed test image") except error.CmdError: self.logwarning("Image not exist.")
def cleanup(self): super(tag_base, self).cleanup() # Auto-converts "yes/no" to a boolean if (self.config['remove_after_test'] and 'image_list' in self.sub_stuff): for image in self.sub_stuff["image_list"]: di = DockerImages(self.parent_subtest) self.logdebug("Removing image %s", image.full_name) try: di.remove_image_by_image_obj(image) except error.CmdError, e: err = e.result_obj.stderr if not "tagged in multiple repositories" in err: raise self.loginfo("Successfully removed test image: %s", image.full_name)