add a comment about why this partitioning code is still broken
[bootmanager.git] / source / steps / InstallPartitionDisks.py
index 5ca7507..e04a319 100644 (file)
@@ -259,7 +259,20 @@ def single_partition_device_2_x ( device, vars, log):
         # get the device
         dev= parted.Device(device)
         # create a new partition table
-        disk= parted.freshDisk(dev,'msdos')
+        # xxx -- Thierry june 2012
+        # original code was going for the msdos version only
+        # Marco Bicudo reported an error with a disk larger than 2TB
+        # and confirmed he node would take off by just changing 'msdos' into 'gpt'
+        # this version below has been tried but does not work
+        # as a matter of fact on the big node an exception gets thrown later
+        # at the maximizePartition stage only, which of course makes sense 
+        # so bottom line is, we need to find something smarter...
+        # xxx
+        try:
+            disk= parted.freshDisk(dev,'msdos')
+        # use gpt as a fallback for disks larger than 2TB
+        except:
+            disk= parted.freshDisk(dev,'gpt')
         # create one big partition on each block device
         constraint= parted.constraint.Constraint (device=dev)
         geometry = parted.geometry.Geometry (device=dev, start=0, end=1)