This code was being duplicated amongst the various classes
a lot, so make it an instance variable to consolidate it
somewhat.
Signed-off-by: Chris Lalancette <clalance(a)redhat.com>
---
imgfac/builders/Fedora_condorcloud_Builder.py | 15 +++++++--------
imgfac/builders/Fedora_ec2_Builder.py | 18 +++++++++---------
imgfac/builders/Fedora_rackspace_Builder.py | 17 ++++++++---------
imgfac/builders/Fedora_rhevm_Builder.py | 15 +++++++--------
imgfac/builders/Fedora_vsphere_Builder.py | 13 ++++++-------
imgfac/builders/RHEL5_condorcloud_Builder.py | 9 +--------
imgfac/builders/RHEL5_ec2_Builder.py | 11 ++---------
imgfac/builders/RHEL5_rackspace_Builder.py | 9 +--------
imgfac/builders/RHEL5_rhevm_Builder.py | 9 +--------
imgfac/builders/RHEL5_vsphere_Builder.py | 9 +--------
imgfac/builders/RHEL6_condorcloud_Builder.py | 9 +--------
imgfac/builders/RHEL6_ec2_Builder.py | 11 ++---------
imgfac/builders/RHEL6_rackspace_Builder.py | 9 +--------
imgfac/builders/RHEL6_rhevm_Builder.py | 9 +--------
imgfac/builders/RHEL6_vsphere_Builder.py | 9 +--------
15 files changed, 49 insertions(+), 123 deletions(-)
diff --git a/imgfac/builders/Fedora_condorcloud_Builder.py
b/imgfac/builders/Fedora_condorcloud_Builder.py
index f98170c..6d72ad4 100644
--- a/imgfac/builders/Fedora_condorcloud_Builder.py
+++ b/imgfac/builders/Fedora_condorcloud_Builder.py
@@ -43,15 +43,14 @@ class Fedora_condorcloud_Builder(BaseBuilder):
# Oz now uses the tdlobject name property directly in several places so we must
change it
self.tdlobj.name = self.tdlobj.name + "-" + self.new_image_id
+ # populate a config object to pass to OZ; this allows us to specify our
+ # own output dir but inherit other Oz behavior
+ self.oz_config = ConfigParser.SafeConfigParser()
+ self.oz_config.read("/etc/oz/oz.cfg")
+ self.oz_config.set('paths', 'output_dir',
self.app_config["imgdir"])
+
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = oz.Fedora.get_class(self.tdlobj, config, None)
+ self.guest = oz.Fedora.get_class(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
def log_exc(self):
diff --git a/imgfac/builders/Fedora_ec2_Builder.py
b/imgfac/builders/Fedora_ec2_Builder.py
index 26328f3..4aea4a3 100644
--- a/imgfac/builders/Fedora_ec2_Builder.py
+++ b/imgfac/builders/Fedora_ec2_Builder.py
@@ -84,18 +84,18 @@ class Fedora_ec2_Builder(BaseBuilder):
# Oz now uses the tdlobject name property directly in several places so we must
change it
self.tdlobj.name = self.tdlobj.name + "-" + self.new_image_id
+ # populate a config object to pass to OZ; this allows us to specify our
+ # own output dir but inherit other Oz behavior
+ self.oz_config = ConfigParser.SafeConfigParser()
+ self.oz_config.read("/etc/oz/oz.cfg")
+ self.oz_config.set('paths', 'output_dir',
self.app_config["imgdir"])
+
def init_guest(self, guesttype):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
if guesttype == "local":
- self.guest = oz.Fedora.get_class(self.tdlobj, config, None)
+ self.guest = oz.Fedora.get_class(self.tdlobj, self.oz_config, None)
else:
- self.guest = FedoraRemoteGuest(self.tdlobj, config, None, "virtio",
True, "virtio", True)
+ self.guest = FedoraRemoteGuest(self.tdlobj, self.oz_config, None,
+ "virtio", True, "virtio",
True)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
def log_exc(self):
diff --git a/imgfac/builders/Fedora_rackspace_Builder.py
b/imgfac/builders/Fedora_rackspace_Builder.py
index 9241cf7..75d7691 100644
--- a/imgfac/builders/Fedora_rackspace_Builder.py
+++ b/imgfac/builders/Fedora_rackspace_Builder.py
@@ -55,16 +55,15 @@ class Fedora_rackspace_Builder(BaseBuilder):
# Oz now uses the tdlobject name property directly in several places so we must
change it
self.tdlobj.name = self.tdlobj.name + "-" + self.new_image_id
+ # populate a config object to pass to OZ; this allows us to specify our
+ # own output dir but inherit other Oz behavior
+ self.oz_config = ConfigParser.SafeConfigParser()
+ self.oz_config.read("/etc/oz/oz.cfg")
+ self.oz_config.set('paths', 'output_dir',
self.app_config["imgdir"])
+
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = FedoraRemoteGuest(self.tdlobj, config, None, "virtio",
- True, "virtio", True)
+ self.guest = FedoraRemoteGuest(self.tdlobj, self.oz_config, None,
+ "virtio", True, "virtio",
True)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
def log_exc(self):
diff --git a/imgfac/builders/Fedora_rhevm_Builder.py
b/imgfac/builders/Fedora_rhevm_Builder.py
index 5332e77..b1a8345 100644
--- a/imgfac/builders/Fedora_rhevm_Builder.py
+++ b/imgfac/builders/Fedora_rhevm_Builder.py
@@ -44,15 +44,14 @@ class Fedora_rhevm_Builder(BaseBuilder):
# Oz now uses the tdlobject name property directly in several places so we must
change it
self.tdlobj.name = self.tdlobj.name + "-" + self.new_image_id
+ # populate a config object to pass to OZ; this allows us to specify our
+ # own output dir but inherit other Oz behavior
+ self.oz_config = ConfigParser.SafeConfigParser()
+ self.oz_config.read("/etc/oz/oz.cfg")
+ self.oz_config.set('paths', 'output_dir',
self.app_config["imgdir"])
+
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = oz.Fedora.get_class(self.tdlobj, config, None)
+ self.guest = oz.Fedora.get_class(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
def log_exc(self):
diff --git a/imgfac/builders/Fedora_vsphere_Builder.py
b/imgfac/builders/Fedora_vsphere_Builder.py
index 95ebfe0..22a203f 100644
--- a/imgfac/builders/Fedora_vsphere_Builder.py
+++ b/imgfac/builders/Fedora_vsphere_Builder.py
@@ -46,14 +46,13 @@ class Fedora_vsphere_Builder(BaseBuilder):
# Oz now uses the tdlobject name property directly in several places so we must
change it
self.tdlobj.name = self.tdlobj.name + "-" + self.new_image_id
+ # populate a config object to pass to OZ; this allows us to specify our
+ # own output dir but inherit other Oz behavior
+ self.oz_config = ConfigParser.SafeConfigParser()
+ self.oz_config.read("/etc/oz/oz.cfg")
+ self.oz_config.set('paths', 'output_dir',
self.app_config["imgdir"])
+
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
self.guest = oz.Fedora.get_class(self.tdlobj, config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
diff --git a/imgfac/builders/RHEL5_condorcloud_Builder.py
b/imgfac/builders/RHEL5_condorcloud_Builder.py
index 0cc6470..2386d12 100644
--- a/imgfac/builders/RHEL5_condorcloud_Builder.py
+++ b/imgfac/builders/RHEL5_condorcloud_Builder.py
@@ -18,14 +18,7 @@ from Fedora_condorcloud_Builder import Fedora_condorcloud_Builder
class RHEL5_condorcloud_Builder(Fedora_condorcloud_Builder):
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = oz.RHEL_5.get_class(self.tdlobj, config, None)
+ self.guest = oz.RHEL_5.get_class(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL5_ec2_Builder.py b/imgfac/builders/RHEL5_ec2_Builder.py
index be87554..e1cd4be 100644
--- a/imgfac/builders/RHEL5_ec2_Builder.py
+++ b/imgfac/builders/RHEL5_ec2_Builder.py
@@ -29,17 +29,10 @@ class RHEL5RemoteGuest(oz.RHEL_5.RHEL5Guest):
class RHEL5_ec2_Builder(Fedora_ec2_Builder):
def init_guest(self, guesttype):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
if guesttype == "local":
- self.guest = oz.RHEL_5.get_class(self.tdlobj, config, None)
+ self.guest = oz.RHEL_5.get_class(self.tdlobj, self.oz_config, None)
else:
- self.guest = RHEL5RemoteGuest(self.tdlobj, config, None)
+ self.guest = RHEL5RemoteGuest(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL5_rackspace_Builder.py
b/imgfac/builders/RHEL5_rackspace_Builder.py
index d79bc1a..17422db 100644
--- a/imgfac/builders/RHEL5_rackspace_Builder.py
+++ b/imgfac/builders/RHEL5_rackspace_Builder.py
@@ -28,14 +28,7 @@ class RHEL5RemoteGuest(oz.RHEL_5.RHEL5Guest):
class RHEL5_rackspace_Builder(Fedora_rackspace_Builder):
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = RHEL5RemoteGuest(self.tdlobj, config, None)
+ self.guest = RHEL5RemoteGuest(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL5_rhevm_Builder.py
b/imgfac/builders/RHEL5_rhevm_Builder.py
index e663d52..f5e86a1 100644
--- a/imgfac/builders/RHEL5_rhevm_Builder.py
+++ b/imgfac/builders/RHEL5_rhevm_Builder.py
@@ -18,14 +18,7 @@ from Fedora_rhevm_Builder import Fedora_rhevm_Builder
class RHEL5_rhevm_Builder(Fedora_rhevm_Builder):
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = oz.RHEL_5.get_class(self.tdlobj, config, None)
+ self.guest = oz.RHEL_5.get_class(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL5_vsphere_Builder.py
b/imgfac/builders/RHEL5_vsphere_Builder.py
index 6eb847f..468e3ef 100644
--- a/imgfac/builders/RHEL5_vsphere_Builder.py
+++ b/imgfac/builders/RHEL5_vsphere_Builder.py
@@ -18,14 +18,7 @@ from Fedora_vsphere_Builder import Fedora_vsphere_Builder
class RHEL5_vsphere_Builder(Fedora_vsphere_Builder):
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = oz.RHEL_5.get_class(self.tdlobj, config, None)
+ self.guest = oz.RHEL_5.get_class(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL6_condorcloud_Builder.py
b/imgfac/builders/RHEL6_condorcloud_Builder.py
index ec09051..79b0593 100644
--- a/imgfac/builders/RHEL6_condorcloud_Builder.py
+++ b/imgfac/builders/RHEL6_condorcloud_Builder.py
@@ -18,14 +18,7 @@ from Fedora_condorcloud_Builder import Fedora_condorcloud_Builder
class RHEL6_condorcloud_Builder(Fedora_condorcloud_Builder):
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = oz.RHEL_6.get_class(self.tdlobj, config, None)
+ self.guest = oz.RHEL_6.get_class(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL6_ec2_Builder.py b/imgfac/builders/RHEL6_ec2_Builder.py
index 1d370fd..495b446 100644
--- a/imgfac/builders/RHEL6_ec2_Builder.py
+++ b/imgfac/builders/RHEL6_ec2_Builder.py
@@ -27,17 +27,10 @@ class RHEL6RemoteGuest(oz.RHEL_6.RHEL6Guest):
class RHEL6_ec2_Builder(Fedora_ec2_Builder):
def init_guest(self, guesttype):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
if guesttype == "local":
- self.guest = oz.RHEL_6.get_class(self.tdlobj, config, None)
+ self.guest = oz.RHEL_6.get_class(self.tdlobj, self.oz_config, None)
else:
- self.guest = RHEL6RemoteGuest(self.tdlobj, config, None)
+ self.guest = RHEL6RemoteGuest(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL6_rackspace_Builder.py
b/imgfac/builders/RHEL6_rackspace_Builder.py
index b7f7773..dbd7ac6 100644
--- a/imgfac/builders/RHEL6_rackspace_Builder.py
+++ b/imgfac/builders/RHEL6_rackspace_Builder.py
@@ -27,14 +27,7 @@ class RHEL6RemoteGuest(oz.RHEL_6.RHEL6Guest):
class RHEL6_rackspace_Builder(Fedora_rackspace_Builder):
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = RHEL6RemoteGuest(self.tdlobj, config, None)
+ self.guest = RHEL6RemoteGuest(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL6_rhevm_Builder.py
b/imgfac/builders/RHEL6_rhevm_Builder.py
index 227e7db..1fa65e8 100644
--- a/imgfac/builders/RHEL6_rhevm_Builder.py
+++ b/imgfac/builders/RHEL6_rhevm_Builder.py
@@ -18,14 +18,7 @@ from Fedora_rhevm_Builder import Fedora_rhevm_Builder
class RHEL6_rhevm_Builder(Fedora_rhevm_Builder):
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = oz.RHEL_6.get_class(self.tdlobj, config, None)
+ self.guest = oz.RHEL_6.get_class(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
diff --git a/imgfac/builders/RHEL6_vsphere_Builder.py
b/imgfac/builders/RHEL6_vsphere_Builder.py
index 9292043..6de4626 100644
--- a/imgfac/builders/RHEL6_vsphere_Builder.py
+++ b/imgfac/builders/RHEL6_vsphere_Builder.py
@@ -18,14 +18,7 @@ from Fedora_vsphere_Builder import Fedora_vsphere_Builder
class RHEL6_vsphere_Builder(Fedora_vsphere_Builder):
def init_guest(self):
- # populate a config object to pass to OZ
- # This allows us to specify our own output dir but inherit other Oz behavior
- # TODO: Messy?
- config_file = "/etc/oz/oz.cfg"
- config = ConfigParser.SafeConfigParser()
- config.read(config_file)
- config.set('paths', 'output_dir',
self.app_config["imgdir"])
- self.guest = oz.RHEL_6.get_class(self.tdlobj, config, None)
+ self.guest = oz.RHEL_6.get_class(self.tdlobj, self.oz_config, None)
self.guest.diskimage = self.app_config["imgdir"] +
"/base-image-" + self.new_image_id + ".dsk"
# Oz assumes unique names - TDL built for multiple backends guarantees they are
not unique
# We don't really care about the name so just force uniqueness
--
1.7.4.4