diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/compiler/partial_xlc12-Linux/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/compiler/partial_xlc12-Linux/buildkit.conf
index 79d54db54..5dfde8075 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/compiler/partial_xlc12-Linux/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/compiler/partial_xlc12-Linux/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=XLC12 for Linux
version=12.1.0.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
# kitdeployparams=sample/kitdeployparams.lst
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/compiler/partial_xlf14-Linux/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/compiler/partial_xlf14-Linux/buildkit.conf
index d172c14b2..6e7f7b024 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/compiler/partial_xlf14-Linux/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/compiler/partial_xlf14-Linux/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=XLF14 for Linux
version=14.1.0.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
# kitdeployparams=sample/kitdeployparams.lst
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/compiler/xlf14-Linux/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/compiler/xlf14-Linux/buildkit.conf
index d459fe372..34cac51fe 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/compiler/xlf14-Linux/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/compiler/xlf14-Linux/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=XLF14 for Linux
version=14.1.0.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
# kitdeployparams=sample/kitdeployparams.lst
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/essl/essl/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/essl/essl/buildkit.conf
index 41a64b96f..a99b20915 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/essl/essl/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/essl/essl/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=essl for Linux
version=5.1.1
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=essl.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/essl/partial_essl/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/essl/partial_essl/buildkit.conf
index 20e5c81f1..f028692c0 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/essl/partial_essl/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/essl/partial_essl/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=essl for Linux
version=5.1.1
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=essl.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/gpfs-3.5.0-7-Linux-ppc64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/gpfs-3.5.0-7-Linux-ppc64/buildkit.conf
index 62833b751..3a87209e0 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/gpfs-3.5.0-7-Linux-ppc64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/gpfs-3.5.0-7-Linux-ppc64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=General Parallel File System
version=3.5.0-7
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
#kitdeployparams=
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/gpfs-3.5.0-7-Linux-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/gpfs-3.5.0-7-Linux-x86_64/buildkit.conf
index 93e7ca81a..f291070df 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/gpfs-3.5.0-7-Linux-x86_64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/gpfs-3.5.0-7-Linux-x86_64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=General Parallel File System
version=3.5.0-7
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
#kitdeployparams=
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-ppc64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-ppc64/buildkit.conf
index 31335f439..58b1ae147 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-ppc64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-ppc64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=General Parallel File System
version=3.5.0-7
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
#kitdeployparams=
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-x86_64/buildkit.conf
index a3612c053..0cb3297d8 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-x86_64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-x86_64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=General Parallel File System
version=3.5.0-7
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
#kitdeployparams=
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-x86_64/docs/index.html b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-x86_64/docs/index.html
new file mode 100644
index 000000000..95aabc644
--- /dev/null
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/gpfs/partial-gpfs-3.5.0-7-Linux-x86_64/docs/index.html
@@ -0,0 +1,9 @@
+
+
+GPFS Documentation
+
+
+Redirecting to:
+http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/topic/com.ibm.cluster.gpfs.doc/gpfsbooks.html
+
+
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/pessl/partial_pessl/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/pessl/partial_pessl/buildkit.conf
index 5ae5c15b1..a423679a2 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/pessl/partial_pessl/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/pessl/partial_pessl/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=pessl for Linux
version=4.2.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=pessl.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/pessl/pessl/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/pessl/pessl/buildkit.conf
index d776e8b17..a7a5abd70 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/pessl/pessl/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/pessl/pessl/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=pessl for Linux
version=4.2.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=pessl.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-ppc64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-ppc64/buildkit.conf
index 16a417727..b71af6143 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-ppc64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-ppc64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=Parallel Environment Runtime Edition
version=1.3.0.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=pe.env
@@ -109,7 +109,7 @@ kitcomponent:
basename=pperte_compute
description=PE RTE for compute nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=compute
kitrepoid=rhels6_ppc64
#kitcompdeps=
@@ -124,7 +124,7 @@ kitcomponent:
basename=min_pperte_compute
description=Minimal PE RTE for compute nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=compute
kitrepoid=rhels6_ppc64
#kitcompdeps=
@@ -139,7 +139,7 @@ kitcomponent:
basename=pperte_login
description=PE RTE for login nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=login
kitrepoid=rhels6_ppc64
#kitcompdeps=
@@ -155,7 +155,7 @@ kitcomponent:
basename=pperte_compute
description=PE RTE for compute nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=compute
kitrepoid=sles11_ppc64
#kitcompdeps=
@@ -170,7 +170,7 @@ kitcomponent:
basename=min_pperte_compute
description=Minimal PE RTE for compute nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=compute
kitrepoid=sles11_ppc64
#kitcompdeps=
@@ -185,7 +185,7 @@ kitcomponent:
basename=pperte_login
description=PE RTE for login nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=login
kitrepoid=sles11_ppc64
#kitcompdeps=
@@ -245,42 +245,42 @@ kitcomponent:
### RH6 ppc64 rpms
kitpackage:
- filename=pperte-1.3.0.0-1302a.ppc64.rpm
+ filename=pperte-1.3.0.0-*.ppc64.rpm
kitrepoid=rhels6_ppc64,sles11_ppc64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=pperteman-1.3.0.0-1302a.ppc64.rpm
+ filename=pperteman-1.3.0.0-*.ppc64.rpm
kitrepoid=rhels6_ppc64,sles11_ppc64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=ppertesamples-1.3.0.0-1302a.ppc64.rpm
+ filename=ppertesamples-1.3.0.0-*.ppc64.rpm
kitrepoid=rhels6_ppc64,sles11_ppc64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=ppe_rte_1300-1.3.0.0-1302a.ppc64.rpm
+ filename=ppe_rte_1300-1.3.0.0-*.ppc64.rpm
kitrepoid=rhels6_ppc64,sles11_ppc64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=ppe_rte_man-1.3.0.0-1302a.ppc64.rpm
+ filename=ppe_rte_man-1.3.0.0-*.ppc64.rpm
kitrepoid=rhels6_ppc64,sles11_ppc64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=ppe_rte_samples-1.3.0.0-1302a.ppc64.rpm
+ filename=ppe_rte_samples-1.3.0.0-*.ppc64.rpm
kitrepoid=rhels6_ppc64,sles11_ppc64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
@@ -296,7 +296,7 @@ kitpackage:
### License rpm gets placed in all repos
kitpackage:
- filename=ppe_rte_license-1.3.0.0-1302a.ppc64.rpm
+ filename=ppe_rte_license-1.3.0.0-*.ppc64.rpm
kitrepoid=rhels6_ppc64,sles11_ppc64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-x86_64/buildkit.conf
index 93e37c413..b16cbd919 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-x86_64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-x86_64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=Parallel Environment Runtime Edition
version=1.3.0.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=pe.env
@@ -109,7 +109,7 @@ kitcomponent:
basename=pperte_compute
description=PE RTE for compute nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=compute
kitrepoid=rhels6_x86_64
#kitcompdeps=
@@ -124,7 +124,7 @@ kitcomponent:
basename=min_pperte_compute
description=Minimal PE RTE for compute nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=compute
kitrepoid=rhels6_x86_64
#kitcompdeps=
@@ -139,7 +139,7 @@ kitcomponent:
basename=pperte_login
description=PE RTE for login nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=login
kitrepoid=rhels6_x86_64
#kitcompdeps=
@@ -155,7 +155,7 @@ kitcomponent:
basename=pperte_compute
description=PE RTE for compute nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=compute
kitrepoid=sles11_x86_64
#kitcompdeps=
@@ -170,7 +170,7 @@ kitcomponent:
basename=min_pperte_compute
description=Minimal PE RTE for compute nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=compute
kitrepoid=sles11_x86_64
#kitcompdeps=
@@ -185,7 +185,7 @@ kitcomponent:
basename=pperte_login
description=PE RTE for login nodes
version=1.3.0.0
- release=1302a
+ release=0
serverroles=login
kitrepoid=sles11_x86_64
#kitcompdeps=
@@ -245,42 +245,42 @@ kitcomponent:
### RH6 x86_64 rpms
kitpackage:
- filename=pperte-1.3.0.0-1302a.x86_64.rpm
+ filename=pperte-1.3.0.0-*.x86_64.rpm
kitrepoid=rhels6_x86_64,sles11_x86_64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=pperteman-1.3.0.0-1302a.x86_64.rpm
+ filename=pperteman-1.3.0.0-*.x86_64.rpm
kitrepoid=rhels6_x86_64,sles11_x86_64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=ppertesamples-1.3.0.0-1302a.x86_64.rpm
+ filename=ppertesamples-1.3.0.0-*.x86_64.rpm
kitrepoid=rhels6_x86_64,sles11_x86_64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=ppe_rte_1300-1.3.0.0-1302a.x86_64.rpm
+ filename=ppe_rte_1300-1.3.0.0-*.x86_64.rpm
kitrepoid=rhels6_x86_64,sles11_x86_64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=ppe_rte_man-1.3.0.0-1302a.x86_64.rpm
+ filename=ppe_rte_man-1.3.0.0-*.x86_64.rpm
kitrepoid=rhels6_x86_64,sles11_x86_64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
kitpackage:
- filename=ppe_rte_samples-1.3.0.0-1302a.x86_64.rpm
+ filename=ppe_rte_samples-1.3.0.0-*.x86_64.rpm
kitrepoid=rhels6_x86_64,sles11_x86_64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
@@ -296,7 +296,7 @@ kitpackage:
### License rpm gets placed in all repos
kitpackage:
- filename=ppe_rte_license-1.3.0.0-1302a.x86_64.rpm
+ filename=ppe_rte_license-1.3.0.0-*.x86_64.rpm
kitrepoid=rhels6_x86_64,sles11_x86_64
# Method 1: Use pre-built RPM package
isexternalpkg=yes
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-x86_64/docs/index.html b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-x86_64/docs/index.html
new file mode 100644
index 000000000..be391b859
--- /dev/null
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.0-x86_64/docs/index.html
@@ -0,0 +1,9 @@
+
+
+PE RTE Documentation
+
+
+Redirecting to:
+http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/topic/com.ibm.cluster.pe.doc/pebooks.html
+
+
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.1-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.1-x86_64/buildkit.conf
new file mode 100644
index 000000000..482001c8e
--- /dev/null
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/partial-pperte-1.3.0.1-x86_64/buildkit.conf
@@ -0,0 +1,308 @@
+# Kit Build File
+#
+#
+# xCAT Kit buildkit configuration file for:
+# PE RTE 1.3.0.1
+# This will create a "partial" kit that does not contain the full product
+# rpm packages.
+# Rename this file to 'buildkit.conf' before using
+#
+# Refer to the buildkit manpage for further details.
+#
+
+# kit: This section defines general info for the Kit.
+# There must be exactly one kit section in a kit build file.
+#
+# kit attributes:
+# basename (mandatory) Kit base name. e.g., kit-lsf
+# description (optional) Kit description.
+# version (mandatory) Kit version. e.g., 1.0
+# ostype (mandatory) Kit OS type. Must be Linux.
+# AIX is currently not supported.
+# 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, relative to
+# /other_files
+kit:
+ basename=pperte
+ description=Parallel Environment Runtime Edition
+ version=1.3.0.1
+ ostype=Linux
+ kitlicense=ILAN
+ kitdeployparams=pe.env
+
+
+# kitrepo: This section defines a Kit Package Repository.
+# There must be at least one kitrepo section 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.
+# osbasename (mandatory) OS distro base name. e.g., rhels.
+# osmajorversion (mandatory) OS major version. e.g., 6
+# osminorversion (optional) OS minor version.
+# osarch (mandatory) OS architecture. e.g., x86_64
+# compat_osbasenames (optional) Comma-separated list of compatible
+# OS distro base names. e.g., centos
+
+kitrepo:
+ kitrepoid=rhels6_x86_64
+ osbasename=rhels
+ osmajorversion=6
+ osarch=x86_64
+
+kitrepo:
+ kitrepoid=sles11_x86_64
+ osbasename=sles
+ osmajorversion=11
+ osarch=x86_64
+
+ #compat_osbasenames=
+
+
+# kitcomponent: This section defines one Kit Component.
+# There can be zero or more kitcomponent sections.
+# If you want to build a component which supports multiple OSes,
+# you should create one kitcomponent section for each OS.
+# Also, no two components in a kit can be defined with the same
+# base name.
+#
+# kitcomponent attributes:
+# basename (mandatory) Kit component base name
+# description (optional) Kit component description
+# version (mandatory) Kit component version
+# release (mandatory) Kit component release
+# serverroles (mandatory) Comma-separated list of servers that this
+# component can install on. Valid values:
+# mgtnode,servicenode,compute,login,storage,utility
+# 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 package dependencies
+# These packages must be shipped with the OS distro.
+# kitpkgdeps (optional) Comma-separated list of kit package names that
+# will be listed as "REQUIRES" when building this kit
+# component. Each package must be defined in a separate
+# kitpackage section. Each package must be in the same
+# kitrepo as this kit component.
+# non_native_pkgs (optional) TBD -- NOT SUPPORTED YET!
+# Comma-separated list of non-native package
+# paths that will be included as files in this kit
+# component. All filenames are relative to
+# /source_packages
+# 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 /other_files
+# Kit component deployment scripts (optional) Each attribute specifies
+# script path relative to /scripts
+# Script attributes:
+# preinstall, postinstall, preuninstall, postuninstall,
+# preupgrade, postupgrade, postbootscripts
+kitcomponent:
+ basename=pperte_compute
+ description=PE RTE for compute nodes
+ version=1.3.0.1
+ release=0
+ serverroles=compute
+ kitrepoid=rhels6_x86_64
+ #kitcompdeps=
+ ospkgdeps=yum,at,rsh,rsh-server,xinetd,sudo,libibverbs(x86-32),libibverbs(x86-64)
+ kitpkgdeps=ppe_rte_license,pperte >= 1.3.0.1,pperteman >= 1.3.0.1,ppertesamples >= 1.3.0.1,src
+ exlist=pe.exlist
+ postinstall=pperte_postinstall
+ postupgrade=pperte_postinstall
+ postbootscripts=pperte_postboot
+
+kitcomponent:
+ basename=min_pperte_compute
+ description=Minimal PE RTE for compute nodes
+ version=1.3.0.1
+ release=0
+ serverroles=compute
+ kitrepoid=rhels6_x86_64
+ #kitcompdeps=
+ ospkgdeps=yum,at,rsh,rsh-server,xinetd,sudo,libibverbs(x86-32),libibverbs(x86-64)
+ kitpkgdeps=ppe_rte_license,pperte >= 1.3.0.1,src
+ exlist=pe.exlist
+ postinstall=pperte_postinstall
+ postupgrade=pperte_postinstall
+ postbootscripts=pperte_postboot
+
+kitcomponent:
+ basename=pperte_login
+ description=PE RTE for login nodes
+ version=1.3.0.1
+ release=0
+ serverroles=login
+ kitrepoid=rhels6_x86_64
+ #kitcompdeps=
+ ospkgdeps=yum,at,rsh,rsh-server,xinetd,sudo,libibverbs(x86-32),libibverbs(x86-64)
+ kitpkgdeps=ppe_rte_license,pperte >= 1.3.0.1,pperteman >= 1.3.0.1,ppertesamples >= 1.3.0.1,src
+ exlist=pe.exlist
+ postinstall=pperte_postinstall
+ postupgrade=pperte_postinstall
+ postbootscripts=pperte_postboot
+
+
+kitcomponent:
+ basename=pperte_compute
+ description=PE RTE for compute nodes
+ version=1.3.0.1
+ release=0
+ serverroles=compute
+ kitrepoid=sles11_x86_64
+ #kitcompdeps=
+ ospkgdeps=zypper,at,rsh-server,xinetd,sudo,libibverbs-32bit,libibverbs
+ kitpkgdeps=ppe_rte_license,pperte >= 1.3.0.1,pperteman >= 1.3.0.1,ppertesamples >= 1.3.0.1,src
+ exlist=pe.exlist
+ postinstall=pperte_postinstall
+ postupgrade=pperte_postinstall
+ postbootscripts=pperte_postboot
+
+kitcomponent:
+ basename=min_pperte_compute
+ description=Minimal PE RTE for compute nodes
+ version=1.3.0.1
+ release=0
+ serverroles=compute
+ kitrepoid=sles11_x86_64
+ #kitcompdeps=
+ ospkgdeps=zypper,at,rsh-server,xinetd,sudo,libibverbs-32bit,libibverbs
+ kitpkgdeps=ppe_rte_license,pperte >= 1.3.0.1,src
+ exlist=pe.exlist
+ postinstall=pperte_postinstall
+ postupgrade=pperte_postinstall
+ postbootscripts=pperte_postboot
+
+kitcomponent:
+ basename=pperte_login
+ description=PE RTE for login nodes
+ version=1.3.0.1
+ release=0
+ serverroles=login
+ kitrepoid=sles11_x86_64
+ #kitcompdeps=
+ ospkgdeps=zypper,at,rsh-server,xinetd,sudo,libibverbs-32bit,libibverbs
+ kitpkgdeps=ppe_rte_license,pperte >= 1.3.0.1,pperteman >= 1.3.0.1,ppertesamples >= 1.3.0.1,src
+ exlist=pe.exlist
+ postinstall=pperte_postinstall
+ postupgrade=pperte_postinstall
+ postbootscripts=pperte_postboot
+
+# kitpackage: This section defines one Kit Package, and how to build it.
+# There can be zero or more kitpackage sections.
+# All filenames should be relative paths to
+# /source_packages
+# 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 section
+# 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 section
+# which contains multiple kitrepoid lines.
+#
+# kitpackage attributes:
+# filename (mandatory) Package filename
+# kitrepoid (mandatory) The repo(s) 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.
+# Package build methods (optional)
+# Define how to build the packages.
+# If you don't specify a build method, the default behavior is
+# to assume the package is pre-built under
+# /source_packages
+# All files in this section are relative to
+# /source_packages
+# There are four methods to build packages.
+# 1. Use pre-built RPM package
+# isexternalpkg: 'no'|'0', 'yes'|'1' (default: 'no')
+# Indicates whether the RPM package will be added to the
+# the kit tar file now as part of the kit build process,
+# or whether the customer will need to separately
+# obtain the RPM pacakage and add it to the kit tar file
+# using 'buildkit addpkgs'
+# rpm_prebuiltdir: If isexternalpkg=yes, path to directory
+# containing pre-built RPM package
+# 2. Build RPM from spec + src dir
+# rpm_spec: Path to spec file.
+# rpm_srcdir: Path to source directory.
+# 3. Build RPM from spec + src tarball
+# rpm_spec: Path to spec file.
+# rpm_srctarball: Path to source tarball.
+# 4. Build RPM from source RPM
+# rpm_srpm: Path to source RPM package.
+
+### RH6 x86_64 rpms
+kitpackage:
+ filename=pperte-1.3.0.1-*.x86_64.rpm
+ kitrepoid=rhels6_x86_64,sles11_x86_64
+ # Method 1: Use pre-built RPM package
+ isexternalpkg=yes
+
+
+kitpackage:
+ filename=pperteman-1.3.0.1-*.x86_64.rpm
+ kitrepoid=rhels6_x86_64,sles11_x86_64
+ # Method 1: Use pre-built RPM package
+ isexternalpkg=yes
+
+
+kitpackage:
+ filename=ppertesamples-1.3.0.1-*.x86_64.rpm
+ kitrepoid=rhels6_x86_64,sles11_x86_64
+ # Method 1: Use pre-built RPM package
+ isexternalpkg=yes
+
+
+kitpackage:
+ filename=ppe_rte_1301-1.3.0.1-*.x86_64.rpm
+ kitrepoid=rhels6_x86_64,sles11_x86_64
+ # Method 1: Use pre-built RPM package
+ isexternalpkg=yes
+
+
+kitpackage:
+ filename=ppe_rte_man-1.3.0.1-*.x86_64.rpm
+ kitrepoid=rhels6_x86_64,sles11_x86_64
+ # Method 1: Use pre-built RPM package
+ isexternalpkg=yes
+
+
+kitpackage:
+ filename=ppe_rte_samples-1.3.0.1-*.x86_64.rpm
+ kitrepoid=rhels6_x86_64,sles11_x86_64
+ # Method 1: Use pre-built RPM package
+ isexternalpkg=yes
+
+
+kitpackage:
+ filename=src-*.i386.rpm
+ kitrepoid=rhels6_x86_64,sles11_x86_64
+ # Method 1: Use pre-built RPM package
+ isexternalpkg=yes
+
+
+
+### License rpm gets placed in all repos
+kitpackage:
+ filename=ppe_rte_license-1.3.0.1-*.x86_64.rpm
+ kitrepoid=rhels6_x86_64,sles11_x86_64
+ # Method 1: Use pre-built RPM package
+ isexternalpkg=yes
+
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/pperte-1.3.0.0-ppc64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/pperte-1.3.0.0-ppc64/buildkit.conf
index d2ea4710c..fc2875961 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/pperte-1.3.0.0-ppc64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/pperte-1.3.0.0-ppc64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=Parallel Environment Runtime Edition
version=1.3.0.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=pe.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/pperte-1.3.0.0-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/pperte-1.3.0.0-x86_64/buildkit.conf
index 90949824c..d46fb2233 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/ppe/pperte-1.3.0.0-x86_64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppe/pperte-1.3.0.0-x86_64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=Parallel Environment Runtime Edition
version=1.3.0.0
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=pe.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-ppc64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-ppc64/buildkit.conf
index 9d9449709..acf44f3fb 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-ppc64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-ppc64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=Parallel Environment Developer Edition
version=1.2.0-1
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=ppedev.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-x86_64/buildkit.conf
index 2938121e9..737d9f501 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-x86_64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-x86_64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=Parallel Environment Developer Edition
version=1.2.0-1
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=ppedev.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-x86_64/docs/index.html b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-x86_64/docs/index.html
new file mode 100644
index 000000000..0aba5b0a4
--- /dev/null
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/partial-ppedev-1.2.0-1-x86_64/docs/index.html
@@ -0,0 +1,9 @@
+
+
+PE DE Documentation
+
+
+Redirecting to:
+http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/topic/com.ibm.cluster.pedev.doc/pedevbooks.html
+
+
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/ppedev-1.2.0-1-ppc64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/ppedev-1.2.0-1-ppc64/buildkit.conf
index e2e88045e..4026e2445 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/ppedev-1.2.0-1-ppc64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/ppedev-1.2.0-1-ppc64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=Parallel Environment Developer Edition
version=1.2.0-1
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=ppedev.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/ppedev-1.2.0-1-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/ppedev-1.2.0-1-x86_64/buildkit.conf
index a5be1885a..6afbcc147 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/ppedev-1.2.0-1-x86_64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/ppedev/ppedev-1.2.0-1-x86_64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=Parallel Environment Developer Edition
version=1.2.0-1
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
kitdeployparams=ppedev.env
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/teal/partial-teal-ppc64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/teal/partial-teal-ppc64/buildkit.conf
index e36c22938..b99c67f5e 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/teal/partial-teal-ppc64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/teal/partial-teal-ppc64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=teal for Linux
version=1.2.0.2
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
# kitdeployparams=
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/teal/partial-teal-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/teal/partial-teal-x86_64/buildkit.conf
index 632df495b..9dadf266b 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/teal/partial-teal-x86_64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/teal/partial-teal-x86_64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=teal for Linux
version=1.2.0.2
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
# kitdeployparams=
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/teal/teal-ppc64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/teal/teal-ppc64/buildkit.conf
index 7b698ca92..d384bd6ac 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/teal/teal-ppc64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/teal/teal-ppc64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=teal for Linux
version=1.2.0.2
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
# kitdeployparams=
diff --git a/xCAT-buildkit/share/xcat/kits/kit_build/teal/teal-x86_64/buildkit.conf b/xCAT-buildkit/share/xcat/kits/kit_build/teal/teal-x86_64/buildkit.conf
index 73db35bf0..1520be8d2 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_build/teal/teal-x86_64/buildkit.conf
+++ b/xCAT-buildkit/share/xcat/kits/kit_build/teal/teal-x86_64/buildkit.conf
@@ -25,7 +25,7 @@ kit:
description=teal for Linux
version=1.2.0.2
ostype=Linux
- kitlicense=IPLA
+ kitlicense=ILAN
# kitdeployparams=
diff --git a/xCAT-buildkit/share/xcat/kits/kit_template/plugins/sample/imageprofile.pm b/xCAT-buildkit/share/xcat/kits/kit_template/plugins/sample/imageprofile.pm
index f42b70e7f..b2769798b 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_template/plugins/sample/imageprofile.pm
+++ b/xCAT-buildkit/share/xcat/kits/kit_template/plugins/sample/imageprofile.pm
@@ -1,3 +1,8 @@
+# IBM(c) 2012 EPL license http://www.eclipse.org/legal/epl-v10.html
+
+#TEST: UNCOMMENT the first line, and COMMENT OUT the second line.
+#BUILD: COMMENT OUT the first line, and UNCOMMENT the second line.
+#package xCAT_plugin::imageprofile;
package xCAT_plugin::<<>>_imageprofile;
use strict;
@@ -7,27 +12,81 @@ require xCAT::Utils;
require xCAT::Table;
require xCAT::KitPluginUtils;
+use Data::Dumper;
-# buildkit Processing
-# In order to avoid collisions with other plugins, the package
-# name for this plugin must contain the full kit name.
-# The buildkit buildtar command will copy this file from your plugins
-# directory to the the kit build directory, renaming the file with the
-# correct kit name. All strings in this file of the form
-# <<>>
-# will be replaced with the full kit name. In order for buildkit to
-# correctly edit this file, do not remove these strings.
+#
+# KIT PLUGIN FOR IMAGE PROFILE MANAGEMENT
+# =======================================
+# What is this plugin used for?
+# This is an xCAT Perl plugin that lets you add custom code
+# which gets called during certain image profile management
+# operations.
+#
+#
+# What image profile management operations automatically call this plugin?
+#
+# - Generate image profile (pcmgenerateimageprofile / pcmmgtnodeimageprofile)
+# operation calls:
+# - kitimagepregenerate(): Any code added here gets called
+# before an image profile is created.
+#
+# - kitimagepostgenerate(): Any code added here gets called
+# after an image profile is created.
+#
+# - Copy image profile (pcmcopyimageprofile) operation calls:
+# - kitimageprecopy(): Any code added here gets called
+# before an image profile is copied.
+#
+# - kitimagepostcopy(): Any code added here gets called
+# after an image profile is copied.
+#
+# - Update image profile (pcmupdateimageprofile) operation calls:
+# - kitimagepreupdate(): Any code added here gets called
+# before an image profile is updated.
+#
+# - kitimagepostupdate(): Any code added here gets called
+# after an image profile is updated.
+#
+# - Delete image profile (pcmdeleteimageprofile) operation calls:
+# - kitimagepredelete(): Any code added here gets called
+# before an image profile is deleted.
+#
+# - kitimagepostdelete(): Any code added here gets called
+# after an image profile is deleted.
+#
+#
+# How to create a new plugin for your kit?
+#
+# 1) Copy the sample plugin
+# % cp plugins/sample/imageprofile.pm plugins
+#
+# 2) Modify the sample plugin by implementing one or more of
+# the plugin commands above.
+#
+# Refer to each command's comments for command parameters
+# and return values.
+#
+# For details on how to write plugin code, refer to:
+# http://sourceforge.net/apps/mediawiki/xcat/index.php?title=XCAT_Developer_Guide
+#
+# 3) To test the plugin commands:
+# a) Search this file for lines that start with "TEST:" and follow the
+# instructions
+#
+# b) Refer to each command's comments for test steps.
+#
+# 4) After you finish the test, you can build the the kit.
+# Before building, search this file for lines that start with "BUILD:" and
+# follow the instructions.
+#
+# 5) Run buildkit as normal to build the kit.
+#
-# Global Variables
-
-# This is the full name of the kit which this plugin belongs
-# to. The kit name is used by some code in process_request()
-# to determine if the plugin should run. When you are testing
-# your plugin the kit name should be set to "TESTMODE" to
-# bypass the plugin check in process_request().
-
our ($PLUGIN_KITNAME);
+
+#TEST: UNCOMMENT the first line, and COMMENT OUT the second line.
+#BUILD: COMMENT OUT the first line, and UNCOMMENT the second line.
#$PLUGIN_KITNAME = "TESTMODE";
$PLUGIN_KITNAME = "<<>>";
@@ -56,9 +115,27 @@ $PLUGIN_KITNAME = "<<>>";
#-------------------------------------------------------
sub handled_commands {
+ #TEST: UNCOMMENT the first return, and COMMENT OUT the second return.
+ #BUILD: COMMENT OUT the first return, and UNCOMMENT the second return.
+ #return {
+ # kitimagepregenerate => 'imageprofile',
+ # kitimagepostgenerate => 'imageprofile',
+ # kitimageprecopy => 'imageprofile',
+ # kitimagepostcopy => 'imageprofile',
+ # kitimagepreupdate => 'imageprofile',
+ # kitimagepostupdate => 'imageprofile',
+ # kitimagepredelete => 'imageprofile',
+ # kitimagepostdelete => 'imageprofile',
+ #};
return {
- kitimagevalidatecomps => '<<>>_imageprofile',
- kitimageimport => '<<>>_imageprofile',
+ kitimagepregenerate => '<<>>_imageprofile',
+ kitimagepostgenerate => '<<>>_imageprofile',
+ kitimageprecopy => '<<>>_imageprofile',
+ kitimagepostcopy => '<<>>_imageprofile',
+ kitimagepreupdate => '<<>>_imageprofile',
+ kitimagepostupdate => '<<>>_imageprofile',
+ kitimagepredelete => '<<>>_imageprofile',
+ kitimagepostdelete => '<<>>_imageprofile',
};
}
@@ -76,33 +153,64 @@ sub handled_commands {
sub process_request {
my $request = shift;
my $callback = shift;
-
- # This kit plugin is passed the name of an image profile.
- # We need to determine which kits is used by this
- # image profile to decide if this plugin should run or not.
-
- my $imgprofilename = $request->{arg}->[0];
-
- my $kitdata = $request->{kitdata};
- if (! defined($kitdata)) {
- $kitdata = xCAT::KitPluginUtils->get_kits_used_by_image_profiles([$imgprofilename]);
- $request->{kitdata} = $kitdata;
- }
-
- if ($PLUGIN_KITNAME ne "TESTMODE" && ! exists($kitdata->{$PLUGIN_KITNAME})) {
- return;
- }
+ my $rsp;
# Name of command and node list
my $command = $request->{command}->[0];
my $args = $request->{arg};
- if($command eq 'kitimagevalidatecomps') {
- kitimagevalidatecomps($callback, $args);
- }
- elsif ($command eq 'kitimageimport') {
- kitimageimport($callback, $args);
+ # This kit plugin is passed the name of an image profile.
+ # Before running this plugin, we should check if the
+ # image profile is using the kit which this plugin belongs to.
+ if ($PLUGIN_KITNAME eq "TESTMODE") {
+ # Don't do the check in test mode
+ } elsif ($command eq 'kitimagepregenerate' || $command eq 'kitimageprecopy') {
+ # Also, don't do the check if the image profile doesn't yet exist
+ } else {
+ # Do the check
+ my $imageprofile = parse_str_arg($request->{arg}->[0]);
+
+ my $kitdata = $request->{kitdata};
+ if (! defined($kitdata)) {
+ $kitdata = xCAT::KitPluginUtils->get_kits_used_by_image_profiles([$imageprofile]);
+ $request->{kitdata} = $kitdata;
+ }
+
+ if (! exists($kitdata->{$PLUGIN_KITNAME})) {
+ # This image profile is not using this plugin's kit, so don't run the plugin.
+ $rsp->{data}->[0] = "Skipped running \"$command\" plugin command for \"$PLUGIN_KITNAME\" kit.";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+ return;
+ }
+ }
+
+
+ # Run the command
+
+ if($command eq 'kitimagepregenerate') {
+ kitimagepregenerate($callback, $args);
+ }
+ elsif ($command eq 'kitimagepostgenerate') {
+ kitimagepostgenerate($callback, $args);
+ }
+ elsif ($command eq 'kitimageprecopy') {
+ kitimageprecopy($callback, $args);
+ }
+ elsif ($command eq 'kitimagepostcopy') {
+ kitimagepostcopy($callback, $args);
+ }
+ elsif ($command eq 'kitimagepreupdate') {
+ kitimagepreupdate($callback, $args);
+ }
+ elsif ($command eq 'kitimagepostupdate') {
+ kitimagepostupdate($callback, $args);
+ }
+ elsif ($command eq 'kitimagepredelete') {
+ kitimagepredelete($callback, $args);
+ }
+ elsif ($command eq 'kitimagepostdelete') {
+ kitimagepostdelete($callback, $args);
} else {
my $rsp;
$rsp->{data}->[0] = "Command is not supported";
@@ -113,63 +221,524 @@ sub process_request {
#-------------------------------------------------------
-=head3 kitimagevalidatecomps
+=head3 kitimagepregenerate
- This command is called to validate new changes to an
- image profile's kit component list before the changes
- are committed.
+ This command is called before an image profile
+ is created with a specified set of parameters.
+
+ Command-line interface:
+ kitimagepregenerate imageprofile=""
+ osdistro=""
+ osdistroupdate=""
+ bootparams=""
+ ospkgs=""
+ custompkgs=""
+ kitcomponents=""
+ modules=""
+
+ Parameters:
+ $imageprofile : image profile name
+ $osdistro : os distro name
+ $osdistroupdate : os distro update name
+ $bootparams : boot params string
+ @ospkgs : list of ospkg names
+ @custompkgs : list of custompkg names
+ @kitcomponents : list of kit component names
+ @modules : list of module names
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclientnnr kitimagepregenerate
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitimagepregenerate
=cut
#-------------------------------------------------------
-sub kitimagevalidatecomps {
+sub kitimagepregenerate {
my $callback = shift;
my $args = shift;
my $rsp;
# Parameters
- my $imgprofilename = $args->[0];
- my $newcomplist = $args->[1];
- my @newcomplist = ();
- if (defined($newcomplist)) {
- @newcomplist = split(/,/, $newcomplist);
- }
- my $newosdistro = $args->[2];
- my $newosdistroupdate = $args->[3];
+ my $imageprofile = parse_str_arg(shift(@$args));
+ my $osdistro = parse_str_arg(shift(@$args));
+ my $osdistroupdate = parse_str_arg(shift(@$args));
+ my $bootparams = parse_str_arg(shift(@$args));
+ my @ospkgs = parse_list_arg(shift(@$args));
+ my @custompkgs = parse_list_arg(shift(@$args));
+ my @kitcomponents = parse_list_arg(shift(@$args));
+ my @modules = parse_list_arg(shift(@$args));
- $rsp->{data}->[0] = "Running kitimagevalidatecomps";
+ $rsp->{data}->[0] = "Running kitimagepregenerate ($PLUGIN_KITNAME) ...";
xCAT::MsgUtils->message("I", $rsp, $callback);
- # TODO
- # ... ADD YOUR CODE HERE
+ $rsp->{data}->[0] = "Image Profile: $imageprofile";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ # TODO: ADD YOUR CODE HERE
}
#-------------------------------------------------------
-=head3 kitimageimport
+=head3 kitimagepostgenerate
- This command is called after changes to an image profile
- have been committed.
+ This command is called after an image profile
+ is created.
+
+ Command-line interface:
+ kitimagepostgenerate imageprofile=""
+
+ Parameters:
+ $imageprofile : image profile name
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclientnnr kitimagepostgenerate
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitimagepostgenerate
=cut
#-------------------------------------------------------
-sub kitimageimport {
+sub kitimagepostgenerate {
my $callback = shift;
my $args = shift;
my $rsp;
# Parameters
- my $imgprofilename = $args->[0];
+ my $imageprofile = parse_str_arg(shift(@$args));
- $rsp->{data}->[0] = "Running kitimageimport";
+ $rsp->{data}->[0] = "Running kitimagepostgenerate ($PLUGIN_KITNAME) ...";
xCAT::MsgUtils->message("I", $rsp, $callback);
- # TODO
- # ... ADD YOUR CODE HERE
+ $rsp->{data}->[0] = "Image Profile: $imageprofile";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ # TODO: ADD YOUR CODE HERE
}
+#-------------------------------------------------------
+
+=head3 kitimageprecopy
+
+ This command is called before an image profile
+ is copied with a specified set of parameters.
+
+ Command-line interface:
+ kitimageprecopy imageprofile=""
+ osdistro=""
+ osdistroupdate=""
+ bootparams=""
+ ospkgs=""
+ custompkgs=""
+ kitcomponents=""
+ modules=""
+
+ Parameters:
+ $imageprofile : image profile name
+ $osdistro : os distro name
+ $osdistroupdate : os distro update name
+ $bootparams : boot params string
+ @ospkgs : list of ospkg names
+ @custompkgs : list of custompkg names
+ @kitcomponents : list of kit component names
+ @modules : list of module names
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclientnnr kitimageprecopy
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitimageprecopy
+
+=cut
+
+#-------------------------------------------------------
+
+sub kitimageprecopy {
+ my $callback = shift;
+ my $args = shift;
+ my $rsp;
+
+ # Parameters
+ my $imageprofile = parse_str_arg(shift(@$args));
+ my $osdistro = parse_str_arg(shift(@$args));
+ my $osdistroupdate = parse_str_arg(shift(@$args));
+ my $bootparams = parse_str_arg(shift(@$args));
+ my @ospkgs = parse_list_arg(shift(@$args));
+ my @custompkgs = parse_list_arg(shift(@$args));
+ my @kitcomponents = parse_list_arg(shift(@$args));
+ my @modules = parse_list_arg(shift(@$args));
+
+ $rsp->{data}->[0] = "Running kitimageprecopy ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Image Profile: $imageprofile";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ # TODO: ADD YOUR CODE HERE
+}
+
+
+#-------------------------------------------------------
+
+=head3 kitimagepostcopy
+
+ This command is called after an image profile
+ is copied.
+
+ Command-line interface:
+ kitimagepostcopy imageprofile=""
+
+ Parameters:
+ $imageprofile : image profile name
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclientnnr kitimagepostcopy
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitimagepostcopy
+
+=cut
+
+#-------------------------------------------------------
+
+sub kitimagepostcopy {
+ my $callback = shift;
+ my $args = shift;
+ my $rsp;
+
+ # Parameters
+ my $imageprofile = parse_str_arg(shift(@$args));
+
+ $rsp->{data}->[0] = "Running kitimagepostcopy ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Image Profile: $imageprofile";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ # TODO: ADD YOUR CODE HERE
+}
+
+
+#-------------------------------------------------------
+
+=head3 kitimagepreupdate
+
+ This command is called before an image profile
+ is updated with a specified set of parameters.
+
+ Command-line interface:
+ kitimagepreupdate imageprofile=""
+ osdistro=""
+ osdistroupdate=""
+ bootparams=""
+ ospkgs=""
+ custompkgs=""
+ kitcomponents=""
+ modules=""
+
+ Parameters:
+ $imageprofile : image profile name
+ $osdistro : os distro name
+ $osdistroupdate : os distro update name
+ $bootparams : boot params string
+ @ospkgs : list of ospkg names
+ @custompkgs : list of custompkg names
+ @kitcomponents : list of kit component names
+ @modules : list of module names
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclientnnr kitimagepreupdate
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitimagepreupdate
+
+=cut
+
+#-------------------------------------------------------
+
+sub kitimagepreupdate {
+ my $callback = shift;
+ my $args = shift;
+ my $rsp;
+
+ # Parameters
+ my $imageprofile = parse_str_arg(shift(@$args));
+ my $osdistro = parse_str_arg(shift(@$args));
+ my $osdistroupdate = parse_str_arg(shift(@$args));
+ my $bootparams = parse_str_arg(shift(@$args));
+ my @ospkgs = parse_list_arg(shift(@$args));
+ my @custompkgs = parse_list_arg(shift(@$args));
+ my @kitcomponents = parse_list_arg(shift(@$args));
+ my @modules = parse_list_arg(shift(@$args));
+
+ $rsp->{data}->[0] = "Running kitimagepreupdate ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Image Profile: $imageprofile";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ # TODO: ADD YOUR CODE HERE
+}
+
+
+#-------------------------------------------------------
+
+=head3 kitimagepostupdate
+
+ This command is called after an image profile
+ is updated.
+
+ Command-line interface:
+ kitimagepostupdate imageprofile=""
+
+ Parameters:
+ $imageprofile : image profile name
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclientnnr kitimagepostupdate
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitimagepostupdate
+
+=cut
+
+#-------------------------------------------------------
+
+sub kitimagepostupdate {
+ my $callback = shift;
+ my $args = shift;
+ my $rsp;
+
+ # Parameters
+ my $imageprofile = parse_str_arg(shift(@$args));
+
+ $rsp->{data}->[0] = "Running kitimagepostupdate ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Image Profile: $imageprofile";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ # TODO: ADD YOUR CODE HERE
+}
+
+#-------------------------------------------------------
+
+=head3 kitimagepredelete
+
+ This command is called before an image profile
+ is deleted.
+
+ Command-line interface:
+ kitimagepredelete imageprofile=""
+
+ Parameters:
+ $imageprofile : image profile name
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclientnnr kitimagepredelete
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitimagepredelete
+
+=cut
+
+#-------------------------------------------------------
+
+sub kitimagepredelete {
+ my $callback = shift;
+ my $args = shift;
+ my $rsp;
+
+ # Parameters
+ my $imageprofile = parse_str_arg(shift(@$args));
+
+ $rsp->{data}->[0] = "Running kitimagepredelete ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Image Profile: $imageprofile";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ # TODO: ADD YOUR CODE HERE
+}
+
+
+#-------------------------------------------------------
+
+=head3 kitimagepostdelete
+
+ This command is called after an image profile
+ is deleted.
+
+ Command-line interface:
+ kitimagepostdelete imageprofile=""
+
+ Parameters:
+ $imageprofile : image profile name
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclientnnr kitimagepostdelete
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitimagepostdelete
+
+=cut
+
+#-------------------------------------------------------
+
+sub kitimagepostdelete {
+ my $callback = shift;
+ my $args = shift;
+ my $rsp;
+
+ # Parameters
+ my $imageprofile = parse_str_arg(shift(@$args));
+
+ $rsp->{data}->[0] = "Running kitimagepostdelete ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Image Profile: $imageprofile";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ # TODO: ADD YOUR CODE HERE
+}
+
+
+
+#-------------------------------------------------------
+
+=head3 parse_str_arg
+
+ Utility function to extract the string value of an
+ argument in this format:
+ PARAM=string1
+
+ Returns a string:
+ 'string1'
+=cut
+
+#-------------------------------------------------------
+sub parse_str_arg {
+
+ my $arg = shift;
+ my $result;
+
+ if (!defined($arg)) {
+ return $arg;
+ }
+
+ $arg =~ s/.*?=//;
+ $result = $arg;
+
+ return $result;
+
+}
+
+
+#-------------------------------------------------------
+
+=head3 parse_list_arg
+
+ Utility function to extract the list of values of
+ an argument in this format:
+ PARAM=value1,value2,value3
+
+ Returns a list of values:
+ ('value1', 'value2', 'value3')
+
+=cut
+
+#-------------------------------------------------------
+sub parse_list_arg {
+
+ my $arg = shift;
+ my @result;
+
+ if (!defined($arg)) {
+ return $arg;
+ }
+
+ $arg =~ s/.*?=//;
+ @result = split(/,/, $arg);
+
+ return @result;
+
+}
+
diff --git a/xCAT-buildkit/share/xcat/kits/kit_template/plugins/sample/nodemgmt.pm b/xCAT-buildkit/share/xcat/kits/kit_template/plugins/sample/nodemgmt.pm
index 1eb766eb7..f8d03f69b 100644
--- a/xCAT-buildkit/share/xcat/kits/kit_template/plugins/sample/nodemgmt.pm
+++ b/xCAT-buildkit/share/xcat/kits/kit_template/plugins/sample/nodemgmt.pm
@@ -1,3 +1,8 @@
+# IBM(c) 2012 EPL license http://www.eclipse.org/legal/epl-v10.html
+
+#TEST: UNCOMMENT the first line, and COMMENT OUT the second line.
+#BUILD: COMMENT OUT the first line, and UNCOMMENT the second line.
+#package xCAT_plugin::nodemgmt;
package xCAT_plugin::<<>>_nodemgmt;
use strict;
@@ -7,25 +12,70 @@ require xCAT::Utils;
require xCAT::Table;
require xCAT::KitPluginUtils;
-# buildkit Processing
-# In order to avoid collisions with other plugins, the package
-# name for this plugin must contain the full kit name.
-# The buildkit buildtar command will copy this file from your plugins
-# directory to the the kit build directory, renaming the file with the
-# correct kit name. All strings in this file of the form
-# <<>>
-# will be replaced with the full kit name. In order for buildkit to
-# correctly edit this file, do not remove these strings.
+use Data::Dumper;
-# Global Variables
-# This is the full name of the kit which this plugin belongs
-# to. The kit name is used by some code in process_request()
-# to determine if the plugin should run. When you are testing
-# your plugin the kit name should be set to "TESTMODE" to
-# bypass the plugin check in process_request().
+#
+# KIT PLUGIN FOR NODE MANAGEMENT
+# ==============================
+# What is this plugin used for?
+# This is an xCAT Perl plugin that lets you add custom code
+# which gets called during certain node management operations.
+#
+#
+# What node management operations automatically call this plugin?
+#
+# - Import node (nodeimport) / Discover node (findme) operations call:
+# - kitnodeadd(): Any code added here gets called after
+# one or more nodes are added to the cluster.
+#
+# - Remove node (nodepurge) operation calls:
+# - kitnoderemove(): Any code added here gets called after
+# one or more nodes are removed from the cluster.
+#
+# - Update node's profiles (kitnodeupdate) / Update node's MAC (nodechmac)
+# operations call:
+# - kitnodeupdate(): Any code added here gets called after
+# a node's profile(s) or MAC address changes
+#
+# - Refresh node's configuration files (noderefresh) / Re-generate IPs
+# for nodes (noderegenips) operations call:
+# - kitnoderefresh(): Any code added here gets called when
+# node config files need to be regenerated.
+#
+#
+# How to create a new plugin for your kit?
+#
+# 1) Copy the sample plugin
+# % cp plugins/sample/nodemgmt.pm plugins
+#
+# 2) Modify the sample plugin by implementing one or more of
+# the plugin commands above.
+#
+# Refer to each command's comments for command parameters
+# and return values.
+#
+# For details on how to write plugin code, refer to:
+# http://sourceforge.net/apps/mediawiki/xcat/index.php?title=XCAT_Developer_Guide
+#
+# 3) To test the plugin commands:
+# a) Search this file for lines that start with "TEST:" and follow the
+# instructions
+#
+# b) Refer to each command's comments for test steps.
+#
+# 4) After you finish the test, you can build the kit with your new plugin.
+# Before building, search this file for lines that start with "BUILD:" and
+# follow the instructions.
+#
+# 5) Run buildkit as normal to build the kit.
+#
+
our ($PLUGIN_KITNAME);
+
+#TEST: UNCOMMENT the first line, and COMMENT OUT the second line.
+#BUILD: COMMENT OUT the first line, and UNCOMMENT the second line.
#$PLUGIN_KITNAME = "TESTMODE";
$PLUGIN_KITNAME = "<<>>";
@@ -54,12 +104,19 @@ $PLUGIN_KITNAME = "<<>>";
#-------------------------------------------------------
sub handled_commands {
+ #TEST: UNCOMMENT the first return, and COMMENT OUT the second return.
+ #BUILD: COMMENT OUT the first return, and UNCOMMENT the second return.
+ #return {
+ # kitnodeadd => 'nodemgmt',
+ # kitnoderemove => 'nodemgmt',
+ # kitnodeupdate => 'nodemgmt',
+ # kitnoderefresh => 'nodemgmt',
+ #};
return {
kitnodeadd => '<<>>_nodemgmt',
kitnoderemove => '<<>>_nodemgmt',
kitnodeupdate => '<<>>_nodemgmt',
kitnoderefresh => '<<>>_nodemgmt',
- kitnodefinished => '<<>>_nodemgmt',
};
}
@@ -77,43 +134,52 @@ sub handled_commands {
sub process_request {
my $request = shift;
my $callback = shift;
+ my $rsp;
# Name of command and node list
my $command = $request->{command}->[0];
my $nodes = $request->{node};
# This kit plugin is passed a list of node names.
- # We need to determine which kits are used by these
- # nodes to decide if this plugin should run or not.
+ # Before running this plugin, we should check which
+ # nodes are using the kit which this plugin belongs to,
+ # and run the plugin only on these nodes.
- my $kitdata = $request->{kitdata};
- if (! defined($kitdata)) {
- $kitdata = xCAT::KitPluginUtils->get_kits_used_by_nodes($nodes);
- $request->{kitdata} = $kitdata;
+ my $nodes2;
+
+ if ($PLUGIN_KITNAME eq "TESTMODE") {
+ # Don't do the check in test mode
+ $nodes2 = $nodes;
+ } else {
+ # Do the check
+ my $kitdata = $request->{kitdata};
+ if (! defined($kitdata)) {
+ $kitdata = xCAT::KitPluginUtils->get_kits_used_by_nodes($nodes);
+ $request->{kitdata} = $kitdata;
+ }
+
+ if (! exists($kitdata->{$PLUGIN_KITNAME})) {
+ # None of the nodes are using this plugin's kit, so don't run the plugin.
+ $rsp->{data}->[0] = "Skipped running \"$command\" plugin command for \"$PLUGIN_KITNAME\" kit.";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+ return;
+ }
+ $nodes2 = $kitdata->{$PLUGIN_KITNAME};
}
- if ($PLUGIN_KITNAME ne "TESTMODE" && ! exists($kitdata->{$PLUGIN_KITNAME})) {
- return;
- }
-
- # Get the nodes using this plugin's kit
- $nodes = $kitdata->{$PLUGIN_KITNAME};
-
+ # Run the command
if($command eq 'kitnodeadd') {
- kitnodeadd($callback, $nodes);
+ kitnodeadd($callback, $nodes2);
}
elsif ($command eq 'kitnoderemove') {
- kitnoderemove($callback, $nodes);
+ kitnoderemove($callback, $nodes2);
}
elsif ($command eq 'kitnodeupdate') {
- kitnodeupdate($callback, $nodes);
+ kitnodeupdate($callback, $nodes2);
}
elsif ($command eq 'kitnoderefresh') {
- kitnoderefresh($callback, $nodes);
- }
- elsif ($command eq 'kitnodefinished') {
- kitnodefinished($callback);
+ kitnoderefresh($callback, $nodes2);
} else {
my $rsp;
@@ -130,6 +196,27 @@ sub process_request {
This command is called when one or more nodes are added
to the cluster.
+ Command-line interface:
+ kitnodeadd
+
+ Parameters:
+ $nodes: list of nodes
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclient kitnodeadd
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitnodeadd
+
=cut
#-------------------------------------------------------
@@ -141,11 +228,15 @@ sub kitnodeadd {
# Parameters
my $nodes = shift;
- $rsp->{data}->[0] = "Running kitnodeadd";
+ $rsp->{data}->[0] = "Running kitnodeadd ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Nodes: @$nodes";
xCAT::MsgUtils->message("I", $rsp, $callback);
# TODO
# ... ADD YOUR CODE HERE
+ #
}
@@ -156,6 +247,27 @@ sub kitnodeadd {
This command is called when one or more nodes are
removed from the cluster.
+ Command-line interface:
+ kitnoderemove
+
+ Parameters:
+ $nodes: list of nodes
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclient kitnoderemove
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitnoderemove
+
=cut
#-------------------------------------------------------
@@ -167,11 +279,15 @@ sub kitnoderemove {
# Parameters
my $nodes = shift;
- $rsp->{data}->[0] = "Running kitnoderemove";
+ $rsp->{data}->[0] = "Running kitnoderemove ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Nodes: @$nodes";
xCAT::MsgUtils->message("I", $rsp, $callback);
# TODO
# ... ADD YOUR CODE HERE
+ #
}
@@ -182,6 +298,27 @@ sub kitnoderemove {
This command is called when the configuration of one
or more nodes are updated.
+ Command-line interface:
+ kitnodeupdate
+
+ Parameters:
+ $nodes: list of nodes
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclient kitnodeupdate
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitnodeupdate
+
=cut
#-------------------------------------------------------
@@ -193,11 +330,15 @@ sub kitnodeupdate {
# Parameters
my $nodes = shift;
- $rsp->{data}->[0] = "Running kitnodeupdate";
+ $rsp->{data}->[0] = "Running kitnodeupdate ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Nodes: @$nodes";
xCAT::MsgUtils->message("I", $rsp, $callback);
# TODO
# ... ADD YOUR CODE HERE
+ #
}
@@ -205,8 +346,29 @@ sub kitnodeupdate {
=head3 kitnoderefresh
- This command is called when node-related configuration
- files are updated.
+ This command is called to refresh node-related configuration
+ files.
+
+ Command-line interface:
+ kitnoderefresh
+
+ Parameters:
+ $nodes: list of nodes
+
+ Return value:
+ Info/Debug messages should be returned like so:
+ $rsp->{data}->[0] = "Info messsage";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ Errors should be returned like so:
+ $rsp->{data}->[0] = "Error messsage";
+ xCAT::MsgUtils->message("E", $rsp, $callback);
+
+ Test Steps:
+ # cd /opt/xcat/bin
+ # ln -s xcatclient kitnoderefresh
+ # cd -
+ # XCATBYPASS=/path/to/this/plugin kitnoderefresh
=cut
@@ -219,33 +381,14 @@ sub kitnoderefresh {
# Parameters
my $nodes = shift;
- $rsp->{data}->[0] = "Running kitnoderefresh";
- xCAT::MsgUtils->message("I", $rsp, $callback);
-
- # TODO
- # ... ADD YOUR CODE HERE
-}
-
-
-#-------------------------------------------------------
-
-=head3 kitnodefinished
-
- This command is called at the end of a node management
- operation.
-
-=cut
-
-#-------------------------------------------------------
-
-sub kitnodefinished {
- my $callback = shift;
- my $rsp;
-
- $rsp->{data}->[0] = "Running kitnodefinished";
+ $rsp->{data}->[0] = "Running kitnoderefresh ($PLUGIN_KITNAME) ...";
+ xCAT::MsgUtils->message("I", $rsp, $callback);
+
+ $rsp->{data}->[0] = "Nodes: @$nodes";
xCAT::MsgUtils->message("I", $rsp, $callback);
# TODO
# ... ADD YOUR CODE HERE
+ #
}