Page History
...
- Bugs, vulnerabilities and patches are communicated with the SOS Change Management System.
- This article provides information about how to apply patches to the JOC Cockpit.
Display feature availability StartingFromRelease 2.35.0 - For automated patching see JS7 - Automated Installation and Update.
...
- Unix
/var/sos-berlin.com/js7/joc/jetty_base/webapps/joc
/var/sos-berlin.com/js7/joc/jetty_base/webapps/joc/assets
/var/sos-berlin.com/js7/joc/jetty_base/webapps/joc/styles
- Windows
C:\ProgramData\sos-berlin.com\js7\joc\jetty_base\webapps\joc
C:\ProgramData\sos-berlin.com\js7\joc\jetty_base\webapps\joc\assets
C:\ProgramData\sos-berlin.com\js7\joc\jetty_base\webapps\joc\styles
The first part of the path including the jetty_base
is specified during installation and can point to a different location. The remaining webapps/joc
part of the path will remain the same for all installations.
Apply Patch
...
Download Patch
The following example makes use of a patch available for
- Unix: https://download.sos-berlin.com/patches/2.5.3-patch/patch-20230612-JOC-1550.2.5.3-gui.tar.gz
- Windows: https://download.sos-berlin.com/patches/2.5.3-patch/patch-20230612-JOC-1550.2.5.3-gui.zip
Do not apply the patch from the example for any JOC Cockpit release different from 2.5.3, for details see JOC-1550.
Effective download links for JOC Cockpit patches are indicated with the respective Change Management issue.
Apply Patch
Apply the following steps to a JOC Cockpit instance. If a JOC Cockpit cluster is operated then the steps are to be performed for all JOC Cockpit instances.
Do not apply the patch from the example for any JOC Cockpit release different from 2.5.3, for details see JOC-1550.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# navigate to the target directory for patches cd /var/sos-berlin.com/js7/joc/jetty_base/webapps/joc # verify the directory by checking if this file is available ls version.json # optionally take a backup # tar --exclude=./WEB-INF -cvzf /tmp/backup-joc-cockpit-$(date +"%Y%m%d-%H%M%S").tar.gz . # remove existing files and directories find . -maxdepth 1 -type f -delete && rm -d -r ./assets ./styles # download the patch archive curl https://download.sos-berlin.com/patches/2.5.3-patch/patch-20230612-JOC-1550.2.5.3-gui.tar.gz -O # extract the patch archive tar -xvzf patch-20230612-JOC-1550.2.5.3-gui.tar.gz # remove the patch archive rm patch-20230612-JOC-1550.2.5.3-gui.tar.gz |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
@rem navigate to the target directory for patches cd %ProgramData%\sos-berlin.com\js7\joc\jetty_base\webapps\joc @rem verify the directory by checking if this file is available dir version.json @rem optionally take a backup @rem set month=%date:~3,2% @rem set day=%date:~0,2% @rem set year=%date:~6,4% @rem set hour=%time:~0,2% @rem set minute=%time:~3,2% @rem set second=%time:~6,2% @rem echo %year%-%month%-%day% @rem tar.exe --exclude .\WEB-INF -cf %TEMP%\backup-joc-cockpit-%year%%month%%day%-%hour%%minute%%second%.zip . @rem remove existing files and directories del /Q *.* rmdir /Q /S .\assets rmdir /Q /S .\styles @rem download from URL https://download.sos-berlin.com/patches/2.5.3-patch/patch-20230612-JOC-1550.2.5.3-gui.zip @rem copy from download location (could be different from this example) copy %USERPROFILE%\Downloads\patch-20230612-JOC-1550.2.5.3-gui.zip . @rem extract the patch archive tar.exe -xf patch-20230612-JOC-1550.2.5.3-gui.zip @rem remove the patch archive del patch-20230612-JOC-1550.2.5.3-gui.zip |
This example uses the tar.exe command that is available starting from Windows 10.
Note: The JOC Cockpit has to be restarted to apply patches.Hint: For automated rollout of patches see JS7 - Automated Installation and Update.
Note: As an alternative for Windows you can download the patch file to the target directory and use tools such as 7-Zip to extract the archive. Do not create a sub-folder from the archive name but extract directly to the directory hierarchy as indicated above.
...
Patches can be manually removed
- by dropping
...
- the files and directories indicated with the chapter Apply Patch to JOC Cockpit On Premises.
- by restoring the original files and directories from a backup.
Note: The JOC Cockpit has to be restarted to apply removal of patches.
Anchor | ||||
---|---|---|---|---|
|
...
Images
It is not recommended to patch the GUI in JOC Cockpit containers. As a larger number of files are included in a GUI patch this will create unwanted overlays in your container architecture.
You can apply patches to JOC Cockpit images. Use the same sequence of OS commands as indicated with chapter Apply Patch to JOC Cockpit On Premises in your Dockerfile when creating the image. For details how to build the image see JS7 - JOC Cockpit Build of Container Image
JOC Cockpit expects Java .jar libraries for patches from the following location:
/var/sos-berlin.com/js7/joc/jetty_base/resources/joc/patches
- The directory
/var/sos-berlin.com/js7/joc/jetty_base/resources/joc
typically is mounted to aconfig
volume when running the container: for details see JS7 - JOC Cockpit Installation for Containers. Thepatches
sub-directory should be created if it does not exist before storing the patch file to this location.
Apply Patch
On start-up the JOC Cockpit container checks the above directory for existence of *.jar files. If a file is found then:
- the file will be extracted to
/var/sos-berlin.com/js7/joc/jetty_base/webapps/joc/WEB-INF/classes
- for details see the On Premises section above.
Patches are applied on start-up of a container. Therefore patch files remain in place in the /var/sos-berlin.com/js7/joc/jetty_base/resources/joc
/
patches
sub-directory (typically mounted to the config/patches
volume directory) as long as the patch is to be applied.
Note: The JOC Cockpit container has to be restarted before patches are applied.
Remove Patch
Patch files are removed by dropping the files in the patches
sub-directory.
Patch files are automatically removed when updating or upgrading JOC Cockpit.
Note: The JOC Cockpit container has to be restarted before patches are removed.