Merge branch 'domaindir' of gitorious.org:xen-tools/xen-tools into domaindir
This commit is contained in:
@@ -216,19 +216,35 @@ 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
|
||||
If you do not wish to use loopback images specify --lvm
|
||||
or --evms. (These three options are mutually exclusive.)
|
||||
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.)
|
||||
|
||||
--lvm=vg Specify the volume group to save images within.
|
||||
If you do not wish to use LVM specify --dir or --evms.
|
||||
(These three options are mutually exclusive.)
|
||||
If you do not wish to use LVM specify --evms. or
|
||||
--dir/--domaindir (These three respectively four
|
||||
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 or --lvm. (These three options are mutually exclusive.)
|
||||
--dir/--domaindir or --lvm. (These three respectively
|
||||
four options are mutually exclusive.)
|
||||
|
||||
--hostname=host.example.org
|
||||
Set the hostname of the new guest system. Ideally
|
||||
@@ -862,7 +878,7 @@ checkBinariesPresent();
|
||||
if ( !$#PARTITIONS )
|
||||
{
|
||||
populatePartitionsData()
|
||||
if ( ( $CONFIG{ 'dir' } ) ||
|
||||
if ( ( $CONFIG{ 'domaindir' } ) ||
|
||||
( $CONFIG{ 'evms' } ) ||
|
||||
( $CONFIG{ 'lvm' } ) );
|
||||
}
|
||||
@@ -878,7 +894,7 @@ showSummary();
|
||||
#
|
||||
# Create and format the images if we're using loopback filesystems.
|
||||
#
|
||||
if ( $CONFIG{ 'dir' } )
|
||||
if ( $CONFIG{ 'domaindir' } )
|
||||
{
|
||||
|
||||
#
|
||||
@@ -1447,6 +1463,7 @@ sub parseCommandLineArguments
|
||||
my %install;
|
||||
$install{ 'evms' } = undef;
|
||||
$install{ 'dir' } = undef;
|
||||
$install{ 'domaindir' } = undef;
|
||||
$install{ 'lvm' } = undef;
|
||||
$install{ 'image-dev' } = undef;
|
||||
|
||||
@@ -1469,6 +1486,7 @@ sub parseCommandLineArguments
|
||||
|
||||
# Locations
|
||||
"dir=s", \$install{ 'dir' },
|
||||
"domaindir=s", \$install{ 'domaindir' },
|
||||
"evms=s", \$install{ 'evms' },
|
||||
"kernel=s", \$CONFIG{ 'kernel' },
|
||||
"initrd=s", \$CONFIG{ 'initrd' },
|
||||
@@ -1557,12 +1575,22 @@ sub parseCommandLineArguments
|
||||
|
||||
|
||||
#
|
||||
# Now make ensure that the command line setting of '--lvm', '--evms'
|
||||
# and '--dir=x' override anything specified in the configuration file.
|
||||
# Now make ensure that the command line setting of '--lvm', '--evms',
|
||||
# '--domaindir=x' and '--dir=x' override anything specified in the
|
||||
# configuration file.
|
||||
#
|
||||
if ( $install{ 'dir' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = $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{ 'evms' } = undef;
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
$CONFIG{ 'image-dev' } = undef;
|
||||
@@ -1570,6 +1598,7 @@ sub parseCommandLineArguments
|
||||
if ( $install{ 'evms' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'domaindir' } = undef;
|
||||
$CONFIG{ 'evms' } = $install{ 'evms' };
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
$CONFIG{ 'image-dev' } = undef;
|
||||
@@ -1577,6 +1606,7 @@ sub parseCommandLineArguments
|
||||
if ( $install{ 'lvm' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'domaindir' } = undef;
|
||||
$CONFIG{ 'evms' } = undef;
|
||||
$CONFIG{ 'lvm' } = $install{ 'lvm' };
|
||||
$CONFIG{ 'image-dev' } = undef;
|
||||
@@ -1584,6 +1614,7 @@ sub parseCommandLineArguments
|
||||
if ( $install{ 'image-dev' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
$CONFIG{ 'domaindir' } = undef;
|
||||
$CONFIG{ 'evms' } = undef;
|
||||
$CONFIG{ 'lvm' } = undef;
|
||||
$CONFIG{ 'image-dev' } = $install{ 'image-dev' };
|
||||
@@ -1709,7 +1740,7 @@ sub checkArguments
|
||||
my $err = <<E_OR;
|
||||
|
||||
We are trying to configure an installation of $CONFIG{'dist'} in
|
||||
$CONFIG{'dir'} - but there is no hook directory for us to use.
|
||||
$CONFIG{'domaindir'} - but there is no hook directory for us to use.
|
||||
|
||||
This means we do not know how to configure this installation.
|
||||
|
||||
@@ -2107,7 +2138,7 @@ sub checkBinariesPresent
|
||||
#
|
||||
# Image type specific binaries
|
||||
#
|
||||
if ( defined( $CONFIG{ 'dir' } ) )
|
||||
if ( defined( $CONFIG{ 'domaindir' } ) )
|
||||
{
|
||||
|
||||
# loopback image
|
||||
@@ -2642,7 +2673,7 @@ sub createLoopbackImages
|
||||
#
|
||||
# Make sure we have the relevant output directory.
|
||||
#
|
||||
my $output = $CONFIG{ 'dir' } . "/domains/" . $CONFIG{ 'hostname' };
|
||||
my $output = $CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' };
|
||||
|
||||
if ( !-d $output )
|
||||
{
|
||||
@@ -2666,7 +2697,7 @@ sub createLoopbackImages
|
||||
foreach my $partition (@PARTITIONS)
|
||||
{
|
||||
my $disk =
|
||||
$CONFIG{ 'dir' } . '/domains/' . $CONFIG{ 'hostname' } . '/' .
|
||||
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . '/' .
|
||||
$partition->{ 'name' } . '.img';
|
||||
|
||||
if ( -e $disk )
|
||||
@@ -2685,7 +2716,7 @@ sub createLoopbackImages
|
||||
foreach my $partition (@PARTITIONS)
|
||||
{
|
||||
my $disk =
|
||||
$CONFIG{ 'dir' } . '/domains/' . $CONFIG{ 'hostname' } . '/' .
|
||||
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . '/' .
|
||||
$partition->{ 'name' } . '.img';
|
||||
|
||||
#
|
||||
|
||||
@@ -15,9 +15,12 @@ xen-delete-image - Delete previously created Xen instances.
|
||||
--verbose Show diagnostic output.
|
||||
|
||||
General options:
|
||||
--dir Specify the output directory where images were previously saved.
|
||||
--lvm Specify the LVM volume to use.
|
||||
--evms Specify the EVMS container to use.
|
||||
--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.
|
||||
|
||||
Specifying hosts:
|
||||
--hostname Specify the image name to delete.
|
||||
@@ -33,7 +36,14 @@ xen-delete-image - Delete previously created Xen instances.
|
||||
=over 8
|
||||
|
||||
=item B<--dir>
|
||||
Specify the output directory where images were previously saved.
|
||||
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)
|
||||
|
||||
=item B<--evms>
|
||||
Specify the EVMS container where images were previously saved.
|
||||
@@ -345,6 +355,7 @@ 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' },
|
||||
@@ -359,7 +370,6 @@ sub parseCommandLineArguments
|
||||
pod2usage(1) if $HELP;
|
||||
pod2usage( -verbose => 2 ) if $MANUAL;
|
||||
|
||||
|
||||
if ($VERSION)
|
||||
{
|
||||
my $REVISION = '$Revision: 1.41 $';
|
||||
@@ -373,6 +383,11 @@ sub parseCommandLineArguments
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
if ($CONFIG{ 'dir' }) {
|
||||
$CONFIG{ 'domaindir' } = $CONFIG{ 'dir' }.'/domains';
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -401,7 +416,7 @@ sub checkArguments
|
||||
# Make sure we got one and only one installation method.
|
||||
#
|
||||
my $count = 0;
|
||||
foreach my $type (qw/dir lvm evms/)
|
||||
foreach my $type (qw/dir domaindir lvm evms/)
|
||||
{
|
||||
$count += 1 if defined( $CONFIG{ $type } );
|
||||
}
|
||||
@@ -414,6 +429,7 @@ 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;
|
||||
@@ -504,9 +520,9 @@ sub deleteXenImage
|
||||
}
|
||||
|
||||
|
||||
if ( defined( $CONFIG{ 'dir' } ) )
|
||||
if ( defined( $CONFIG{ 'domaindir' } ) )
|
||||
{
|
||||
my $prefix = $CONFIG{ 'dir' } . "/domains/";
|
||||
my $prefix = $CONFIG{ 'domaindir' } . '/';
|
||||
|
||||
#
|
||||
# Now remove the directory.
|
||||
|
||||
@@ -15,10 +15,11 @@ 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.
|
||||
--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. (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.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -28,10 +29,14 @@ 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.
|
||||
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)
|
||||
|
||||
=item B<--dir>
|
||||
Specify the directory where the loopback files are based.
|
||||
=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<--force>
|
||||
Don't pause for 10 seconds prior to commencing.
|
||||
@@ -143,14 +148,14 @@ testArguments();
|
||||
#
|
||||
my $path = undef;
|
||||
|
||||
if ( $CONFIG{ 'dir' } )
|
||||
if ( $CONFIG{ 'domaindir' } )
|
||||
{
|
||||
|
||||
#
|
||||
# Make sure we can find the disk
|
||||
#
|
||||
$path =
|
||||
$CONFIG{ 'dir' } . "/domains/" . $CONFIG{ 'hostname' } . "/disk.img";
|
||||
$CONFIG{ 'domaindir' } . '/' . $CONFIG{ 'hostname' } . "/disk.img";
|
||||
if ( !-e $path )
|
||||
{
|
||||
print <<EOF;
|
||||
@@ -392,6 +397,7 @@ 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' },
|
||||
@@ -426,7 +432,15 @@ sub parseCommandLineArguments
|
||||
}
|
||||
if ( $install{ 'dir' } )
|
||||
{
|
||||
$CONFIG{ 'dir' } = $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{ 'lvm' } = undef;
|
||||
delete $CONFIG{ 'lvm' };
|
||||
}
|
||||
@@ -493,18 +507,20 @@ 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 or --dir\n";
|
||||
print "Please specify one of --lvm, --domaindir or --dir\n";
|
||||
exit 1;
|
||||
}
|
||||
if ( $options > 1 )
|
||||
{
|
||||
print "Please specify only one of --lvm or --dir - not both!\n";
|
||||
print "Please specify only one of --lvm, --domaindir or --dir - not several of them!\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,8 @@ 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).
|
||||
--dir Specify the directory which contains the image(s). (old style)
|
||||
--domaindir Specify the directory which contains the image(s). (new style)
|
||||
--lvm Specify the LVM volume group which contains the image(s).
|
||||
--evms Specify the EVMS container which contains the image(s).
|
||||
|
||||
@@ -27,7 +28,14 @@ xen-update-image - Update the software installed upon offline Xen images.
|
||||
=over 8
|
||||
|
||||
=item B<--dir>
|
||||
Specify the directory which contains the image(s).
|
||||
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)
|
||||
|
||||
=item B<--evms>
|
||||
Specify the EVMS container which contains the image(s).
|
||||
@@ -214,7 +222,7 @@ sub updateXenImage
|
||||
{
|
||||
|
||||
# The loopback image.
|
||||
$img = $CONFIG{ 'dir' } . "/domains/" . $name . "/disk.img";
|
||||
$img = $CONFIG{ 'domaindir' } . '/' . $name . "/disk.img";
|
||||
|
||||
if ( !-e $img )
|
||||
{
|
||||
@@ -438,6 +446,7 @@ 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
|
||||
);
|
||||
@@ -457,6 +466,11 @@ sub parseCommandLineArguments
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
if ($CONFIG{ 'dir' }) {
|
||||
$CONFIG{ 'domaindir' } = $CONFIG{ 'dir' }.'/domains';
|
||||
$CONFIG{ 'dir' } = undef;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -477,7 +491,7 @@ sub checkArguments
|
||||
# Make sure we got one and only one installation method.
|
||||
#
|
||||
my $count = 0;
|
||||
foreach my $type (qw/dir lvm evms/)
|
||||
foreach my $type (qw/dir domaindir lvm evms/)
|
||||
{
|
||||
$count += 1 if defined( $CONFIG{ $type } );
|
||||
}
|
||||
@@ -490,6 +504,7 @@ 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;
|
||||
|
||||
@@ -419,7 +419,7 @@ sub createXenConfig
|
||||
}
|
||||
else
|
||||
{
|
||||
$ENV{ 'image_prefix' } = "file:$ENV{'dir'}/domains/$ENV{'hostname'}/";
|
||||
$ENV{ 'image_prefix' } = "file:$ENV{'domaindir'}/$ENV{'hostname'}/";
|
||||
$ENV{ 'image_suffix' } = '.img';
|
||||
importPartitionsFromEnvironment();
|
||||
}
|
||||
|
||||
2
debian/changelog
vendored
2
debian/changelog
vendored
@@ -41,6 +41,8 @@ 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)
|
||||
* 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)
|
||||
|
||||
Reference in New Issue
Block a user