Sunday, 6 February 2022

Android App - Browser Specific URL testing - Source Code

1) activity_main.xml - Layout design

 <?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/btnChrome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="55dp"
android:layout_marginTop="163dp"
android:layout_marginBottom="273dp"
android:onClick="btnChrome"
android:text="Chrome"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/urlText" />

<Button
android:id="@+id/btnEdge"
android:layout_width="96dp"
android:layout_height="51dp"
android:layout_marginStart="94dp"
android:layout_marginEnd="69dp"
android:layout_marginBottom="273dp"
android:onClick="btnEdge"
android:text="Edge"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/btnChrome" />

<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="91dp"
android:layout_marginBottom="69dp"
android:fontFamily="sans-serif-medium"
android:gravity="center"
android:text="Browser URL Tester"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/urlText"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />

<EditText
android:id="@+id/urlText"
android:layout_width="242dp"
android:layout_height="48dp"
android:layout_marginEnd="55dp"
android:layout_marginBottom="160dp"
android:ems="10"
android:hint="Enter URL"
android:inputType="text"
app:layout_constraintBottom_toTopOf="@+id/btnEdge"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView3" />

<TextView
android:id="@+id/textView3"
android:layout_width="74dp"
android:layout_height="31dp"
android:layout_marginStart="30dp"
android:layout_marginTop="80dp"
android:layout_marginBottom="171dp"
android:gravity="center"
android:text="http://"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/btnChrome"
app:layout_constraintEnd_toStartOf="@+id/urlText"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:layout_constraintVertical_bias="1.0" />

<androidx.constraintlayout.helper.widget.Flow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/btnEdge"
app:layout_constraintStart_toEndOf="@+id/btnChrome" />

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_begin="289dp" />

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_begin="286dp" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java - Main Java File
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void btnChrome(View view){
TextView tView = findViewById(R.id.textView);
EditText urlTxt = findViewById(R.id.urlText);
String URL = urlTxt.getText().toString();
tView.setText(URL.toString());
openUrlChrome("http://"+URL.toString());
}

public void btnEdge(View view){
TextView tView = findViewById(R.id.textView);
EditText urlTxt = findViewById(R.id.urlText);
String URL = urlTxt.getText().toString();
tView.setText(URL.toString());
openUrlEdge("http://"+URL.toString());
}

public void openUrlChrome(String url) {
//url = url.replace("http://","");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.android.chrome");
try {

startActivity(intent);
} catch (ActivityNotFoundException ex) {

intent.setPackage(null);
startActivity(Intent.createChooser(intent, "Select Browser"));
}

}

public void openUrlEdge(String url) {
//url = url.replace("http://","");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.android.edge");
try {

startActivity(intent);
} catch (ActivityNotFoundException ex) {

intent.setPackage(null);
startActivity(Intent.createChooser(intent, "Select Browser"));
}
}
}





Sunday, 29 August 2021

PowerShell on Ubuntu

Commands to connect from Linux to Windows Server


Enter-PSSession -ComputerName <IPADDR> -Credential oneflorida\administrator -Authentication Negotiate

Invoke-Command -ComputerName  <IPADDR>  -ScriptBlock { get-ChildItem c:\ } -Credential oneflorida\administrator -Authentication Negotiate 


Install PowerShell

# Update the list of packages
sudo apt-get update
# Install pre-requisite packages.
sudo apt-get install -y wget apt-transport-https
# Download the Microsoft repository GPG keys
wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb
# Update the list of products
sudo apt-get update
# Enable the "universe" repositories
sudo add-apt-repository universe
# Install PowerShell
sudo apt-get install -y powershell
# Start PowerShell
pwsh
Fix one issues with the library
ldd /opt/microsoft/powershell/7/libmi.so
   linux-vdso.so.1 (0x00007fff9617c000)
   libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2a180a2000)
   libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2a1809c000)
   libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007f2a1808a000)
   libssl.so.1.0.0 => not found
   libcrypto.so.1.0.0 => not found
   libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2a17e98000)
   /lib64/ld-linux-x86-64.so.2 (0x00007f2a182ad000)
   libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007f2a17e6a000)
   libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007f2a17e62000)
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /lib/x86_64-linux-gnu/libssl.so.1.0.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
apt install gss-ntlmssp

Wednesday, 18 August 2021

lxc container oracle/centos 8 not getting macvlan ip address


This has been beating us up here as well. Today, I found an answer. It may not be /the/ answer, but it does work. The problem is with CentOS 8 and the complete replacement of network-scripts with NetworkManager scripts. I know that there have been others searching for an answer to this in vain, so I’m offering up what I’ve found. Do with it what you may!

  1. Create a centos8 container using the defaults (i.e., don’t apply macvlan to them on the build) so have it use the bridge interface, which is the default

  2. Next get into the container

lxc exec [container_name] bash

  1. Next install the old network-scripts package

dnf install network-scripts

  1. Next stop Network Manager

systemctl stop NetworkManager

  1. Now make sure it doesn’t start on container startup

systemctl disable NetworkManager

  1. Next enable the Network service (part of the network-scripts package)

systemctl enable network.service

  1. Exit out of the container

  2. Now apply (or assign) your macvlan template to the container

lxc profile apply [container_name] default,macvlan - Get into the container and modify the interface vi /etc/sysconfig/network-scripts/ifcfg-eth0

and set the interface with the IP or dhcp, depending on your setup. Save the configuration and get out.

  1. Test that the interface comes up

ifup eth0

Monday, 2 August 2021

PUMMER Deployment

Script to Deploy PUM Images Automatically

Main: pummer.ksh
==============
process_id=$(echo $$);
clear
echo ""
echo ""
echo ""

deploy_pum_image()
{

# Clone Container
# MODULE="CRM"
# bugid="31046243"
# NUMBER=3

# Prepare the container

echo "Destroying the existing ${MODULE}${bugid} container, if it exists \n"
    
lxc-ls --active
lxc-stop -k -n ${MODULE}${bugid}
lxc-destroy -n ${MODULE}${bugid}

echo "Cloning and Creating ${MODULE}${bugid} container"
lxc-clone oraclepumtemplate ${MODULE}${bugid}

echo "Preparing ${MODULE}${bugid} container"
mkdir -p /container/${MODULE}${bugid}/rootfs/pumdownload     
unalias cp;cp -rf /container/templates/config_template /container/${MODULE}${bugid}/config
sed -i "s/"__HOSTNAME__"/"${MODULE}${bugid}"/g" /container/${MODULE}${bugid}/config
cat /container/${MODULE}${bugid}/config

# Start the container

lxc-start -n ${MODULE}${bugid} -d -o /container/${MODULE}${bugid}.log -l DEBUG

# Deploy PUM IMAGE
lxc-attach -e -n "${MODULE}${bugid}" -o /tmp/${MODULE}${bugid}_$$.log -- chmod +x /root/scripts/pum_deploy.sh
lxc-attach -e -n "${MODULE}${bugid}" -o /tmp/${MODULE}${bugid}_$$.log -- /root/scripts/pum_deploy.sh ${NUMBER} ${bugid}

}

echo "==========================================="
echo "Welcome to PUMMER - PUM Deployment Manager"
echo "==========================================="

read -p 'Please Enter your Oracle ID:  ' uservar
read -sp 'Password: ' passvar
echo ""
echo ""
echo -n "Validating your Credentials: "
if [ $(/usr/bin/java -jar /root/pumdump/getMOSPatch.jar MOSUser=$uservar MOSPass=$passvar platform=226P download=all patch=32356044|grep "ERROR: Invalid credentials"|wc -l) -eq 1 ]; then
        echo -n "Invalid Credentials"
else
        echo -n " All Good"
        echo ""
        echo ""

        #read -p 'Application Module Number? 1-FSCM, 2-HCM, 3-CRM, 4-PORTAL:  ' module

                while true
                do
                read -p "Module Number? 1-FSCM, 2-HCM, 3-CRM, 4-PORTAL, 5-ELM, 6-CampusSolutions:  " NUMBER
                case $NUMBER in
                                1) MODULE="FSCM"; break;;
                                2) MODULE="HCM"; break;;
                                3) MODULE="CRM"; break;;
                                4) MODULE="PORTAL"; break;;
5) MODULE="ELM"; break;;
5) MODULE="CS"; break;;
                                *) echo "Not a valid option" ; continue ;;
                esac
                done

        echo ""

                while true
                do
                read -p 'Please Enter PUM / Bug ID:  ' bugid
                /usr/bin/java -jar /root/pumdump/getMOSPatch.jar MOSUser=$uservar MOSPass=$passvar platform=226P patch=$bugid > /tmp/${bugid}_${process_id}.txt 2>/dev/null

                                if [ $(cat /tmp/${bugid}_${process_id}.txt|grep zip|wc -l) -gt 5 ];
                                then
                                        break;
                                else
                                        continue
                                fi
                done

fi

 cat /tmp/${bugid}_${process_id}.txt

 echo "Please confirm if you want to move forward with the download of the BUG ID : $bugid and create a PUM instance ?"

read -r -p "Are you sure? [y/N] " response

if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]
then
                mkdir -p /pumdownloads/${MODULE}/${bugid} && cd /pumdownloads/${MODULE}/${bugid}

                if [ -f /pumdownloads/${MODULE}/${bugid}/ALL_GOOD_FILES.txt ]
                then
                        echo ""
                        echo ""
                        echo "Good News: PUM Image ${MODULE} has been already downloaded no need to download once again. :)"
                        echo "Thanks, PUMMER will sent email notification along with the URL to your oracle $uservar once the PUM image is successfully deployed"
deploy_pum_image
                        echo ""
                        echo ""
                else
cd /pumdownloads/${MODULE}/${bugid}
nohup /container/scripts/download_deploy_pum_image.ksh uservar passvar bugid MODULE NUMBER > /pumdownloads/download_deploy_pum_image_${bugid}_${process_id}.log 2>&1 &
# deploy_pum_image
touch /pumdownloads/${MODULE}/${bugid}/ALL_GOOD_FILES.txt
                        echo ""
                        echo ""
                        echo "Thanks, PUMMER will sent email notification along with the URL to your oracle $uservar once the PUM image is successfully deployed"
                        echo ""
                        echo ""
                fi
else
 echo "Ok, your request is cancelled!"
fi



[root@localhost scripts]# cat download_deploy_pum_image.ksh
uservar=$1
passvar=$2
bugid=$3
MODULE=$4
NUMBER=$5

deploy_pum_image()
{

# Clone Container
# MODULE="CRM"
# bugid="31046243"
# NUMBER=3

# Prepare the container

echo "Destroying the existing ${MODULE}${bugid} container, if it exists \n"

        lxc-ls --active
        lxc-stop -k -n ${MODULE}${bugid}
        lxc-destroy -n ${MODULE}${bugid}

echo "Cloning and Creating ${MODULE}${bugid} container"

        lxc-clone oraclepumtemplate ${MODULE}${bugid}

echo "Preparing ${MODULE}${bugid} container"

        mkdir -p /container/${MODULE}${bugid}/rootfs/pumdownload
        unalias cp;cp -rf /container/templates/config_template /container/${MODULE}${bugid}/config
        sed -i "s/"__HOSTNAME__"/"${MODULE}${bugid}"/g" /container/${MODULE}${bugid}/config
        cat /container/${MODULE}${bugid}/config

# Start the container

lxc-start -n ${MODULE}${bugid} -d -o /container/${MODULE}${bugid}.log -l DEBUG

# Deploy PUM IMAGE
lxc-attach -e -n "${MODULE}${bugid}" -o /tmp/${MODULE}${bugid}_$$.log -- chmod +x /root/scripts/pum_deploy.sh
lxc-attach -e -n "${MODULE}${bugid}" -o /tmp/${MODULE}${bugid}_$$.log -- /root/scripts/pum_deploy.sh ${NUMBER} ${bugid}

}


/usr/bin/java -jar /root/pumdump/getMOSPatch.jar MOSUser=$uservar MOSPass=$passvar download=all platform=226P patch=$bugid; > /pumdownloads/${bugid}_${process_id}.log
touch /pumdownloads/${MODULE}/${bugid}/ALL_GOOD_FILES.txt
deploy_pum_image



# pum_deploy.sh
==============

[root@localhost scripts]# cat pum_deploy.sh
#pum_deploy.sh <APPLICATION> <PUMIMAGEID>
# 1-FSCM, 2-HCM, 3-CRM, 4-PORTAL, 5-ELM, 6-CampusSolutions

TEMPLATES=/root/scripts/templates
APPLICATION=$1
PUMIMAGE=$2
# /etc/hosts file update
if [ $(/sbin/ifconfig|grep eth1|wc -l) -eq 1 ]
then
        /sbin/ifconfig| grep eth1 -A 1|grep inet|awk -v host=$(hostname) '{ print "127.0.0.1 localhost\n"  $2 " " host }' > /etc/hosts
else
        echo "eth1 Not Found"
fi

if [ $APPLICATION -eq 1 ]
then
        # FSCM execution
        if [ -d /pumdownload/pumdownloads/FSCM/$PUMIMAGE ]; then
                cd /pumdownload/pumdownloads/FSCM/$PUMIMAGE/ && unzip -o *_1of*.zip
                cd /pumdownload/pumdownloads/FSCM/$PUMIMAGE/setup
                sh psft-dpk-setup.sh --silent --response_file=$TEMPLATES/fscm_response.txt --customization_file=$TEMPLATES/fscm_psft_customizations.yaml
        else
                echo "Sorry the PUM Image $PUMIMAGE Not Found for FSCM"
                exit 5
        fi
elif [ $APPLICATION -eq 2 ]; then
        # HCM execution
        if [ -d /pumdownload/pumdownloads/HCM/$PUMIMAGE ]; then
                cd /pumdownload/pumdownloads/HCM/$PUMIMAGE/ && unzip -o *_1of*.zip
                cd /pumdownload/pumdownloads/HCM/$PUMIMAGE/setup
                sh psft-dpk-setup.sh --silent --response_file=$TEMPLATES/hcm_response.txt --customization_file=$TEMPLATES/hcm_psft_customizations.yaml
        else
                echo "Sorry the PUM Image $PUMIMAGE Not Found for HCM"
                exit 5
        fi
elif [ $APPLICATION -eq 3 ]; then
        # CRM execution
        if [ -d /pumdownload/pumdownloads/CRM/$PUMIMAGE ]; then
                cd /pumdownload/pumdownloads/CRM/$PUMIMAGE/ && unzip -o *_1of*.zip
                cd /pumdownload/pumdownloads/CRM/$PUMIMAGE/setup
                sh psft-dpk-setup.sh --silent --response_file=$TEMPLATES/crm_response.txt --customization_file=$TEMPLATES/crm_psft_customizations.yaml
        else
                echo "Sorry the PUM Image $PUMIMAGE Not Found for CRM"
                exit 5
        fi
elif [ $APPLICATION -eq 4 ]; then
        # PORTAL execution
        if [ -d /pumdownload/pumdownloads/PORTAL/$PUMIMAGE ]; then
                cd /pumdownload/pumdownloads/PORTAL/$PUMIMAGE/ && unzip -o *_1of*.zip
                cd /pumdownload/pumdownloads/PORTAL/$PUMIMAGE/setup
                sh psft-dpk-setup.sh --silent --response_file=$TEMPLATES/portal_response.txt --customization_file=$TEMPLATES/portal_psft_customizations.yaml
        else
                echo "Sorry the PUM Image $PUMIMAGE Not Found for PORTAL"
                exit 5
        fi
elif [ $APPLICATION -eq 5 ]; then
        # ELM execution
                if [ -d /pumdownload/pumdownloads/ELM/$PUMIMAGE ]; then
                cd /pumdownload/pumdownloads/ELM/$PUMIMAGE/ && unzip -o *_1of*.zip
                cd /pumdownload/pumdownloads/ELM/$PUMIMAGE/setup
                sh psft-dpk-setup.sh --silent --response_file=$TEMPLATES/elm_response.txt --customization_file=$TEMPLATES/elm_psft_customizations.yaml
        else
                echo "Sorry the PUM Image $PUMIMAGE Not Found for ELM"
                exit 5
        fi
elif [ $APPLICATION -eq 6 ]; then
        # CS execution

        if [ -d /pumdownload/pumdownloads/CS/$PUMIMAGE ]; then
                cd /pumdownload/pumdownloads/CS/$PUMIMAGE/ && unzip -o *_1of*.zip
                cd /pumdownload/pumdownloads/CS/$PUMIMAGE/setup
                sh psft-dpk-setup.sh --silent --response_file=$TEMPLATES/cs_response.txt --customization_file=$TEMPLATES/cs_psft_customizations.yaml
        else
                echo "Sorry the PUM Image $PUMIMAGE Not Found for CS"
                exit 5
        fi
else
                echo "Wrong Option for the PUM Images"
                exit 1;
fi


Wednesday, 21 July 2021

PeopleSoft PUM - Silent Installation using Linux Containers LXC

PeopleSoft FSCM PUM Installation

sh psft-dpk-setup.sh --silent --response_file=/tmp/response.txt --customization_file=/tmp/psft_customizations.yaml

PeopleSoft PUM Database response file: response.txt

install_type=FRESH [or PUM]
psft_base_dir=/u02/fsc040
user_home_dir=/home/
db_type=DEMO
db_platform=ORACLE
db_name=EP92U040
db_service_name=EP92U040
db_port=1521
connect_id=people
connect_pwd=people
opr_id=VP1
opr_pwd=VP1
admin_pwd=Tiger123
access_id=SYSADM
access_pwd=SYSADM
weblogic_admin_pwd=Tiger123
webprofile_user_id=PTWEBSERVER
webprofile_user_pwd=PTWEBSERVER
gw_user_id=administrator
gw_user_pwd=Tiger123
gw_keystore_pwd=Tiger123


YAML File: psft_customizations.yaml

---
db_name:           EP92U040
db_user:           VP1
db_user_pwd:       VP1
db_connect_id:     people
db_connect_pwd:    people
change_password:    false
access_id:          SYSADM
access_pwd:         SYSADM
db_admin_pwd:          Tiger123
domain_user:           "%{hiera('psft_runtime_user_name')}"
ps_config_home:        "%{hiera('user_home_dir')}/%{hiera('domain_user')}/psft/pt/8.58"
appserver_template:    small
appserver_domain_name: EP92U040
prcs_domain_name:      EP92U040
prcs_domain_id:        "PRCS%{::rand}"
report_node_name:      "%{hiera('prcs_domain_id')}"
pia_domain_name:       peoplesoft
pia_site_name:         ps
pia_http_port:         8022
pia_https_port:        8455
jolt_port:             9055
wsl_port:              8001
db_port:               1521
pia_gateway_user:      administrator
pia_gateway_user_pwd:  Tiger123
pia_gateway_keystore_pwd: Tiger123
domain_conn_pwd:       Tiger123
peoplesoft_base: /u02/fsc040
dpk_location:     "%{hiera('peoplesoft_base')}/dpk"
archive_location: "%{hiera('dpk_location')}/archives"
pt_location:      "%{hiera('peoplesoft_base')}/pt"
db_location:      "%{hiera('peoplesoft_base')}/db"
psft_runtime_group_name:     psft
psft_app_install_group_name: appinst
oracle_install_group_name:   oinstall
oracle_runtime_group_name:   dba

groups:
  psft_runtime_group:
    name:     "%{hiera('psft_runtime_group_name')}"
  app_install_group:
    name:     "%{hiera('psft_app_install_group_name')}"
  oracle_install_group:
    name:     "%{hiera('oracle_install_group_name')}"
    remove:   false
  oracle_runtime_group:
    name:     "%{hiera('oracle_runtime_group_name')}"
    remove:   false

psft_user_pwd:         0radmin
oracle_user_pwd:       oracle
user_home_dir:         /u02
psft_install_user_name:     psadm11
psft_runtime_user_name:     psadm22
psft_app_install_user_name: psadm33
oracle_user_name:           oracle22
psft_es_user_name:          esadm11
psft_es_esadmin_name:       esadmin
psft_es_espeople_name:      people
setup_samba:     false
setup_sysctl:    false
setup_services:  true







Starting the PeopleSoft Environment Setup Process: 

Validating User Arguments:                                           [  OK  ]
Validating PeopleSoft Supported Platform:                            [  OK  ]



Validating Oracle Central Inventory:                                 [  OK  ]
Verifying if PeopleSoft Relocatable Puppet Software is installed:    [  OK  ]
Checking if PeopleSoft DPKs are Present:                             [  OK  ]
Checking if the Base Directory has Enough Free Space:                [  OK  ]

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



Validating the PeopleSoft DPKs in the Linux Host: 
Validating the PeopleSoft Application DPK:                           [  OK  ]
Validating the PeopleSoft PeopleTools Server DPK:                    [  OK  ]
Validating the Oracle Server Database DPK:                           [  OK  ]
Validating the PeopleSoft PeopleTools Client DPK:                    [  OK  ]

Validating the Manifest Information in PeopleSoft DPKs:              [  OK  ]

Extracting the PeopleSoft DPK Archives in the Linux Host: 
Extracting the Oracle Database Server DPK Archive:                   [  OK  ]
                                                                     [  OK  ]
Extracting the PeopleSoft FSCM Application DPK Archives:             [  OK  ]

Extracting the 8.59 PeopleSoft PeopleTools Client DPK Archive:       [  OK  ]
Extracting the 8.58 PeopleSoft PeopleTools Client DPK Archive:       [  OK  ]
Extracting the 8.57 PeopleSoft PeopleTools Client DPK Archive:       [  OK  ]
Extracting the Oracle Database Client DPK Archive:                   [  OK  ]

Setting up Puppet on the Linux Host: 
Generating eYAML Hiera Backend Encryption Keys:                      [  OK  ]
Updating the Puppet Hiera YAML Files in the Linux Host:              [  OK  ]
Updating the Role in Puppet Site File for the Linux Host:            [  OK  ]

Encrypting the Passwords in the User Data:                           [  OK  ]

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

Starting the Default Initialization of PeopleSoft Environment: 

Setting up System Settings:                                          [  OK  ]
Deploying Application Components:                                    [  OK  ]
Deploying Oracle Database Server:                                    [  OK  ]
Deploying PeopleTools Components:                                    [  OK  ]
Setting up PeopleSoft OS Users Environment:                          [  OK  ]
Setting up PeopleSoft Database:                                      [  OK  ]
Setting up PeopleSoft Application Server Domain:                     [  OK  ]
Setting up PeopleSoft Process Scheduler Domain:                      [  OK  ]
Setting up PeopleSoft PIA Domain:                                    [  OK  ]
Setting up Samba Shares:                                             [  OK  ]
Changing the Passwords for the Environment:                          [  OK  ]
Updating table for PUM Multi-Language Support:                       [  OK  ]
Setting up automated PUM downloads and updates:                      [  OK  ]
Configuring Pre-Boot PeopleSoft Environment:                         [  OK  ]
Configuring components for PUM downloads and updates:                [  OK  ]
Starting PeopleSoft Domains:                                         [  OK  ]
Configuring Post-Boot PeopleSoft Environment:                        [  OK  ]
Setting up Source Details for PeopleTools Client:                    [  OK  ]

The PeopleSoft Environment Setup Process Ended.




Tuesday, 20 July 2021

Adding Multiple interfaces and Bridge network to Linux Containers

 [root@localhost oel7fscm]# cat config

# Template used to create this container: /usr/share/lxc/templates/lxc-oracle

# Parameters passed to the template: --release=7.latest --privileged=rt

# For additional config options, please look at lxc.container.conf(5)

# lxc.network.type = veth

# lxc.network.link = lxcbr0

# lxc.network.flags = up


lxc.network.type = macvlan

lxc.network.macvlan.mode = bridge

lxc.network.flags = up

lxc.network.link = ens32

lxc.network.hwaddr = 00:16:3e:16:00:b5

lxc.rootfs = /container/oel7fscm/rootfs

# Common configuration

lxc.include = /usr/share/lxc/config/oracle.privileged.conf

# Container configuration for Oracle Linux 7.latest

lxc.arch = x86_64

lxc.utsname = oel7fscm

# The following 3 hooks is for dynamic RT management

lxc.hook.pre-start=/usr/share/lxc/hooks/oracle-priv

lxc.hook.mount=/usr/share/lxc/hooks/oracle-priv

lxc.hook.post-stop=/usr/share/lxc/hooks/oracle-priv

# Networking


lxc.network.name = eth0

lxc.network.mtu = 1500


# lxc.network.name = eth1

# lxc.network.name = eth2

# lxc.network.name = eth3


lxc.network.type = veth

lxc.network.link = lxcbr0

lxc.network.flags = up

lxc.network.name = eth1

lxc.network.hwaddr = 00:16:3e:77:68:68


lxc.network.type = veth

lxc.network.link = lxcbr0

lxc.network.flags = up

lxc.network.name = eth2

lxc.network.hwaddr = 00:16:3e:77:68:69

[root@localhost oel7fscm]#


Monday, 19 July 2021

PeopleSoft PUM on Linux Containers

LXC Commands


oel7fscm

=========

lxc-create -n oel7fscm -t oracle -- --release=7.latest --privileged=rt

lxc-start -n oel7fscm -d -o /container/oel7fscm_debug.log -l DEBUG

lxc-console -n oel7fscm

lxc-stop --nokill -n oel7fscm

lxc-destroy -n oel7fscm

lxc-clone -o oel7fscm -n oel7fscm2

lxc-start -n oel7fscm2 -d -o /container/oel7fscm2_debug.log -l DEBUG



 [root@ol7-183 data]# cat psft_customizations.yaml

---

db_name:           EP92U040

db_user:           VP1

db_user_pwd:       VP1

db_connect_id:     people

db_connect_pwd:    people

change_password:    false

access_id:          SYSADM

access_pwd:         SYSADM

db_admin_pwd:          Password123

domain_user:           "%{hiera('psft_runtime_user_name')}"

ps_config_home:        "%{hiera('user_home_dir')}/%{hiera('domain_user')}/psft/pt/8.59"

appserver_template:    small

appserver_domain_name: EP92U040

prcs_domain_name:      EP92U040

prcs_domain_id:        "PRCS%{::rand}"

report_node_name:      "%{hiera('prcs_domain_id')}"

pia_domain_name:       peoplesoft

pia_site_name:         ps

pia_http_port:         8022

pia_https_port:        8455

jolt_port:             9055

wsl_port:              8001

db_port:               1521

pia_gateway_user:      administrator

pia_gateway_user_pwd:  Password123

pia_gateway_keystore_pwd: Password123

domain_conn_pwd:       Password123

peoplesoft_base: /u02/fsc040

dpk_location:     "%{hiera('peoplesoft_base')}/dpk"

archive_location: "%{hiera('dpk_location')}/archives"

pt_location:      "%{hiera('peoplesoft_base')}/pt"

db_location:      "%{hiera('peoplesoft_base')}/db"

psft_runtime_group_name:     psft

psft_app_install_group_name: appinst

oracle_install_group_name:   oinstall

oracle_runtime_group_name:   dba


groups:

  psft_runtime_group:

    name:     "%{hiera('psft_runtime_group_name')}"

  app_install_group:

    name:     "%{hiera('psft_app_install_group_name')}"

  oracle_install_group:

    name:     "%{hiera('oracle_install_group_name')}"

    remove:   false

  oracle_runtime_group:

    name:     "%{hiera('oracle_runtime_group_name')}"

    remove:   false


psft_user_pwd:         0radmin

oracle_user_pwd:       oracle

user_home_dir:         /u02

psft_install_user_name:     psadm11

psft_runtime_user_name:     psadm22

psft_app_install_user_name: psadm33

oracle_user_name:           oracle22

psft_es_user_name:          esadm11

psft_es_esadmin_name:       esadmin

psft_es_espeople_name:      people

setup_samba:     false

setup_sysctl:    false

setup_services:  true