PQ69978: TRYING TO USE WSCP TOOL TO DEPLOY AN EAR FILE WITH TWO DIFFERENTVHOSTS

 Fixes are available

4.0.6: WebSphere Application Server Version 4.0 Fix Pack 6
System Management Component Cumulative Fix for 4.0.2/4.0.3/4.0.4 /4.0.5



APAR status
Closed as program error.

Error description
I want to deploy a single EAR file, say HelloWorld.ear, into two
different appservers, say GregTest1 and GregTest2, using the
same context root but a unique vhost for each so that the
combination of vhost+contextroot is unique, as required.
.
I can do this very easily using the Admin GUI.  During the
Enterprise App deployment wizard process, I simply select
"default_host" for the first deployment, and "Amy" (a test
vhost) for the second deployment.  No problem.
.
But our site is heavily into automating everything with wscp
scripts.  So I need a way to do the same thing using wscp.  It
seemed straight-forward enough, and I *think* that I've
constructed       the appropriate wscp command string.  But
here's what happens:
.
1. I started by removing my previous HelloWorld installations,
which were done using the Admin GUI, so that I was starting with
a clean slate.
.
2. I ran the following command to install HelloWorld.ear into
the GregTest1gemini appserver, using a name of HelloWorld1, and
specifying the default_host for the vhost:
.
EnterpriseApp install /Node:gemini/
/opt/WebSphere/AppServer/installableApps/Hello
World.ear -appname HelloWorld1 -
defappserver /Node:gemini/ApplicationServer:GregTest1gemini/
-modvirtualhosts
{{
/Node:gemini/ApplicationServer:GregTest1gemini/Module:HelloWorld
Web/ default_host }}
.
3. I refreshed the Admin GUI representation, and saw that it did
get deployed exactly as requested.
.
4. Next, I ran a very similar command to deploy HelloWorld.ear
again, this time as HelloWorld2 to the GregTest2gemini appserver
and using the unique "Amy" vhost:
.
EnterpriseApp install /Node:gemini/
/opt/WebSphere/AppServer/installableApps/Hello
World.ear -appname HelloWorld2 -defappserver
/Node:gemini/ApplicationServer:GregTest2gemini/ -
Modvirtualhosts {{
/Node:gemini/ApplicationServer:GregTest2gemini/Module:HelloWorld
W
eb/ Amy }}
.
4. This seemed to go well, until the very end when it gave an
error message:
.
[12/16/02 16:07:25:690 EST]   415de6 ArchiveInstal W WSCP0190E:
Duplicate Context Root specified. It may not work properly;
information: [Amy:HelloWorld:HelloWorldWeb.war]
.
5. Curious.  There shouldn't have been any conflict because I'm
intentionally using separate vhosts.  So I refreshed the Admin
GUI representation again -- and see that it properly used the
"Amy" vhost for the GregTest2gemini HelloWorld2 copy, but set
the GregTest1gemini HelloWorld1 copy to use "Amy" as well!  This
of course is NOT wanted.
.
If I'm using the wrong wscp syntax to accomplish this, then
please let me know what the CORRECT syntax is.  But I suspect
that I *am* using the correct syntax, and there's a bug in this
- modvirtualhosts logic that is causing it to affect ALL of the
modules called /Module:HelloWorldWeb, rather than just the
specified one, i.e. in the
/Node:gemini/ApplicationServer:GregTest2gemini appserver.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: For WebSphere Application Server 4.0 users   *
*                 of WSCP                                      *
****************************************************************
* PROBLEM DESCRIPTION: Binding not updated when deploying an   *
*                      ear file with different virtual host    *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
When deploying a single EAR file, say HelloWorld.ear, into two
different appservers, say GregTest1 and GregTest2, using the
same context root but a unique vhost for each so that the
combination of vhost+contextroot is unique, as required.
I ran the following command to install HelloWorld.ear into
the GregTest1gemini appserver, using a name of HelloWorld1, and
specifying the default_host for the vhost:
EnterpriseApp install /Node:gemini/
/opt/WebSphere/AppServer/installableApps/HelloWorld.ear
-appname HelloWorld1
-defappserver /Node:gemini/ApplicationServer:GregTest1gemini/
-modvirtualhosts {{HelloWorldWeb.war default_host}}
EnterpriseApp install /Node:gemini/
/opt/WebSphere/AppServer/installableApps/HelloWorld.ear
-appname HelloWorld2
-defappserver /Node:gemini/ApplicationServer:GregTest2gemini/
-modvirtualhosts {{HelloWorldWeb.war amy}}
With the correct syntax, everything works fine. However, the
binding information on the *.war/web-inf/ibm-web-bnd.xmi does
not contain the correct virtual host information which I assign
Problem conclusion
The ArchiveInstall.create() function was modified to update the
dd information to the related binding file during deployment.
Temporary fix
The test fix is sent to the customer and waiting for feedback.
Comments
APAR information
APAR number PQ69978
Reported component name WEBSPHERE AE SO
Reported component ID 5630A2202
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2003-01-17
Closed date 2003-03-25
Last modified date 2003-03-25

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
WSCP          

SRLS

Fix information

Applicable component levels
R400 PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ69978
IBM Group: Software Group
Modified date: Mar 25, 2003