ibm innovate 2014: drd 1259: clm patch service for improved patch delivery to clm systems
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,
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
• 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
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.