Versions Compared

Key

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

Table of Contents

Introduction

SOS provides JS7 - Patch Management in a situation of severe bugs or Vulnerabilities.

Anchor
on_premises
on_premises
Apply Patch to JOC Cockpit On Premises

The JOC Cockpit expects Java .jar libraries for patches to be extracted to its data directory in 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 the jetty_base is specified during installation and can point to a different location. The remaining webapps/joc/WEB-INF/classes part of the path will remain the same for all installations.

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.

The following 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 instructional purposes only - for details see JS-1984.


Code Block
languagebash
titleExample how to apply a patch to JOC Cockpit for Unix
linenumberstrue
# 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
Code Block
languagebash
titleExample how to apply a patch to JOC Cockpit for Windows
linenumberstrue
@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 a Java JDK not 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: 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 .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: The JOC Cockpit has to be restarted to apply removal of patches.

Anchor
docker_containers
docker_containers
Apply Patch to JOC Cockpit 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 config volume when running the container: for details see JS7 - JOC Cockpit Installation for Containers. The patches 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.