osimage¶
Description¶
A logical definition of image which can be used to provision the node.
Key Attributes¶
- imagetype:
- The type of operating system this definition represents (linux, AIX).
- osarch:
- The hardware architecture of the nodes this image supports. Valid values: x86_64, ppc64, ppc64le.
- osvers:
- The Linux distribution name and release number of the image. Valid values: rhels*, rhelc*, rhas*, centos*, SL*, fedora*, sles* (where * is the version #).
- pkgdir:
- The name of the directory where the copied OS distro content are stored.
- pkglist:
- The fully qualified name of a file, which contains the list of packages shipped in Linux distribution ISO which will be installed on the node.
- otherpkgdir
- When xCAT user needs to install some additional packages not shipped in Linux distribution ISO, those packages can be placed in the directory specified in this attribute. xCAT user should take care of dependency problems themselves, by putting all the dependency packages not shipped in Linux distribution ISO in this directory and creating repository in this directory.
- otherpkglist:
- The fully qualified name of a file, which contains the list of user specified additional packages not shipped in Linux distribution ISO which will be installed on the node.
- template:
- The fully qualified name of the template file that will be used to create the OS installer configuration file for stateful installation (e.g. kickstart for RedHat, autoyast for SLES and preseed for Ubuntu).
Use Cases¶
- Case 1:
List all the osimage objects
lsdef -t osimage
- Case 2:
Create a osimage definition “customized-rhels7-ppc64-install-compute” based on an existing osimage “rhels7-ppc64-install-compute”, the osimage “customized-rhels7-ppc64-install-compute” will inherit all the attributes of “rhels7-ppc64-install-compute” except installing the additional packages specified in the file “/tmp/otherpkg.list”:
step 1 : write the osimage definition “rhels7-ppc64-install-compute” to a stanza file “osimage.stanza”
lsdef -z -t osimage -o rhels7-ppc64-install-compute > /tmp/osimage.stanza
The content will look like
# <xCAT data object stanza file>
rhels7-ppc64-install-compute:
objtype=osimage
imagetype=linux
osarch=ppc64
osdistroname=rhels7-ppc64
osname=Linux
osvers=rhels7
otherpkgdir=/install/post/otherpkgs/rhels7/ppc64
pkgdir=/install/rhels7/ppc64
pkglist=/opt/xcat/share/xcat/install/rh/compute.rhels7.pkglist
profile=compute
provmethod=install
template=/opt/xcat/share/xcat/install/rh/compute.rhels7.tmpl
step 2 : modify the stanza file according to the attributes of “customized-rhels7-ppc64-install-compute”
# <xCAT data object stanza file>
customized-rhels7-ppc64-install-compute:
objtype=osimage
imagetype=linux
osarch=ppc64
osdistroname=rhels7-ppc64
osname=Linux
osvers=rhels7
otherpkglist=/tmp/otherpkg.list
otherpkgdir=/install/post/otherpkgs/rhels7/ppc64
pkgdir=/install/rhels7/ppc64
pkglist=/opt/xcat/share/xcat/install/rh/compute.rhels7.pkglist
profile=compute
provmethod=install
template=/opt/xcat/share/xcat/install/rh/compute.rhels7.tmpl
step 3 : create the osimage “customized-rhels7-ppc64-install-compute” from the stanza file
cat /tmp/osimage.stanza |mkdef -z