[pkg-eucalyptus-commits] [SCM] managing cloud instances for Eucalyptus branch, experimental, updated. debian/2.1.1-1_experimental1-51-g95835b7

Alexander Richter razrichter at gmail.com
Thu Jan 3 11:06:05 UTC 2013


The following commit has been merged in the experimental branch:
commit 6b64b40580200ae17f24610eeb51989b4dbfbe19
Author: Alexander Richter <razrichter at gmail.com>
Date:   Thu Jul 19 10:21:06 2012 -0700

    Fixed bug: euca2ools.commands.euca.bundlevol gets dict of block_device_mapping from boto, and euca2ools.bundler.generate_manifest expects a list. fixed bundler to expect a dict, and euca2ools.commands.euca.bundleimage to also send one

diff --git a/euca2ools/bundler.py b/euca2ools/bundler.py
index 979c8a4..5ffbc89 100644
--- a/euca2ools/bundler.py
+++ b/euca2ools/bundler.py
@@ -338,21 +338,6 @@ class Bundler(object):
         tar_file.close()
         return untarred_names
 
-    def get_block_devs(self, mapping):
-        virtual = []
-        devices = []
-
-        vname = None
-        for m in mapping:
-            if not vname:
-                vname = m
-                virtual.append(vname)
-            else:
-                devices.append(m)
-                vname = None
-
-        return (virtual, devices)
-
     def generate_manifest(self, path, prefix, parts, parts_digest,
                           file, key, iv, cert_path, ec2cert_path,
                           private_key_path, target_arch,
@@ -432,10 +417,7 @@ class Bundler(object):
         if mapping:
             block_dev_mapping_elem = \
                 doc.createElement('block_device_mapping')
-            (virtual_names, device_names) = self.get_block_devs(mapping)
-            vname_index = 0
-            for vname in virtual_names:
-                dname = device_names[vname_index]
+            for vname,dname in mapping.items():
                 mapping_elem = doc.createElement('mapping')
                 virtual_elem = doc.createElement('virtual')
                 virtual_value = doc.createTextNode(vname)
@@ -446,7 +428,6 @@ class Bundler(object):
                 device_elem.appendChild(device_value)
                 mapping_elem.appendChild(device_elem)
                 block_dev_mapping_elem.appendChild(mapping_elem)
-                vname_index = vname_index + 1
             machine_config_elem.appendChild(block_dev_mapping_elem)
 
         if product_codes:
diff --git a/euca2ools/commands/euca/bundleimage.py b/euca2ools/commands/euca/bundleimage.py
index 0408ecf..eea41de 100644
--- a/euca2ools/commands/euca/bundleimage.py
+++ b/euca2ools/commands/euca/bundleimage.py
@@ -89,13 +89,12 @@ class BundleImage(euca2ools.commands.eucacommand.EucaCommand):
 
     def get_block_devs(self):
         mapping_str = self.block_device_mapping
-        mapping = []
+        mapping = {}
         mapping_pairs = mapping_str.split(',')
         for m in mapping_pairs:
             m_parts = m.split('=')
             if len(m_parts) > 1:
-                mapping.append(m_parts[0])
-                mapping.append(m_parts[1])
+                mapping[m_parts[0]] = m_parts[1]
         return mapping
 
     def add_product_codes(self):

-- 
managing cloud instances for Eucalyptus



More information about the pkg-eucalyptus-commits mailing list