[libvirt] [sandbox 06/11] virt-sandbox-image: move DockerSource _format_disk to Source

Cédric Bosdonnat cbosdonnat at suse.com
Wed Sep 23 07:53:36 UTC 2015


Formatting a disk is a generic operation that will be needed by other
sources, at least a virt-builder one.
---
 libvirt-sandbox/image/sources/DockerSource.py | 14 +-------------
 libvirt-sandbox/image/sources/Source.py       | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/libvirt-sandbox/image/sources/DockerSource.py b/libvirt-sandbox/image/sources/DockerSource.py
index 6c02cc3..41df7a7 100644
--- a/libvirt-sandbox/image/sources/DockerSource.py
+++ b/libvirt-sandbox/image/sources/DockerSource.py
@@ -261,7 +261,7 @@ class DockerSource(Source):
             subprocess.call(cmd)
 
             if parentImage is None:
-                self._format_disk(templateImage,format,connect)
+                self.format_disk(templateImage,format,connect)
 
             self._extract_tarballs(templatedir + "/" + imagetagid + "/template.",format,connect)
             parentImage = templateImage
@@ -299,18 +299,6 @@ class DockerSource(Source):
             imagetagid = parent
         return imagelist
 
-    def _format_disk(self,disk,format,connect):
-        cmd = ['virt-sandbox']
-        if connect is not None:
-            cmd.append("-c")
-            cmd.append(connect)
-        cmd.append("-p")
-        params = ['--disk=file:disk_image=%s,format=%s' %(disk,format),
-                  '/sbin/mkfs.ext3',
-                  '/dev/disk/by-tag/disk_image']
-        cmd = cmd + params
-        subprocess.call(cmd)
-
     def _extract_tarballs(self,directory,format,connect):
         tarfile = directory + "tar.gz"
         diskfile = directory + "qcow2"
diff --git a/libvirt-sandbox/image/sources/Source.py b/libvirt-sandbox/image/sources/Source.py
index 20f4af0..444baa3 100644
--- a/libvirt-sandbox/image/sources/Source.py
+++ b/libvirt-sandbox/image/sources/Source.py
@@ -21,6 +21,7 @@
 # Author: Eren Yagdiran <erenyagdiran at gmail.com>
 
 from abc import ABCMeta, abstractmethod
+import subprocess
 
 class Source():
     '''The Source class defines the base interface for
@@ -114,3 +115,18 @@ class Source():
         cleanup.
         """
         pass
+
+
+    # Utility functions to share between the sources.
+
+    def format_disk(self,disk,format,connect):
+        cmd = ['virt-sandbox']
+        if connect is not None:
+            cmd.append("-c")
+            cmd.append(connect)
+        cmd.append("-p")
+        params = ['--disk=file:disk_image=%s,format=%s' %(disk,format),
+                  '/sbin/mkfs.ext3',
+                  '/dev/disk/by-tag/disk_image']
+        cmd = cmd + params
+        subprocess.call(cmd)
-- 
2.1.4




More information about the libvir-list mailing list