Fix NativeOS DPK Issues on Windows (Part 2)

In Part 1, Fix NativeOS DPK Issues on Windows, we covered the service changes and TNS Listener change to resolve issues with the NativeOS DPK. But, I realized today that I approached the TNS Listener issue the “old way”. We are working with DPK’s now and there is a different method to manage configuration changes: Puppet and Hiera.

In the new 8.55/DPK setup, configuration changes are handled in the psft_customizations.yaml Hiera file. psft_customizations.yaml overrides the default configuration provided by the DPKs. So, if we want to change the Oracle Listener port, let’s add it the YAML file.

psft_customizations.yaml

---

db_port:               1521

Don’t forget the --- at the top of the file. The --- is a file delimiter; you can include more than one YAML “file” inside a physical .YAML. file.

Copy the file to C:\ProgramData\PuppetLabs\Puppet\etc\data or /etc/puppet/data.

Fresh Install v. Existing Install

The theory behind Puppet (and the DPK’s) is that you describe your configuration and Puppet does the implementation. In our case above we have changed the configuration of db_port. If this was an existing installation of the DPK (e.g, you’ve already build HR 9.2 Image 16 using the DPK), we should be able to change that value. Unfortunately, the Puppet providers for PeopleSoft aren’t that robust. (I hope that is a feature that will be released). If you have already installed your PeopleSoft Image, you can make the change above, but when you run puppet apply site.pp the listener port is not updated.

But, if you are installing a NativeOS-based PeopleSoft you can include this change. When you run the bootstrap script, you are presented with the question “Do you want to continue the default initialization process?”. Answer No. (This [poorly worded] question means: Do you want to change any configuration?)

At this point, the bootstrap script will stop and you can copy your psft_customizations.yaml file into the data folder. Once your change is in place, we just start the Puppet process using puppet apply site.pp

You need to run the puppet apply site.pp command from C:\ProgramData\PuppetLabs\Puppet\etc\manifests or /etc/puppet/manifests.

12 thoughts on “Fix NativeOS DPK Issues on Windows (Part 2)”

  1. Pingback: Fix NativeOS DPK Issues on Windows – psadmin.io

  2. Sateesh Simhadri

    Hi,
    I have one question about the same scenario, i have HCMIMG16 running on my machine. I wanted to deploy HCMIMG17 on the existing installation. What and all values i have to mention on my psft_customizations.yaml file. Please help me to move further.

    Regards,
    Simhadri

    1. Sateesh – The DPK documents don’t make it clear how to upgrade a NativeOS DPK install. I ended up using the VBox DPK for Image 17 because we needed to get it running quickly. We’ll post something once we hear/find a good way to upgrade NativeOS DPK installs.

  3. Hi Dan,

    Great posting. Have you setup HCM 9.2 PI 17 on Windows 2012 R2 yet? I noticed a lot of the services are now set to automatic but I am still missing app and batch. And PIA is using “ruby” command. If we need to uninstall PIA Windows Service, will it work using psadmin command?

    Thanks,
    YF

  4. I am trying to install HCM 9.2.018 on a VM Player guest running Windows 7 Pro 64-bit.
    i have downloaded the native OS zip files and I follow the instructions to run the Powershell script on the guest, but it errors out. Here is part of the log file…

    [0;36mDebug: Executing ‘C:/psft/db/oracle-server/12.1.0.2/bin/lsnrctl stop listener'[0m
    [0;36mDebug: Oracle listener stopping failed: Execution of ‘C:/psft/db/oracle-server/12.1.0.2/bin/lsnrctl stop listener’ returned 1: LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 – Production on 17-AUG-2016 20:27:44

    Copyright (c) 1991, 2014, Oracle. All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WIN-C3IDEBC1DFM.localdomain)(PORT=1522)))
    TNS-12545: Connect failed because target host or object does not exist
    TNS-12560: TNS:protocol adapter error
    TNS-00515: Connect failed because target host or object does not exist
    64-bit Windows Error: 1004: Unknown error
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
    TNS-12541: TNS:no listener
    TNS-12560: TNS:protocol adapter error
    TNS-00511: No listener
    64-bit Windows Error: 2: No such file or directory[0m
    [0;36mDebug: Executing ‘C:/psft/db/oracle-server/12.1.0.2/bin/lsnrctl start listener'[0m
    [1;31mError: /Stage[main]/Pt_profile::Pt_oracleserver/Pt_deploy_oracleserver[oracleserver]: Could not evaluate: Oracle listener starting failed: Execution of ‘C:/psft/db/oracle-server/12.1.0.2/bin/lsnrctl start listener’ returned 1: LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 – Production on 17-AUG-2016 20:27:47

    Copyright (c) 1991, 2014, Oracle. All rights reserved.

    Starting tnslsnr: please wait…

    TNSLSNR for 64-bit Windows: Version 12.1.0.2.0 – Production
    System parameter file is C:\psft\db\oracle-server\12.1.0.2\network\admin\listener.ora
    Log messages written to C:\psft\db\oracle-server\diag\tnslsnr\WIN-C3IDEBC1DFM\listener\alert\log.xml
    Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WIN-C3IDEBC1DFM.localdomain)(PORT=1521)))
    TNS-12545: Connect failed because target host or object does not exist
    TNS-12560: TNS:protocol adapter error
    TNS-00515: Connect failed because target host or object does not exist
    64-bit Windows Error: 1004: Unknown error

    Listener failed to start. See the error message(s) above…

    I hope this is enough info for you to provide me with some assistance.
    Thanks!

    1. David, I had similar issues with the database listener on HR Image 18. I cleaned up the installation and set db_port: 1521 in the psft_customizations.yaml file before re-installing the Image. I’ve had much better luck running the listener on port 1521.

  5. Hey Dan,

    Perhaps you, or others, can be of assistance. From my first introduction to the PeopleSoft DPKs, I have always hoped for a completely automated way to do a setup and configuration. I mean everything. Not only run the PowerShell bootstrap script, but answer every possible question it asked, whether using a customizations file, or not. Do we have this option? Can the DPK installation process be fully automated? Every example I’ve seen includes manual interaction. Even the -silent switch parameter only answers a few Yes/No questions. I keep reading to stop and, add your psft_customizations.yaml file, then run puppet, etc. There must be a way to do a completely, hands-off set up… right? I should mentioned that I’m brand new to PeopleSoft, so if you, or others, answer knowing this may be helpful.

    1. Hi Tommy – for PowerShell there is a way to complete automate the bootstrap script, but it takes a little modifications to the psft-setup.ps1 script.

      In scripts\psft-setup.ps1, you can pre-populate the answers to the questions. The $global:initialize_psft variable is where you can tell it to continue the installation. Then when you run the bootstrap script with -silent it should go automatically.

      The trick is modifying the psft-setup.ps1 script every time you download a new PeopleSoft Image. But, a little PowerShell could take care of those changes pretty quickly 🙂

  6. Thanks for the info, Dan. I had already started working though the PowerShell script to make the modifications necessary, before I saw your response. I guess I just wanted to be certain that I wasn’t missing a easier way. Although PeopleSoft is new, PowerShell isn’t, so it won’t be too much trouble. Thanks for your assistance, and site. It’s been quite helpful for someone so new.

    1. Yeah, you weren’t missing anything easy.

      BTW, I really like your site. I’m trying to get through the backlog of posts since PowerShell is pretty new to me 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax