You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 22 Next »

Introduction

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

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.


Example how to apply a patch to JOC Cockpit for Unix
# 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
Example how to apply a patch to JOC Cockpit for Windows
@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.

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.


  • No labels