Andrea Righi wrote:
> Bas van der Vlies wrote:
>> Hello,
>>
>> first i want to say thanks for the debian packages in the new version
>> :-D. Saves a lot of work!
>>
>> In our cluster we have now mixed nodes i386 and x86_64. Now if we enabled
>> bittorrent then there is now flavor included as with eg rsync and the
>> installation will fail for X86_64 machines because the boel_binaries.tar.gz
>> is i386.
>>
>> {{{
>> bittorrent_get_file ${TORRENTS_DIR}/${bittorrent_tarball}.torrent
>> ${BOEL_BINARIES_DIR}
>>
>> CMD="rsync -av ${IMAGESERVER}::boot/${ARCH}/${FLAVOR}/boel_binaries.tar.gz
>> ${BOEL_BINARIES_DIR}"
>> }}}
>>
>> Is this a bug or feature?
>
> Well.. I'd like to say that it's a feature, but it seems more a bug... :-)
>
That is quick!!
> Anyway, the patch below (untested) should fix this problem.
>
I will test it. Is is also in svn?
> -Andrea
>
> ---
>
> Index: sbin/si_installbtimage
> ===================================================================
> --- sbin/si_installbtimage (revision 4164)
> +++ sbin/si_installbtimage (working copy)
> @@ -170,24 +170,36 @@
> my $ARCH = (uname())[4];
> $ARCH =~ s/i.86/i386/;
>
> -my $boel_binaries = "$TARBALL_DIR/boel_binaries.tar.gz";
> -print "Preparing torrent file for BOEL binaries...\n";
> -# Create the symbolic link into the image directory.
> -symlink($config->autoinstall_boot_dir() . '/' . $ARCH .
> - '/standard/boel_binaries.tar.gz', $boel_binaries)
> - if (! -e $boel_binaries);
> -# Make .torrent file.
> -if ($maketorrent =~ "btmakemetafile") {
> - system "$maketorrent $boel_binaries
> http://$image_server:$tracker_port/announce --target
> $TORRENT_DIR/boel_binaries.tar.gz.torrent";
> +# Get all the available boel_binaries (for all the supported architectures).
> +my @archs_dir;
> +if (opendir(DIR, $config->autoinstall_boot_dir())) {
> + @archs_dir = grep {!/^\.$|^\.\.$/} readdir(DIR);
> } else {
> - system "$maketorrent http://$image_server:$tracker_port/announce
> $boel_binaries --target $TORRENT_DIR/boel_binaries.tar.gz.torrent";
> + die("error: couldn't open " . $config->autoinstall_boot_dir() . "\n");
> }
> -if ($?) {
> - die "ERROR: cannot create BOEL binaries torrent file!\n";
> +foreach my $arch (@archs_dir) {
> + print "Preparing torrent file for BOEL binaries for $arch...\n";
> + my $boel_binaries = $config->autoinstall_boot_dir() . '/' . $arch .
> + '/standard/boel_binaries.tar.gz';
> + my $boel_binaries_link = "${TARBALL_DIR}/${arch}-boel_binaries.tar.gz";
> + # Create a symlink into the image directory.
> + if ((-e $boel_binaries) && (! -e $boel_binaries_link)) {
> + symlink($boel_binaries, $boel_binaries_link);
> + }
> + # Make .torrent file.
> + if ($maketorrent =~ "btmakemetafile") {
> + system "$maketorrent $boel_binaries_link
> http://$image_server:$tracker_port/announce --target
> $TORRENT_DIR/$arch-boel_binaries.tar.gz.torrent";
> + } else {
> + system "$maketorrent http://$image_server:$tracker_port/announce
> $boel_binaries_link --target $TORRENT_DIR/$arch-boel_binaries.tar.gz.torrent";
> + }
> + if ($?) {
> + print STDERR "ERROR: cannot create BOEL binaries torrent file for
> $arch! skipping it.\n";
> + next;
> + }
> + # symlink is required by old versions of BitTorrent.
> + symlink($boel_binaries_link, $TORRENT_DIR . "/" .
> basename($boel_binaries_link));
> + print "done.\n";
> }
> -# symlink is required by old versions of BitTorrent.
> -symlink($boel_binaries, $TORRENT_DIR . "/" . basename($boel_binaries));
> -print "done.\n";
>
> # Starting first image seeder.
> print "Starting first image server seeder...\n";
> Index: initrd_source/skel/etc/init.d/functions
> ===================================================================
> --- initrd_source/skel/etc/init.d/functions (revision 4164)
> +++ initrd_source/skel/etc/init.d/functions (working copy)
> @@ -652,11 +652,12 @@
>
> # Download BOEL binaries from peers
> bittorrent_tarball="boel_binaries.tar.gz"
> - logmsg "Start downloading ${bittorrent_tarball} using bittorrent"
> + logmsg "Start downloading ${bittorrent_tarball} (${ARCH}) using
> bittorrent"
> logmsg ""
> logmsg "--> INFO: remember to start
> /etc/init.d/systemimager-server-bittorrent on the image server!"
> logmsg ""
> - bittorrent_get_file ${TORRENTS_DIR}/${bittorrent_tarball}.torrent
> ${BOEL_BINARIES_DIR}
> + bittorrent_get_file
> ${TORRENTS_DIR}/${ARCH}-${bittorrent_tarball}.torrent ${BOEL_BINARIES_DIR}
> + cd ${BOEL_BINARIES_DIR} && mv ${ARCH}-${bittorrent_tarball}
> ${bittorrent_tarball}
> unset bittorrent_tarball
>
> elif [ ! -z $FLAMETHROWER_DIRECTORY_PORTBASE ]; then
>
--
********************************************************************
* *
* Bas van der Vlies e-mail: [EMAIL PROTECTED] *
* SARA - Academic Computing Services phone: +31 20 592 8012 *
* Kruislaan 415 fax: +31 20 6683167 *
* 1098 SJ Amsterdam *
* *
********************************************************************
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
sisuite-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sisuite-users