ibm innovate 2014: drd 1259: clm patch service for improved patch delivery to clm systems

19
© 2014 IBM Corporation DRD 1259, CLM Patch Service for Improved Patch Delivery to CLM Systems Rosa Naranjo, Unleash the Labs, [email protected] , rhnaranjo.wordpress.com , @rnjazz Nicolas Kruk, RDNG Server Development, [email protected] Spencer T. Murata, RTC L3 Development, [email protected]

Upload: rosa-naranjo

Post on 10-Feb-2017

101 views

Category:

Software


0 download

TRANSCRIPT

© 2014 IBM Corporation

DRD 1259, CLM Patch Service for Improved Patch Delivery to CLM Systems

Rosa Naranjo, Unleash the Labs, [email protected], rhnaranjo.wordpress.com,

@rnjazz

Nicolas Kruk, RDNG Server Development, [email protected]

Spencer T. Murata, RTC L3 Development,

[email protected]

1

• Overview

– Why did we create the Patch Service?

– Unique Features

• New Maintenance Workflow

• Using the Patch Service

– New repotools commands

– Adding/Removing a patch

– Staging patches

• Viewing installed patches

• Summary

• Demo

Agenda

2

• The CLM Patch Service is a new feature included in CLM 5.0

• Part of the Jazz Application Framework (JAF)

– Note: All current and future Jazz based applications “get this for

free”

• The patch service allows administrators to easily:

– Update application servers with patches supplied by IBM support

– Test and verify newly acquired patches

– Rollback patches

– View the list of active patches on a particular system

Overview

3

• Current method for delivering fixes was tedious

– Varied based deployment topology

– Required manual creation of fixes for each APAR

– Patching process was complex and error prone

– Hard to track / identify what fixes were active in a customer environment

• Upgrading to an iFix release required a full installation

– Needed to minimize the amount of code shipped for fixes

– Gives a better “comfort level” for adopters (1MB vs 1GB)

• Developer “Need for Speed”

– Strong need for this in the development and test community

– Initially prototyped to streamline development for continuous delivery

– Example: Apply changes from a developer’s workspace instantly to a deployed test

server

Why did we create the Patch Service?

4

• Automatic Provisioning

• Installing the patch via repotools will provision it after a server

restart

• Reverting the patch via repotools will revert the install back to

the base version on the next restart.

• Cumulative Fixes

• Fixes will now go through full testing like the full release

• Proactive fixes for users

• Smaller install packaging

• Only the changed files are required, not the bundles, so the

resulting install package is much smaller

Patch Service solution

5

• Patches will work on all system configurations, regardless of OS / application server / DB / etc.

• Any plug-in file can be patched, including javascript, html, plugin.xml, manifest.mf, etc.

• Consolidated automated patch build process means that more rigorous functional testing is possible as well as deployment testing

• Predictable releases mean users can plan for the release of patches

• Patches are cumulative – i.e. only one patch is ever active at a time

Unique Features

6

• APAR gets filed

• Development / Support teams determine the fix

• Fix gets delivered to a versioned support stream

• Fix stream builds produce a small zip file (a patch)

New Maintenance Workflow

7

New Maintenance Workflow (cont)

• All fixes for an entire CLM server are handled in a single CLM patch zip file.

• No big download / no new installation necessary.

• The original installation files remain unchanged.

– This makes testing and applying the latest fixes much quicker than before and it is

the future of delivering and consuming fixes!

GA

Build

WI 1 WI 3WI 2 WI 4

Fix02

Fix01

4 week iteration 4 week iteration

8

• PMR reported

• APAR generated

• Patch zip created

• Repotools cmd to apply patch

Using the Patch Service

9

• The patch service introduces the following new repotools commands*:

– repotools.bat -patchApplyGlobal

– repotools.bat -patchRevertGlobal (only used to rollback a patch)

– Applying a patch for side-by-side installs

• If applications are installed together, running a single apply patch

command will patch all applications on the server

• i.e. repotools-jts –patchApplyGlobal

– Applying a patch for distributed installs

• If applications are distributed on multiple servers, the apply patch

command must be run on each distributed application

• i.e. repotools-jts –patchApplyGlobal, repotools-rm –patchApplyGlobal,

repotools-ccm –patchApplyGlobal, etc

* - there are other commands which are not to be used unless IBM

Support instructs you to do so: -patchApplyApp, -patchRevertApp

Repotools commands

10

• The -patchRevertGlobal command is used remove the patch. The maintenance

workflow will require that the existing applied patch will have to be removed

before applied another patch.

• Need to revert before applying next Interim Fix

Repotools commands –patchApplyGlobal and –patchRevertGlobal

11

• The “patch” folder is the monitored location where patches will be

loaded into the OSGi framework.

• Patches should be applied through the repotools commands to prevent

invalid patches from getting applied to servers.

View from the file system

12

View Installed Patches

• Go to JTS Admin page

• Patches, if any, will be listed under Build Information section

13

• Patches only apply to provisioned OSGi bundles within CLM

server applications

• Patches can not:

– update the JVM

– update the application WAR files

– make changes to files outside bundles (such as teamserver.properties)

– be used if a fix requires database schema changes

– be applied to rich-clients (such as RTC Eclipse client, VS, Windows shell,

msscci, CC/CQ connectors, etc.)

– update native components such as RM Browser Add-ons, QM MS

Word/Excel Importer, RCL native library

• NOTE: The maintenance build process will generate a readme file that will

report any parts of a patch that require additional action. Any limitations will be

addressed in the readme text and manual steps will be provided to apply the fix.

Limitations

Demo

14

• CLM Patch Service is new feature of CLM 5.0 which allows

IBM Support to deliver and maintain fixes to CLM

applications “more efficiently”

• New repotools commands allow for patch delivery and

rollback

• Applied patches are visible from JTS Admin page

• Patches include only the changed files not the entire OSGI

bundle

Summary

Questions?

16

Acknowledgements and Disclaimers

© Copyright IBM Corporation 2012. All rights reserved.

– U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract

with IBM Corp.

IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corporation in the United

States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a

trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information

was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is

available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml

Other company, product, or service names may be trademarks or service marks of others.

Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all

countries in which IBM operates.

The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are

provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice

to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is

provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of,

or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the

effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the

applicable license agreement governing the use of IBM software.

All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may

have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these

materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific

sales, revenue growth or other results.

Thank You!

Your Feedback is Important!

Access the Innovate agenda tool to complete your

session surveys from your smartphone, laptop or

conference kiosk.