Merge branch 'master' of ssh://git.code.sf.net/p/xcat/xcat-core

This commit is contained in:
GONG Jie 2015-03-06 14:00:32 +08:00
commit 282d1e354d
2 changed files with 23 additions and 11 deletions

View File

@ -757,10 +757,10 @@ linuximage => {
addkcmdline=> 'User specified arguments to be passed to the kernel. The user arguments are appended to xCAT.s default kernel arguments. This attribute is ignored if linuximage.boottarget is set.',
pkglist => 'The fully qualified name of the file that stores the distro packages list that will be included in the image. Make sure that if the pkgs in the pkglist have dependency pkgs, the dependency pkgs should be found in one of the pkgdir',
pkgdir => 'The name of the directory where the distro packages are stored. It could be set multiple paths.The multiple paths must be seperated by ",". The first path in the value of osimage.pkgdir must be the OS base pkg dir path, such as pkgdir=/install/rhels6.2/x86_64,/install/updates . In the os base pkg path, there are default repository data. And in the other pkg path(s), the users should make sure there are repository data. If not, use "createrepo" command to create them. For ubuntu, multiple mirrors can be specified in the pkgdir attribute, the mirrors must be prefixed by the protocol(http/ssh) and delimited with "," between each other.',
otherpkglist => 'The fully qualified name of the file that stores non-distro package lists that will be included in the image.',
otherpkglist => 'The fully qualified name of the file that stores non-distro package lists that will be included in the image. It could be set multiple paths.The multiple paths must be seperated by ",".',
otherpkgdir => 'The base directory where the non-distro packages are stored. Only 1 local directory supported at present.',
exlist => 'The fully qualified name of the file that stores the file names and directory names that will be excluded from the image during packimage command. It is used for diskless image only.',
postinstall => 'The fully qualified name of the script file that will be run at the end of the genimage command. It is used for diskless image only.',
postinstall => 'The fully qualified name of the script file that will be run at the end of the genimage command. It could be set multiple paths.The multiple paths must be seperated by ",". It is used for diskless image only.',
rootimgdir => 'The directory name where the image is stored. It is generally used for diskless image. it also can be used in sysclone environment to specify where the image captured from golden client is stored. in sysclone environment, rootimgdir is generally assigned to some default value by xcat, but you can specify your own store directory. just one thing need to be noticed, wherever you save the image, the name of last level directory must be the name of image. for example, if your image name is testimage and you want to save this image under home directoy, rootimgdir should be assigned to value /home/testimage/',
kerneldir => 'The directory name where the 3rd-party kernel is stored. It is used for diskless image only.',
nodebootif => 'The network interface the stateless/statelite node will boot over (e.g. eth0)',

View File

@ -168,23 +168,35 @@ sub process_request {
return 1;
}
$pkglist = $ref_linuximage_tab->{'pkglist'};
if ($pkglist ne "" and ! -e $pkglist) {
$callback->({error=>["The pkglist specified \'$pkglist\' does not exist!"],errorcode=>[1]});
return 1;
if ($pkglist ne "") {
foreach my $file (split ',', $pkglist) {
if (! -r $file) {
$callback->({error=>["The pkglist specified \'$file\' does not exist!"],errorcode=>[1]});
return 1;
}
}
}
$srcdir = $ref_linuximage_tab->{'pkgdir'};
$srcdir_otherpkgs = $ref_linuximage_tab->{'otherpkgdir'};
$otherpkglist = $ref_linuximage_tab->{'otherpkglist'};
if ($otherpkglist ne "" and ! -e $otherpkglist) {
$callback->({error=>["The otherpkglist specified \'$otherpkglist\' does not exist!"],errorcode=>[1]});
return 1;
if ($otherpkglist ne "") {
foreach my $file (split ',', $otherpkglist) {
if (! -r $file) {
$callback->({error=>["The otherpkglist specified \'$file\' does not exist!"],errorcode=>[1]});
return 1;
}
}
}
$postinstall_filename = $ref_linuximage_tab->{'postinstall'};
if ($postinstall_filename ne "" and ! -e $postinstall_filename) {
$callback->({error=>["The postinstall_filename specified \'$postinstall_filename\' does not exist!"],errorcode=>[1]});
return 1;
if ($postinstall_filename ne "") {
foreach my $file (split ',', $postinstall_filename) {
if (! -r $file) {
$callback->({error=>["The postinstall_filename specified \'$file\' does not exist!"],errorcode=>[1]});
return 1;
}
}
}
$destdir = $ref_linuximage_tab->{'rootimgdir'};
$rootimg_dir = $ref_linuximage_tab->{'rootimgdir'};