Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Controller.ps1 `
    -HomeDir /home/sos/controller `
    -ControllerId "controller" `
    -HttpPort localhost:4444 `
    -HttpsPort batch.example.com:4444 `
    -PrivateConf /home/sos/controller-deployment/private.conf `
    -JocPrimaryCert /home/sos/controller-deployment/centostest-primary.crt `
    -JocSecondaryCert /home/sos/controller-deployment/centostest-secondary.crt `
    -Keystore /home/sos/controller-deployment/https-keystore.p12 `
    -KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
    -Truststore /home/sos/controller-deployment/https-truststore.p12 `
    -TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) ` 
    -ExecStart StartService `
    -ExecStop StopService
    -MakeService `
    -NoInstall

# performs no installation but certificate renewal only
# specifies the Controller ID
# specifies HTTP port 4444 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary JOC Cockpit's server certificates if a JOC Cockpit Cluster is used
#     for a Standalone JOC Cockpit the -JocSecondaryCert argument is omitted
# deploys the Controller private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files in PKCS12 format
# stops and starts the Controller's systemd service

...

Start Controller

...

Install or Update from Download

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Controller.ps1 `
     -Release 2.5.2HomeDir /home/sos/controller `
    -HomeDirControllerId "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" ` 
    -ControllerId "controller"HttpPort 4444 `
    -ExecStart StartService `
    -HttpPortExecStop 4444StopService `
    -MakeDirsNoInstall

# downloadsstops the Controller's releasesystemd tarballservice fromif the SOSController Webis Siterunning
# createsstarts the homeController's and data directories if they do not exist
# specifies the Controller ID that is a unique identifier:
#   in a Controller Cluster all Controller instances use the same Controller ID
#   for Standalone Controller instances each instance requires a unique Controller ID
# extracts the tarball to the Controller's home directory
# operates the Controller for HTTP port 4444

...

systemd service

Stop Controller

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Controller.ps1 `
    -HomeDir /home/sos/controller `
    -ControllerId "controller" `
    -HttpPort 4444 `
    -ExecStop StopService `
    -NoInstall

# stops the Controller's systemd service if the Controller is running

Install Controller for Windows

Install or Update from Download

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest./Install-JS7Controller.ps1 `
    -Uri 'https://download.sos-berlin.com/JobScheduler.Release 2.5/js7_controller_windows.2.5.2.zip' `
    -OutfileHomeDir "C:\tmp\js7_controller_windows.2.5.2.zip

./Install-JS7Controller.ps1 `
    -Tarball "C:\tmp\js7_controller_windows.2.5.2.zip `
    -HomeDir "C:\Program Files\sos-Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" ` 
      -ControllerId "controller" `
     -HttpPort 4444 `
    -MakeDirs
 
# downloads the Controller release tarball from the SOS Web Site using Invoke-WebRequest
# creates the home and data directories if they do not exist
# specifies the Controller ID that is a unique identifier:
#   in a Controller Cluster all Controller instances use the same Controller ID
#   for Standalone Controller instances each instance requires a unique Controller ID
# extracts the tarball to the Controller's home directory
# operates the Controller for HTTP port 4444

Install or Update from

...

.zip Archive

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Controller.ps1Invoke-WebRequest `
    -Release 2Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_controller_windows.2.5.2.zip' `
    -Outfile C:\tmp\js7_controller_windows.2.5.2.zip

./Install-JS7Controller.ps1 `
    -Tarball "C:\tmp\js7_controller_windows.2.5.2.zip `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" `
      -ControllerId "controller" `
     -HttpPort 4444 `
    -LicenseKey "C:\js7\controller-deployment\example.pem" `
    -MakeDirs

MakeDirs
 
# downloads the Controller release tarball from the SOS Web Site using Invoke-WebRequest
# downloadscreates the binaryhome fileand fordata licenseddirectories codeif tothey enabledo clusternot operationsexist
# createsspecifies the homeController directoryID ifthat itis doesa notunique existidentifier:
# extracts  in thea tarballController toCluster theall Controller's home directory
# installsinstances use the licensesame key file and binary file for licensed codeController ID
#   for Standalone Controller instances each instance requires a unique Controller ID
# extracts the tarball to the Controller's home directory
# operates the Controller for HTTP port 4444

Install or Update from

...

Download with Commercial License

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest./Install-JS7Controller.ps1 `
    -Uri 'https://download.sos-berlin.com/JobScheduler.Release 2.5/js7_controller_windows.2.5.2.zip' `
     -OutfileHomeDir "C:\tmp\Program Files\sos-berlin.com\js7_controller_windows.2.5.2.zip
Invoke-WebRequest \controller" `
    -UriData 'https://download."C:\ProgramData\sos-berlin.com/JobScheduler.2.5/js7-license.jar'\js7\controller" `
    -ControllerId "controller" `
    -Outfile C:\tmp\js7-license.jar

./Install-JS7Controller.ps1HttpPort 4444 `
    -TarballLicenseKey "C:\tmpjs7\js7_controller_windows.2.5.2.zipcontroller-deployment\example.pem" `
     -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" `
    -ControllerId "controller" `
    -HttpPort 4444 `
    -LicenseKey "C:\js7\controller-deployment\example.pem" `
    -LicenseBin "C:\tmp\js7-liclense.jar" ` 
    -MakeDirs

# downloads the Controller release tarball from the SOS Web Site using Invoke-WebRequest
# downloads the binary file for licensed code to enable cluster operations
# creates the home directory if it does not exist
# MakeDirs

# downloads the Controller release tarball from the SOS Web Site
# downloads the binary file for licensed code to enable cluster operations
# creates the home directory if it does not exist
# extracts the tarball to the Controller's home directory
# installs the license key file and binary file for licensed code
# operates the Controller for HTTP port 4444

Install or Update

...

from .zip Archive with Commercial License

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest `
    -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_controller_windows.2.5.2.zip' `
    -Outfile C:\tmp\js7_controller_windows.2.5.2.zip
Invoke-WebRequest `
    -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7-license.jar' `
    -Outfile C:\tmp\js7-license.jar

./Install-JS7Controller.ps1 `
    -Tarball "C:\tmp\js7_controller_windows.2.5.2.zip" `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" `
      -ControllerId "controller" `
    -HttpPort 4444 `
    -ExecStart StartService `
    -ExecStop StopServiceLicenseKey "C:\js7\controller-deployment\example.pem" `
    -MakeService `
    LicenseBin "C:\tmp\js7-liclense.jar" ` 
    -MakeDirs

# downloads the Controller release tarball from the SOS Web Site using Invoke-WebRequest
# extractsdownloads the tarballbinary file for licensed code to enable cluster operations
# creates the Controller's home directory if it does not exist
# creates extracts the tarball to the Controller's Windowshome servicedirectory
# that is running in installs the systemlicense account
#key stopsfile and startsbinary thefile Controller'sfor Windowslicensed servicecode
# operates the Controller for HTTP port 4444

Install or Update and Stop/Start using Windows Service

...

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest `
    -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_controller_windows.2.5.2.zip' `
    -Outfile C:\tmp\js7_controller_windows.2.5.2.zip

./Install-JS7Controller.ps1 `
    -Tarball "C:\tmp\js7_controller_windows.2.5.2.zip" `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" `
    -ControllerId "controller" `
    -HttpPort 4444 `
    -ServiceCredentialsExecStart ( New-Object -typename System.Management.Automation.PSCredential `
                          -ArgumentList '.\sos', ( 'secret' | ConvertTo-SecureString -AsPlainText -Force) ) `StartService `
    -ExecStart StartService `
    -ExecStop StopService `
    -MakeService `
    -MakeDirs

# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Controller's home directory
# creates the Controller's Windows service that is running in the localsystem account '.\sos' using
# stops and starts the password 'secret'
#    credentials can be specified in a number of ways
# stops and starts the Controller'Controller's Windows service
# operates the Controller for HTTP port 4444

Install or Update

...

and Stop/Start using Windows Service and specific Account

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest `
    -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_controller_windows.2.5.2.zip' `
    -Outfile C:\tmp\js7_controller_windows.2.5.2.zip

./Install-JS7Controller.ps1 `
    -Tarball "C:\tmp\js7_controller_windows.2.5.2.zip" `
     -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller\" `
     -ControllerId "controller" `
     -HttpPort 4444 `
    -JavaHome "C:\Program Files\Java\jdk-11.0.2+9"ServiceCredentials ( New-Object -typename System.Management.Automation.PSCredential `
    -JavaOptions "-Xmx512m -Xms256m" `
    -ExecStart StartService               -ArgumentList '.\sos', ( 'secret' | ConvertTo-SecureString -AsPlainText -Force) ) `
    -ExecStart StartService `
    -ExecStop StopService `
      -MakeService `
    -MakeDirs

# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Controller's home directory
# specifiescreates the Controller's JavaWindows versionservice andthat Javais optionsrunning toin bethe used
#local stops and startsaccount '.\sos' using the password Controller's Windows service
# 'secret'
#    credentials can be specified in a number of ways
# stops and starts the Controller's Windows service
# operates the Controller for HTTP port 4444

Install or Update

...

using Java Home and Java Options

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest `
    -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_controller_windows.2.5.2.zip' `
    -Outfile C:\tmp\js7_controller_windows.2.5.2.zip

./Install-JS7Controller.ps1 `
    -Tarball "C:\tmp\js7_controller_windows.2.5.2.zip" `
     -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller\" `
    -ControllerId "controller" `
     -HttpPort localhost:4444 `
    -HttpsPort batch.example.com:4444JavaHome "C:\Program Files\Java\jdk-11.0.2+9" `
    -PrivateConfJavaOptions "C:\js7\controller-deployment\private.conf-Xmx512m -Xms256m" `
    -JocPrimaryCert "C:\js7\controller-deployment\wintest-primary.crt"ExecStart StartService `
    -JocSecondaryCert "C:\js7\controller-deployment\wintest-secondary.crt"ExecStop StopService `
    -MakeService `
    -Keystore "C:\js7\controller-deployment\https-keystore.pfx" `
    -KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
    -Truststore "C:\js7\controller-deployment\https-truststore.pfx" `
    -TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) ` 
    -ExecStart StartService `
    -ExecStop StopService `
    -MakeService `
    -MakeDirs

# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Controller's home directory
# specifies the Controller ID
# specifies HTTP port 4444 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary JOC Cockpit's server certificates if a JOC Cockpit Cluster is used
#     for a Standalone JOC Cockpit the -JocSecondaryCert argument is omitted
# deploys the Controller private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files in PKCS12 format 
# stops and starts the Controller's Windows service

Note:

  • For details about certificates and HTTPS connections see JS7 - Controller HTTPS Connections.
  • The private.conf configuration file holds references to the Controller's certificate in order to verify the connection from the Controller using HTTPS mutual authentication.
  • Users have a choice how to provide the required configuration:
    • The Controller Installation Script performs replacements of placeholders in the private.conf configuration file from option values, for details see chapter Replacements.
    • Users can manually adjust configuration items in the private.conf file that they specify for the Controller Installation Script., see JS7 - Controller Configuration Items.

Renew Certificates for HTTPS Connections

MakeDirs

# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Controller's home directory
# specifies the Java version and Java options to be used
# stops and starts the Controller's Windows service
# operates the Controller for HTTP port 4444

Install or Update and Apply Certificates for HTTPS Connections

Code Block
languagepowershell
titleExample for use of Installation Script
Invoke-WebRequest `
    -Uri 'https://download.sos-berlin.com/JobScheduler.2.5/js7_controller_windows.2.5.2.zip' `
    -Outfile C:\tmp\js7_controller_windows.2.5.2.zip

./Install-JS7Controller.ps1 `
    -Tarball "C:\tmp\js7_controller_windows.2.5.2.zip" `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" `
    -ControllerId "controller" `
    -HttpPort localhost:4444 `
    -HttpsPort batch.example.com:4444 `
    -PrivateConf "C:\js7\controller-deployment\private.conf" `
    -JocPrimaryCert "C:\js7\controller-deployment\wintest-primary.crt" `
    -JocSecondaryCert "C:\js7\controller-deployment\wintest-secondary.crt" `
    -Keystore "C:\js7\controller-deployment\https-keystore.pfx" `
    -KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
    -Truststore "C:\js7\controller-deployment\https-truststore.pfx" `
    -TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) ` 
    -ExecStart StartService `
    -ExecStop StopService `
    -MakeService `
    -MakeDirs

# downloads the release tarball from the SOS Web Site using Invoke-WebRequest
# extracts the tarball to the Controller's home directory
# specifies the Controller ID
# specifies HTTP port 4444 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary JOC Cockpit's server certificates if a JOC Cockpit Cluster is used
#     for a Standalone JOC Cockpit the -JocSecondaryCert argument is omitted
# deploys the Controller private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files in PKCS12 format 
# stops and starts the Controller's Windows service

Note:

  • For details about certificates and HTTPS connections see JS7 - Controller HTTPS Connections.
  • The private.conf configuration file holds references to the Controller's certificate in order to verify the connection from the Controller using HTTPS mutual authentication.
  • Users have a choice how to provide the required configuration:
    • The Controller Installation Script performs replacements of placeholders in the private.conf configuration file from option values, for details see chapter Replacements.
    • Users can manually adjust configuration items in the private.conf file that they specify for the Controller Installation Script., see JS7 - Controller Configuration Items.

Renew Certificates for HTTPS Connections

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Controller.ps1 `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" `
    -ControllerId "controller" `
    -HttpPort localhost:4444 `
    -HttpsPort batch.example.com:4444 `
    -PrivateConf "C:\js7\controller-deployment\private.conf" `
    -JocPrimaryCert "C:\js7\controller-deployment\wintest-primary.crt" `
    -JocSecondaryCert "C:\js7\controller-deployment\wintest-secondary.crt" `
    -Keystore "C:\js7\controller-deployment\https-keystore.pfx" `
    -KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
    -Truststore "C:\js7\controller-deployment\https-truststore.pfx" `
    -TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) ` 
    -ExecStart StartService `
    -ExecStop StopService `
    -NoInstall

# performs no installation but certificate renewal only
# specifies the Controller ID
# specifies HTTP port 4444 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary JOC Cockpit's server certificates if a JOC Cockpit Cluster is used
#     for a Standalone JOC Cockpit the -JocSecondaryCert argument is omitted
# deploys the Controller private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files in PKCS12 format
# stops and starts the Controller's Windows service

Start Controller

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Controller.ps1 `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -ControllerId "controller" `
    -HttpPort 4444 `
    -ExecStart StartService `
    -ExecStop StopService `
    -NoInstall

# stops the Controller's Windows service if the Controller is running
# starts the Controller's Windows service

Stop Controller

Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Controller.ps1 `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -ControllerId "controller" `
    -HttpPort 4444 `
    -ExecStop StopService `
    -NoInstall

# stops the Controller's Windows service if the Controller is running
Code Block
languagepowershell
titleExample for use of Installation Script
./Install-JS7Controller.ps1 `
    -HomeDir "C:\Program Files\sos-berlin.com\js7\controller" `
    -Data "C:\ProgramData\sos-berlin.com\js7\controller" `
    -ControllerId "controller" `
    -HttpPort localhost:4444 `
    -HttpsPort batch.example.com:4444 `
    -PrivateConf "C:\js7\controller-deployment\private.conf" `
    -JocPrimaryCert "C:\js7\controller-deployment\wintest-primary.crt" `
    -JocSecondaryCert "C:\js7\controller-deployment\wintest-secondary.crt" `
    -Keystore "C:\js7\controller-deployment\https-keystore.pfx" `
    -KeystorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) `
    -Truststore "C:\js7\controller-deployment\https-truststore.pfx" `
    -TruststorePassword ('jobscheduler' | ConvertTo-SecureString -AsPlainText -Force) ` 
    -ExecStart StartService `
    -ExecStop StopService `
    -NoInstall

# performs no installation but certificate renewal only
# specifies the Controller ID
# specifies HTTP port 4444 on the localhost network interface and the same HTTPS port on the server network interface
# specifies the paths to the Primary and Secondary JOC Cockpit's server certificates if a JOC Cockpit Cluster is used
#     for a Standalone JOC Cockpit the -JocSecondaryCert argument is omitted
# deploys the Controller private configuration file which holds references to keystore and truststore
# deploys keystore and truststore files in PKCS12 format
# stops and starts the Controller's Windows service

Patch

Patch Controller for Unix

...