#226 – Failed Services


This week on the podcast, Kyle and Dan talk about the new OCI Cloud Shell, Cloud Manager 10 installation and configuration videos, learning keyboard shortcuts, and debugging failed Windows services.

Show Notes

Improving Windows Services from the DPK

A common theme we write about on the blog is how to make the DPK work with multiple environments on the same machine. It’s common to run a DEV and TST on the same server. The DPK can build those environments, but there are a few changes to make the setup run well. On Windows, the services the DPK creates makes an assumption that breaks when we run multiple environments.

When starting a domain via Windows services, the service assumes that the environment variables are set for that environment. If you create your DEV environment via the DPK, that’s a good assumption. But, if you create a TST environment next, the environment variables are set to TST. When you attempt to start the DEV domain via Windows services, the domain start will fail.

To resolve this, we can improve the Ruby script that starts our domains. Under the ps_cfg_home\appserv\DOMAIN folder, there are Ruby scripts that are called by the Windows service. For the app server, it’s appserver_win_service.rb. These scripts will look for the PS_CFG_HOME environment variable and start the domains it finds under that home. We can add a line in the file to point to the correct PS_CFG_HOME location like this:

ENV["PS_CFG_HOME"]=c:\psft\cfg\DEV

While we can modify the file directly, the DPK way of handling this is to update the template in the DPK. Then, whenever we rebuild our domains the code change is automatically included.

The Ruby scripts to start/stop domains are templates in the DPK. The templates are stored under peoplesoft_base\dpk\puppet\modules\pt_config\files\pt_appserver\appserver_win_service.erb (replace pt_appserver with pt_prcs or pt_pia for the batch and PIA services.)

To make the environment variables we add dynamic, we can reference variables that exist in the Ruby environment that calls the ERB template. In the program appserver_domain_boot.rb, the variables ps_home and ps_cfg_home are set. We will use those variables to build our environment variables.

ENV["PS_HOME"] = "<%= ps_home %>"
ENV["PS_CFG_HOME"] = "<%= ps_cfg_home %>"
system("<%= ps_home %>/appserv/psadmin -c start -d <%= domain_name %>")

The <%= %> tags will output the value of that command or variable. So in our case, we are outputting the string value of ps_cfg_home.

The result of this file will look like this:

ENV["PS_HOME"] = "c:\\psft\\pt\ps_home8.56.08"
ENV["PS_CFG_HOME"] = "c:\\psft\\cfg\\DEV"
system("c:\\psft\\pt\ps_home8.56.08\\appserv\\psadmin -c start -d DEV")

When we run Puppet the next time, our Windows service will have it’s environment variables set before starting or stopping a domain.

#42 – Windows and PeopleSoft w/ Andy Dorfman

This week we interview Andy Dorfman. Andy runs PeopleSoft on Windows Core and is an expert with PowerShell for server administration. He was fun to talk to and we learned a lot about running Windows with PeopleSoft.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

  • Andy’s Background with PeopleSoft 8 @ 1:45
  • Running PeopleSoft on Windows Core @ 6:00
  • PowerShell vs. DPK @ 10:00
  • Learning PowerShell @ 13:00
  • PowerShell: Invoke-Command @ 14:30
  • Windows Minimal @ 19:30
  • DFS for PS_HOME and more @ 23:30
  • Windows Security @ 30:00
  • OFA and PeopleSoft 32:30
  • Nginx and Reverse Proxies 37:00
  • Docker and Docker Swarm @ 40:00
  • IPv6 and PeopleSoft @ 46:00

#25 – Intro to Elasticsearch

This week Dan talks about using a PS_APP_PATCH_HOME environment variable, Kyle discusses PeopleSoft features that require Windows servers and then we give an introduction to Elasticsearch.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

Fix NativeOS DPK Issues on Windows

The NativeOS DPK’s for PeopleSoft Images are a welcome change. With the NativeOS DPK, you can deploy the PeopleSoft Images on Windows. This is great news for PeopleSoft customers who run Windows; the PeopleSoft Image can be on the same platform as the rest of your systems. The DPK process is great. There are so many advantages with DPK over the previous methods, but there are a few rough edges in the DPK process. Here are some changes I made to our HR 9.2 Image 16 virtual machine. We ran the NativeOS DPK on this Windows 2012 R2 server, with no changes to the configuration.

Services

The DPK installation will create a Windows service for the PIA, but no service is created for the Tuxedo domains. And, the services are set to “Manual”. So, when you reboot the VM, the web, app and batch server’s won’t start. This is an easy fix, but an annoying change to make when the DPK’s are supposed to automate everything. In psadmin,

  1. Select “Services Setup” option (6).
  2. Select “Configure Windows Service” (1).
  3. Enter “Y” to change the values.
  4. Enter “Y” to change the values (yes, you have to do this twice…)
  5. I changed the service delay to 10.
  6. Add APPDOM for the Application Server Domain.
  7. Add PRCSDOM for the Process Scheduler Domain.
  8. Leave the Search Server Domain blank
  9. Enter “N” – we are done with our chagnes.
  10. On the Services Administraton menu, select “Install Windows Service” (2).

Now we have a service for the Tuxedo domains, but the service is configured to start manually. Let’s go change that.

  1. From the Start menu, select Run and enter services.msc.
  2. Find the new service “PeopleSoft …” and double-click it.
  3. Change the Startup Type to “Automatic” and close the window.

We also want to change the PIA service to start automatically.

  1. Find the service “PIA Domain peoplesoft Service” and double-click it.
  2. Change the Startup Type to “Automatic” and close the window. The same is true for the Oracle services.

Let’s set those to start automatically.

  1. Find the service “OracleServiceCDBxxx” and double-click it.
  2. Change the Startup Type to “Automatic” and close the window.
  3. Find the service “OracleOraDB12cHomeTNSListener” and double-click it.
  4. Change the Startup Type to “Automatic” and close the window. The next time you reboot the server, your PeopleSoft and Oracle services will start automatically. But, you’ll probably run into this next error on the reboot.

Oracle Listener

After rebooting the NativeOS DPK installed server, the Oracle listener cannot find the database, which also prevents the app and batch server from starting. If you try to connect to the database you’ll get a

ORA-12514: TNS:listner does not currently know of service requested in connect descriptor error. This is a pretty easy fix (although I spent a few hours testing many different “fixes”). Change the port number for the Listener.

UPDATE: There is a different/better way to make this change if you haven’t run the DPK for your PeopleSoft Image yet

  1. In the tnsnames.ora file, change the port to 1521. The DPK default path is [base folder]dbtnsnames.ora
  2. In the listner.ora file, change the port to 1521. The DPK default path is [base folder]dboracle-server12.1.0.2networkadminlistener.ora. Restart the Oracle services and test your listener configuration. From the command prompt, try to connect to the database with SQL*Plus:

sqlplus sysadm/sysadm@hr92u016

Once you can connect to the database, you can boot the app and batch servers. Or, reboot the entire server and make sure all the services start automatically.

Final Thoughts

While there are some issues with the DPK process right now, it’s easy to get frustrated. The effort to build the DPK’s was incredible and a huge task. So, it’s not surprising that there are some rough edges with the DPK’s and the new PeopleSoft Image process. But, I’m trying to keep an eye on where these changes are taking us. The DPK’s are a very large undertaking from the PeopleTools group and will substantially improve the way we manage PeopleSoft installations.