Versions Compared

Key

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

...

  • Patches are offered from .jar Java archive files or from .tar.gz tarball archive files.
  • The same patch files are applied to Unix and Windows.
  • Patch file names follow the scheme:
    • Unix, Windows: js7_joc.<release>-PATCH.API-<sequence>.<issue-key>[.<security-level>].[jar|tar.gz|jar}
    • The following placeholders are used:
      • release: The JS7 release number, see Releases.
      • sequence:  Patches for a given release are assigned ascending numbers starting from 1. Patches with a higher number include any patches with lower numbers.
      • issue-key: The issue key in the SOS Change Management System, for example: JS-1984.
      • security-level: The security level applies if the patch is specific for JOC Cockpit running in one of the security levels low, medium, high. For details see JS7 - Security Architecture.
    • Example:
      • Unix, Windows: js7_joc.2.2.3-PATCH.API-1.JS-1984.jar, js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz
  • Patch .tar.gz archive files do not include a directory hierarchy.

...

Before applying patches users might want to verify the integrity and authenticity of downloaded patch files, see JS7 - Verifying releases.

...

The patch examples will not impact a JOC Cockpit installation and are used for instructional purposes only, for details see JS-1984.

Note: The JOC Cockpit has to be stopped before applying patches.

Applying Patch on Unix

Manual Patching

Code Block
languagebash
titleExample how to apply a patch from a .jar file to JOC Cockpit for Unix
linenumberstrue
# invoke shell and switch to the user account that owns the JOC Cockpit's data directory

# navigate to the targetdata directory for patches
cd /var/sos-berlin.com/js7/joc/webapps/joc/WEB-INF/classes

# verify the directory by checking if this file is available
ls api-schema-version.json

# download the .jar patch file
curl https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jar -O

# extract the .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar

# remove the .jar file
rm js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
Code Block
languagebash
titleExample how to apply a patch from a .tar.gz archive to JOC Cockpit for Unix
linenumberstrue
collapsetrue
# invoke shell and switch to the user account that owns the JOC Cockpit's data directory

# navigate to the targetdata directory for patches
cd /var/sos-berlin.com/js7/joc/webapps/joc/WEB-INF/classes

# verify the directory by checking if this file is available
ls api-schema-version.json

# download the .tar.gz patch archive
curl https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz -O

# extract the patch archive that includes .jar files
tar -xvpozf js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz

# extract each .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar

# remove the .jar file and .tar.gz patch archive
rm js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
rm js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz

...

Automated Patching

Code Block
languagebash
titleExample how to apply a patch from a .jar file to JOC Cockpit for WindowsUnix
linenumberstrue
@rem# invoke shell and switch to the user account that owns the JOC Cockpit's data directory

@rem# navigate todownload the target.jar directorypatch for patchesfile
cd %ProgramData%\curl 'https://download.sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes

@rem verify the directory by checking if this file is available
dir api-schema-version.json

@rem download from URL https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2./patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jar' -O
 
# apply patch
./js7_install_joc.sh \
    --patch-jar=js7_joc.2.2.3-PATCH.API-1.JS-1984.jar \
@rem copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\js7_joc.2.2.3-PATCH.API-1.JS-1984.jar .

@rem extract the .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar

@rem remove the .jar file
del js7_joc. --patch=JS-1984 \
    --patch-key=API-1 \
    --home=/opt/sos-berlin.com/js7/joc \
    --data=/var/sos-berlin.com/js7/joc
Code Block
languagebash
titleExample how to apply a patch from a .tar.gz archive to JOC Cockpit for Unix
linenumberstrue
collapsetrue
# invoke shell and switch to the user account that owns the JOC Cockpit's data directory

# download the .tar.gz patch archive
curl 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jartar.gz' -O
  
# apply the patch
./js7_install_joc.sh \
    --tarball=js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz \
    --patch=JS-1984 \
    --patch-key=API-1 \
    --home=/opt/sos-berlin.com/js7/joc \
    --data=/var/sos-berlin.com/js7/joc

Applying Patch on Windows

Manual Patching

Code Block
languagebash
titleExample how to apply a patch from a .jar file to JOC Cockpit for Windows
linenumberstrue
@rem invoke shell and switch to the user account that owns the JOC Cockpit's data directory

@rem navigate to the data directory for patches
cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes

@rem verify the directory by checking if this file is available
dir api-schema-version.json

@rem download from URL https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.jar
@rem copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\js7_joc.2.2.3-PATCH.API-1.JS-1984.jar .

@rem extract the .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar

@rem remove the .jar file
del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
Code Block
languagebash
titleExample how to apply a patch from a .tar.gz archive to JOC Cockpit for Windows
linenumberstrue
collapsetrue
@rem invoke shell and switch to the user account that owns the JOC Cockpit's data directory

@rem navigate to the data directory for patches
cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes

@rem verify the directory by checking if this file is available
dir api-schema-version.json

@rem download from URL https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.tar.gz
@rem copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz .

@rem extract the .tar.gz patch archive that includes .jar files
tar.exe -xzf js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz

@rem extract each .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar

@rem remove the .jar files and .tar.gz patch archive
del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
del js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz

Automated Patching

Code Block
languagepowershell
titleExample how to apply a patch from a .jar file to JOC Cockpit for Windows
linenumberstrue
# invoke PowerShell and switch to the user account that owns the JOC Cockpit's data directory

# download from URL
Invoke-WebRequest `
    -Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jar' `
    -Outfile js7_joc.2.2.3-PATCH.API-1.JS-1984.jar

# apply the patch
./Install-JS7Joc.ps1 `
    -PatchJar js7_joc.2.2.3-PATCH.API-1.JS-1984.jar `
    -Patch JS-1984 `
    -PatchKey API-1 `
    -HomeDir $env:ProgramFiles\sos-berlin.com\js7\joc `
    -Data $env:ProgramData\sos-berlin.com\js7\joc
Code Block
languagepowershell
titleExample how to apply a patch from a .tar.gz archive to JOC Cockpit for Windows
linenumberstrue
collapsetrue
# invoke PowerShell and switch to the user account that owns the JOC Cockpit's data directory

# download from URL
Invoke-WebRequest `
    -Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/
Code Block
languagebash
titleExample how to apply a patch from a .tar.gz archive to JOC Cockpit for Windows
linenumberstrue
@rem switch to the user account that owns the JOC Cockpit's data directory

@rem navigate to the target directory for patches
cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes

@rem verify the directory by checking if this file is available
dir api-schema-version.json

@rem download from URL https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.tar.gz
@rem copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz' .
`
@rem extract the .tar.gz patch archive that includes .jar files
tar.exe -xf-Outfile js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz
 
@rem# extractapply eachthe .jar file (use "jar" or "unzip" command)
jar -xfpatch
./Install-JS7Joc.ps1 `
    -Tarball js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.jargz `

@rem remove the .jar files and .tar.gz patch archive
del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
del js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz-Patch JS-1984 `
    -PatchKey API-1 `
    -HomeDir $env:ProgramFiles\sos-berlin.com\js7\joc `
    -Data $env:ProgramData\sos-berlin.com\js7\joc

Notes

The examples use the jar command that is available from a Java JDK. Should a Java JDK not be in place then the unzip command can be used.

...

Note: The JOC Cockpit has to be restarted to apply patches.

Hint: For automated rollout of patches see JS7 - Automated Installation and Update.

restarted to apply patches.

Note: Users are discouraged from using Note: As an alternative for Windows users can download the .jar patch file to the target directory and use tools such as 7-Zip to extract the patch archive in case of manual patching. Instead, use the tools available from the OS as indicated by the examples. Do not create a sub-folder from the archive name but extract directly to the directory hierarchy as indicated above.

Hint: For automated rollout of patches see JS7 - Automated Installation and Update.

Removing Patches

Patches are automatically removed when a JOC Cockpit release is updated or upgraded by JS7 - JOC Cockpit Installation On Premises or using the installation scripts as indicated with JS7 - Automated Installation and Update..

...