Thursday 28 April 2016

Process Scheduler Reports showing status as NOT POSTED

After the refresh of the PeopleSoft database with production backup, process scheduler reports were not posting to the report repository.

DSTAGNT_0428.LOG was showing the error as below.

PSJNI: Java exception thrown: javax.net.ssl.SSLHandshakeException:
java.security.cert.CertificateException: Untrusted Server Certificate Chain

PSDSTSRV.28584 (21) [2016-04-28T14:09:08.659 PostReport](3)     HTTP transfer error.
PSDSTSRV.28584 (21) [2016-04-28T14:09:08.659 PostReport](3)      Post Report Elapsed Time: 0.0200

The issue is caused by the digital certificates for the web server which were not loaded in the PeopleTools Security tables. Digital certificates can be loaded in PeopleSoft from the following navigation PeopleTools Security > Security Objects > Digital Certificates

As a solution to the issue, 

1. Export certificate from the browser padlock icon.
2. save certificate to the file.
3.  Navigate to PeopleTools > Security > Security Objects > Digital Certificates 
4. Click the + sign to add new record where Type = Root CA
5. Give the name for the certificate.It can be any name as per your convinence.
6. Open the saved certificated file in notepad and copy the entire text into the Detail field of the new Root CA. Ensure no carriage return at the end of the file.
7. Stop and restart the process scheduler server.


Solution helped in posting the reports successfully to the report repository.


PUM Image installation failing with Error:VirtualBox software is not installed on the Host

Attempt to install PUM image failing with the error. Executing the setup command on power shell ./psft-dpk-setup.ps1  is generating the error as below

VirtualBox software is not installed on the Host. This software is  required to automate the process of importing a PeopleSoft appliance.

The issue is caused by running the 32 bit version of the power shell. To resolve the issue we need to start the Windows PowerShell ONLY as administrator and should not attempt to start the x86 Windows PowerShell which is actually a 32-bit version.

Tuesday 26 April 2016

psft_customizations file extension: Should be YAML only









After defining the psft_customizations.yaml and executing the command puppet apply site.pp --debug --trace, the puppet log was showing that psft_customizations.yaml is getting skipped in the process of deployment of environment stack. Log shown as below

ebug: hiera(): Cannot find datafile C:\ProgramData\PuppetLabs\puppet\etc\data/psft_customizations.yaml, skipping
Debug: hiera(): Looking for data source psft_unix_system
Debug: hiera(): Looking for data source psft_deployment
Debug: hiera(): Found peoplesoft_base in psft_deployment
Notice: Scope(Class[Pt_profile::Pt_tools_deployment]): JDK remove is true
Debug: hiera(): Looking up weblogic in YAML backend
Debug: hiera(): Looking for data source defaults
Debug: hiera(): Looking for data source psft_customizations
Debug: hiera(): Cannot find datafile C:\ProgramData\PuppetLabs\puppet\etc\data/psft_customizations.yaml, skipping

Further all the deployment customization as given in the psft_customizations.yaml also not considered in apply process. Finally the process failed with the error and didn't install weblogic, tuxedo and Oracle client.

Error: /Stage[main]/Pt_setup::Tools_deployment/Pt_deploy_weblogic[weblogic]/ensure: change from absent to present failed
: Weblogic installation copying failed: Execution of 'D:/dev/ps_home/pt85503/pt/wl20160427-1860-1izm0nwdir/pasteBinary.c
md -javaHome D:/dev/ps_home/pt85503/pt/jdk1.7.0_95 -archiveLoc D:/dev/ps_home/pt85503/pt/wl20160427-1860-1izm0nwdir/pt-w
eblogic-copy.jar -targetMWHomeLoc D:/dev/ps_home/pt85503/pt/bea -targetOracleHomeName OraWL1213Home  -executeSysPrereqs
false -silent true -logDirLoc D:/dev/ps_home/pt85503/pt/wl20160427-1860-1izm0nwdir' returned 4294967295: Log   File: "D:
\dev\ps_home\pt85503\pt\wl20160427-1860-1izm0nwdir\CLONE2016-04-27_14-59-10_1463859077.log".

Solution: It is due to the fact that when I was creating the psft_customizations.yaml on windows, I was saving the file as Yaml extension which eventually was getting saved as .txt extension. Yaml when saved with .txt extension will not be picked up by the puppet software for the deployment.
We need to save the file with double quotes in it so that it can be saved as file type of YAML ONLY i.e,

"psft_customizations.yaml". This will generate the file with the type as YAML. As given in the image embedded above.

After deploying midtier environment on windows attempt to apply customizations failing with the error:The term 'puppet' is not recognized as the name of a cmdlet, function

After creating the psft_customizations.yaml file, when I tried to run the puppet apply site.pp --debug --trace command on windows power shell. I received a message saying that the term "puppet" is not recognized when running this command.

PS C:\DPK_INSTALL\setup> cd ../..
PS C:\> cd C:\ProgramData\PuppetLabs\puppet\etc\manifests
PS C:\ProgramData\PuppetLabs\puppet\etc\manifests> puppet apply site.pp --debug --trace
puppet : The term 'puppet' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ puppet apply site.pp --debug --trace
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (puppet:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


It is due to the fact that the Puppet software is not included in the system's path. To set the Puppet environment, we need to run the command puppet_shell.bat:

PS C:\> cd '.\Program Files'
PS C:\Program Files> cd '.\Puppet Labs'
PS C:\Program Files\Puppet Labs> cd .\Puppet
PS C:\Program Files\Puppet Labs\Puppet> cd bin
PS C:\Program Files\Puppet Labs\Puppet\bin> ls

    Directory: C:\Program Files\Puppet Labs\Puppet\bin

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        27/01/2015  11:49 AM       1243 environment.bat
-a---        27/01/2015  11:47 AM         91 facter.bat
-a---        27/01/2015  11:47 AM         94 facter_interactive.bat
-a---        27/01/2015  11:47 AM         91 hiera.bat
-a---        27/01/2015  11:47 AM         91 puppet.bat
-a---        27/01/2015  11:47 AM        104 puppet_interactive.bat
-a---        27/01/2015  11:47 AM         89 puppet_shell.bat
-a---        27/01/2015  11:47 AM        104 run_facter_interactive.bat
-a---        27/01/2015  11:47 AM        104 run_puppet_interactive.bat


Execute the command puppet_shell.bat on windows power shell.

This will set the Puppet software in system's path.

After executing the above command you need to restart the windows power shell with Administrator Option.
Open a Windows PowerShell window(with Administrater Option)
a. Select Start, and navigate to Windows PowerShell.
b. Right-click and select Run as Administrator.

And then re-execute the command puppet apply site.pp --debug --trace.

Error getting content - "Unable to get document" in PeopleSoft online application

Error getting content in the PeopleSoft application.When accessing any menu or component in the PeopleSoft, application is showing as   "Unable to get document" in the application browser. Though I was able to login successfully and navigate through the menus but when clicking on any menu/component, it was not retrieving data or publishing content on the page. 
Checked web server and application server logs but didn't see any details to target the issue.

Solution:
As the database was refreshed recently from the production backup, we checked the refresh log and found that issue was coming due to missing rows in PSCONTENT table after the refresh. Two rows which were missing in the table was for CONTNAME 'PT_HNAV_TEMPLATE' and 'PT_IFRAME_TEMPLATE'. We have imported two rows in the table from the backup and system started working as expected.

Details of Tuxedo Configuration Files.

The application server domain configuration use combination of the files which are generated on the Tuxedo application server. Details of the tuxedo configuration files are as below

1. PSAPPSRV.CFG: This file provide the parameter values for both variables in the Tuxedo configuration file psappsrv.ubx and application servers.
2. PSAPPSRV.VAL: Use as the Validation file.
3. PSAPPSRV.UBX: It is identified as the PeopleSoft Tuxedo template file which specify the layout for psappsrv.ubb and psappsrv.env.
4. PSAPPSRV.UBB: It is marked as Tuxedo native domain configuration source file.
5. PSAPPSRV.ENV: Application server environment file that defines additional environmental variables for server processes.
6. PSTUXCFG: It is compiled binary Tuxedo configuration file.

Thursday 21 April 2016

Oracle Support Delivery Cloud (OSDC)

Formerly named as Oracle E-delivery, Oracle software repository is now identified as

Oracle Support Delivery Cloud (OSDC)

Oracle now separated the application media and the People Tools media on Oracle support Delivery Cloud.

To clarify it more, if you are installing a new Application:

--You will need to search and locate the Application on OSDC(Oracle support Delivery Cloud)
 
--You will need to search and locate the PeopleTools on OSDC

--if you also use the Interaction Hub product (previously called Portal Solutions) you will also need to search for and locate that media as well.

Oracle has incorporated separate search functionality for the entire product line.

Timeout Parameters in a PeopleSoft

Timeout parameters in PeopleSoft Application stack which may need to adjust as per the organisational and business requirements.

PeopleSoft Application Server Timeout Parameters
[JOLT Listener] Client Cleanup Timeout
[JOLT Listener] Init Timeout
[Workstation Listener] Client Cleanup Timeout
[Work Listener] Init Timeout
Spawn Threshold
Service Timeout
Restart Period (PSBRKDSP_dflt, PSSUBDSP_dflt, PSPUBDSP_dflt)
TM_RESTARTSRV
TM_BOOTTIMEOUT
Tuxedo Sanity Scans and Blocking Timeouts

PeopleSoft Web profile Timeout Parameters
Inactivity Logout
Inactivity Warning
HTTP Session Inactivity (Public Users)
Disconnect Timeout (Jolt Settings)
HTTP Session Inactivity (Authenticated Users)
Send Timeout (Jolt Settings)
Receive Timeout (Jolt Settings)

Weblogic Server Timeout Parameters
Max Inactive Interval
session-timeout
TimeoutSecs 

Tuesday 19 April 2016

How to clear PeopleSoft environment deployed through DPK

Navigate to DPK_INSTALL/setup/. Remove the environment using the -cleanup option for the PeopleSoft DPK setup script. Note that before removing the environment, set the ensure attribute to absent in default.yaml.

execute the command as below

sh psft-dpk-setup.sh --cleanup

Puupet can also be use to remove the deployed PeopleSoft Environment

To remove the environment manually on Linux:
1. Open the file /etc/puppet/data/defaults.yaml in a text editor
2. Change the value of the ensure attribute from present to absent.
3. Change directory to the /etc/puppet/manifests directory.
5. Run the following command:
puppet apply site.pp --debug --trace

Above will remove the deployed PeopleSoft environment in the linux server. Sometime I have faced the issue where running the  sh psft-dpk-setup.sh --cleanup script failed with the error.

In that case I have removed the following folders manually from the linux server


psadm1
psadm2
psadm3
oracle2
dpk
pt
db

After that executed the cleanup script again and it went to success

sh psft-dpk-setup.sh --cleanup

Cleaning up PeopleSoft Environment from the VM:

Cleaning up PeopleSoft Process Scheduler Domain:           [  OK  ]
Cleaning up PeopleSoft OS Users Environment:               [  OK  ]
Undeploying PeopleTools Components:                        [  OK  ]
Cleaning up System Settings:                               [  OK  ]
Removing Hiera-Eyaml Puppet Backend Encryption Keys:       [  OK  ]

Removing the Shared Folder from the VM:                    [  OK  ]

The cleanup of PeopleSoft environment is successful.

Monday 18 April 2016

psft_deployment.yaml: Create customize file for installing PeopleSoft Binaries in the customized location

If you want to install the PeopleSoft in the default location then you can run the command

puppet apply site.pp --debug -trace

However, if you are looking to change the location/drive for your PeopleSoft and related component installation then you need to customize the psft_deployment.yaml file.
To override the default location, copy the entire section(section which details about installation location) from the psft_deployment.yaml file into the psft_customizations.yaml file and modify the values as needed.Ensure that the file begins with three dashes ---

Excerpt from ps_customizations.yaml file

---
peoplesoft_base: /opt/oracle/psft

dpk_location: /opt/oracle/psft/dpk
archive_location:     "%{hiera('dpk_location')}/archives"
pt_location:          "%{hiera('peoplesoft_base')}/pt"
db_location:          "%{hiera('peoplesoft_base')}/db"
db_platform: ORACLE
setup_ohs:            false

unicode_db:           false

ps_home_location:       "/opt/oracle/psft/ps_home8.55.03"
inventory_location:     "/opt/oracle/oraInventory"
oracle_client_location: "/opt/oracle/12.1.0.2"
jdk_location:           "/opt/jdk1.7.0_95"
weblogic_location:      "/opt/bea"
tuxedo_location:        "/opt/bea/tuxedo"
ohs_location:           "/opt/bea/ohs"

Change the unicode_db from true to false if it is non-unicode DB.

Save the above changes in ps_customizations.yaml and run the command puppet apply site.pp --debug -trace

PeopleSoft PeopleTools 8.55.03 Installation on Bare Metal(nativeOS) RHEL 7 through DPK

I am installing PeopleTools 8.55.03 on Bare Metal(nativeOS) Red Hat Enterprise Linux 7 using DPK and consolidating all my experience and information gained so far with new Tools 8.55.03 installation on the RHEL 7 Server. This is first post in the series and I will keep updating it with latest issues and solution for Tools 8.55 installation process.

In the first post, I will detail the process to install required Linux Packages, Puppet and DPK on RHEL 7.

1. Required Linux Packages

yum install gcc* libxslt* augeas* -y
yum install rubygem* ruby-2.0.0.598-25.el7_1.i686
yum install openssl-libs-1.0.1e-51.el7_2.4.i686
yum install libdb-5.3.21-19.el7.i686
yum instal libffi-3.0.13-16.el7.i686
yum install gdbm-1.10-8.el7.i686
yum install ncurses-libs-5.9-13.20130511.el7.i686
yum install ncurses-libs-5.9-13.20130511.el7.i686
yum install readline-6.2-9.el7.i686
yum install openssl-libs-1.0.1e-51.el7_2.4.i686

2. Create the folder DPK_INSTALL in your linux server. I have created the folder as /home/DPK_INSTALL

3. Copy PeopleTool 8.55.03 binaries in DPK_INSTALL folder.

4. Navigate to DPK_INSTALL folder.

5. unzip the first zip file named as  PEOPLETOOLS-LNX-8.55.03_1of4.zip in the DPK_INSTALL folder. command  >> unzip PEOPLETOOLS-LNX-8.55.03_1of4.zip

6. now to deploy all on the server with deploy_only option. Deploy all option will deploy the software required for the mid-tier components which includes Oracle Tuxedo, Oracle Weblogic and Oracle Database client. It will also install the PS_HOME directory on the designated server. Note that this option will not set the mid tier domains.

7. Command to execute. After executing the command below on the linux server, the process will go in a flow as detailed in the steps below

Steps below will install puppet, extract DPK and create the Hiera yaml file with user input.

sh psft-dpk-setup.sh --env_type midtier --deploy_only --deploy_type all


Starting the PeopleSoft Environment Setup Process:
Extracting the Zip File PEOPLETOOLS-LNX-8.55.03_1of4.zip:  [  OK  ]
Extracting the Zip File PEOPLETOOLS-LNX-8.55.03_2of4.zip:  [  OK  ]
Extracting the Zip File PEOPLETOOLS-LNX-8.55.03_3of4.zip:  [  OK  ]
Extracting the Zip File PEOPLETOOLS-LNX-8.55.03_4of4.zip:  [  OK  ]
Extracting the Zip File PT85503.zip:                       [  OK  ]

Verifying if Puppet Software is Installed on the Host:

Puppet Software is not installed on the Host. If this Host is
used to setup a PeopleSoft environment, Puppet Software should
be Installed.

Do you want to proceed with the Puppet Installation? [Y|n]: Y

Installing Puppet Software on the Host:                    [  OK  ]

Preparing the VMware VM for PeopleSoft Environment:


The VM is running on a VMware Hypervisor. We need to determine if the
VM is running on a VMware Player/VMware Workstation or a VMware Server
Hypervisor.

1.  The VM is running on a VMware Player/Workstation
2.  The VM is running on a VMware Server
q.  Abort the initialization process.
Enter 1,2 or q(uit): 2

The base directory is used to extract the PeopleSoft DPKs as well as for
deploying PeopleSoft Components. This directory should be accessible on the
VM, must have write permission and should have enough free space.

Please Enter the PeopleSoft Base Directory [/opt/oracle/psft]: /home/<PS_HOME>
Are you happy with your answer? [y|n|q]: y

Checking if PeopleSoft Base has Enough Free Space:         [  OK  ]

Checking if Default User Home Directory /home is Writable: [  OK  ]

Validating the DPKs in the VM:
Validating the PeopleSoft Application DPK:                 [  OK  ]
Validating the PeopleSoft PeopleTools DPK:                 [  OK  ]
Validating the PeopleSoft PeopleTools Client DPK:          [  OK  ]
Validating the Manifest Information in DPKs:               [  OK  ]

Extracting the DPK Archives in the VM:
Extracting the PeopleSoft PeopleTools DPK Archives:        [  OK  ]

Setting up Puppet on the VM:
Generating Hiera-Eyaml Puppet Backend Encryption Keys:     [WARNING]

Unable to generate EYAML backend encryption keys. Passwords will not be
encrypted and will be stored in clear text in the YAML files.

Do you still want to continue with the initialization process? [Y|n]: Y
Copying PeopleSoft Puppet Modules:                         [  OK  ]
Updating the Puppet Hiera YAML Files:                      [  OK  ]
Updating the Role in Puppet Site File for the VM:          [  OK  ]
Applying Linux Customizations to Puppet Hiera YAML Files:  [  OK  ]

Enter the database platform [ORACLE]:

Are you happy with your answers? [y|n]: y

Updating the Puppet Hiera YAML Files with User Input:      [  OK  ]

The bootstrap script is ready to deploy and configure the PeopleSoft
environment using the default configuration defined in the Puppet
YAML files. You can proceed by answering 'y' at the following prompt.
And if you want to customize the environment by overriding the default
settings, you can answer 'n'. If you answer 'n', you should follow the
instructions in the Installation Guide for creating a customizations
YAML file and running Puppet apply command directly to continue with
the setup of the PeopleSoft environment.

Do you want to continue with the default initialization process? [y|n]: n

You have decided not to continue with the default initialization process.
Any customizations to the PeopleSoft environment should be done in the YAML
files located in /etc/puppet/data directory. After making the necessary
customizations, run 'puppet apply site.pp' command from /etc/puppet/manifests
directory to continue with the setup of the PeopleSoft environment.

Stop at the step above and after this step customize the yaml file to meet the organisation specific requirement for installation and deployment of the application. If answered with Y at this step then installation and deployment will continue with default setup as given by Oracle.

In the next post on Tools 8.55 installation, we will see the other steps required for installing and configuring application with Tools 8.55.





PeopleSoft Process Stuck in Posting

Recently I have faced the issue where the process stuck in posting for couple of days. Though in the backend I can see the process is actually posted. This confirms the fact that the status is not get updated correctly post the batch server posted the report.

Reason: This presumably happened due to abnormal shutdown of the Batch Server.

Solution: I have  checked three tables named as below and found that DISTSTATUS is not updated in PSPRCSRQST and PSPRCSQUE. PS_CDM_LIST was having the DISTSTATUS updated correctly.

PS_CDM_LIST
PSPRCSRQST
PSPRCSQUE


SELECT CONTENTID, PRCSINSTANCE, DISTSTATUS, RQSTDTTM FROM PS_CDM_LIST WHERE PRCSINSTANCE ='3451281' ;

select PRCSINSTANCE, RUNSTATUS, DISTSTATUS from PSPRCSRQST where DISTSTATUS='7' and PRCSINSTANCE = '3451281' ;

select PRCSINSTANCE, RUNSTATUS, DISTSTATUS from PSPRCSQUE where DISTSTATUS='7' and PRCSINSTANCE = '3451281' ;


Updated the distribution status correctly in PSPRCSRQST and PSPRCSQUE which helped me to resolve the issue.