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(a)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