<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugzilla.globus.org/bugzilla/bugzilla.dtd">

<bugzilla version="3.2.3"
          urlbase="http://bugzilla.globus.org/bugzilla/"
          maintainer="bacon@mcs.anl.gov"
>

    <bug>
          <bug_id>3774</bug_id>
          
          <creation_ts>2005-09-22 11:25</creation_ts>
          <short_desc>Missing dep in wsmds target?</short_desc>
          <delta_ts>2008-01-11 17:52:48</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Java WS Core</product>
          <component>globus_wsrf_core</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          
          <priority>P1</priority>
          <bug_severity>blocker</bug_severity>
          <target_milestone>4.2.0</target_milestone>
          <dependson>4849</dependson>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mats Rynge">rynge@isi.edu</reporter>
          <assigned_to name="Mike Darcy">mdarcy@isi.edu</assigned_to>
          <cc>bacon@mcs.anl.gov</cc>
    
    <cc>jms@mcs.anl.gov</cc>
    
    <cc>jwscore-dev@globus.org</cc>
    
    <cc>laura@isi.edu</cc>
    
    <cc>mdarcy@isi.edu</cc>
    
    <cc>neillm@mcs.anl.gov</cc>
    
    <cc>roy@cs.wisc.edu</cc>
    
    <cc>tfreeman@mcs.anl.gov</cc>

      

      
          <long_desc isprivate="0">
            <who name="Mats Rynge">rynge@isi.edu</who>
            <bug_when>2005-09-22 11:25:56</bug_when>
            <thetext>A user is reporting that after using the binary installer, and running

   make wsmds


he gets:

[globus@coal bin]$ ./globus-start-container
 2005-09-22 16:39:42,757 ERROR wsdd.WSDDDeployment [main,deployMapping:324]
    Unable to deploy typemapping:
    {http://www.globus.org/namespaces/2004/10/gram/job/faults}ExecutionFailedFa
    ultType
 java.lang.ClassNotFoundException:
    org.globus.exec.generated.ExecutionFailedFaultType


Sounds like a missing dep in the pkg data.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Mike Darcy">mdarcy@isi.edu</who>
            <bug_when>2007-02-20 22:53:13</bug_when>
            <thetext>It looks to me that the client-config.wsdd that gets used in the binary installer contains type-mappings for the GRAM faults, and not the smaller subset that would be implied by the using &quot;wsmds&quot; target.  As a result, the container tries to load all of these bean classes at startup, and since GRAM is not installed (as it not a dependency of ws-mds) the classes are not found and the 
errors result.

Removing all type-mapping references to gram faults in the client-config.wsdd allowed the container to startup normally, so there is a workaround.

I am not sure at this point if this is a bug with MDS dependency metadata, so I am copying it to Charles to see if he has any ideas :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Charles Bacon">bacon@mcs.anl.gov</who>
            <bug_when>2007-02-22 15:42:24</bug_when>
            <thetext>This is the same problem as was eventually reported in 4849 also.  We need core to give us the ability to have services to split up the client-config.wsdd the same way we already split up server-config.wsdd.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Mike Darcy">mdarcy@isi.edu</who>
            <bug_when>2007-02-26 19:59:40</bug_when>
            <thetext>I&apos;ll accept this and see if we can come up with something for wsrf-core for 4.2</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Charles Bacon">bacon@mcs.anl.gov</who>
            <bug_when>2007-03-15 13:30:19</bug_when>
            <thetext>*** Bug 5082 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Charles Bacon">bacon@mcs.anl.gov</who>
            <bug_when>2007-09-11 11:23:33</bug_when>
            <thetext>Re-assigning to the correct category</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Charles Bacon">bacon@mcs.anl.gov</who>
            <bug_when>2007-09-19 11:48:04</bug_when>
            <thetext>This issue prevents installation of binaries in any configuration other than installing the whole toolkit at once.  We need something like the handling of server-config.wsdd for the client-config also.  Upgrading to blocker, cc:ing jwscore-dev.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Charles Bacon">bacon@mcs.anl.gov</who>
            <bug_when>2007-11-28 14:05:24</bug_when>
            <thetext>Do we have a plan for this for 4.2 yet?  It&apos;s key to our ability to deploy subsets of the toolkit in binary format.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Charles Bacon">bacon@mcs.anl.gov</who>
            <bug_when>2008-01-11 11:16:52</bug_when>
            <thetext>I cooked up a script that will remove offending typeMappings from a 4.0.x
installation:

cd $GLOBUS_LOCATION/lib

# Create the list of all classes contained in $GL jar files.
# unzip -l outputs filenames in columns 29-
# Classes are listed as org/globus/.../foo.class
# In the typemappings, though, the / are replaced by .
for f in *.jar; do
   unzip -l $f | cut -c29- | grep class | tr / . &gt;&gt; ../jarlist
done

cd ..

# Type mappings in client-config.wsdd start with &lt;typeMapping
# They have a number of quote-delimited fields.  The classname appears
# in the 10th field, and are listed as java:org.globus..., so strip off the
java:
# There&apos;s one java.lang.String entry that comes from native java classes, not
our
# jar files, so exclude it.
grep typeMapping client-config.wsdd | cut -d\&quot; -f10 | cut -d: -f2 | grep -v
java.lang.String &gt; typemappinglist

# Iterate over the classes listed in the typemappings and search for them
# in the list of classes we own.  Output offending classes.
while read typemap; do
   grep $typemap jarlist &gt; /dev/null;
   if [ $? -ne 0 ]; then
     echo $typemap &gt;&gt; missingtypes
   fi
done &lt; typemappinglist

#make a backup
cp client-config.wsdd client-config.wsdd.orig
cp client-config.wsdd client-config.temp

#remove all lines that reference uninstalled classes
while read badmap; do
   grep -v $badmap client-config.temp &gt; client2
   mv client2 client-config.temp
done &lt; badmap;

mv client-config.temp client-config.wsdd</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Rachana Ananthakrishnan">ranantha@mcs.anl.gov</who>
            <bug_when>2008-01-11 11:29:30</bug_when>
            <thetext>I&apos;ll let Mike add details on the solution, but in a nutshell a client has been created that updates the the client config in $GLOBUS_LOCATION to have information from the components installed in $G_L. The effective change needed from services is for them to list their client config.wsdd file in filelist, so that GPT includes it in a binary deploy. So this solution can and should be applied to branch also.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who name="Mike Darcy">mdarcy@isi.edu</who>
            <bug_when>2008-01-11 17:52:48</bug_when>
            <thetext>Code has been committed to CVS trunk to address this issue for the 4.2 release.  

A command-line utility called &quot;globus-update-client-config&quot; has been added that will allow build automation or an administrator to scan for client-config.wsdd files located in $GLOBUS_LOCATION/etc/&lt;module-name&gt; and merge each file&apos;s contents into $GLOBUS_LOCATION/client-config.wsdd.

The primary impact of this change is that component developers who currently provide a &quot;deploy-client.wsdd&quot; file will now find that in addition to having that deploy-client.wsdd file merged into client-config.wsdd at deploy time, will also have this file copied to $GLOBUS_LOCATION/etc/&lt;module-name&gt;/client-config.wsdd, so that it can be rescanned when the globus-update-client-config tool is run.

This means that component developers who do provide a &quot;deploy-client.wsdd&quot; file must now add an entry into the GPT packaging filelist for the file &quot;etc/client-config.wsdd&quot;.  If this change is not made, then any type-mappings or other client-side configuration modifications from this file will not be reflected in the global $G_L/client-config.wsdd. Note that this caveat applies to BINARY PACKAGED INSTALLATIONS ONLY.  The procedure for building and deploying from source remains unchanged.

See http://www.globus.org/toolkit/docs/development/4.2-drafts/common/javawscore/developer/globus-update-client-config.html for more information on using the command-line tool.</thetext>
          </long_desc>
      
      

    </bug>

</bugzilla>