Wednesday, April 24, 2013

VirtualBox Appliances for PeopleSoft on VMWare ESXi

Last week, Oracle delivered new Peoplesoft demo images (available on My Oracle Suport only), please see the note PeopleSoft Update Manager Home Page [ID 1464619.1]

A lot of effort have been made here, that's really nice. It will greatly simplify the updates (PUM).

So far it was delivered as templates for Oracle VM. However, it made a lot of people crazy finding ways to make it running on their laptop for their own purpose. Jim Marion wrote a nice step-by-step here to to move from Oracle VM to VirtualBox.

Right now, it is all running on VirtualBox. Many people will be very happy - for personal use, Hakan Biroglu has already showed us how quickly it can be set, up and running here.

But now it is the other way around, what about people having bare-metal virtualization software only ?
As clearly stated in the documentation, it cannot run from VirtualBox installed onto a virutal OS (virtualization of a 64-bit OS on a virtualized environment does not work).

So, you must first have to have a physical machine strong enough (most likely 6Gb+ RAM) to get it running. Whether I can understand such a mechanism for a personal use of these VMs, I don't find it really usable if you have to share it with your developers. Moreover, what if you ever want to test messaging between two of the delivered Peoplesoft images (say FSCM and HCM) ?

If like me you don't have such hardware, you are stuck.
Or maybe you have bare-metal virtualization software on dedicated server host ? That would be great to make it work there.

On my side, I have ESXi vSphere Hypervisor 5.1 (build 1021289 – March 2013) running on my Dell Poweredge 2900III (1 quad-core CPU, 16Gb RAM), so let's have a try.
Whether it's not a direct operation, it does not look so complicated.

Note that all the steps below are done from within a CentOS 6.4 VM hosted on my ESX server.
1. Download the 8 zip files
Go to the note mentioned above, and download the module you want to work on, here I’m working on HCM9.2.

2. Unzip all the zip files
Regular unzip command to be used against every single downloaded files.

3. ova files concatenation
From the unzipped files, you'll get one html doc and 7 part of ova files to be concatenated as follow
cat HCMDB-SES-85302d.ova_1of7 \
HCMDB-SES-85302d.ova_2of7 \
HCMDB-SES-85302d.ova_3of7 \
HCMDB-SES-85302d.ova_4of7 \
HCMDB-SES-85302d.ova_5of7 \
HCMDB-SES-85302d.ova_6of7 \
HCMDB-SES-85302d.ova_7of7 > HCMDB-SES-85302d.ova
At this stage, you can delete the zipfiles as well as the 7 files HCMDB-SES-85302d.ova_?of7, it will save a lot of space.
So far, so good, it is all documented (see the pdf file "Using Oracle VM VirtualBox Appliances for PeopleSoft Applications" from the note mentioned above).

4. Extract ova file
Now, if using VirtualBox, you are normally almost done, the Oracle doc says all about VirtualBox, you may want to follow it.
Since we are using the bare-metal virtualization software VMWare ESXi, we will deviate a little bit from the official doc though.

Whether there is a way to go directly from ova file to ESX with the VMWare utility ovftool (here I used the version 3.0.1), it won't work straightaway. The ova file is coming from VirtualBox and it won't fit exactly to the ESX expectations.

Fortunately, the ova file is nothing but an archive file containing the vmdk files (the disks) and one ovf file (virtual machine definition settings, this is an xml file).

The ovf file may also be loaded in ESX through VMWare ovftool. This is this ovf file which must be modified to be ESX compliant and to be loaded into ESX.
First, untar the ova :
tar xvf HCMDB-SES-85302d.ova

5. Checking files
After all these steps, we have the following in the directory :
root@omsa HCM92000]# ls -l
total 100521488
-rw-r--r-- 1 root root        2530 Apr 13 22:05 16660429Readme.html
-rwxr-xr-x 1 root root         436 Apr 20 16:05
-rw------- 1 root root   609456128 Apr  1 08:32 HCMDB-SES-85302d-disk1.vmdk         <-- coming from ova extract
-rw------- 1 root root  3626726912 Apr  1 08:36 HCMDB-SES-85302d-disk2.vmdk         <-- coming from ova extract
-rw------- 1 root root 
5143003648 Apr  1 08:44 HCMDB-SES-85302d-disk3.vmdk         <-- coming from ova extract
-rw------- 1 root root 
7147702784 Apr  1 08:52 HCMDB-SES-85302d-disk4.vmdk         <-- coming from ova extract
-rw------- 1 root root 
9284810240 Apr  1 09:01 HCMDB-SES-85302d-disk5.vmdk         <-- coming from ova extract
-rw-r--r-- 1 root root 25811718656 Apr 20 18:03 HCMDB-SES-85302d.ova
-rw-r--r-- 1 root root  3758096384 Apr  1 10:12 HCMDB-SES-85302d.ova_1of7
-rwxrw-rw- 1 root root         967 Apr 19 19:27
-rw-r--r-- 1 root root  3758096384 Apr  1 10:12 HCMDB-SES-85302d.ova_2of7
-rwxrw-rw- 1 root root  3702657177 Apr 20 00:44
-rw-r--r-- 1 root root  3758096384 Apr  1 10:13 HCMDB-SES-85302d.ova_3of7
-rwxrw-rw- 1 root root 
3605212087 Apr 20 00:38
-rw-r--r-- 1 root root  3758096384 Apr  1 10:13 HCMDB-SES-85302d.ova_4of7
-rwxrw-rw- 1 root root  3709723401 Apr 20 00:41
-rw-r--r-- 1 root root  3758096384 Apr  1 10:14 HCMDB-SES-85302d.ova_5of7
-rwxrw-rw- 1 root root  3699819939 Apr 20 00:43
-rw-r--r-- 1 root root  3758096384 Apr  1 10:14 HCMDB-SES-85302d.ova_6of7
-rwxrw-rw- 1 root root  3731137895 Apr 20 13:47
-rw-r--r-- 1 root root  3263140352 Apr  1 10:15 HCMDB-SES-85302d.ova_7of7
-rwxrw-rw- 1 root root  3709400712 Apr 20 13:32
-rwxrw-rw- 1 root root 
3239213691 Apr 20 13:59
-rw------- 1 root root       15513 Apr  1 08:31 HCMDB-SES-85302d.ovf                 <-- coming from ova extract
-rwxrw-rw- 1 root root     1042477 Apr 20 11:20 Using_Oracle_VM_VirtualBox_Appliances_for_PeopleSoft_Applications.pdf
[root@omsa HCM92000]#

6. Edit the ovf file
The workaround described below does not work after image #6. Please follow the new one here.
Don't forget to take a backup of the existing file, it can save you
[root@omsa HCM92000]# cp HCMDB-SES-85302d.ovf HCMDB-SES-85302d.ovf.orig
Only few things have to changed in the ovf file to be ESX compliant. Here we go :
6.1) The operating system: ESX does not understand the OS definition name and id coming from VirtualBox, you may want to change it (otherwise you'll get a warning)
Change from (line 32, operating system id)
<     <OperatingSystemSection ovf:id="109">
>     <OperatingSystemSection ovf:id="101">
Change from (lines 34 and 35)
<       <Description>Oracle_64</Description>
<       <vbox:OSType ovf:required="false">Oracle_64</vbox:OSType>
>       <Description>oracleLinux64Guest</Description>
>       <vbox:OSType ovf:required="false">oracleLinux64Guest</vbox:OSType>
6.2) The virtual system type is obviously different, you must change it (otherwise it error out)
Change from (line 43)
<         <vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>
to (here for ESX 5.1, it could be vmx-08 - VM tool version compatibility you define when creating a new VM, but did not tested it yet)
>         <vssd:VirtualSystemType>vmx-07</vssd:VirtualSystemType>
6.3 The SATA controller does not make ESX very happy, you must change it to SCSI (otherwise it errored out)
Change from (lines 82, 83 and 84)
<         <rasd:Caption>sataController0</rasd:Caption>
<         <rasd:Description>SATA Controller</rasd:Description>
<         <rasd:ElementName>sataController0</rasd:ElementName>
>         <rasd:Caption>SCSI Controller0</rasd:Caption>
>         <rasd:Description>SCSI Controller</rasd:Description>
>         <rasd:ElementName>SCSI Controller0</rasd:ElementName>
6.4) About sata and SCSI again, the subtype and type must be changed as well
Change from (lines 86 and 87)
<         <rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
<         <rasd:ResourceType>20</rasd:ResourceType>
>         <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
>         <rasd:ResourceType>6</rasd:ResourceType>
6.5) Lastly, ESX does not like sound card, it must be deactivated
Change from (line 106, check for the item corresponding to the sound card)
<       <Item>
>       <Item ovf:required="false">

7. From ovf to ESX

Now you are done with the modifications, next step is a move to ESX with ovftool which will read this ovf file and will directly create the VM on remote ESX pushing all the disks as well.
You must install the ovftool in order to continue:
[root@omsa OvfTool]# ./VMware-ovftool-3.0.1-801290-lin.x86_64.bundle
You must accept the VMware OVF Tool component for Linux End User
License Agreement to continue.  Press Enter to proceed.
Do you agree? [yes/no]: yes
The product is ready to be installed.  Press Enter to begin
installation or Ctrl-C to cancel.
Installing VMware OVF Tool component for Linux 3.0.1
[######################################################################] 100%
Installation was successful.
[root@omsa OvfTool]#
Then you can go ahead with the command line. Here below :
-ds is the datastore you want to push the VM to (here it is vm)
--net is the network definition in your ESX host, the input ovf has HostOnly, ESX does not know about it, just specify your own (here it is VM Network)
replace <mypassword> by your ESX host user password
replace the IP address by the IP address (or hostname) of the ESX server
[root@omsa HCM92000]# ovftool --lax -ds=vm "--net:HostOnly=VM Network" HCMDB-SES-85302d.ovf "vi://root:<mypassword>@"
Opening OVF source: HCMDB-SES-85302d.ovf
Opening VI target: vi://
Deploying to VI: vi://root@
Transfer Completed
- No manifest file found.
- No manifest entry found for: 'HCMDB-SES-85302d-disk1.vmdk'.
- No manifest entry found for: 'HCMDB-SES-85302d-disk2.vmdk'.
- No manifest entry found for: 'HCMDB-SES-85302d-disk3.vmdk'.
- No manifest entry found for: 'HCMDB-SES-85302d-disk4.vmdk'.
- No manifest entry found for: 'HCMDB-SES-85302d-disk5.vmdk'.
Completed successfully
[root@omsa HCM92000]#
Never mind the "manifest" warning, it does not matter.
8. Start and configure the VM
From within vSphere Client, start the VM.
Here below the settings of the VM:
As of now, you fall back to the Oracle standard procedure and can follow the doc. Before hands, you may or may not want to have SES, keep 4Gb RAM or change it to 6Gb respectively.
Bear in mind that you probably don't want DHCP configuration to be able to easily share the VM with your colleagues.
Specify the root password and DHCP=n (to have a fixed IP address)
The database will start immediately as well as AppServer, Batch server, and PIA, specify if you want SES or not
The you get the prompt
And it’s done.
Adjust your DNS or local hosts file, and connect to the PIA (I’m on Windows XP, that’s why the warning):
Note the domain name is mandatory in the url.
Report node is already defined
However, for some reason the distribution is blank in the server definition, you  have to specify it
Now, after restarting the batch server, you can run batches and check the output
Note that unlike the Peoplesoft templates on Oracle VM, there’s no COBOL configured.
9. VMWare tools
You may want to install the VMWare tools afterwards.
First, stop the VM and add a CD-ROM
Restart the VM, and install the tools
And finally we get

By the way, speaking of running demo on bare-metal VM, do these images build on VirtualBox make the end of the Peoplesoft VM templates for Oracle VM ?




Michael said...

Your post is helping me out so much.
I'm doing the FSCMDB-SES-853 appliance.

Sort of stuck now though at:
- No manifest file found.
- Wrong file size specified in OVF descriptor for 'FSCMDB-SES-853-11-disk1.vmdk
' (specified: -1, actual 1726696448).

I've searched online and can't find this fix anywhere.

Anonymous said...

See here for newer versions:

Nicolas Gasparotto said...

Nice one, thanks for the update. I must admit I did not test it myself for quite a while.

Unknown said...

I tried this with the latest image (hcm036).
I get it to import and it boots up ok but it doesn't seem some of the services are running. Can't reach the database for one.... I changed the linux type to oracle linux 7 and I use vmxnet3.
Anyone try this recently?