It's all about the answers!

Ask a question

Is there a way to install/upgrade a custom plugin in CCM without restart the WAS application?


Guido Schneider (3.4k1486115) | asked Jul 05 '14, 5:54 a.m.
Dear all,

we have developed and deployed several server side plugins for CCM. This works well.
What bother me is the fact, that you have to restart CCM together with a cmd/requestreset to upgrade plugins.
Restarting CCM needs 1-2 minutes of downtime. This is not tolerable. We can only have such downtime on Saturday night.

Specially when we talk about DevOps and rapid, automatic deployment, a online deployment of upgrades becomes very important. Some keynotes an speaks at Innovate talked about deployment 10th and more time a day, I'm wondering how IBM manages this, with zero downtime.

BTW: I'm talking about a distributed Websphere Deployment with IHS/Plugin frontend and DB2 database. Im' interest in a solution for CLM V.5.0.x.

regards
Guido


One answer



permanent link
sam detweiler (12.5k6195201) | answered Jul 05 '14, 7:55 a.m.
you can use the osgi console to unload/and reload plugins.  I can't find the console doc at the moment.

from one of my prior problem topics
https://jazz.net/forum/questions/67113/help-operation-advisor-plugin-not-found-on-prod-sys

To run OSGi console, you can try to run the following command under /server directory:
repotools-jazz.bat -console -noexit
In the osgi console, you use "ss" command to list all the installed bundles and use "diag " command to diagnose your plugin.
For example:
osgi> diag com.ibm.team.process.service

Comments
Guido Schneider commented Jul 10 '14, 3:40 a.m.

I'm able to start the osgi console and see the currently loaded package.

When I do a "-clean" the repotool does a reprovisioning and after this I see the new version of the package with 'diag'. Also after closing the console and reopening the new version is shown. So this looks persisten.

But within CCM, the new version of my plugin is still not loaded or active. Only in the osgi console.

Do you have an idea, how I can force CCM to load the new package?


sam detweiler commented Jul 10 '14, 7:00 a.m.

just to clarify, you have version X loaded and running.  Now you want to unload X and load Y, correct?

I don't know how to do that myself.. just making sure the question is clear for others


Guido Schneider commented Jul 10 '14, 7:20 a.m.

Exactly.

I have version X in the
server/conf/sites/pluginname/site.xml
server/conf/sites/pluginname/features/pluginname.feature_x.jar
server/conf/sites/pluginname/plugins/pluginname.web_x.jar

Now I build version y, and deploy it to the sites directory. Replacing site.xml and adding the new jar files to the subdirectories.

Instead of doing a requestReset and restart the CCM war in Websphere, I'm looking for a possibility to unload version x and load version y into the runtime CCM.

I think in a continuous deployment scenario, like IBM is pushing, it must be possible to replace a plugin version on runtime.


sam detweiler commented Jul 10 '14, 7:34 a.m.

ok.. to date I think continuous deployment is full app recycle

stop
unprovision
provision
start

you of course will need to address all the normal issues of active user sessions,
app continuity (at least two running at once), data upgrade issues, and on and on.

RTC unfortunately is a very unfriendly app for CD because of the data design.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.