In this post, I want to show a simple usage of the PowerVM Provisioning toolkit from IBM Systems Lab Services.

I will use it to build AIX partitions. I hope to give you a good idea of how it’s working.

Introduction

The toolkit is capable to do a lot of things. In this post, I will do one of the easiest one : a partition creation.

You should see the toolkit like a Domain Specific language to build partitions. This language permit to define complex AIX, VIOS or Linux partitions configuration easily. It’s not making assumptions on how you should build your partition. Letting you follow your build conventions.

In my example, I will build a simple partition. What I would like to show is how the toolkit allow me to specify every details of my partition.

Note : another topic covered by the toolkit would be the capture of existing partitions, to deploy them again on the same or another frame. Maybe I will do it next time ;)

Toolkit installation

The toolkit is easy to install. It’s only a ZIP file to uncompress.

I choose to install it on my NIM server nimlab. I will extract it in /depot/APVMToolkit :

NIM : /depot/APVMToolkit # unzip APVMToolkit_v3.26.zip
Archive:  APVMToolkit_v3.26.zip
  inflating: build_files.gif
  inflating: build_overview.gif
  inflating: build_profilemanager.gif
  inflating: buildframe.gif
  inflating: capture_files.gif
  inflating: captureframe.gif
  inflating: config_files.gif
  inflating: createframe.gif
  inflating: managedsystem_files.gif
  inflating: overview.gif
  inflating: partition_files.gif
  inflating: PowerVMToolkitOverview.gif
  inflating: summary_files.gif
  inflating: syssnap_files.gif
  inflating: PowerVMToolkit_UI_v.3.15.html
  inflating: AdvancedPowerVMToolkitUIv3.15.jar
  inflating: captureframe.ksh.v3.13
  inflating: createframe.ksh.v3.12
  inflating: PowerVMToolkit_CaptureCreate_v3.13.html
  inflating: buildframe.ksh.v3.25.3
  inflating: PowerVMToolkit_Build_v3.25.3.html

The archive contains html files. Each of this file contains the tool’s documentation in wiki format(it uses TiddlyWiki).

Then we create folders for configuration files and build files :

mkdir build_profiles
mkdir config_files

The last thing to do is to create the work_area folder which will be used to store temporary files and give execute permissions on buildframe.ksh.v3.25.3 script :

mkdir work_area
chmod u+x buildframe.ksh.v3.25.3

Toolkit usage

The toolkit syntax to build a partition is like that :

buildframe.ksh  -p  [build profile] -c [configuration file] -f [action]

It’s a toolkit so it’s possible to use it in different ways. Here I choose to have one configuration file containing all things i want to be capable to change when building a partition and one build profile containing everything i want to be sure will be performed in the same way when creating a partition.

The build profile is using the variables defined in the configuration file.

Configuration file

You can use any naming convention you want for your variables. You only need to use the same variable name in the configuration file and the build profile.

A variable definition follow this rule :

(variablename)=value

Below is the configuration file i will use with all the parameters i think are susceptible to change from one build to another.

# hmc hostname and user
(BUILDHMC)=hmc-lab1

# server name like seen by the HMC
(SERVERNAME)=p750A

# vio servers to use on the system
(VIO1)=P750A-vios1
(VIO2)=P750A-vios2

# partition name
(CLIENT_LPARNAME)=adxlpar1

# hdisk name to use on each VIO for VSCSI mapping
(VIOS1_HDISK)=hdisk9
(VIOS2_HDISK)=hdisk9

# partition ip configuration
(CLIENT_IP)=10.0.0.10
(CLIENT_NM)=255.255.255.0
(CLIENT_GW)=10.0.0.254
(CLIENT_VLAN)=431

# partition memory configuration
(MINMEM)=2048
(DESMEM)=2048
(MAXMEM)=4096

# partition processing units configuration
(MINPROCU)=0.1
(DESPROCU)=0.1
(MAXPROCU)=4.0

# partition processors configuration
(MINPROC)=1
(DESPROC)=1
(MAXPROC)=4

# NIM oslevel used for NIM installation
(NIM_OSLEVEL)=AIX71TL3SP3

# NIM server IP address
(NIM_IP)=10.0.0.5

Build profile

It’s also possible to define variables in the build profile. Like said before, the way you use the toolkit is up to you.

Variables in the build profile are defined like that :

VARIABLES (variablename)=value

You can use variables anywhere in the build profile. Only put the variable name between parenthesis :

(variablename)

Here I will only define variables for things I think will not change between builds in my environment :

#
# VARIABLES
#

# HMC user
VARIABLES      (HMCUSER)=hscroot

# NIM informations
VARIABLES      (NIMSPEED)=auto
VARIABLES      (NIMDUPLEX)=auto
VARIABLES      (NIMPORTCLIENT)=NA

# AIX hostname equals lparname
VARIABLES      (client_hostname)=(CLIENT_LPARNAME)

# all profiles are named "normal"
VARIABLES      (VIO_PROFILE)=normal
VARIABLES      (CLIENT_PROFILE)=(VIO_PROFILE)

Now we can start the build part. We will define operations at global level first :

#
# GLOBAL
#

# server where to build the partition with HMC connections informations.
SERVERINFO     servername=(SERVERNAME),buildhmc=(BUILDHMC),builduser=(HMCUSER)

# We will explicitly specify LUNs to be mapped by their hdiskname known at the VIO servers.
VSCSIRESOLVE   method=hdiskname

# We apply a set of attributes to the mapped LUNs.
DISKATTR       diskattrid=V7K,reserve_policy=no_reserve

A nice thing here is we can specify disk attributes like scsi reservation policy and queue depth to apply on our disks before vscsi mapping.

Next we will specify the operations to perform on the first VIO :

#
# VIO1
#

# vio where we will perform the actions.
VIO            hostname=(VIO1),profilename=(VIO_PROFILE)

# By convention, we create in VIO1, for the (CLIENT_LPARNAME) client, a client vscsi adapter in slot 16.
# We let the server-side slot number be auto generated.
VSCSIGEN       mapping=16:auto,partitions=(CLIENT_LPARNAME)

# We want to map to that same client vscsi adapter three different LUNs, all explicitly known.
# Each LUN gets a VTD name defined by (CLIENT_LPARNAME)_000, _001, _002.
# The disk size in the LUN info is set to NA since we are specifying hdiskname.
# We will apply the disk attribute (DISKATTR) set 'EMC' to each mapped LUN.
VSCSIMAP       clientinfo=16-(CLIENT_LPARNAME)>(CLIENT_LPARNAME)_000-NA-V7K-hdiskpower144

It’s almost the same thing for VIO2, we are only changing the slot number to 17.

#
# VIO2
#

# vio where we will perform the actions.
VIO            hostname=(VIO2),profilename=(VIO_PROFILE)

# By convention, we create in VIO2, for the (CLIENT_LPARNAME) client, a client vscsi adapter in slot 17.
# We let the server-side slot number be auto generated.
VSCSIGEN       mapping=17:auto,partitions=(CLIENT_LPARNAME)

# See VSCSIMAP comments from VIO1 stanza.
VSCSIMAP       clientinfo=17-(CLIENT_LPARNAME)>(CLIENT_LPARNAME)_000-NA-V7K-hdisk9

Tips: it’s completely possible to change the disk names between vios if you have differences between VIOS.

And last we will define the partition itself.

#
# PARTITION
#

# create a virtual adapter in slot 2 using CLIENT_VLAN
VETHMAP        clientslot=2,vlan=(CLIENT_VLAN),partitions=(CLIENT_LPARNAME)

# NIM boot image information via BOSINST
BOSINST      bosinstid=(NIM_OSLEVEL),source=rte,lpp_source=lpp_(NIM_OSLEVEL),spot=spot_(NIM_OSLEVEL),bosinst_data=bosinst_data_(NIM_OSLEVEL),accept_licenses=yes,boot_client=no

# partition general parameters
PARTITIONDEF partitiondefid=partdef,sharing_mode=uncap,uncap_weight=128,max_virtual_slots=20,allow_perf_collection=1,all_resources=0,conn_monitoring=1

# partition definition
PARTITION      name=(CLIENT_LPARNAME),profile_name=(CLIENT_PROFILE),lpar_env=aixlinux,min_mem=(MINMEM),desired_mem=(DESMEM),max_mem=(MAXMEM),bosinstid=(OSLEVEL),lpar_netboot=(NIMIP),(client_hostname),(CLIENT_IP),(CLIENT_NM),(CLIENT_GW),(NIMPORTCLIENT),(NIMSPEED),(NIMDUPLEX),10,proc_mode=shared,min_proc_units=(MINPROCU),desired_proc_units=(DESPROCU),max_proc_units=(MAXPROCU),min_procs=(MINPROC),desired_procs=(DESPROC),max_procs=(MAXPROC),partitiondefid=partdef

Build partition

From here it would be possible to build the partition and start the NIM installation automatically by running this command :

$ ./buildframe.ksh.v3.25.3  -p  single_lpar.build  -f  build  -c  adxlpar1.cfg  -n

But it’s more interesting to show step by step what the toolkit is doing.

Validation

The buildframe script from the toolkit has a validation step. You can run it to check if your configuration is valid :

$ ./buildframe.ksh.v3.25.3  -p  single_lpar.build  -f  validate  -c  adxlpar1.cfg  -n
invoked with noprompt option
150506183627 Start of buildframe DATE: (150506183627) VERSION: v3.25.3
150506183627        profile: single_lpar.build
150506183627      operation: FRAMEvalidate
150506183627 partition list:
150506183627   program name: buildframe.ksh.v3.25.3
150506183627    install dir: /depot/APVMToolkit
150506183627    post script:
150506183627          DEBUG: 0
150506183627         run ID: 150506183627
150506183627       log file: work_area/150506183627_single_lpar.build.log
150506183627 loading configuration file: config_files/adxlpar1.cfg
150506183627 Processing VARIABLES
150506183630     adding configuration file variable: (BUILDHMC) value: hmc-lab1
150506183630     adding configuration file variable: (SERVERNAME) value: p750A
150506183630     adding configuration file variable: (VIO1) value: P750A-vios1
150506183630     adding configuration file variable: (VIO2) value: P750A-vios2
150506183630     adding configuration file variable: (CLIENT_LPARNAME) value: adxlpar1
150506183630     adding configuration file variable: (CLIENT_IP) value: 10.0.0.10
150506183630     adding configuration file variable: (CLIENT_NM) value: 255.255.255.0
150506183630     adding configuration file variable: (CLIENT_GW) value: 10.0.0.254
150506183630     adding configuration file variable: (CLIENT_VLAN) value: 1
150506183630     adding configuration file variable: (MINMEM) value: 2048
150506183630     adding configuration file variable: (DESMEM) value: 2048
150506183630     adding configuration file variable: (MAXMEM) value: 4096
150506183631     adding configuration file variable: (MINPROCU) value: 0.1
150506183631     adding configuration file variable: (DESPROCU) value: 0.1
150506183631     adding configuration file variable: (MAXPROCU) value: 4.0
150506183631     adding configuration file variable: (MINPROC) value: 1
150506183631     adding configuration file variable: (DESPROC) value: 1
150506183631     adding configuration file variable: (MAXPROC) value: 4
150506183631     adding configuration file variable: (NIM_OSLEVEL) value: AIX71TL3SP3
150506183631     adding configuration file variable: (NIM_IP) value: 10.0.0.5
150506183634 Substitute VARIABLES
150506183634 Processing definition file
150506183635       buildhmc: hmc-lab1
150506183635      builduser: hscroot
150506183635 managed system: p750A
150506183635     nimcommand:
150506183635    nimfilecopy:
150506183635 Checking PARTITIONS
150506183635         lpar_netboot: 10.0.0.5,adxlpar1,10.0.0.10,255.255.255.0,10.0.0.1,NA,auto,auto,10
150506183636            bosinstid: AIX71TL3SP3
adxlpar1 is 10.0.0.10
150506183636             bos_inst: source=rte,lpp_source=lpp_AIX71TL3SP3,spot=spot_AIX71TL3SP3,bosinst_data=bosinst_data_AIX71TL3SP3,accept_licenses=yes,boot_client=no
150506183637 Checking VFCGEN
150506183637 Checking VSCSIGEN
150506183638     P750A-vios1 11 <--> 16 adxlpar1 required=NO
150506183639     P750A-vios2 12 <--> 17 adxlpar1 required=NO
150506183639 Checking NETWORK
150506183640 Checking VETHMAP
150506183640        partition=adxlpar1 clientslot=2 vlan=1 vswitch=ETHERNET0 required=NO
150506183640 Checking IOSLOTS
150506183640 Checking HEA
150506183640 Checking SHAREDPP
150506183640 Checking VSWITCH
150506183640 buildframe is done with return code 0

Carve partition

Here we only want to create the partition itself on the system.

I skipped some of the output. It’s like in the Validation step.

buildframe.ksh.v3.25.3  -p  single_lpar.build  -f  carve  -c  adxlpar1.cfg  -n
...
150506184625 Checking PARTITIONS
150506184625       partition: adxlpar1 partitiondefid: partdef info: sharing_mode=uncap,uncap_weight=128,max_virtual_slots=20,allow_perf_collection=1,all_resources=0,conn_monitoring=1
150506184627 Checking VFCGEN
150506184627 Checking VSCSIGEN
150506184628     P750A-vios1 11 <--> 16 adxlpar1 required=NO
150506184629     P750A-vios2 12 <--> 17 adxlpar1 required=NO
150506184629 Checking NETWORK
150506184629 Checking VETHMAP
150506184629        partition=adxlpar1 clientslot=2 vlan=1 vswitch=ETHERNET0 required=NO
150506184629 Checking IOSLOTS
150506184629 Checking HEA
150506184629 Checking SHAREDPP
150506184629 Checking VSWITCH
150506184629 Creating partitions
150506184629                 --> adxlpar1
150506184632 Dynamically adding VSCSI devices to VIO servers
150506184632     P750A-vios1 11 <--> 16 adxlpar1
150506184635     P750A-vios2 12 <--> 17 adxlpar1
150506184638 Saving VIO partition profiles
150506184643 buildframe is done with return code 0

VSCSI mapping

Here I am using disk name to perform the VSCSI mapping, i could have used the pvid or lun size for it but it felt more natural to me to use the disk name.

buildframe.ksh.v3.25.3  -p  single_lpar.build  -f  vscsimap  -c  adxlpar1.cfg  -n
...
150506192915 Substitute VARIABLES
150506192915 Processing definition file
150506192916       buildhmc: hmc-lab1
150506192916      builduser: hscroot
150506192916 managed system: p750A
150506192916     nimcommand:
150506192916    nimfilecopy:
150506192916      Collect VSCSI slot information VIO --> P750A-vios1
150506192917      Collect VSCSI slot information VIO --> P750A-vios2
150506192917   Process VSCSIMAP slot information VIO --> P750A-vios1
150506192917   Process VSCSIMAP slot information VIO --> P750A-vios2
150506192924              Query disk information VIO --> P750A-vios1
150506192935              Query disk information VIO --> P750A-vios2
150506192939       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A604214503IBMfcp,lunsize=4096,pvid=NA,P750A-vios1=hdisk8,P750A-vios2=hdisk8
150506192939       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A104214503IBMfcp,lunsize=102400,pvid=NA,P750A-vios1=hdisk3,P750A-vios2=hdisk3
150506192939       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A204214503IBMfcp,lunsize=102400,pvid=NA,P750A-vios1=hdisk4,P750A-vios2=hdisk4
150506192939       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A304214503IBMfcp,lunsize=102400,pvid=NA,P750A-vios1=hdisk5,P750A-vios2=hdisk5
150506192939       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A404214503IBMfcp,lunsize=102400,pvid=NA,P750A-vios1=hdisk6,P750A-vios2=hdisk6
150506192939       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000AC04214503IBMfcp,lunsize=20480,pvid=NA,P750A-vios1=hdisk9,P750A-vios2=hdisk9
150506192939 Processing the following VIO: P750A-vios1
150506192939 Processing the following VIO: P750A-vios2
150506192940 VIO: P750A-vios1
150506192941    VIO: P750A-vios1 partition: adxlpar1 adapter: vhost4 requestedSize: 20480 actualSize: 20480 device: hdisk9 vtd: adxlpar1_000 diskattr: reserve_policy=no_reserve
150506192941 VIO: P750A-vios2
150506192942    VIO: P750A-vios2 partition: adxlpar1 adapter: vhost4 requestedSize: 20480 actualSize: 20480 device: hdisk9 vtd: adxlpar1_000 diskattr: reserve_policy=no_reserve
150506192948 Assign disks to partitions
150506192949      set --> hdisk9 VIO: P750A-vios1 attributes: reserve_policy=no_reserve
150506192949   assign --> hdisk9 VIO: P750A-vios1 partition: adxlpar1(vhost4)
150506192950      set --> hdisk9 VIO: P750A-vios2 attributes: reserve_policy=no_reserve
150506192951   assign --> hdisk9 VIO: P750A-vios2 partition: adxlpar1(vhost4)
150506192952 buildframe is done with return code 0

You can notice in the logs, it’s checking only unused hdisks.

NIM installation

The last part is to use my NIM server to perform the installation.

buildframe.ksh.v3.25.3  -p  single_lpar.build  -f  nim  -c  adxlpar1.cfg  -n
...
150507122508 Substitute VARIABLES
150507122508 Processing definition file
150507122508       buildhmc: hmc-lab1
150507122508      builduser: hscroot
150507122508 managed system: p750A
150507122508     nimcommand:
150507122508    nimfilecopy:
150507122509 Checking PARTITIONS
150507122509       partition: adxlpar1 partitiondefid: partdef info: sharing_mode=uncap,uncap_weight=128,max_virtual_slots=20,allow_perf_collection=1,all_resources=0,conn_monitoring=1
150507122509         lpar_netboot: 10.0.0.5,adxlpar1,10.0.0.10,255.255.255.0,10.0.0.1,NA,auto,auto,10
150507122509            bosinstid: AIX71TL3SP3
150507122510             bos_inst: source=rte,lpp_source=AI71-TL3SP3,spot=spot-aix71-TL3SP3,bosinst_data=bosinst_AIX71,accept_licenses=yes,boot_client=no
150507122510 Configuring NIM for partitions
150507122546 Executing--> lpar_netboot -E LPAR_NETBOOT_ADD_TIMEOUT=10  -K 255.255.255.0 -f -A -t ent -T off -D -s auto -d auto -S 10.0.0.5 -G 10.0.0.1 -C 10.0.0.10 adxlpar1 normal p750A
150507122655 buildframe is done with return code 0

You can see the lpar_netboot command used in the logs.

Building another partition

The good thing about using a provisioning tool is the reuse part. If i want to build a new partition adxlpar2 on another system p750B. The only thing i need to change is my configuration file. I will name it adxlpar2.cfg :

# hmc hostname and user
(BUILDHMC)=hmc-lab1

# server name like seen by the HMC
(SERVERNAME)=p750B

# vio servers to use on the system
(VIO1)=P750B-vios1
(VIO2)=P750B-vios2

# partition name
(CLIENT_LPARNAME)=adxlpar2

# hdisk to use in VSCSI mapping
(VIOS1_HDISK)=hdisk10
(VIOS2_HDISK)=hdisk10

# partition ip configuration
(CLIENT_IP)=10.0.0.11
(CLIENT_NM)=255.255.255.0
(CLIENT_GW)=10.0.0.1
(CLIENT_VLAN)=1

# partition memory configuration
(MINMEM)=2048
(DESMEM)=2048
(MAXMEM)=4096

# partition processing units configuration
(MINPROCU)=0.1
(DESPROCU)=0.1
(MAXPROCU)=4.0

# partition processors configuration
(MINPROC)=1
(DESPROC)=1
(MAXPROC)=4

# NIM oslevel used for NIM installation
(NIM_OSLEVEL)=AIX71TL3SP3

# NIM server IP address
(NIM_IP)=10.0.0.5

And now i will build my partition with the build command :

Connecting to: nimlab
build profile: single_lpar.build
Transferring build profile to: /depot/APVMToolkit/build_profiles/single_lpar.build
config file: adxlpar2.cfg
Transferring config file to: /depot/APVMToolkit/config_files/adxlpar2.cfg
Begin execution as user root
buildframe.ksh.v3.25.3  -p  single_lpar.build  -f  build  -c  adxlpar2.cfg  -n
invoked with noprompt option
150507154710 Start of buildframe DATE: (150507154710) VERSION: v3.25.3
150507154710        profile: single_lpar.build
150507154710      operation: FRAMEbuild
150507154710 partition list:
150507154710   program name: buildframe.ksh.v3.25.3
150507154710    install dir: /depot/APVMToolkit
150507154710    post script:
150507154710          DEBUG: 0
150507154710         run ID: 150507154710
150507154710       log file: work_area/150507154710_single_lpar.build.log
150507154710 loading configuration file: config_files/adxlpar2.cfg
150507154711 Processing VARIABLES
150507154713     adding configuration file variable: (BUILDHMC) value: hmc-lab1
150507154713     adding configuration file variable: (SERVERNAME) value: p750B
150507154714     adding configuration file variable: (VIO1) value: P750B-vios1
150507154714     adding configuration file variable: (VIO2) value: P750B-vios2
150507154714     adding configuration file variable: (CLIENT_LPARNAME) value: adxlpar2
150507154714     adding configuration file variable: (VIOS1_HDISK) value: hdisk10
150507154714     adding configuration file variable: (VIOS2_HDISK) value: hdisk10
150507154714     adding configuration file variable: (CLIENT_IP) value: 10.0.0.11
150507154714     adding configuration file variable: (CLIENT_NM) value: 255.255.255.0
150507154714     adding configuration file variable: (CLIENT_GW) value: 10.0.0.1
150507154714     adding configuration file variable: (CLIENT_VLAN) value: 1
150507154714     adding configuration file variable: (MINMEM) value: 2048
150507154714     adding configuration file variable: (DESMEM) value: 2048
150507154714     adding configuration file variable: (MAXMEM) value: 4096
150507154714     adding configuration file variable: (MINPROCU) value: 0.1
150507154714     adding configuration file variable: (DESPROCU) value: 0.1
150507154714     adding configuration file variable: (MAXPROCU) value: 4.0
150507154714     adding configuration file variable: (MINPROC) value: 1
150507154714     adding configuration file variable: (DESPROC) value: 1
150507154714     adding configuration file variable: (MAXPROC) value: 4
150507154714     adding configuration file variable: (NIM_OSLEVEL) value: AIX71TL3SP3
150507154714     adding configuration file variable: (NIM_IP) value: 10.0.0.5
150507154718 Substitute VARIABLES
150507154718 Processing definition file
150507154718       buildhmc: hmc-lab1
150507154718      builduser: hscroot
150507154718 managed system: p750B
150507154718     nimcommand:
150507154719    nimfilecopy:
150507154719 Checking PARTITIONS
150507154719       partition: adxlpar2 partitiondefid: partdef info: sharing_mode=uncap,uncap_weight=128,max_virtual_slots=20,allow_perf_collection=1,all_resources=0,conn_monitoring=1
150507154719         lpar_netboot: 10.0.0.5,adxlpar2,10.0.0.11,255.255.255.0,10.0.0.1,NA,auto,auto,10
150507154720            bosinstid: AIX71TL3SP3
adxlpar2 is 10.0.0.11
150507154720             bos_inst: source=rte,lpp_source=AI71-TL3SP3,spot=spot-aix71-TL3SP3,bosinst_data=bosinst_AIX71,accept_licenses=yes,boot_client=no
150507154721 Checking VFCGEN
150507154721 Checking VSCSIGEN
150507154722     P750B-vios1 12 <--> 16 adxlpar2 required=NO
150507154723     P750B-vios2 12 <--> 17 adxlpar2 required=NO
150507154723 Checking NETWORK
150507154723 Checking VETHMAP
150507154724        partition=adxlpar2 clientslot=2 vlan=1 vswitch=ETHERNET0 required=NO
150507154724 Checking IOSLOTS
150507154724 Checking HEA
150507154724 Checking SHAREDPP
150507154724 Checking VSWITCH
150507154724 Creating partitions
150507154724                 --> adxlpar2
150507154726 Dynamically adding VSCSI devices to VIO servers
150507154726     P750B-vios1 12 <--> 16 adxlpar2
150507154729     P750B-vios2 12 <--> 17 adxlpar2
150507154731 Saving VIO partition profiles
150507154756      Collect VSCSI slot information VIO --> P750B-vios1
150507154757      Collect VSCSI slot information VIO --> P750B-vios2
150507154757   Process VSCSIMAP slot information VIO --> P750B-vios1
150507154758   Process VSCSIMAP slot information VIO --> P750B-vios2
150507154805              Query disk information VIO --> P750B-vios1
150507154808              Query disk information VIO --> P750B-vios2
150507154812       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000AD04214503IBMfcp,lunsize=20480,pvid=NA,P750B-vios1=hdisk10,P750B-vios2=hdisk10
150507154812       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A604214503IBMfcp,lunsize=4096,pvid=NA,P750B-vios1=hdisk9,P750B-vios2=hdisk9
150507154812       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A104214503IBMfcp,lunsize=102400,pvid=NA,P750B-vios1=hdisk4,P750B-vios2=hdisk4
150507154812       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A204214503IBMfcp,lunsize=102400,pvid=NA,P750B-vios1=hdisk5,P750B-vios2=hdisk5
150507154812       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A304214503IBMfcp,lunsize=102400,pvid=NA,P750B-vios1=hdisk6,P750B-vios2=hdisk6
150507154812       unused hdisk --> usedstatus=UNUSED,uniqueid=33213600507680286057B20000000000000A404214503IBMfcp,lunsize=102400,pvid=NA,P750B-vios1=hdisk7,P750B-vios2=hdisk7
150507154812 Processing the following VIO: P750B-vios1
150507154813 Processing the following VIO: P750B-vios2
150507154813 VIO: P750B-vios1
150507154815    VIO: P750B-vios1 partition: adxlpar2 adapter: vhost1 requestedSize: 20480 actualSize: 20480 device: hdisk10 vtd: adxlpar2_000 diskattr: reserve_policy=no_reserve
150507154815 VIO: P750B-vios2
150507154816    VIO: P750B-vios2 partition: adxlpar2 adapter: vhost1 requestedSize: 20480 actualSize: 20480 device: hdisk10 vtd: adxlpar2_000 diskattr: reserve_policy=no_reserve
150507154822 Assign disks to partitions
150507154822      set --> hdisk10 VIO: P750B-vios1 attributes: reserve_policy=no_reserve
150507154824   assign --> hdisk10 VIO: P750B-vios1 partition: adxlpar2(vhost1)
150507154824      set --> hdisk10 VIO: P750B-vios2 attributes: reserve_policy=no_reserve
150507154825   assign --> hdisk10 VIO: P750B-vios2 partition: adxlpar2(vhost1)
150507154826 Configuring NIM for partitions
150507154844 Executing--> lpar_netboot -E LPAR_NETBOOT_ADD_TIMEOUT=10  -K 255.255.255.0 -f -A -t ent -T off -D -s auto -d auto -S 10.0.0.5 -G 10.0.0.1 -C 10.0.0.11 adxlpar2 normal p750B
150507155025 buildframe is done with return code 0

Toolkit GUI

The GUI is based on java.

When you unzip the APVM Toolkit package, you will have a file named AdvancedPowerVMToolkitUIv3.15.jar. Here v3.15 is the current GUI version.

To start the GUI on your linux laptop, run :

╭─adejoux@feddy  ~/Downloads/APVMToolkit ‹2.1.2›
╰─$ java -jar AdvancedPowerVMToolkitUIv3.15.jar

Tips: on Windows, you only need to click on the jar file.

The toolkit doesn’t need a GUI. it’s text based but the GUI add nice features like syntax checking, ready to use examples, remote execution and so on.

You have two tabs, one for the build profile and one for the configuration file.

One nice thing is you can configure the GUI to upload the files on the system where you installed the toolkit :

And you can run every steps of the build directly from the GUI :

Honestly, it’s better to see it from the YouTube video in the link below.

Documentation

Mike Gregor did a presentation of the toolkit here. And the youtube link.

You can also check the product page.

little disclaimer

I am working for IBM Systems Lab Services too. It’s my blog and it’s only my own opinions. I wrote a post on this tool because I like it :)