Your message dated Sun, 15 Jun 2008 11:02:02 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#356862: fixed in fai 3.2.8
has caused the Debian Bug report #356862,
regarding fai's setup_harddisks should support LVM
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)


-- 
356862: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=356862
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: fai
Version: 2.8.4sarge1
Severity: wishlist

FAI's default nfsroot has long included LVM utilities.
However, the setup_harddisks script still lacks support for making a
"Linux LVM" (0x8e) partition.

The FAI wiki has a heavily-modified version of setup_harddisks, made
three years ago by Sam Vilain as a fork of version 0.16fai. This has
rather comprehensive RAID and LVM support, but (a) it hasn't been
updated in three years, (b) it introduced a few bugs, (c) it contains
profane language, (d) coding style changes tend to hide the real
differences from the version on the main branch. Having looked at it,
I get the impression that it's better to continue enhancing the
standard setup_harddisks than to switch to that branch.

The attached patch is a first step towards adding LVM support to
setup_harddisks. It adds a new pseudo-filesystem option, lvm, 
to cause a partition to be given type 0x8e (Linux LVM) and
initialised with pvcreate.

In order to run, pvcreate must have write access to /var/lock/lvm/.
That requires a simple change to make-fai-nfsroot, also included in the
patch. 

I think it will also be a good idea to remove /etc/lvm/.cache from the
nfsroot, since its contents describe the server's disks rather than the
client's; but the impact of not doing so seems limited to a few spurious
warning messages from pvcreate.

The patch also makes it clearer that the values in %MPID are to be
interpreted as strings, not as decimal numbers. (They are really
hexadecimal byte values, but the conversion to/from the string
representation is sfdisk's job.)

Where to go from here? Three obvious next steps are:
* supporting various options to pvcreate (-M, -u, etc.)
* supporting pvcreate on a whole unpartitioned disk
* assigning PVs to new or preexisting volume groups

Once support for setting up VGs is in place, one can think of
"partitioning" them by creating LVs.

Or should one look at EVMS as a possibly cleaner and more systematic
approach to these issues?
--- old/scripts/setup_harddisks 2005-11-10 23:37:18.000000000 +0100
+++ new/scripts/setup_harddisks 2006-03-13 21:14:49.834097285 +0100
@@ -139,6 +139,7 @@
 #     reiser       : reiserfs
 #       -h <hash>  : set reiserfs hash
 #       -v <ver>   : set reiserfs version
+#     lvm          : LVM physical volume
 #
 use strict;
 # getopts variables:
@@ -163,6 +164,7 @@
 my $mkreiserfs_options = "";
 my $mkxfs_options = "-f";
 my $mkswap_options = "";
+my $pvcreate_options = "";
 
 # FAI input variables
 my $ClassPath = "$ENV{FAI}/disk_config";# this directory contains the classes
@@ -288,7 +290,7 @@
        if($line =~ m'# partition table of /dev/(\S+)$'i){
           $disk = $1;
         }
-       if($line =~ 
m#^/dev/(.+?)\s*:\s+start=\s*(\d+),\s+size=\s*(\d+),\s+Id=\s*([a-z0-9]+)\b(.*)$#i){
+       if($line =~ 
m#^/dev/(.+?)\s*:\s+start=\s*(\d+),\s+size=\s*(\d+),\s+Id=\s*([a-f0-9]+)\b(.*)$#i){
            $device = $1;
             # Sectors
             $PartOldStartSec{$device} = $2;
@@ -455,9 +457,9 @@
                        $MPPrimary{$extmp} = "yes";
                        $MPMinSize{$extmp} = 0;
                        $MPMaxSize{$extmp} = 0;
-                       $MPID{$extmp} = 5;
+                       $MPID{$extmp} = "5";
                        $PrimPartNo++;
-                       ($PrimPartNo == 3) && ($disk =~ /^sd/) && 
($PrimPartNo++);
+#                      ($PrimPartNo == 3) && ($disk =~ /^sd/) && 
($PrimPartNo++);
                         ($PrimPartNo >4 ) 
                          && die "ERROR: too much primary partitions (max 4).".
                                " All logicals together need one primary 
too.\n";
@@ -502,7 +504,7 @@
                      && die "ERROR: unable to preserve partitions of size 
0.\n$line\n ";
                  } else {
                    # If not preserve we must know the filesystemtype
-                   ($options !~ 
/\b(ext2|ext3|auto|swap|dosfat16|winfat32|reiser|xfs)\b/i ) && ($options .= " 
auto");
+                   ($options !~ 
/\b(ext2|ext3|auto|swap|dosfat16|winfat32|reiser|xfs|lvm)\b/i ) && ($options .= 
" auto");
                  }
                if($size =~ /^(\d*)(\-?)(\d*)$/){
                    $Min = $1;
@@ -529,9 +531,10 @@
                # fstaboptions
                $MPfstaboptions{$mountpoint} = $fstaboptions;
                # extra options
-               ($options =~ /\b(ext[23]|auto)\b/i) && ($MPID{$mountpoint} = 
83); # Linux native
-               ($options =~ /\bswap\b/i) && ($MPID{$mountpoint} = 82); # Linux 
swap
-               ($options =~ /\bdosfat16\b/i) && ($MPID{$mountpoint} = 6); # 
DOS FAT 16bit (>=32MB, will be changed later)
+               ($options =~ /\b(ext[23]|auto)\b/i) && ($MPID{$mountpoint} = 
"83"); # Linux native
+               ($options =~ /\bswap\b/i) && ($MPID{$mountpoint} = "82"); # 
Linux swap
+               ($options =~ /\blvm\b/i) && ($MPID{$mountpoint} = "8e"); # 
Linux LVM
+               ($options =~ /\bdosfat16\b/i) && ($MPID{$mountpoint} = "6"); # 
DOS FAT 16bit (>=32MB, will be changed later)
                ($options =~ /\bwinfat32\b/i) && ($MPID{$mountpoint} = "b"); # 
Win 95 FAT 32
                $MPOptions{$mountpoint} = $options;
                if($test == 1){
@@ -632,7 +635,7 @@
     foreach $mountpoint(split(/\s/,$DiskMountpoints{$disk})) {
        ($MPOptions{$mountpoint} =~ /\bdosfat16\b/i)
            && (($MPSize{$mountpoint} * $DiskUnits{$disk} * $sectorsize) < 32 * 
$megabyte)
-               && ($MPID{$mountpoint} = 4); # DOS 16-bit FAT <32MB
+               && ($MPID{$mountpoint} = "4"); # DOS 16-bit FAT <32MB
     }
 }
 
@@ -862,6 +865,18 @@
                }
                next;
            }
+           # Linux LVM
+           if ($MPOptions{$mountpoint} =~ /\b(lvm)\b/i) {
+#              print "Make LVM physical volume:\n";
+               $command = "pvcreate $pvcreate_options";
+               $command .= " /dev/$device";
+               print "  $command\n";
+               if ($test != 1){
+                   $result = `$command`;
+                   (($? >> 8) == 0) || die "\nPVCREATE ERROR:\n $result\n";
+               }
+               next;
+           }
            # DOS 16bit FAT / Win95 FAT 32
            if ($MPOptions{$mountpoint} =~ /\b(dosfat16|winfat32)\b/i) {
                print "Clear first sector for DOS/Windows\n";
@@ -905,6 +920,7 @@
     # 4. sorted others
     foreach my $mountpoint (sort %PartMountpoint){
        next if ( ($mountpoint !~ m#^/#) || ($mountpoint eq "/"));
+       next if ($MPOptions{$mountpoint} =~ /\b(lvm)\b/i);
        $device = $MountpointPart{$mountpoint};
        $type = "ext2";
        ($MPOptions{$mountpoint} =~ /\b(dosfat16|winfat32)\b/i) && ($type = 
"vfat");
--- old/scripts/make-fai-nfsroot        2005-11-10 23:37:18.000000000 +0100
+++ new/scripts/make-fai-nfsroot        2006-03-13 22:52:39.642389725 +0100
@@ -294,8 +294,9 @@
 
     # make little changes to nfsroot, because nfsroot is
     # read only for the install clients 
-    rm -rf etc/mtab var/run etc/sysconfig
+    rm -rf etc/mtab var/lock var/run etc/sysconfig
     ln -s /proc/mounts etc/mtab
+    ln -s /tmp/var/lock var/lock
     ln -s /tmp/var/run var/run
     ln -sf /tmp/var/state/discover var/state/discover
     ln -sf /tmp/var/lib/discover var/lib/discover

--- End Message ---
--- Begin Message ---
Source: fai
Source-Version: 3.2.8

We believe that the bug you reported is fixed in the latest version of
fai, which is due to be installed in the Debian FTP archive:

fai-client_3.2.8_all.deb
  to pool/main/f/fai/fai-client_3.2.8_all.deb
fai-doc_3.2.8_all.deb
  to pool/main/f/fai/fai-doc_3.2.8_all.deb
fai-nfsroot_3.2.8_all.deb
  to pool/main/f/fai/fai-nfsroot_3.2.8_all.deb
fai-quickstart_3.2.8_all.deb
  to pool/main/f/fai/fai-quickstart_3.2.8_all.deb
fai-server_3.2.8_all.deb
  to pool/main/f/fai/fai-server_3.2.8_all.deb
fai_3.2.8.dsc
  to pool/main/f/fai/fai_3.2.8.dsc
fai_3.2.8.tar.gz
  to pool/main/f/fai/fai_3.2.8.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Thomas Lange <[EMAIL PROTECTED]> (supplier of updated fai package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Sun, 15 Jun 2008 12:47:16 +0200
Source: fai
Binary: fai-client fai-server fai-doc fai-quickstart fai-nfsroot
Architecture: source all
Version: 3.2.8
Distribution: unstable
Urgency: low
Maintainer: Thomas Lange <[EMAIL PROTECTED]>
Changed-By: Thomas Lange <[EMAIL PROTECTED]>
Description: 
 fai-client - Fully Automatic Installation client package
 fai-doc    - Documentation for FAI
 fai-nfsroot - Fully Automatic Installation nfsroot package
 fai-quickstart - Fully Automatic Installation quickstart package
 fai-server - Fully Automatic Installation server package
Closes: 277045 330915 356862 380629 416633 484788
Changes: 
 fai (3.2.8) unstable; urgency=low
 .
   * Merge setup-storage, the new partitioning tool
     (closes: #380629, #330915, #277045, #356862, #416633, #484788)
   * add variable $USE_SETUP_STORAGE
   * setup-storage: move loading of kernel modules into 20hwdetect.source,
     print which disk_config setup-storage is using
   * Commands.pm: print also mountpoint when debugging tuneopts and
     createopts, fix and document problem when only tuneopts are defined,
     prevent warnings about uninitialized variables
   * 20-hwdetect.source: load modules needed for setup-storage
   * add class SETUPSTORAGE for easy testing
Files: 
 257d2ce6d131bde2515308605eb5dfec 724 admin extra fai_3.2.8.dsc
 29534e2875ab2427b3a9001e921cf2ea 266800 admin extra fai_3.2.8.tar.gz
 d169b1863576417e82467bd469362056 140246 admin extra fai-client_3.2.8_all.deb
 2ec5c31acc701cf64d5c754e329e36e8 579288 doc extra fai-doc_3.2.8_all.deb
 350cb9bd68b54a85010230ca31547d1c 56216 admin extra fai-server_3.2.8_all.deb
 622723b956efe0f82574b4c085c4439d 1870 admin extra fai-quickstart_3.2.8_all.deb
 3a2b456fe289846f5384ae172ed3aedc 50362 admin extra fai-nfsroot_3.2.8_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIVPQ73BPlTqubZv0RAlsoAKCIi7w48TBqDJSFgpN6BoaA5MHxQwCg6N01
QXE24E2tdhU6u/DjF494Hao=
=VDRD
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to