Closed hu-weihua closed 5 years ago
link to xcat2/xcat2-task-management#636
@hu-weihua can u paste the buildkit.conf file for mykits-1.0-1?
@cxhong , sorry for reply later.
I tried to rerun test case rmkit_V
in rhel8.0
------START::rmkit_V::Time:Wed Apr 24 02:06:26 2019------
RUN:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits [Wed Apr 24 02:06:26 2019]
ElapsedTime:0 sec
RETURN rc = 0
OUTPUT:
RUN:cd /opt/xcat/share/xcat/tools/autotest/testcase/rmkit;buildkit create mykits [Wed Apr 24 02:06:26 2019]
ElapsedTime:0 sec
RETURN rc = 0
OUTPUT:
Kit template for mykits created in /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits directory
CHECK:rc == 0 [Pass]
CHECK:output =~ Kit template for mykits created in /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits directory [Pass]
RUN:cd /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits;buildkit buildrepo all [Wed Apr 24 02:06:26 2019]
ElapsedTime:1 sec
RETURN rc = 0
OUTPUT:
/sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory
Directory walk started
Directory walk done - 2 packages
Temporary output repo path: /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits/build/kit_repodir/mykits-1.0-1-rh-8.0-x86_64/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished
CHECK:rc == 0 [Pass]
RUN:cd /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits;buildkit buildtar [Wed Apr 24 02:06:27 2019]
ElapsedTime:0 sec
RETURN rc = 0
OUTPUT:
Creating tar file /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits/mykits-1.0-1.tar.bz2.
Kit tar file /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits/mykits-1.0-1.tar.bz2 successfully built.
CHECK:rc == 0 [Pass]
RUN:addkit /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits/mykits-1.0-1.tar.bz2 [Wed Apr 24 02:06:27 2019]
ElapsedTime:0 sec
RETURN rc = 0
OUTPUT:
Adding Kit mykits-1.0-1
Kit mykits-1.0-1 was successfully added.
CHECK:rc == 0 [Pass]
CHECK:output =~ Kit mykits-1.0-1 was successfully added [Pass]
RUN:mkdef testimage -u profile=compute provmethod=install osarch=__GETNODEATTR(c910f04x37v10,arch)__ [Wed Apr 24 02:06:27 2019]
ElapsedTime:1 sec
RETURN rc = 0
OUTPUT:
1 object definitions have been created or modified.
CHECK:rc == 0 [Pass]
RUN:kitcompname=`lskit mykits-1.0-1 |grep kitcompname|awk -F= '{print $2}'`;addkitcomp -i testimage $kitcompname [Wed Apr 24 02:06:28 2019]
ElapsedTime:1 sec
RETURN rc = 1
OUTPUT:
Error: [c910f04x37v08]: osdistro does not exist
CHECK:rc == 0 [Failed]
RUN:rmkit -f mykits-1.0-1 -V [Wed Apr 24 02:06:29 2019]
ElapsedTime:0 sec
RETURN rc = 0
OUTPUT:
[c910f04x37v08]: Removing kit mykits-1.0-1
[c910f04x37v08]: Removing kit components from osimage.kitcomponents
[c910f04x37v08]: Removing kit plugins from /opt/xcat/lib/perl/xCAT_plugin/
[c910f04x37v08]: Removing kit scripts from /install/postscripts/
[c910f04x37v08]: Removing kitdir from installdir
[c910f04x37v08]: Removing kit from xCAT DB
[c910f04x37v08]: Kit mykits-1.0-1 was successfully removed.
RUN:rm -f /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits/mykits-1.0-1.tar.bz2 [Wed Apr 24 02:06:29 2019]
ElapsedTime:0 sec
RETURN rc = 0
OUTPUT:
RUN:rmdef -t osimage -o testimage [Wed Apr 24 02:06:29 2019]
ElapsedTime:1 sec
RETURN rc = 0
OUTPUT:
1 object definitions have been removed.
------END::rmkit_V::Failed::Time:Wed Apr 24 02:06:30 2019 ::Duration::4 sec------
Got buildkit.conf
under /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits
[root@c910f04x37v08 mykits]# cat buildkit.conf
# Kit Build File
#
# A unique version of this file is automatically generated for a new Kit
# when you run the buildkit command to create a new Kit. The basic template
# for this file is contained in the /opt/xcat/share/xcat/kits/kit_template
# directory. Once the initial version of this file is generated you will
# have to modify it by adding the details needed to build your new Kit.
#
# Refer to the buildkit manpage for further details.
#
# kit: This stanza defines general information for the Kit.
# There must be exactly one kit stanza in a buildkit.conf file.
#
# kit attributes:
# basename (mandatory) Kit base name. (ex. "myproduct")
#
# description (optional) Kit description.
#
# version (mandatory) Kit version. ( template default "1.0")
#
# release (mandatory) Kit release. (template default "1")
#
# ostype (mandatory) Kit OS type. (template default "Linux")
# (AIX is currently not supported.)
#
# vendor (optional) The vendor tag is used to define the name of
# the entity that is responsible for packaging
# the software.
#
# packager (optional) The packager tag is used to hold the name and
# contact information for the person or persons
# who built the package.
#
# url (optional) The url tag is used to provide a location to
# obtain additional information about the
# packaged software.
#
# osbasename (optional) OS distro base name. (ex. "rhels")
#
# osmajorversion (optional) OS major version. (ex. "6")
#
# osminorversion (optional) OS minor version.
#
# osarch (optional) OS architecture. (ex. "x86_64")
#
# isinternal (optional) PCM use only.
# Indicate if Kit is for internal use.
# Use 1 for yes, 0 for no. Default: 0
#
# kitdeployparams (optional) Filename containing a list of kit deployment
# parameters. The name should be the full path name of
# the file relative to <Kit Build Directory>/other_files
#
# kitlicense (mandatory) Kit license string to be built into all
# kitcomponent packages. (template default "EPL")
#
# kittarfilename (optional) Filename.tar.bz2 to be used for the generated
# kit. (ex. "myproduct-1.4.0.6-0-x86_64.tar.bz2")
# The default format is:
# <basename>-<version>-<opt-release>-<opt-osbasename>-<opt-osmajorversion>-<opt-osminorversion>-<opt-osarch>.tar.bz2
#
kit:
basename=mykits
description=description for mykits
version=1.0
release=1
ostype=Linux
kitlicense=EPL
# vendor=
# packager=
# url=
# osbasename=
# osmajorversion=
# osminorversion=
# osarch=
# isinternal=
# kitdeployparams=sample/kitdeployparams.lst
# kittarfilename=
#
# kitrepo: This stanza defines a Kit Package Repository.
# There must be at least one kitrepo stanza in a kit build file.
# If you want to support multiple OSes, you should create a separate
# repo for each OS. Also, no two repos can be defined with the same
# OS name, major/minor version and arch. For example, you cannot have
# two repos for RHEL 6.2 x86_64 in the same kit.
#
# kitrepo attributes:
# kitrepoid (mandatory) Kit package repository ID. Must be unique within
# this file. A typical name may be something like:
# "<osbasename><osmajorversion>.<osminorversion>_<osarch>".
# (ex. "rhels6.4_x86_64")
#
# osbasename (mandatory) OS distro base name. (ex. "rhels")
#
# osmajorversion (mandatory) OS major version. (ex. "6")
#
# osminorversion (optional) OS minor version. (ex. "4")
#
# osarch (mandatory) OS architecture. (ex.redhat x86_64 should be "x86_64", Ubuntu Power LE should be "ppc64el",
# For Ubuntu Power LE, system arch is ppc64le, for ubuntu software package, should use "ppc64el",
#
# compat_osbasenames (optional) Comma-separated list of compatible
# OS distribution base names. (ex. "centos")
kitrepo:
kitrepoid=rh8.0
osbasename=rh
osmajorversion=8
osminorversion=0
osarch=x86_64
compat_osbasenames=centos
#
# kitcomponent: This stanza defines one Kit Component.
# There can be zero or more kitcomponent stanzas.
# If you want to build a component which supports multiple OSes,
# you should create one kitcomponent section for each OS.
# You can define multiple kit components with the same base name
# only if each kit component using this base name meets these
# requirements:
# - Each kit component must be defined with the same version
# and release number
# - Each kit component must be defined with a unique kitrepoid
#
# kitcomponent attributes:
# basename (mandatory) Kit component base name
# (ex. "myproduct_compute")
#
# description (optional) Kit component description
#
# version (optional) Kit component version. The default is
# the kit version.
#
# release (optional) Kit component release. The default is the
# kit release.
#
# serverroles (mandatory) Comma-separated list of node types that this
# component could be installed on. (Valid values:
# mgtnode,servicenode,compute,login,storage,utility)
# (template default: "compute")
#
# kitrepoid (mandatory) The ID of the kit package repository this
# component belongs to.
#
# kitcompdeps (optional) Comma-separated list of kit component
# dependencies. These kit components can be included in
# this kit or in other kits.
#
# ospkgdeps (optional) Comma-separated list of OS RPM dependency
# basenames.
# These packages must be shipped with the OS distro.
# (ex. "libacl(x86-32)")
#
# kitpkgdeps (mandatory IF product RPMs will be included in this Kit)
# Comma-separated list of RPM basenames. Each RPM must
# be defined in a separate kitpackage stanza. Each RPM
# package must be in the same kitrepo as this kit component.
# (ex. "xlc(x86-32)")
#
# non_native_pkgs (optional)
# Comma-separated list of non-native package
# paths that will be included as files in this kit
# component. All filenames are relative to
# <Kit Build Directory>/source_packages and may contain
# wildcards. If a filename is prefixed by 'EXTERNALPKGS:'
# the file will not be built into the kit tarfile, but
# will need to be added later with a 'buildkit addpkgs'
# command.
# Files will be placed in
# /opt/xcat/kits/<kitbasename>/<kitcomponent_name>
# when the kitcomponent package is deployed to an
# OS image.
# Kit component deployment scripts must be specified
# to manage these files.
#
# driverpacks (optional) Comma-separated list of driver package filenames
# Each driverpack must be defined in a separate kitpackage
# section.
#
# exlist (optional) Exclude list file for stateless image, relative
# to <Kit Build Directory>/other_files
#
# Kit component deployment scripts (optional) Each attribute specifies
# script path relative to <Kit Build Directory>/scripts
# Script attributes:
# preinstall, postinstall, preuninstall, postuninstall,
# preupgrade, postupgrade, postbootscripts,
# genimage_postinstall
kitcomponent:
basename=mykits_compute
description=description for component mykits_compute
serverroles=compute
kitrepoid=rh8.0
kitpkgdeps=pkg1
# kitcompdeps=myproduct_license
# ospkgdeps=dep1,dep2
# non_native_pkgs=a_kitcomponent.file
# non_native_pkgs=EXTERNALPKGS:a_kitcomponent.file
# driverpacks=
# exlist=sample/exclude.lst
# preinstall=sample/pre.sh
# postinstall=sample/post.sh
# preuninstall=sample/preun.sh
# postuninstall=sample/postun.sh
# preupgrade=sample/preup.sh
# postupgrade=sample/postup.sh
# postbootscripts=sample/postboot.sh
# genimage_postinstall=sample/genimage_post.sh
#
# kitpackage: This stanza defines one Kit Package.
# There can be zero or more kitpackage stanzas.
#
# If you want to build a package which can run on multiple OSes,
# you have two options:
# 1. Build a separate package for each OS you want to support.
# For this option, you need to define one kitpackage stanza
# per supported OS.
# 2. Build one package that can run on multiple OSes.
# If you are building an RPM package, you are responsible for
# creating an RPM spec file that can run on multiple OSes.
# For this option, you need to define one kitpackage stanza
# which contains multiple kitrepoid lines.
#
#
# kitpackage attributes:
# filename (mandatory) Package filename. The filename may contain
# wildcards to avoid needing to
# specify an explicit package version-release filename.
#
# kitrepoid (mandatory) A comma-separated list of kit repo names this package
# belongs to. If multiple repos are defined, the package will
# be built for the first repo only. For the other repos,
# a symlink is created to the package built for the first repo.
#
# isexternalpkg (mandatory) Indicates if the package will be included
# in this kit or added later.
# 'no' or '0' means the package is included.
# 'yes' or '1' means the packages will be added later.
# The default if not set is 'no'.
#
# rpm_prebuiltdir (mandatory IF isexternalpkg=no) Path to the directory
# containing the pre-built RPMs relative to
# <Kit Build Directory>/source_packages directory.
# For example, if the file is
# "<Kit Build Directory>/source_packages/foobar/foo.rpm"
# then set "rpm_prebuiltdir=foobar".
kitpackage:
filename=pkg1-*.noarch.rpm
kitrepoid=rh8.0
isexternalpkg=no
rpm_prebuiltdir=sample/pkg1
We will not support kit on rhels8.0, I will move this task into icebox, thanks.
Support for kits is removed from xCAT 2.15
some kit test cases failed in rhels8.0. Due to xCAT has not plan to support kit in rhels8.0, so just log this issue.