Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
I tried to change the file: /usr/share/fai/setup-storage/Init.pm i modified the regex in this part: : sub phys_dev { my ($dev) = @_; if ($dev =~ m{^/dev/(etherd/e\d+\.\d+)p(\d+)?$}) { defined("$2") or return (1, "/dev/$1", -1); return (1, "/dev/$1", $2); } elsif ($dev =~ m{^/dev/(i2o/hd[a-t]|sd[a-t]{1,2}|hd[a-t]|vd[a-t])(\d+)?$}) { defined($2) or return (1, "/dev/$1", -1); return (1, "/dev/$1", $2); } elsif ($dev =~ m{^/dev/(cciss/c\dd\d|ida/c\dd\d|rd/c\dd\d|ataraid/d\d)p(\d+)?$}) { defined($2) or return (1, "/dev/$1", -1); return (1, "/dev/$1", $2); } return (0, "", -2); } so etherd device can be seen but it seems to not be enough (i am far from understanding the code i just try to make the regex work if it find a etherd device :) ). running parted on the AOE target give same results as on a /dev/sda target so i do not see where is the issue :( regards, Jean
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
i also found in /usr/lib/fai/disk-info a regex where i added etherd: egrep ' etherd/e| i2o/hd.\b| cciss/c.d.\b| ida/c.d.\b| rd/c.d.\b| hd.\b| sd[a-z]{1,2}\b|/disc\b| vd.\b' /proc/partitions | diskandsize is that enough ? regards, Jean.
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
Jean Spirat a écrit : i also found in /usr/lib/fai/disk-info a regex where i added etherd: egrep ' etherd/e| i2o/hd.\b| cciss/c.d.\b| ida/c.d.\b| rd/c.d.\b| hd.\b| sd[a-z]{1,2}\b|/disc\b| vd.\b' /proc/partitions | diskandsize is that enough ? regards, Jean. i changed to egrep ' etherd/e[[:digit:]]+\.[[:digit:]]+\b| i2o/hd.\b| cciss/c.d.\b| ida/c.d.\b| rd/c.d.\b| hd.\b| sd[a-z]{1,2}\b|/disc\b| vd.\b' /proc/partitions | diskandsize i continue to search, any help would be appreciated ;) regards, Jean.
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
ok so now i got the etherdrive disk listed in the debug output but all fail nonetheless so i am lost at why the tool fail, here are the logs if it helps. regards, Jean. Calling task_install Calling task_partition Partitioning local harddisks using setup-storage Starting setup-storage 1.0.3 disklist was: etherd/e10.0 etherd/e10.1 etherd/e10.2 sda Using config file: /var/lib/fai/config/disk_config/FAIBASE Input was: # example of new config file for setup-storage # # disk_config /dev/etherd/e10.1 disklabel:msdos primary swap16G swaprw primary / 10G ext3rw,noatime primary /temporary 50G-ext3rw,noatime (CMD) parted -s /dev/etherd/e10.0 unit TiB print 1> /tmp/wyI8UzLwfK 2> /tmp/4qy5rod4so Executing: parted -s /dev/etherd/e10.0 unit TiB print (STDOUT) Model: Unknown (unknown) (STDOUT) Disk /dev/etherd/e10.0: 0.27TiB (STDOUT) Sector size (logical/physical): 512B/512B (STDOUT) Partition Table: msdos (STDOUT) (STDOUT) Number StartEnd Size Type File system Flags (STDOUT) 1 0.00TiB 0.27TiB 0.27TiB primary ext3 (STDOUT) (CMD) parted -s /dev/etherd/e10.0 unit B print free 1> /tmp/CjkgYSBcQy 2> /tmp/5S51ldLUi2 Executing: parted -s /dev/etherd/e10.0 unit B print free (STDOUT) Model: Unknown (unknown) (STDOUT) Disk /dev/etherd/e10.0: 31787904B (STDOUT) Sector size (logical/physical): 512B/512B (STDOUT) Partition Table: msdos (STDOUT) (STDOUT) Number Start EndSize Type File system Flags (STDOUT) 1 32256B 30637439B 30605184B primary ext3 (STDOUT) (CMD) parted -s /dev/etherd/e10.0 unit chs print free 1> /tmp/1QU9Gdf9pM 2> /tmp/rSWjqSkDTK Executing: parted -s /dev/etherd/e10.0 unit chs print free (STDOUT) Model: Unknown (unknown) (STDOUT) Disk /dev/etherd/e10.0: 36473,35,41 (STDOUT) Sector size (logical/physical): 512B/512B (STDOUT) BIOS cylinder,head,sector geometry: 36473,255,63. Each cylinder is 8225kB. (STDOUT) Partition Table: msdos (STDOUT) (STDOUT) Number Start End Type File system Flags (STDOUT) 1 0,1,0 36472,254,62 primary ext3 (STDOUT) (CMD) parted -s /dev/etherd/e10.1 unit TiB print 1> /tmp/wrSEvuMyj7 2> /tmp/mtMwaTzxPL Executing: parted -s /dev/etherd/e10.1 unit TiB print (STDOUT) Model: Unknown (unknown) (STDOUT) Disk /dev/etherd/e10.1: 0.05TiB (STDOUT) Sector size (logical/physical): 512B/512B (STDOUT) Partition Table: msdos (STDOUT) (STDOUT) Number StartEnd Size Type File system Flags (STDOUT) 1 0.00TiB 0.03TiB 0.03TiB primary ext3 (STDOUT) 2 0.03TiB 0.03TiB 0.00TiB primary ext3 (STDOUT) (CMD) parted -s /dev/etherd/e10.1 unit B print free 1> /tmp/LUvw7BIfqL 2> /tmp/y6j1MnNZJj Executing: parted -s /dev/etherd/e10.1 unit B print free (STDOUT) Model: Unknown (unknown) (STDOUT) Disk /dev/etherd/e10.1: 5297984B (STDOUT) Sector size (logical/physical): 512B/512B (STDOUT) Partition Table: msdos (STDOUT) (STDOUT) Number Start End Size Type File system Flags (STDOUT) 1 32256B30005821439B 30005789184B primary ext3 (STDOUT) 2 30005821440B 35015016959B 5009195520B primary ext3 (STDOUT) 35015016960B 49993251839B 14978234880B Free Space (STDOUT) (CMD) parted -s /dev/etherd/e10.1 unit chs print free 1> /tmp/S8x3NXtjZq 2> /tmp/IgGIvWm0BD Executing: parted -s /dev/etherd/e10.1 unit chs print free (STDOUT) Model: Unknown (unknown) (STDOUT) Disk /dev/etherd/e10.1: 6078,218,27 (STDOUT) Sector size (logical/physical): 512B/512B (STDOUT) BIOS cylinder,head,sector geometry: 6078,255,63. Each cylinder is 8225kB. (STDOUT) Partition Table: msdos (STDOUT) (STDOUT) Number Start End Type File system Flags (STDOUT) 1 0,1,0 3647,254,62 primary ext3 (STDOUT) 2 3648,0,0 4256,254,62 primary ext3 (STDOUT) 4257,0,0 6077,254,62 Free Space (STDOUT) (CMD) parted -s /dev/etherd/e10.2 unit TiB print 1> /tmp/73a3HOfigK 2> /tmp/ES8eUdhBj4 Executing: parted -s /dev/etherd/e10.2 unit TiB print (STDOUT) Model: Unknown (unknown) (STDOUT) Disk /dev/etherd/e10.2: 0.00TiB (STDOUT) Sector size (logical/physical): 512B/512B (STDOUT) Partition Table: msdos (STDOUT) (STDOUT) Number Start End Size Type File system Flags (STDOUT) (CMD) parted -s /dev/etherd/e10.2 unit B print free 1> /tmp/cLV41wlN3H 2> /tmp/llEMb9q4xG Executing: parted -s /dev/etherd/e10.2 unit B print free (STDOUT) Model: Unknown (unknown) (STDOUT) Disk /dev/etherd/e10.2: 1002438656B (STDOUT) Sector size (logical/physical): 512B/512B (STDOUT) Partition Table: msdos (STDOUT) (STDOUT) Number Start End Size Type File system Flags (STDOUT) 0B 1002438655B 1002438656BFree Space (STDOUT) (CMD) parted -s /dev/etherd/e10.2 unit chs print free 1> /tmp/RVSx43p5zq 2> /tmp/lupHArIbmV Executing: parted -s /dev/etherd/e10.2 unit chs print free (STDOUT) Mod
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
to isolate the error message from the complete log this is: INTERNAL ERROR in setup-storage: end < start Please report this error to the Debian Bug Tracking System. it was just that my test partition was too small for the config i had, the message is not very clear :) in /usr/share/fai/setup-storage/Sizes.pm i suggest a change from ligne 77/706: ($end >= $start) or &FAI::internal_error("end < start"); to ($end >= $start) or &FAI::internal_error("end < start $end < $start, is the sum of the partitions size not > to the size of your disk ?"); So to wrapup, here are my changes for AOE support in setup-storage: /usr/share/fai/setup-storage/Init.pm # # @brief Check, whether $dev is a physical device, and extract sub-parts # # @param $dev Device string # # @return 1, if it the matches the regexp, and disk device string, and # partition number, if any, otherwise -1 # sub phys_dev { my ($dev) = @_; ( $FAI::debug > 0 ) and print "--- debug : $dev\n"; if ($dev =~ m{^/dev/(etherd/e\d+\.\d+)p(\d+)?$}) { ( $FAI::debug > 0 ) and print "--- debug : $dev - $1 - $2 .\n"; defined("$2") or return (1, "/dev/$1", -1); return (1, "/dev/$1", $2); } elsif ($dev =~ m{^/dev/(i2o/hd[a-t]|sd[a-t]{1,2}|hd[a-t]|vd[a-t])(\d+)?$}) { defined($2) or return (1, "/dev/$1", -1); return (1, "/dev/$1", $2); } elsif ($dev =~ m{^/dev/(cciss/c\dd\d|ida/c\dd\d|rd/c\dd\d|ataraid/d\d)p(\d+)?$}) { defined($2) or return (1, "/dev/$1", -1); return (1, "/dev/$1", $2); } return (0, "", -2); } later in the same file: # # @brief Convert a device name and a partition id to a proper device name, # handling cciss and the like # # @param $dev Device name of disk # @param $id Partition id # # @return Full device name # sub make_device_name { my ($dev, $p) = @_; $dev .= "p" if ($dev =~ m{^/dev/(cciss/c\dd\d|ida/c\dd\d|rd/c\dd\d|ataraid/d\d)$}); $dev .= "p" if ($dev =~ m{^/dev/(etherd/e\d+\.\d+)$} ); ( $FAI::debug > 0 ) and print "--- debug dev,part: $dev - $p\n"; $dev .= $p; internal_error("Invalid device $dev") unless (&FAI::phys_dev($dev))[0]; return $dev; } and also in /usr/lib/fai/disk-info: changed the regex to: egrep ' etherd/e[[:digit:]]+\.[[:digit:]]+\b| i2o/hd.\b| cciss/c.d.\b| ida/c.d.\b| rd/c.d.\b| hd.\b| sd[a-z]{1,2}\b|/disc\b| vd.\b' /proc/partitions | diskandsize hope this will help the community. Thanks for the FAI product it rocks ! :) Jean.
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
> Jean Spirat a écrit : >> i also found in >> >> /usr/lib/fai/disk-info >> >> a regex where i added etherd: >> >> egrep ' etherd/e| i2o/hd.\b| cciss/c.d.\b| ida/c.d.\b| rd/c.d.\b| >> hd.\b| sd[a-z]{1,2}\b|/disc\b| vd.\b' /proc/partitions | diskandsize >> >> >> is that enough ? >> >> regards, >> Jean. > i changed to > egrep ' etherd/e[[:digit:]]+\.[[:digit:]]+\b| i2o/hd.\b| cciss/c.d.\b| > ida/c.d.\b| rd/c.d.\b| hd.\b| sd[a-z]{1,2}\b|/disc\b| vd.\b' > /proc/partitions | diskandsize > > i continue to search, any help would be appreciated ;) > Ok, I've added the suggested patches (with minor changes) to the experimental tree; could you please test 3.2.17+experimental2 (see http://faiwiki.debian.net/index.php/Main_Page#getting_FAI for info how to obtain the experimental builds). Thanks a lot, Michael pgpUuWvc3wwx2.pgp Description: PGP signature
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
> to isolate the error message from the complete log this is: > > INTERNAL ERROR in setup-storage: > end < start > Please report this error to the Debian Bug Tracking System. > > it was just that my test partition was too small for the config i had, > the message is not very clear :) > > > in /usr/share/fai/setup-storage/Sizes.pm i suggest a change from ligne > 77/706: > ($end >= $start) or &FAI::internal_error("end < start"); > to > ($end >= $start) or &FAI::internal_error("end < start $end < $start, is > the sum of the partitions size not > to the size of your disk ?"); > [...] Hmm, this error message really shouldn't appear, there is a more "user-friendly" version that should notify the user in case the disk is too small, but apparently that code is not reached. I'll look into this. Best, Michael pgpBTwEwCzLbY.pgp Description: PGP signature
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
Ok, I've added the suggested patches (with minor changes) to the experimental tree; could you please test 3.2.17+experimental2 (see http://faiwiki.debian.net/index.php/Main_Page#getting_FAI for info how to obtain the experimental builds). Thanks a lot, Michael r...@aqded01:/# dpkg -l|grep fai ii fai-client 3.2.17+experimental3 Fully Automatic Installation client package ii fai-nfsroot 3.2.17+experimental3 Fully Automatic Installation nfsroot package ERROR: Internal error in generated parser code! (Hint: Global symbol "$vol_id" requires explicit package name at (eval 52) line 4279. BEGIN not safe after errors-- compilation aborted at (eval 52) line 4425. ) setup-harddisks is running in test-only mode Starting setup-storage 1.0.4 Can't call method "file" on an undefined value at /usr/share/fai/setup-storage//Parser.pm line 714, <$config_file> line 1. disklist was: etherd/e10.0 etherd/e10.1 etherd/e10.2 sda i sent you directly the debug output i got. Jean.
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
> >> Ok, I've added the suggested patches (with minor changes) to the experimental >> tree; could you please test 3.2.17+experimental2 (see >> http://faiwiki.debian.net/index.php/Main_Page#getting_FAI for info how to >> obtain >> the experimental builds). >> >> Thanks a lot, >> Michael >> >> > > r...@aqded01:/# dpkg -l|grep fai > ii fai-client 3.2.17+experimental3 Fully > Automatic Installation client package > ii fai-nfsroot 3.2.17+experimental3 Fully > Automatic Installation nfsroot package > > > >ERROR: Internal error in generated parser code! >(Hint: Global symbol "$vol_id" requires explicit package > name > at (eval 52) line 4279. BEGIN not safe after errors-- > compilation aborted at (eval 52) line 4425. ) > setup-harddisks is running in test-only mode > Starting setup-storage 1.0.4 > Can't call method "file" on an undefined value at > /usr/share/fai/setup-storage//Parser.pm line 714, <$config_file> line 1. [...] Oops, sorry. Could you please try 3.2.17+experimental4? Thanks a lot, Michael pgpcr4iFdaI1I.pgp Description: PGP signature
Re: setup-storage and AOE => fails at Use of uninitialized value in multiplication (*) at /usr/share/fai/setup-storage//Sizes.pm line 618.
> > to isolate the error message from the complete log this is: > > > > INTERNAL ERROR in setup-storage: > > end < start > > Please report this error to the Debian Bug Tracking System. > > > > it was just that my test partition was too small for the config i had, > > the message is not very clear :) > > > > > > in /usr/share/fai/setup-storage/Sizes.pm i suggest a change from ligne > > 77/706: > > ($end >= $start) or &FAI::internal_error("end < start"); > > to > > ($end >= $start) or &FAI::internal_error("end < start $end < $start, is > > the sum of the partitions size not > to the size of your disk ?"); > > > [...] > > Hmm, this error message really shouldn't appear, there is a more > "user-friendly" > version that should notify the user in case the disk is too small, but > apparently that code is not reached. I'll look into this. > Ok, that should be solved in 3.2.17+experimental5. Maybe you could test it, would be great. Thanks, Michael pgpM5J1kDT8Iz.pgp Description: PGP signature