1
0
mirror of synced 2026-02-20 05:45:15 +00:00

Compare commits

..

4 Commits

Author SHA1 Message Date
Axel Beckert
c4e3a1eed0 Remove generated file t/modules.t from the repository/source 2010-05-30 19:57:12 +02:00
Axel Beckert
156c18e79c Declare current state as Beta instead of Release Candidate 2010-05-30 19:54:26 +02:00
Axel Beckert
b39620c6da Fix bashism in Makefile: [^~] → [!~] 2010-05-30 19:50:02 +02:00
Axel Beckert
898abeb964 Separate real bugs from TODO into KNOWN_BUGS
Also mention that TODO and KNOWN_BUGS are included in the docs for the Debian package
2010-05-30 19:34:45 +02:00
16 changed files with 74 additions and 227 deletions

13
KNOWN_BUGS Normal file
View File

@@ -0,0 +1,13 @@
KNOWN BUGS in xen-tools
Bugs to fix before a 4.2 release
--------------------------------
* xen-delete-image doesn't remove all logical volumes if --partitions is used.
See the link below for details how to reproduce. Reproducable at
least with --lvm. Thanks to Antoine Benkemoun for reporting.
http://xen-tools.org/pipermail/xen-tools-discuss/2010-May/000757.html
* xen-delete-image ignores extension setting

View File

@@ -14,7 +14,7 @@
#
TMP ?= /tmp
DIST_PREFIX = ${TMP}
VERSION = 4.2rc1
VERSION = 4.2beta1
DEBVERSION = $(shell echo $(VERSION)|sed 's/\(rc\|pre\|beta\|alpha\)/~\1/')
BASE = xen-tools
VCS = $(shell if git st > /dev/null; then echo git; \
@@ -313,4 +313,4 @@ update-modules:
# at the top of this file. Steve-Specific?
#
update-version:
perl -pi.bak -e "s/RELEASE = '[0-9]\.[0-9][^']*';/RELEASE = '${VERSION}';/g" bin/*-*[^~]
perl -pi.bak -e "s/RELEASE = '[0-9]\.[0-9][^']*';/RELEASE = '${VERSION}';/g" bin/*-*[!~]

16
TODO
View File

@@ -1,8 +1,10 @@
TODO
====
Bugs to fix and Features to add before a 4.2 release
----------------------------------------------------
See KNOWN_BUGS for real bugs.
Minor bugs to fix and features to add before a 4.2 release
----------------------------------------------------------
* xen-create-image man page overhaul:
@@ -22,22 +24,12 @@ Bugs to fix and Features to add before a 4.2 release
in the domU, it's key fingerprint should be echo'd in a way that
can easily be grep'ed into other scripts.
* Test and support more file system types.
Actually this should be pretty simple now that the parameters are
stored in the configuration hash. The only issue is that trailing
whitespace is missing from the "make_fs_foo" option.
* xen-delete-image doesn't remove all logical volumes if --partitions is used.
See the link below for details how to reproduce. Reproducable at
least with --lvm. Thanks to Antoine Benkemoun for reporting.
http://xen-tools.org/pipermail/xen-tools-discuss/2010-May/000757.html
* xen-delete-image ignores extension setting
* xen-create-image should check all integer options on non-digits.
* Test suite should pass

View File

@@ -216,35 +216,19 @@ xen-create-image - Easily create new Xen instances with networking and OpenSSH.
Mandatory options:
--domaindir=dir
--dir=dir Specify where the output images should go.
Subdirectories will be created for each guest.
Using --dir will create subdirectory domains as before
for backwards compatibility, e.g. if you use
--dir=foo, the default disk image will go to
foo/domains/$hostname/disk.img.
Using --domaindir will create direct subdirectories
named after the hostname as discussed in
http://bugs.debian.org/477238, e.g. if you use
--domaindir=foo, the default disk image will go to
foo/$hostname/disk.img.
If you do not wish to use loopback images specify
--lvm or --evms. (These three respectively four
options are mutually exclusive.)
Subdirectories will be created for each guest
If you do not wish to use loopback images specify --lvm
or --evms. (These three options are mutually exclusive.)
--lvm=vg Specify the volume group to save images within.
If you do not wish to use LVM specify --evms. or
--dir/--domaindir (These three respectively four
options are mutually exclusive.)
If you do not wish to use LVM specify --dir or --evms.
(These three options are mutually exclusive.)
--evms=lvm2/container
Specify the container to save images within, i.e. '--evms
lvm2/mycontainer'. If you do not wish to use EVMS specify
--dir/--domaindir or --lvm. (These three respectively
four options are mutually exclusive.)
--dir or --lvm. (These three options are mutually exclusive.)
--hostname=host.example.org
Set the hostname of the new guest system. Ideally
@@ -770,7 +754,7 @@ my $FAIL = 0;
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';
@@ -878,7 +862,7 @@ checkBinariesPresent();
if ( !$#PARTITIONS )
{
populatePartitionsData()
if ( ( $CONFIG{ 'domaindir' } ) ||
if ( ( $CONFIG{ 'dir' } ) ||
( $CONFIG{ 'evms' } ) ||
( $CONFIG{ 'lvm' } ) );
}
@@ -894,7 +878,7 @@ showSummary();
#
# Create and format the images if we're using loopback filesystems.
#
if ( $CONFIG{ 'domaindir' } )
if ( $CONFIG{ 'dir' } )
{
#
@@ -1463,7 +1447,6 @@ sub parseCommandLineArguments
my %install;
$install{ 'evms' } = undef;
$install{ 'dir' } = undef;
$install{ 'domaindir' } = undef;
$install{ 'lvm' } = undef;
$install{ 'image-dev' } = undef;
@@ -1486,7 +1469,6 @@ sub parseCommandLineArguments
# Locations
"dir=s", \$install{ 'dir' },
"domaindir=s", \$install{ 'domaindir' },
"evms=s", \$install{ 'evms' },
"kernel=s", \$CONFIG{ 'kernel' },
"initrd=s", \$CONFIG{ 'initrd' },
@@ -1575,22 +1557,12 @@ sub parseCommandLineArguments
#
# Now make ensure that the command line setting of '--lvm', '--evms',
# '--domaindir=x' and '--dir=x' override anything specified in the
# configuration file.
# Now make ensure that the command line setting of '--lvm', '--evms'
# and '--dir=x' override anything specified in the configuration file.
#
if ( $install{ 'dir' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'domaindir' } = $install{ 'dir' }.'/domains';
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'image-dev' } = undef;
}
if ( $install{ 'domaindir' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'domaindir' } = $install{ 'domaindir' };
$CONFIG{ 'dir' } = $install{ 'dir' };
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'image-dev' } = undef;
@@ -1598,7 +1570,6 @@ sub parseCommandLineArguments
if ( $install{ 'evms' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'domaindir' } = undef;
$CONFIG{ 'evms' } = $install{ 'evms' };
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'image-dev' } = undef;
@@ -1606,7 +1577,6 @@ sub parseCommandLineArguments
if ( $install{ 'lvm' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'domaindir' } = undef;
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = $install{ 'lvm' };
$CONFIG{ 'image-dev' } = undef;
@@ -1614,7 +1584,6 @@ sub parseCommandLineArguments
if ( $install{ 'image-dev' } )
{
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'domaindir' } = undef;
$CONFIG{ 'evms' } = undef;
$CONFIG{ 'lvm' } = undef;
$CONFIG{ 'image-dev' } = $install{ 'image-dev' };
@@ -1740,7 +1709,7 @@ sub checkArguments
my $err = <<E_OR;
We are trying to configure an installation of $CONFIG{'dist'} in
$CONFIG{'domaindir'} - but there is no hook directory for us to use.
$CONFIG{'dir'} - but there is no hook directory for us to use.
This means we do not know how to configure this installation.
@@ -2138,7 +2107,7 @@ sub checkBinariesPresent
#
# Image type specific binaries
#
if ( defined( $CONFIG{ 'domaindir' } ) )
if ( defined( $CONFIG{ 'dir' } ) )
{
# loopback image
@@ -2673,7 +2642,7 @@ sub createLoopbackImages
#
# Make sure we have the relevant output directory.
#
my $output = $CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' };
my $output = $CONFIG{ 'dir' } . "/domains/" . $CONFIG{ 'hostname' };
if ( !-d $output )
{
@@ -2697,7 +2666,7 @@ sub createLoopbackImages
foreach my $partition (@PARTITIONS)
{
my $disk =
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . '/' .
$CONFIG{ 'dir' } . '/domains/' . $CONFIG{ 'hostname' } . '/' .
$partition->{ 'name' } . '.img';
if ( -e $disk )
@@ -2716,7 +2685,7 @@ sub createLoopbackImages
foreach my $partition (@PARTITIONS)
{
my $disk =
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . '/' .
$CONFIG{ 'dir' } . '/domains/' . $CONFIG{ 'hostname' } . '/' .
$partition->{ 'name' } . '.img';
#

View File

@@ -130,7 +130,7 @@ $CONFIG{ 'template' } = '/etc/xen-tools/xm-nfs.tmpl';
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';
# store version number away.

View File

@@ -15,12 +15,9 @@ xen-delete-image - Delete previously created Xen instances.
--verbose Show diagnostic output.
General options:
--dir Specify the output directory where images were previously
saved. (old style)
--domaindir Specify the output directory where images were previously
saved. (new style)
--lvm Specify the LVM volume to use.
--evms Specify the EVMS container to use.
--dir Specify the output directory where images were previously saved.
--lvm Specify the LVM volume to use.
--evms Specify the EVMS container to use.
Specifying hosts:
--hostname Specify the image name to delete.
@@ -36,14 +33,7 @@ xen-delete-image - Delete previously created Xen instances.
=over 8
=item B<--dir>
Specify the output directory where images were previously saved. Looks
for directories named after the hostname in a subdirectory
"domains". (old style, see xen-create-image(1) for details)
=item B<--domaindir>
Specify the output directory where images were previously saved. Looks
for directories named after the hostname directorly in this
directory. (new style, see xen-create-image(1) for details)
Specify the output directory where images were previously saved.
=item B<--evms>
Specify the EVMS container where images were previously saved.
@@ -179,7 +169,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';
@@ -355,7 +345,6 @@ sub parseCommandLineArguments
# Parse options.
#
GetOptions( "dir=s", \$CONFIG{ 'dir' },
"domaindir=s", \$CONFIG{ 'domaindir' },
"dry-run", \$CONFIG{ 'dry-run' },
"lvm=s", \$CONFIG{ 'lvm' },
"evms=s", \$CONFIG{ 'evms' },
@@ -370,6 +359,7 @@ sub parseCommandLineArguments
pod2usage(1) if $HELP;
pod2usage( -verbose => 2 ) if $MANUAL;
if ($VERSION)
{
my $REVISION = '$Revision: 1.41 $';
@@ -383,11 +373,6 @@ sub parseCommandLineArguments
exit;
}
if ($CONFIG{ 'dir' }) {
$CONFIG{ 'domaindir' } = $CONFIG{ 'dir' }.'/domains';
$CONFIG{ 'dir' } = undef;
}
}
@@ -416,7 +401,7 @@ sub checkArguments
# Make sure we got one and only one installation method.
#
my $count = 0;
foreach my $type (qw/dir domaindir lvm evms/)
foreach my $type (qw/dir lvm evms/)
{
$count += 1 if defined( $CONFIG{ $type } );
}
@@ -429,7 +414,6 @@ sub checkArguments
{
print "Please select one and only one of the installation methods:\n";
print " --dir\n";
print " --domaindir\n";
print " --evms\n";
print " --lvm\n";
exit;
@@ -520,9 +504,9 @@ sub deleteXenImage
}
if ( defined( $CONFIG{ 'domaindir' } ) )
if ( defined( $CONFIG{ 'dir' } ) )
{
my $prefix = $CONFIG{ 'domaindir' } . '/';
my $prefix = $CONFIG{ 'dir' } . "/domains/";
#
# Now remove the directory.

View File

@@ -102,7 +102,7 @@ $CONFIG{ 'prefix' } = "/etc/xen";
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';

View File

@@ -15,11 +15,10 @@ xen-resize-guest - Resize a loopback or LVM based xen guest.
--verbose Show diagnostic output.
General Options:
--add Specify the amount of space to add, e.g. --add=1gb
--dir Specify the path to the loopback image root. (old style)
--domaindir Specify the path to the loopback image root. (new style)
--force Force the resize to happen without a last-chance delay.
--hostname Specify the hostname of the guest to resize.
--add Specify the amount of space to add, e.g. --add=1gb
--dir Specify the path to the loopback image root.
--force Force the resize to happen without a last-chance delay.
--hostname Specify the hostname of the guest to resize.
=cut
@@ -29,14 +28,10 @@ xen-resize-guest - Resize a loopback or LVM based xen guest.
=over 8
=item B<--add>
Specify the amount of storage to add to the primary disk. Looks
for directories named after the hostname in a subdirectory
"domains". (old style, see xen-create-image(1) for details)
Specify the amount of storage to add to the primary disk.
=item B<--domaindir>
Specify the directory where the loopback files are based. Looks
for directories named after the hostname directorly in this
directory. (new style, see xen-create-image(1) for details)
=item B<--dir>
Specify the directory where the loopback files are based.
=item B<--force>
Don't pause for 10 seconds prior to commencing.
@@ -121,7 +116,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';
@@ -148,14 +143,14 @@ testArguments();
#
my $path = undef;
if ( $CONFIG{ 'domaindir' } )
if ( $CONFIG{ 'dir' } )
{
#
# Make sure we can find the disk
#
$path =
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . "/disk.img";
$CONFIG{ 'dir' } . "/domains/" . $CONFIG{ 'hostname' } . "/disk.img";
if ( !-e $path )
{
print <<EOF;
@@ -397,7 +392,6 @@ sub parseCommandLineArguments
# Misc. options
"add=s", \$CONFIG{ 'add' },
"dir=s", \$install{ 'dir' },
"domaindir=s",\$install{ 'domaindir' },
"lvm=s", \$install{ 'lvm' },
"hostname=s", \$CONFIG{ 'hostname' },
"force", \$CONFIG{ 'force' },
@@ -432,15 +426,7 @@ sub parseCommandLineArguments
}
if ( $install{ 'dir' } )
{
$CONFIG{ 'domaindir' } = $install{ 'dir' }.'/domains';
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'lvm' } = undef;
delete $CONFIG{ 'lvm' };
}
if ( $install{ 'domaindir' } )
{
$CONFIG{ 'domaindir' } = $install{ 'domaindir' };
$CONFIG{ 'dir' } = undef;
$CONFIG{ 'dir' } = $install{ 'dir' };
$CONFIG{ 'lvm' } = undef;
delete $CONFIG{ 'lvm' };
}
@@ -507,20 +493,18 @@ EOF
if ( defined( $CONFIG{ 'lvm' } ) && length( $CONFIG{ 'lvm' } ) );
$options += 1
if ( defined( $CONFIG{ 'dir' } ) && length( $CONFIG{ 'dir' } ) );
$options += 1
if ( defined( $CONFIG{ 'domaindir' } ) && length( $CONFIG{ 'domaindir' } ) );
#
# Report
#
if ( $options == 0 )
{
print "Please specify one of --lvm, --domaindir or --dir\n";
print "Please specify one of --lvm or --dir\n";
exit 1;
}
if ( $options > 1 )
{
print "Please specify only one of --lvm, --domaindir or --dir - not several of them!\n";
print "Please specify only one of --lvm or --dir - not both!\n";
exit 1;
}

View File

@@ -14,8 +14,7 @@ xen-update-image - Update the software installed upon offline Xen images.
--version Show the version number and exit.
General Options:
--dir Specify the directory which contains the image(s). (old style)
--domaindir Specify the directory which contains the image(s). (new style)
--dir Specify the directory which contains the image(s).
--lvm Specify the LVM volume group which contains the image(s).
--evms Specify the EVMS container which contains the image(s).
@@ -28,14 +27,7 @@ xen-update-image - Update the software installed upon offline Xen images.
=over 8
=item B<--dir>
Specify the directory which contains the image(s). Looks
for directories named after the hostname in a subdirectory
"domains". (old style, see xen-create-image(1) for details)
=item B<--domaindir>
Specify the directory which contains the image(s). Looks
for directories named after the hostname directorly in this
directory. (new style, see xen-create-image(1) for details)
Specify the directory which contains the image(s).
=item B<--evms>
Specify the EVMS container which contains the image(s).
@@ -128,7 +120,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';
#
@@ -222,7 +214,7 @@ sub updateXenImage
{
# The loopback image.
$img = $CONFIG{ 'domaindir' } . '/' . $name . "/disk.img";
$img = $CONFIG{ 'dir' } . "/domains/" . $name . "/disk.img";
if ( !-e $img )
{
@@ -446,7 +438,6 @@ sub parseCommandLineArguments
# Parse options.
#
GetOptions( "dir=s", \$CONFIG{ 'dir' }, "lvm=s", \$CONFIG{ 'lvm' },
"domaindir=s", \$CONFIG{ 'dir' },
"evms=s", \$CONFIG{ 'evms' }, "help", \$HELP,
"manual", \$MANUAL, "version", \$VERSION
);
@@ -466,11 +457,6 @@ sub parseCommandLineArguments
exit;
}
if ($CONFIG{ 'dir' }) {
$CONFIG{ 'domaindir' } = $CONFIG{ 'dir' }.'/domains';
$CONFIG{ 'dir' } = undef;
}
}
@@ -491,7 +477,7 @@ sub checkArguments
# Make sure we got one and only one installation method.
#
my $count = 0;
foreach my $type (qw/dir domaindir lvm evms/)
foreach my $type (qw/dir lvm evms/)
{
$count += 1 if defined( $CONFIG{ $type } );
}
@@ -504,7 +490,6 @@ sub checkArguments
{
print "Please select one and only one of the installation methods:\n";
print " --dir\n";
print " --domaindir\n";
print " --evms\n";
print " --lvm\n";
exit;

View File

@@ -156,7 +156,7 @@ $CONFIG{ 'template' } = '/etc/xen-tools/xm.tmpl';
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';
@@ -419,7 +419,7 @@ sub createXenConfig
}
else
{
$ENV{ 'image_prefix' } = "file:$ENV{'domaindir'}/$ENV{'hostname'}/";
$ENV{ 'image_prefix' } = "file:$ENV{'dir'}/domains/$ENV{'hostname'}/";
$ENV{ 'image_suffix' } = '.img';
importPartitionsFromEnvironment();
}

View File

@@ -97,7 +97,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';

View File

@@ -73,7 +73,7 @@ use strict;
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';
# Init
my $mirror = '';

View File

@@ -116,7 +116,7 @@ my %CONFIG;
#
# Release number.
#
my $RELEASE = '4.2rc1';
my $RELEASE = '4.2beta1';
#

5
debian/changelog vendored
View File

@@ -1,4 +1,4 @@
xen-tools (4.2~rc1-1) UNRELEASED; urgency=low
xen-tools (4.2~beta1-1) UNRELEASED; urgency=low
* New maintainer and upstream authors
* Reintroduction into Debian Unstable (Closes: #566714)
@@ -41,8 +41,7 @@ xen-tools (4.2~rc1-1) UNRELEASED; urgency=low
- Checks for debootstrap and cdebootstrap, uses debootstrap if both
are installed (Changed "Depends: debootstrap" to "Depends:
debootstrap | cdebootstrap" in debian/control)
- Introduces the --domaindir option as alternative to --dir which
always appends "/domains/" to the path. (Closes: #477238)
- Added new files TODO and KNOWN_BUGS to debian/docs.
* Removal of /etc/bash_completion.d/xm from the package since
bash-completion ships a more elaborate version of that file. (Closes:
#566683, #550590, LP: #538917, #484098)

3
debian/docs vendored
View File

@@ -2,4 +2,5 @@ AUTHORS
README
SUPPORT
BUGS
TODO
TODO
KNOWN_BUGS

View File

@@ -1,80 +0,0 @@
#!/usr/bin/perl -w -I..
#
# Test that all the Perl modules we require are available.
#
# This list is automatically generated by modules.sh
#
# Steve
# --
#
use Test::More qw( no_plan );
BEGIN{ use_ok( 'Carp' ); }
require_ok( 'Carp' );
BEGIN{ use_ok( 'Config' ); }
require_ok( 'Config' );
BEGIN{ use_ok( 'Digest::MD5' ); }
require_ok( 'Digest::MD5' );
BEGIN{ use_ok( 'English' ); }
require_ok( 'English' );
BEGIN{ use_ok( 'Env' ); }
require_ok( 'Env' );
BEGIN{ use_ok( 'File::Copy' ); }
require_ok( 'File::Copy' );
BEGIN{ use_ok( 'File::Find' ); }
require_ok( 'File::Find' );
BEGIN{ use_ok( 'File::Path' ); }
require_ok( 'File::Path' );
BEGIN{ use_ok( 'File::Slurp' ); }
require_ok( 'File::Slurp' );
BEGIN{ use_ok( 'File::Spec' ); }
require_ok( 'File::Spec' );
BEGIN{ use_ok( 'File::Temp' ); }
require_ok( 'File::Temp' );
BEGIN{ use_ok( 'Getopt::Long' ); }
require_ok( 'Getopt::Long' );
BEGIN{ use_ok( 'Pod::Usage' ); }
require_ok( 'Pod::Usage' );
BEGIN{ use_ok( 'strict' ); }
require_ok( 'strict' );
BEGIN{ use_ok( 'Test::More' ); }
require_ok( 'Test::More' );
BEGIN{ use_ok( 'Text::Template' ); }
require_ok( 'Text::Template' );
BEGIN{ use_ok( 'warnings' ); }
require_ok( 'warnings' );