Introduction
SOS provides JS7 - Patch Management in a situation of severe bugs or Vulnerabilities.
- Bugs, vulnerabilities and patches are communicated with the SOS Change Management System.
- Find below the information how to apply patches to JOC Cockpit.
- FEATURE AVAILABILITY STARTING FROM RELEASE 2.3.0
Apply Patch to JOC Cockpit On Premises
JOC Cockpit expects Java .jar libraries for patches to be extracted to the following location:
- Unix
/var/sos-berlin.com/js7/joc/jetty_base/webapps/joc/WEB-INF/classes
- Windows
C:\ProgramData\sos-berlin.com\js7\joc\jetty_base\webapps\joc\WEB-INF\classes
The first part of the path including jetty_base
is specified during installation and can point to a different location. The remaining part webapps/joc/WEB-INF/classes
is the same for any installation.
Apply Patch
Apply the following steps to a JOC Cockpit instance. If a JOC Cockpit cluster is operated then steps are performed for any JOC Cockpit instance.
The example makes use of a patch available from https://download.sos-berlin.com/patches/patch-20220331-JS-1984-2.2.3.jar. This patch does not impact a JOC Cockpit installation and is used for instruction purposes only, for details see JS-1984.
# navigate to the target directory for patches cd /var/sos-berlin.com/js7/joc/jetty_base/webapps/joc/WEB-INF/classes # verify the directory by checking if this file is available ls api-schema-version.json # download the patch archive curl https://download.sos-berlin.com/patches/patch-20220331-JS-1984-2.2.3.jar -O # extract the patch archive (use "jar" or "unzip" command) jar -xf patch-20220331-JS-1984-2.2.3.jar # remove the patch archive rm patch-20220331-JS-1984-2.2.3.jar
@rem navigate to the target directory for patches cd %ProgramData%\sos-berlin.com\js7\joc\jetty_base\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/patch-20220331-JS-1984-2.2.3.jar @rem copy from download location (could be different from this example) copy %USERPROFILE%\Downloads\patch-20220331-JS-1984-2.2.3.jar . @rem extract the patch archive (use "jar" or "unzip" command) jar -xf patch-20220331-JS-1984-2.2.3.jar @rem remove the patch archive del patch-20220331-JS-1984-2.2.3.jar
This example uses the jar
command that is available from a Java JDK. Should no Java JDK be in place then the unzip
command can be used.
The resulting directory hierarchy with the com
sub-directory being created from the extracted patch should look like this:
webapps/joc/WEB-INF/classes
com
sos
...
Note: A restart of JOC Cockpit is required to apply patches.
Hint: For automated rollout of patches see JS7 - Automated Update of JOC Cockpit.
Note: As an alternative for Windows you can download the .jar 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.
Remove Patch
Patches are automatically removed when a JOC Cockpit release is installed.
Patches can be manually removed by dropping the com
sub-directory that holds the extracted patch.
Note: A restart of JOC Cockpit is required to apply removal of patches.
Apply Patch to JOC Cockpit Docker® Containers
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 a Dockerconfig
volume when running the container: for details see JS7 - JOC Cockpit Installation for Docker 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 chapter On Premises.
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 should be applied.
Note: A restart of the JOC Cockpit container is required to apply patches.
Remove Patch
Patch files are removed by dropping the files in the patches
sub-directory.
Note: A restart of the JOC Cockpit container is required to apply removal of patches.