Redwood Documentation

Product Documentation

 

›Platform Process Servers

RunMyJobsPlatform Agents

External Platforms

  • Connecting Redwood Server to External Platforms

Credentials

  • Storing Credentials
  • Credential Protocols

Platform Process Servers

  • On-site Platform Process Servers
  • Cloud Platform Agents
  • Using the Wizard to Create Process Servers
  • Configuring Platform Agents
  • Spool Host Agents
  • The Environment of Platform Agent OS Processes
  • Processing Platform Processes
  • Process Server Services
  • Configuring Agentless Process Servers
  • Automatically Updating Platform Agents
  • Enabling TLS
  • Creating Monitoring Checks
  • Configuring Load Balancing on Platform Agents
  • Platform Agent Registry Entries
  • Monitoring Servers with Platform Process Servers

UNIX Agents

  • UNIX Process Servers
  • UNIX Process Server Configuration Data
  • File Events on UNIX
  • Creating UNIX Process Servers (Advanced)
  • Choosing a User Switching Security Mode
  • Controlling Unix Platform Agents
  • Uninstalling Redwood Server Platform Agents from UNIX

Windows Agents

  • Creating a Microsoft Windows Process Server
  • File Events on Microsoft Windows Process Servers
  • Configuration of a Microsoft Windows Process Server
  • Managed Services
  • Configuring Platform Agents on Microsoft Windows
  • Automating Windows tasks that require a desktop window
  • Uninstalling Redwood Server from Microsoft Windows

Agent Definition Types

  • Using the BASH Definition Type
  • Using the KSH Definition Type
  • Using the CSH Definition Type
  • Using the Perl Definition Type
  • Using the Python Definition Type
  • Using the PowerShell Definition Type
  • Using the Visual Basic Script Definition Type
  • Using the CMD Definition Type
  • Using the R Process Definition Type
  • Using the DCL Definition Type
  • Using Platform Definition Types
  • Using the OS Native Definition Type
  • Microsoft Windows Definition Types
  • Using the SQLPLUS Definition Type
  • Using the FTP Definition Type
  • Using the Groovy Definition Type

Command Line Tools

  • Command Line System Tools
  • jtool
  • jcat
  • jdescription
  • jevent
  • jecho
  • jftp
  • JFTP Return Codes
  • jgetcredential
  • jgetfile
  • jgetpar
  • jjoin
  • jlink
  • jlog
  • jmail
  • jmessage
  • jmonitor
  • jputfile
  • jregister
  • jrfc
  • jscp
  • jtool screenshot
  • jscript
  • jsecret
  • jsleep
  • jsplit
  • api-tool.jar

OpenVMS Process Servers

  • Creating HP OpenVMS Process Servers
  • Installing the Platform Agent on HP OpenVMS
  • Configuring HP OpenVMS Process Servers
  • File Events on HP OpenVMS
  • HP OpenVMS Definition Types

AS/400 Connector

  • IBM AS/400 Connector Architecture
  • Setting up the IBM AS/400 Connector
  • Creating an IBM AS/400 Process Server
  • Files on AS/400 Raise Events
  • Using the AS/400 Definition Type
  • Redwood Server OS Support
  • IBM z/OS Definition Types
  • Using the JCL_FTP Definition Type
  • IBM z/OS System Tools

Reference

  • Balancing the Load
  • Credential Protocols
← Configuring Agentless Process ServersEnabling TLS →

Automatically Updating Platform Agents

When the central Redwood Server is updated to a new version the platform agents need to be upgraded as well. The software tries to make this as painless as possible. Platform agents can update themselves if certain conditions are met.

The central Redwood Server updates the database and other parts of the central system the first time that you run the new version. After this is complete it will (try to) start the platform agents that are marked as having automatic start. As part of the startup procedure the server sends a configuration request to the platform agent, telling it which process server parameters it is supposed to use. As part of this command it also sends its own version ID. The platform agent compares this version ID with its own version ID. If the two do not match it sends a result saying that the configuration failed because the version did not match. It will also tell the server whether it does have the required version installed (but apparently not active for this instance) and whether it is able to restart other versions.

If the server finds that the agent is able to restart but does not have the same version installed it then sends the installer for the platform agent to the existing platform agent. The platform agent stores the installer on the file system and runs the installer in non-interactive mode. The installer installs the software for the agent side-by-side to the existing installation.

Once the software is successfully installed, or if the agent mentioned that the software was already installed but not active it sends a restart request to the agent. The agent activates the new software version and then, as they say, 'magic happens'. The magic is that the old agent stops and the new agent starts. How this is accomplished differs on the platform, and is detailed below.

Requirements

  • For the auto-update to function, you must install the agent in the proper manner and start it in the proper manner; by default, these conditions are met.
    • On Windows, the agent must be started using a service as NT Authority\System.
    • On UNIX, the agent must be started using the ${InstallDir}/<version>/bin/platform-agent shell script, in combination with the native init system.
    • On HP OpenVMS, the agent must be started using SCHEDULER.COM.
  • The agent checks there is sufficient disk space available prior to attempting the update.

UNIX

For UNIX systems the most important requirement is that the platform agent is started by means of the ${InstallDir}/<version>/bin/platform-agent shell script. If this is done then the system can update itself.

The administrator can control whether auto-update is performed by creating or removing the ${InstallDir}/etc/startup/${Instance}/autoupdate directory. This is where the auto-update process will store the downloaded installer for the missing version. If this directory does not exist, the auto-update procedure is disabled. Normally, this directory is created by the installer when you answer positively to the question whether to allow auto-update. If you did not, and do not wish to re-run the installer you can enable this by creating this directory manually. Make sure the privileges are such that the network-processor program can write to that directory.

Microsoft Windows

For Microsoft Windows, ensure that the agent runs as a service running as the LocalSystem account. Only this account is able to run the installer. This is easy to do during the first time install of the platform agent: just keep the Auto update check box selected during the installation.

HP OpenVMS

On systems where no relink is needed (usually 8.x OpenVMS systems) auto-update is supported.

The COM files required are:

[.9.2.11-20230928_11.etc]SCHEDULER.COM
[.9.2.11-20230928_11.bin]PLATFORM-AGENT.COM

Instead of the RUN command previously recommended, starts should now be done using the SCHEDULER.COM file.

Multiple instances per tree are installed. Separate trees (installation directories) should not use the same instance names.

How it works - UNIX

When a platform agent is configured as version X, and version Y is requested by the server, the network processor first writes the correct version to file ${InstallDir}/etc/startup/${Instance}/version. Then it stops using a magic exit code. The platform-agent script recognises this and immediately restarts the platform-agent of the correct version.

For this to function you should have started the agent via the platform-agent script directly or via the boot scheduler script (recommended).

How it works - Microsoft Windows

On Microsoft Windows, the agent downloads and unpacks the installer, needs to stop its own service and start the service of the new agent. It does this by calling the Scheduler Service Manager and then waiting for a stop command. The service manager, when it succeeds in creating the new service, will stop the old service and then start the new service. If the service manager fails, it does not send the stop command to the old service, which will just keep running.

note

The Windows agent installer is not signed, however, the agent binaries therein are signed. The installer is NOT executed during auto-upgrades but merely unpacked; the signed applications therein are then used to perform the service installation. The agent checks the integrity of the downloaded file against a hash and will refrain from unpacking if there is a mismatch (meaning the installer was modified or is corrupt).

How it works - HP OpenVMS

Redwood recommends you create a symbol to the SCHEDULER.COM in your LOGIN.COM, for instance like this:

$!
$! Find the latest agent, or at least something.
$!
$loop:
$ x = f$search("[.agent.9*.bin]jtool.exe;")
$ if x .eqs. "" then goto stop
$ bindir = f$parse(x,,,"DEVICE") + f$parse(x,,,"DIRECTORY")
$ write sys$output "- Found agent directory ''bindir' for JTOOL"
$ jtool=="$''bindir'jtool.exe"
$ goto loop
$stop:
$!
$loop2:
$ x = f$search("[.agent.9*.etc]SCHEDULER.COM;")
$ if x .eqs. "" then goto stop2
$ etcdir = f$parse(x,,,"DEVICE") + f$parse(x,,,"DIRECTORY")
$ write sys$output "- Found agent directory ''etcdir' for SCHEDULER"
$ scheduler=="@''etcdir'SCHEDULER.COM"
$ goto loop2
$stop2:

The symbol can be used to stop, start, restart all instances in the installation tree or individual instances using the following syntax:

SCHEDULER {START | STOP | RESTART | START-INSTANCE <instance> | STOP-INSTANCE <instance> | ADD-INSTANCE <instance> <port> }

On an initial installation SCHEDULER.COM can be used to create a new instance:

@SCHEDULER.COM add-instance <name> <port>

This creates a number of files (if not already present):

[.etc.startup.'instance'.autoupdate] ! directory, if present: allow auto-update
[.etc.startup.'instance']version. ! current version to be used
[.etc.startup.'instance']user. ! user to run platform-agent as
[.etc.startup.'instance']loglevel. ! initial loglevel
[.net.instance.'instance'.private]secret. ! Shared secret
[.net.instance.'instance']port. ! Port number to listen on

The system keeps track of which instances are running by process name, by default PA <instance>. This can be overridden by creating a file

[.etc]process_name_fao.txt

for which the default value is:

PA !AS

where!AS is the F$FAO() substition for the process name.

Tuning

When the installation has a larger number of platform agents the system will serialize the process of sending the updated platform agent installer binaries, as these are quite large.

The number of simultaneous updates is governed by the registry parameter/configuration/PlatformAgent/SimultaneousUpdates. Change this as required, but make sure the value is at least 1 (one). The default value is 5.

← Configuring Agentless Process ServersEnabling TLS →
  • Requirements
    • UNIX
    • Microsoft Windows
    • HP OpenVMS
  • How it works - UNIX
  • How it works - Microsoft Windows
  • How it works - HP OpenVMS
  • Tuning
Docs
Getting StartedInstallationFinance InstallationConcepts
TroubleshootingArchiving
Learn and Connect
Support Portal
BlogEventsResources
ISO/ IEC 27001 Information Security Management
Automate to be human

2023 All Rights Reserved |

Terms of Service | Policies | Cookies | Glossary | Third-party Software | Contact | Copyright | Impressum |