Thursday 14 September 2017

Planning for Elastic search

                        Planning for Elastic search 

If you are planning for ES then go for tools patch 8.55.19 or 8.56.04 as suggested by Oracle

https://blogs.oracle.com/peopletools/planning-to-deploy-elasticsearch-with-peoplesoft-between-now-and-early-2018

We had issues when we were PT 8.55.15 
1) There is no concept of direct transfer of files, it will have to go through IB.
2) If your search definitions are having attachment then it gives lot of rejections in ES log.

Further we went to PT8.55.17 and there we were able to use Direct transfer method after discussion with Oracle development as they accepted it as a bug. There were few more things you need to change when you are facing rejections in ES log.

1)Navigate to Main menu>Peopletools>Search Framework>Administration>Search Instance
select PTSF_ELASTIC (whatever name you have given) click search option config
Here you will get an option Attachment Handler make it 10. It is with Patch 17 and afterward only.
2)Open .yml file and add http.max_content_length: 500mb at the end.
3) There are two ways to transfer the files:
a) Data with attachment will go directly while without attachment it will go through IB.
b) Direct full transfer here with or without attachment all data will go directly without using IB.

We opted for Direct full transfer that is option B.

There will be code changes done by Oracle development in Application Package PTSF_ES (Ingest service).

  • DirectTransfer is already in use from PeopleSoft 8.55.17 and 8.56 GA for documents with attachments. From 8.55.19 and 8.56.04, even documents without attachments will be sent through DirectTransfer making it Full DirectTransfer.
  • The default configuration for Full DirectTransfer takes care of most of the customer scenarios for indexing speed and performance. Customers may perform a few additional configurations based on their requirements, for example,  changing the number of Direct Transfer Handles, which is explained in the PeopleBooks.


Thursday 24 August 2017

Configuration of Elastic Search with Peoplesoft load balanced gateway

If SSL is implemented in PeopleSoft only and Elasticsearch will remain in http mode, then:

We have already a document n Oracle support site E-ES: How to configure SSL in Search Framework implementations using Elasticsearch ? (Doc ID 2217683.1) for it, but as many people faced issue though they were following this doc. Hope your issues also will be touch in this I will highlight with different colour which all things are new apart from doc:

- From the PeopleSoft machine, proceed as follows:

1. Extract the root+intermediate certificates from your PIA page. This can easily be done by accessing your PIA page using IE, click on the keypad lock at the URL.
2.  You will see a link "View Certificates". 
3.  Extract the Root certificate to a file, say called ps_root.cer
4.  Extract the Intermediate certificate to a file, say called ps_intermediate.cer
5.  Concatenate the "Intermediate + Root" in one file, starting with the intermediate first. Say you called this file ps_inter_root.cer.
So I had question like when we are downloading certificate they come in .cer format how will we concatenate it.
a) to concatenate the certificate easiest way is open notepad drag and drop the intermediate certificate first then below it drop root certificate in notepad and save the file in .cer format.
6.  Delete any extra carriage-returns that will exist in the extracted files. This step is important. Please do not ignore.
7. Navigate to 

 PeopleTools > Security > Security Objects > Digital Certificates

8. Import the ps_root.cer and the ps_inter_root.cer into the PeopleSoft database using the Digital Certificates page. Import them both as type "Root CA".
9. You would need to restart the application server and the web server in order for these trusted certificates to be recognized.

- On your Elasticsearch box proceed as follows:

1. Copy the extracted ps_root.cer and ps_inter_root.cer over to your Elasticsearch box.
2. Set up a truststore and import both trusted certificates above, i.e. ps_root.cer and ps_inter_root.cer to the new truststore using JAVA_HOME/bin/keytool utility as follows:

keytool -importcert -keystore ES_HOME/config/keystore/my_es_truststore.jks -file /home/certs/ps_root.cer -alias my_ps_root

keytool -importcert -keystore ES_HOME/config/keystore/my_es_truststore.jks -file /home/certs/ps_inter_root.cer -alias my_ps_inter_root

or you can give 

$JAVA_HOME/bin/keytool -importcert -keystore $ES_HOME/config/keystore/es_truststore.jks -file root.cer -alias '*****'
here .jks file will be directly in keystore folder but for above statement follow below step

Now people had question like they didn't find keystore folder, for this you need to create folder under ES_HOME/config directory. Later go to JAVA_HOME/bin and run above 2 commands in blue. But It gave error to me so I  ran as below :

keytool -importcert -keystore my_es_truststore.jks -file /home/certs/ps_root.cer -alias my_ps_root

keytool -importcert -keystore my_es_truststore.jks -file /home/certs/ps_inter_root.cer -alias my_ps_inter_root

So with this .jks file will be there in JAVA_HOME/bin folder only, give it required permission and transfer it under keystore folder.

3. Use the "elasticsearchuser" script to encrypt the truststore password.

ES_HOME/bin> elasticsearchuser encrypt [password]

If your password contains a special character, then enclose it between single quotes when you encrypt it, e.g. something like this:
ES_HOME/bin> elasticsearchuser encrypt 'pAssw$rd1'

4. Configure the SSL properties in elasticsearch.yml file as follows:

orclssl.http.ssl: false
orclssl.transport.ssl: false
orclssl.keystore: 
orclssl.keystore_password: 
orclssl.truststore: <path to truststore, e.g. ES_HOME/config/keystore/my_es_truststore.jks>
orclssl.truststore_password: <truststore password that you encrypted in the previous step>

If you are using Elastic search and Peoplesoft both SSL then follow Section B of Oracle doc. Let me know if any issue you get.

The End



Thursday 27 July 2017

[WARN ][org.apache.http.client.protocol.ResponseProcessCookies] Cookie rejected

Elastic search log is giving below warning
[WARN ][org.apache.http.client.protocol.ResponseProcessCookies] Cookie rejected [psmap="", version:0, domain:nottsettyett, path:/, expiry:null] Illegal domain attribute "nottsettyett". Domain of origin:


Answer :

It seems to be fixed after I made few modifications in elasticsearch.yml file.In memory section
bootstrap.mlockall: true
discovery.zen.ping.unicast.hosts: ["xxxxx.xxx.xxxt"]

Wednesday 14 June 2017

Elastic Search (ES2.3.2_03) Installation and Configuration

1. Download the current Elasticsearch DPK.
2. The DPKs can be installed on any Linux and Microsoft Windows platforms supported by Oracle for PeopleSoft servers.

From this version on, Elasticsearch can be installed using either of the two ways:
  * Python-based installation (Please refer the section below for a quick overview : ELASTICSEARCH INSTALLATION AND UPGRADE    PROCEDURE - LINUX and WINDOWS)
  * Puppet-based installation

We are going for Python based installation on RH6.

3. What does the Elasticsearch DPK contain? Below it is :
    * Elasticsearch bootstrap scripts
        * Python Binary
        * Python setup scripts
    * Puppet Source software binary [for puppet installation]
    * Puppet modules [for configuring Elasticsearch environment]
    * Elasticsearch binary
    * Oracle JRE 1.8
4.Let's go for Elasticsearch Installation in Linux without using Puppet

5. Navigate to ES_DOWNLOAD_DIR directory or any name whatever you want to give.
6. Unzip the DPK
      # unzip ELASTICSEARCH-DPK-LNX-2.3.2_03.zip
7.Open teh terminal and navigate to Open a terminal and navigate to ES_DOWNLOAD_DIR/setup or whatever name you had given
8.Run the setup script as :
./psft-dpk-setup.sh --install --install_base_dir <BASE_DIR>
 <BASE_DIR> you keep as create any folder say elasticsearch I kept it as /oracle/elasticsearch
9.The user will be prompted with the following message, enter y :
   You've chosen to do a fresh installation of Elasticsearch. Do you want to        continue with your choice? (y/n): y
10.The user will be prompted with the administrative-user(esadmin) and proxy-      user(people) passwords :
                       Enter the password for esadmin :
                       Re-enter the password for esadmin :

                       Enter the password for people :
                       Re-enter the password for people :
    Provide the password and note it down somewhere.
11. The user will be prompted with the following prompts. If no inputs are entered, the defaults shall be retained:
                   Enter the ES cluster name [ ESCLUSTER ] : SEARCH_ES

                       Enter the HTTP port for Elasticsearch [ 9200 ] : 

                       Enter the list of discovery hosts [ ["127.0.0.1", "[::1]"] ] :

                       Enter the mininum number of master nodes :

                       Enter the path where you want the Elasticsearch data to reside [ <BASE_DIR>/pt/es2.3.2/data ] :

                       Enter the path where you want the Elasticsearch Logs to be written to [ <BASE_DIR>/pt/es2.3.2/logs ] :

                       Enter the Java Heap size for Elasticsearch [ 1G ] :

12. I kept Master node as default and all other steps also i kept the same default     as it comes on screen. But make sure Cluster name should not be the same in your org.


13. Post this, the script executes as follows :
              
                       Extracting the new ES Binary ....... [OK]
                       Extracting the new JRE ............. [OK]
                       Setting users/roles in ES ....... [OK]
                       Configuring Elasticsearch ...... [OK]
                       Starting Elasticsearch server .... [OK]
           
     After this, the installation will be completed with the following                  message :
                   Elasticsearch Installation Completed.


Monday 29 May 2017

Integration Gateway - External System Contact Error (158,10721)

ISSUE DESCRIPTION :

Last week we refreshed our test environment from Production. Integration broker is working fine, nodes are pinging,gateway is ok. But peopletools>Search Framework>Administration>Search Instance, search engine details we filled correctly but while pinging it gives below error.

Integration Gateway - External System Contact Error (158,10721)

Integration Gateway was not able to contact the external system.  The network location specified may be incorrect, or the site is permanently or temporarily down.

SES server we bounced, it looks all ok. errorlog.html is having error that

>java.net.UnknownHostException: The host couldn't be resolved.</Parm></Parameters><DefaultTitle>Integration Gateway Error</DefaultTitle></Status></IBInfo>


SOLUTION:

Navigate to Gateways - Gateway Setup Properties - - Advanced Properties Page and search for ig.proxyHost. Make sure that ig.proxyHost and ig.proxyPort are commented. Restart the webserver and retest

Friday 19 May 2017

                        OPatch failed with error code = 73

Failed to load the patch object. Possible causes are:
  The specified path is not an interim Patch shiphome
  Meta-data files are missing from the patch area
  Patch location = C:\Download\11.1.1.5.0_2012_04_13_1646_oPath
  Details = PatchObject constructor: Input file "C:\Download\11.1.1.5.0_NNNN_oPath\etc\config\actions" or "C:\Download\11.1.1.5.0_NNNN_oPa
th\etc\config\inventory" does not exist.

ApplySession failed: PatchObject constructor: Input file "C:\Download\11.1.1.5.0
_NNNN_oPath\etc\config\actions" or "C:\Download\11.1.1.5.0_NNNN_oPath\etc\config\inventory" does not exist.
System intact, OPatch will not attempt to restore the system

OPatch failed with error code = 73


Answer :

Make sure you are navigating to the actual extracted patch directory and from there you run 
opatch apply

Monday 30 January 2017

Using a PUM Instance in the Cloud to Apply Maintenance to On-Premise targets


To use a PUM instance in the Oracle Compute Cloud to apply maintenance to an on-premise target, execute the following steps:

1) Initiate deployment in Oracle Cloud Marketplace.
2) Configure the instance for the Microsoft Windows server.
3) Permit access for the Samba shared drives in Oracle Compute Cloud service instances .
4) Permit access for Oracle database ports in Oracle Compute Cloud Service instances.
5) Access the Samba share drive from Microsoft Windows VM for PeopleTools client deployment.
6) Configure your instance for Remote Desktop Protocol (RDP) access .
7) Log in to your instance using RDP.
8) Deploy the PeopleTools client for PeopleSoft Update Manager on a Microsoft Windows host or VM.
9) Upload the on-premise environment to PUM in Oracle Compute Cloud Service.
10) Create a change package.
11) Run the Change Assistant job for the source steps only.
12) Copy the change package from Oracle Compute Cloud Service to on-premise.
13) Run the Change Assistant job for the target steps only.

Tuesday 24 January 2017

Error "java.lang.NegativeArraySizeException" while starting HTTPS 12c server

Error "java.lang.NegativeArraySizeException" while starting HTTPS 12c server


I got below error 
./startComponent.sh ohs1
Starting system Component ohs1 ...

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Reading domain from /oracle/webserver/user_projects/domains/base_domain


Error: java.lang.NegativeArraySizeException

Exiting WebLogic Scripting Tool.

To fix it we need to go to 
cd $HOME
 there will be a hidden folder .wlst
Inside it file  nm-key-base_domain.props got corrupted, so delete it and re-run

Worked after that.

Tuesday 10 January 2017

Peoplesoft Health Center

Peoplesoft Health Center

Understanding PeopleSoft Health Center

The PeopleSoft Health Center enables you to monitor the health of your PeopleSoft application by providing real-time analysis of performance and load. The PeopleSoft Health Center can be used for self-monitoring of an application or for multiple systems in a single monitoring system. Additionally, PeopleSoft Health Center provides alerts that enable you to attend to immediate performance issues.
In PeopleTools 8.55, both the PPM (PeopleSoft Performance Monitor) agent and the JMX (Java Management Extensions) agents are enabled by default. While the PPM agent is required for component registration, the JMX agent is required for real-time monitoring in PeopleSoft Health Center.
On initial access of PeopleSoft Health Center, Health Center completes the following tasks:
1.       Registers a component or domain with the PPM agent.
2.       Authenticates the registered component or domain using JMX agents.
PeopleSoft Health Center presents monitoring data in the form of a dashboard (Application dashboard), which includes the following information:
  General self-monitoring health information.
  Alerts of potential performance issues.
  Health status of participating components or domains.



  Log files.
The health status, performance and load details of each component or domain are presented in separate dashboards that can be accessed from the Application dashboard.
Note: You cannot configure the content and layout of dashboards.
PeopleSoft Health Center allows you to choose which component or domain you want to be monitored. You make this selection on the initial access of Health Center.
All log files created and updated by Tuxedo domains and web server are available on PeopleSoft Health Center. Each domain or server level dashboard lists log files associated with the domain or server.
Each log file is represented as a tile with the following information:
File name.
File size.
Last modified date
------------------------------------------------------------------------------------------------------------------------------------------

Configuration of Peoplesoft Health Center 

-          Configure Integration Broker.
-          Set the Performance Collator property.
-          Enable the PPM agents.
-          Enable and configure the JMX agents.
-          (Optional) Set the Mobile Application Platform session time-out.

Configure Integration Broker.

1 . Make sure IB is working fine, Local node is pinging and in service configuration REST service is having correct URL.

Set the Performance Collator property.

To set the Performance Collator property:
1.       Run PSADMIN and choose the domain that you want to configure.
2.       Select 4) Configure this domain.
3.       To configure the domain, the domain needs to be shut down.
4.       Enter y to the question: Do you want to continue (y/n).
5.       Toggle 10) Perf Collator to set it to Yes.
6.       Select 14) Load config as shown.
7.       Restart the domain.

Enable the PPM agents

To enable the PPM agents:
1.       Run PSADMIN and choose the domain that you want to configure.
2.       Select 6) Edit configuration/log files menu.
3.       Select 1) Edit domain configuration file.
4.       In the configuration file, in the PSTOOLS section, locate the EnablePPM Agent parameter and set the value to 1.
5.       If you set the value to 0, the PPM agents are disabled.
6.       Save the changes you made in the configuration file.
7.       Restart the domain.

Enable and configure the JMX agents

To enable JMX agents:
1.       Run PSADMIN and choose the domain that you want to configure.
2.       Select 6) Edit configuration/log files menu.
3.       Select 1) Edit domain configuration file.
4.       In the configuration file, in the PSTOOLS section, locate the following parameters and set the values:
5.       Enable Remote Administration - Set the value to 1.
6.       Remote Administration Port - Set the value to 10100.
7.       Remote Administration Userid - Enter a user ID, for example, admin.
8.       Remote Administration Password - Enter an encrypted password. To encrypt the password, use the PSCipher utility.
9.       For more information on encrypting passwords, see Encrypting Passwords Using the PSCipher Java Utility.
10.   Save the changes you made in the configuration file.
11.   Restart the domain.

(Optional) Set the Mobile Application Platform session time-out.

To modify the session time-out on the MAP Security page:
1.       Navigate to select PeopleTools, then select Mobile Application Platform, then select MAP Administration, then select MAP Security.
2.       In the Session Timeout field, replace the default 5 minutes with an appropriate number, such as 60 minutes.
3.       Click Save.

Issues


Issue I was facing that whenever I was navigating to Health center and clicking the link it was giving broken signon page and issue as below :-
Your PeopleSoft connection has expired. For increased security on this site, connections are expired after 0 minutes of inactivity. Your PeopleSoft session has expired. Close all browser windows before logging in again. If this is your only active PeopleSoft session, click the Sign In link to sign in again.
Sign in to PeopleSoft

Later When I was navigating to Mobile application platform there was Layout designer click that
You will find PT_MAPFLUID click that and click later on View Initialization URL and I was not getting URL with domain name. I changed domain name in Gateway URL,Service configuration URL.
Later go to map security increase time to 30 min
Then Map File synchronization and do cleanup and synchronization. Later URL will start working.
Weserver password will be same as weblogic console.
System – Passw0rd
Appserver and psunx password we need to change in Main menu>Peopletools>Performance Monitor>administration>JMX users
Make changes in cfg files too using psadmin utility.
User id and password kept is admin – Passw0rd
----------------------------------The END---------------------------------------------
Userid and password is not correct and one java related issue while clicking webserver domain in health center side.

Solution wa sto update the encrypted password in backed for system and admin.

select * from PS_PTPMJMXUSER;

Update PS_PTPMJMXUSER set PTPMJMXPSWD='{V1.1}7m4OtVxxxxxxx' where PM_AGENTID=19;



The purge process did not run because the Oprid configured to start the Process Scheduler did not have the required permissions to run the purge process.

  Purge process - Required permissions The PeopleSoft Oprid used to start the Process Scheduler, as defined in the Scheduler's psprcs.cf...