Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / archives / 2006_09.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
4 <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6    <meta name="generator" content="Movable Type 5.2.3" />
7
8    <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles-site.css" type="text/css" />
9    <link rel="alternate" type="application/atom+xml" title="Atom" href="http://defaria.com/blogs/Status/atom.xml" />
10    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://defaria.com/blogs/Status/index.xml"$>" />
11
12    <title>Status for Andrew DeFaria: September 2006 Archives</title>
13
14    <link rel="start" href="http://defaria.com/blogs/Status/" title="Home" />
15    <link rel="prev" href="http://defaria.com/blogs/Status/archives/2006_07.html" title="July 2006" />
16    <link rel="next" href="http://defaria.com/blogs/Status/archives/2006_10.html" title="October 2006" />
17 </head>
18 <body class="layout-one-column">
19    <div id="container">
20       <div id="container-inner" class="pkg">
21
22          <div id="banner">
23             <div id="banner-inner" class="pkg">
24                <h1 id="banner-header"><a href="http://defaria.com/blogs/Status/" accesskey="1">Status for Andrew DeFaria</a></h1>
25                <h2 id="banner-description">Searchable status reports and work log</h2>
26             </div>
27          </div>
28
29          <div id="pagebody">
30             <div id="pagebody-inner" class="pkg">
31                <div id="alpha">
32                   <div id="alpha-inner" class="pkg">
33                      
34                      <p class="content-nav">
35                         <a href="http://defaria.com/blogs/Status/archives/2006_07.html">&laquo; July 2006</a> |
36                         <a href="http://defaria.com/blogs/Status/">Main</a>
37                         | <a href="http://defaria.com/blogs/Status/archives/2006_10.html">October 2006 &raquo;</a>
38                      </p>
39                      
40                      
41                      
42
43                      <h2 class="date-header">September 29, 2006</h2>
44                      <a id="a000575"></a>
45                      <div class="entry" id="entry-575">
46                         <h3 class="entry-header">Load Balancing Redirection</h3>
47                         <div class="entry-content">
48                            <div class="entry-body">
49                               <ul>
50   <li>Implemented a load balancing redirection scheme for cqweb</li>
51 </ul>
52                               
53                               <h2>Load Balancing CQ Web Servers based on Number of CQ Web Users</h2>
54
55 <p>The task at hand was to write a redirector that load balances amongst a number of CQ Web servers based on the number of CQ Web Users currently on each server. Additionally, based on how the user came into the CQ Web server farm, redirect them to the proper schema.</p>
56
57 <h3>Determining Load</h3>
58
59 <p>The old IIS CQ Web Server used to allow you to query the number of active CQ Web Users. The new Apache/Tomcat server only allows admins to do this. Additionally the admin need to be logged in, thus have a valid token. IBM/Rational suggests using Apache's server-status URL to determine load. However that only displays number of Apache requests in progress not number of CQ Web Users.</p>
60
61 <p>If ExtendedStatus is turned on then Apache lists each connection and the URL they are working on. By filtering "GET /cqweb" we can get a rough estimate of the number of CQ Web Users. There is a problem in that the redirector script cannot query the same web server that it's running on. Additionally this information can only be obtained if ExtendedStatus is turned on.</p>
62
63 <h2>Algorithm for selecting a server</h2>
64
65 <p>The algorithm for selecting a non busy server is described as:</p>
66
67 <p>Pick a lightly loaded server out of the pool. Note that if a server is not running with ExtendedStatus on then $cq_users will be undef. This is different than the case where the server has ExtendedStatus on but there just aren't any CQ Web users (which would be denoted by $cq_users = 0). Thus we may have the condition where:
68
69 <table cellspacing=0 cellpadding=2 border=1>
70   <tbody>
71     <tr>
72       <th>Server</th>
73       <th>cq_users</th>
74       <th>ExtendedStatus</th>
75     </tr>
76     <tr>
77       <td>server1</td>
78       <td>undef</td>
79       <td>off</td>
80     </tr>
81     <tr>
82       <td>server2</td>
83       <td>20</td>
84       <td>on</td>
85     </tr>
86     <tr>
87       <td>server3</td>
88       <td>0</td>
89       <td>on</td>
90     </tr>
91     <tr>
92       <td>server4</td>
93       <td>10</td>
94       <td>on</td>
95     </tr>
96   </tbody>
97 <table>
98
99 <p>In such a case we wish to pick server3 since it has no current CQ web users.
100
101 <p>The algorithm used here will be to remove all servers from the pool who are not running with ExtendedStatus on since we cannot reliably tell how loaded the server is from the standpoint of CQ Web users. If, however, no servers have ExtendedStatus on (thus all $cq_users return as undef) then we will consider the $nbr_apache_requests. IOW $nbr_apache_requests is not equivalent with $cq_users and thus they cannot be compared together. But if no server is running with ExtendedStatus on we need to pick something!</p>
102
103 <p><b>Note:</b> If $random then a server is simply randomly chosen.</p>
104
105 <p>Unfortunately, given this algorithm, if we had the following situation:</p>
106  
107 <table cellspacing=0 cellpadding=2 border=1>
108   <tbody>
109     <tr>
110       <th>Server</th>
111       <th>cq_users</th>
112       <th>ExtendedStatus</th>
113     </tr>
114     <tr>
115       <td>server1</td>
116       <td>undef</td>
117       <td>on</td>
118     </tr>
119     <tr>
120       <td>server2</td>
121       <td>undef</td>
122       <td>off</td>
123     </tr>
124     <tr>
125       <td>server3</td>
126       <td>undef</td>
127       <td>off</td>
128     </tr>
129     <tr>
130       <td>server4</td>
131       <td>10</td>
132       <td>on</td>
133     </tr>
134   </tbody>
135 <table>
136
137 <p>Then this algorithm will always return server4.</p>
138
139 <p><b><font color=red>Important Note:</font></b> The web server doing the redirection cannot be queried. Attempting to do so hangs! Therefore it cannot participate in the server pool. It is recommended that another web server be set up as the redirector and the DNS name cqweb assigned to it. This web server can, however, participate by being a Clearquest Request Manager.</p>
140
141 <h3>Random Redirection</h3>
142
143 <p>The script can also redirect randomly instead of relying on load of CQ Web Users. Currently there are 3 servers in the pool. Only one of them has ExtendedStatus turned on. As such redirecting by load will always resolve to the one server using, the one running with ExtendedStatus on. This is not good. So currently it just picks a server randomly from the pool. This behavior is controlled by the <tt>lb</tt> parameter (currently defaulted to off meaning pick server randomly).
144
145 <h3>Defining the Server Pool</h3>
146
147 <p>The server pool is defined by a small file, servers.cfg, which simply list the servers participating in the pool. Servers can be added or removed dynamically.</p>
148
149 <h3>Mapping Redirection</h3>
150
151 <p>In the past users went to http://cqweb/&lt;area&gt;. These <areas> were HTML files in the DocumentRoot which redirected to a series of redirection scripts. It was hoped that HTTP_REFERER could be used to determine where to redirect the visitor. Unfortunately HTTP_REFERER is not guaranteed and indeed it's undefined on the web servers!</p>
152
153 <p>Instead one must specify the <tt>group</tt> parameter to the redirector script. The script then maintains a map between &lt;areas&gt; -> Schema/ContextIDs. If the group is not specified or not in the map then the user is redirected to the main login page. This is not viewed as a hardship because we need redirecting &lt;area&gt; files anyway. The new form of redirecting &lt;area&gt; file is:
154
155 <div class=code><pre>
156 &lt;html&gt;
157 &lt;head&gt;
158 &ltmdeta http-equiv="refresh" content="0; url=http://cqweb.itg.ti.com/cgi-bin/redirect.pl?group=&lt<i>area</i>&gt;&gt;
159 &lt;/head&gt;
160 </pre></div>
161
162 <h3>Redirect Map</h3>
163
164 <p>The redirect map, stored in redirect.map, is a file of key/value pairs. For example:</p>
165
166 <div class=code><pre>
167 CMDT:           &schema=CMDT.2003.06.00&contextid=CMDT
168 CSSD:           &schema=omap.2002.05.00&contextid=OMAPS
169 DLP-Play:       &schema=DLP.2003.06.00&contextid=Play
170 DLP:            &schema=DLP.2003.06.00&contextid=DLP
171 DMD-p:          &schema=DLP.2003.06.00&contextid=DMD-p
172 DMD:            &schema=DLP.2003.06.00&contextid=DMD
173 GCM:            &schema=CMDT.2003.06.00&contextid=GCM
174 HPALP:          &schema=HPA_MKT_LP&contextid=HPALP
175 LDM:            &schema=CMDT.2003.06.00&contextid=LDM
176 NV:             &schema=CMDT.2003.06.00&contextid=NV
177 SDO:            &schema=SDS.2003.06.00&contextid=SDSCM
178 SDO_TEST:       &schema=SDS_TST_DEV&contextid=SDSCM
179 WiMax:          &schema=WiMax.SR5&contextid=WiMax
180 mDTV:           &schema=mDTV.2003.06.00&contextid=MDTV
181 mDTV_play:      &schema=mDTV.2003.06.00&contextid=PLAY
182 </pre></div>
183
184 <h3>Parameters for redirect.pl</h3>
185
186 <p>The following parameters, specified in the URL, are supported by redirect.pl:</p>
187
188 <dl>
189   <dt>group</dt>
190     <dd>Specifies the key into the redirect.map for the schema/contextid. If not specified then defaults to main login page of the selected server</dd>
191
192   <dt>lb</dt>
193     <dd>If set then load balancing is attempted based on ExtendedStatus and CQ Web Users as described above. Default: undefined (off)</dd>
194
195   <dt>debug</dt>
196     <dd>If specified the user is not redirected rather debugging information is output.</dd>
197 </dl>
198                               
199                               <p class="entry-footer">
200                                  <span class="post-footers">Posted by  at  2:35 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000575.html">Permalink</a>
201                                  
202                                  
203                               </p>
204                            </div>
205                         </div>
206                      </div>
207                      
208                      
209
210                      <h2 class="date-header">September 28, 2006</h2>
211                      <a id="a000574"></a>
212                      <div class="entry" id="entry-574">
213                         <h3 class="entry-header">JVM Stack/Heap Sizes</h3>
214                         <div class="entry-content">
215                            <div class="entry-body">
216                               <ul>
217   <li>Looked into JVM stack and heap sizes on dfls83-85</li>
218 </ul>
219                               
220                               <p>As you know there have been service interruptions in CQWeb. I keep looking at the logs for clues. About the only consistent thing is an error similar to this:</p>
221
222 <div class=code><pre>
223 2006-09-28 00:10:20 Ajp13Processor[8009][15] process: invoke
224 java.net.SocketException: Connection reset by peer: socket write error
225         at java.net.SocketOutputStream.socketWrite0(Native Method)
226         at java.net.SocketOutputStream.socketWrite(Unknown Source)
227         at java.net.SocketOutputStream.write(Unknown Source)
228         at org.apache.ajp.Ajp13.send(Ajp13.java:525)
229         at org.apache.ajp.RequestHandler.finish(RequestHandler.java:495)
230         at org.apache.ajp.Ajp13.finish(Ajp13.java:395)
231         at org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:196)
232         at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:464)
233         at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)
234         at java.lang.Thread.run(Unknown Source)
235 </pre></div>
236
237 <p>Now "Connection reset by peer" could be an error that the process gets because the service has stopped so this could be more of a symptom than a cure. However searching for "Ajp13Processor socket write error" points me to <a href="http://mail-archives.apache.org/mod_mbox/tomcat-users/200203.mbox/%3C751828609.20020327090907@e-box.dk%3E">this
238 post</a> which suggests increasing the stack and heap sizes for the JVM. Problems that are intermittent can be consistent with running out of stack or heap size.<./p>
239
240 <p>According to the Clearquest Web Administration Guide:</p>
241
242 <blockquote>
243   <hr size="2" width="100%">
244   <h3>Controlling Java VM Memory Consumption </h3>
245
246   <p>You can configure the memory consumption of Java processes used by New ClearQuest Web by adjusting the parameters in property files under the various components.</p>
247
248   <h4>Windows </h4>
249
250   <p>This section describes the configuration changes for New ClearQuest Web Java VM memory consumption for processes running on Microsoft Windows. To specify the VM memory consumption:</p>
251
252   <ol>
253     <li>Open the appropriate configuration file for the New ClearQuest Web component whose memory consumption you want to reconfigure. For the ClearQuest Web application:
254
255       <table border="1" cellpadding="2" cellspacing="0" width="100%">
256         <tbody>
257           <tr>
258             <th align="left" valign="top">Component</th>
259             <th align="left" valign="top">Configuration file</th>
260           </tr>
261           <tr>
262             <td valign="top">Apache Tomcat Server</td>
263             <td valign="top">C:\Program
264 Files\Rational\Common\rwp\bin\jk_service2.in.properties</td>
265           </tr>
266           <tr>
267             <td valign="top">Rational Web Platform</td>
268             <td valign="top">C:\Program
269 Files\Rational\Common\rwp\bin\jk_service2.properties</td>
270           </tr>
271         </tbody>
272       </table>
273       <br>
274     <p>For the ClearQuest server:</p>
275       <table border="1" cellpadding="2" cellspacing="0" width="100%">
276         <tbody>
277           <tr>
278             <th align="left" valign="top">Component</th>
279             <th align="left" valign="top">Configuration file</th>
280           </tr>
281           <tr>
282             <td valign="top">ClearQuest Request Manager</td>
283             <td valign="top">C:\Program
284 Files\Rational\ClearQuest\cqweb\cqserver\requestmgr_service.properties</td>
285           </tr>
286           <tr>
287             <td valign="top">ClearQuest Registry Server</td>
288             <td valign="top">C:\Program
289 Files\Rational\ClearQuest\cqweb\cqregsvr\cqregsvr_service.properties</td>
290           </tr>
291         </tbody>
292       </table>
293     </li>
294     <li>Modify the section shown below:<br>
295       <br>
296     <div class=code><pre>
297 # # JVM Options #
298 # Useful Options:
299 # -Xms2m = Initial heap size, modify for desired size
300 # -Xmx256m = Maximum heap size, modify for desired size
301 # -Xrs = Available in Jdk1.3.1 to avoid JVM termination during logoff
302 #
303 wrapper.jvm.options=-Xrs -Xms2m -Xmx256m
304     </pre></div></li>
305   </ol>
306   <hr size="2" width="100%">
307 </blockquote>
308
309 <p>I looked at these config files on the three machines (dfls83-85) and they were pretty much set to the default:</p>
310
311 <div class=code><pre>
312 <font color=blue><b>Ltx0062320:</b></font><u>for server in 83 84 85; do grep
313 wrapper.jvm.options= //dfls$server/Rational/Common/rwp/bin/jk_service2*properties
314 //dfls$server/Rational/ClearQuest/cqweb/cqserver/requestmgr_service.properties
315 //dfls
316 $server/Rational/ClearQuest/cqweb/cqregsvr/cqregsvr_service.properties;
317 done</u>
318 //dfls83/Rational/Common/rwp/bin/jk_service2.default.properties:wrapper.jvm.options=-Xrs
319 -Xms2m -Xmx256m<br>
320 //dfls83/Rational/Common/rwp/bin/jk_service2.in.properties:wrapper.jvm.options=-Xrs
321 -Xms2m -Xmx256m<br>
322 //dfls83/Rational/Common/rwp/bin/jk_service2.properties:wrapper.jvm.options=-Xrs
323 -Xms2m -Xmx256m<br>
324 //dfls83/Rational/ClearQuest/cqweb/cqserver/requestmgr_service.properties:wrapper.jvm.options=-Xrs<br>
325 //dfls83/Rational/ClearQuest/cqweb/cqregsvr/cqregsvr_service.properties:wrapper.jvm.options=-Xrs<br>
326 //dfls84/Rational/Common/rwp/bin/jk_service2.default.properties:wrapper.jvm.options=-Xrs
327 -Xms2m -Xmx256m<br>
328 //dfls84/Rational/Common/rwp/bin/jk_service2.in.properties:wrapper.jvm.options=-Xrs
329 -Xms2m -Xmx256m<br>
330 //dfls84/Rational/Common/rwp/bin/jk_service2.properties:wrapper.jvm.options=-Xrs
331 -Xms2m -Xmx256m<br>
332 //dfls84/Rational/ClearQuest/cqweb/cqserver/requestmgr_service.properties:wrapper.jvm.options=-Xrs<br>
333 //dfls84/Rational/ClearQuest/cqweb/cqregsvr/cqregsvr_service.properties:wrapper.jvm.options=-Xrs<br>
334 //dfls85/Rational/Common/rwp/bin/jk_service2.default.properties:wrapper.jvm.options=-Xrs
335 -Xms2m -Xmx256m<br>
336 //dfls85/Rational/Common/rwp/bin/jk_service2.in.properties:wrapper.jvm.options=-Xrs
337 -Xms2m -Xmx256m<br>
338 //dfls85/Rational/Common/rwp/bin/jk_service2.properties:wrapper.jvm.options=-Xrs
339 -Xms2m -Xmx256m<br>
340 //dfls85/Rational/ClearQuest/cqweb/cqserver/requestmgr_service.properties:wrapper.jvm.options=-Xrs<br>
341 //dfls85/Rational/ClearQuest/cqweb/cqregsvr/cqregsvr_service.properties:wrapper.jvm.options=-Xrs<br>
342  </pre></div>
343
344 </blockquote>
345   <p>All these machines have 2 gig of main memory and largely just serve CQWeb. Indeed the CQWeb service processes are consuming most of the memory:</p>
346
347 <div align="center"><img title="dfls83"  src="/blogs/Status/images/dfls83.jpg" alt="" height="541"  width="524">
348 <b>dfls83</b><br>
349 <img title="dfls84" src="/blogs/Status/images/dfls84.jpg" alt=""  height="545" width="525">
350 <b>dfls84</b>
351 <br>
352 <img title="dfls85" src="/blogs/Status/images/dfls85.jpg" alt="" height="577" width="528">
353 <b>dfls85</b>
354 </div>
355
356 <p>I think we should try setting at least the following:</p>
357
358 <div class=code><pre>
359 wrapper.jvm.options=-Xrs -Xms128m -Xmx512m
360 </pre></div>
361
362 <p>A restart of all CQ Web services would probably be needed for the changes to become effective. The above settings start off the jvm @ 128m for all 4 processes thus a total memory footprint of 512 Meg and limit each process to 512 Meg max for a total footprint of 2 Gig (when full). We might want to bounce this idea off IBM/Rational support to see if all 4 process should have the same settings or if we show vary
363 them.</p>
364                               
365                               <p class="entry-footer">
366                                  <span class="post-footers">Posted by  at 11:53 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000574.html">Permalink</a>
367                                  
368                                  
369                               </p>
370                            </div>
371                         </div>
372                      </div>
373                      
374                      
375
376                      <h2 class="date-header">September 27, 2006</h2>
377                      <a id="a000570"></a>
378                      <div class="entry" id="entry-570">
379                         <h3 class="entry-header">OMAPS.pm bug</h3>
380                         <div class="entry-content">
381                            <div class="entry-body">
382                               <ul>
383   <li>Tracked down and fixed minor bug in OMAPS</li>
384 </ul>
385                               
386                               <p>I found a minor bug in OMAPS.pm that is called from the CSSD ClearQuest Account Creation page (http://dfls85/cgi-bin/create.pl). The error appears in the log files as:</p>
387
388 <div class=code><pre>
389 [Wed Sep 27 10:52:39 2006] [error] [client 128.247.39.85] [Wed Sep 27 10:52:39 2006] 
390 create.pl: Useless use of concatenation (.) or string in void context at OMAPS.pm line 318, &lt;CNF&gt; line 139.
391 </pre></div>
392
393 <p>Line 318 of OMAPS.pm is:</p>
394 <div class=code><pre>
395 debug ("add user $data-&gt;{login_name} to team "<u><font color="#ff0000"><b>)</b></font></u> . $cgi-&gt;param("Team");
396 </pre></div>
397 But it should read:<br>
398 <div class=code><pre>
399 debug ("add user $data-&gt;{login_name} to team " . $cgi-&gt;param("Team")<u><font color="#009900"><b>)</b></font></u>;
400 </pre></div>
401
402 <p>As we are watching the log files carefully for signs of Clearquest web hangs and outages it would be helpful if this superfluous error were eliminated.</p>
403
404 <p>I fixed this by hand on dfls[83-85] but it should be fixed in the original.</p>
405                               
406                               <p class="entry-footer">
407                                  <span class="post-footers">Posted by  at  9:08 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000570.html">Permalink</a>
408                                  
409                                  
410                               </p>
411                            </div>
412                         </div>
413                      </div>
414                      
415                      
416
417                      <h2 class="date-header">September 26, 2006</h2>
418                      <a id="a000569"></a>
419                      <div class="entry" id="entry-569">
420                         <h3 class="entry-header">CQ log files</h3>
421                         <div class="entry-content">
422                            <div class="entry-body">
423                               <ul>
424   <li>Looked into yet another hang up with CQ web servers</li>
425 </ul>
426                               
427                               <h2>CQ Web logs</h2>
428
429 <p>We get a lot of errors in the logs of the form:</p>
430
431 <div class=code><pre>
432 [Tue Sep 26 11:08:51 2006] [error] [client 128.247.39.85] File does not exist: 
433 C:/Program Files/Rational/Common/rwp/webapps/cqweb/dct/html/images, referer: 
434 http://dfls85.itg.ti.com/cqweb/dct/html/download_en.html
435 [Tue Sep 26 11:08:51 2006] [error] [client 128.247.39.85] File does not exist:
436 C:/Program Files/Rational/Common/rwp/webapps/cqweb/dct/html/images, referer:
437 http://dfls85.itg.ti.com/cqweb/dct/html/download_en.html
438 </pre></div>
439
440 These errors are not a big deal except they cloud the log files with meaningless stuff that you need to skip over all the time. I decided to look into this and see where they were coming from. In the file .../rwp/webapps/wre/common/script/common.js there appeared the following code:
441
442 <div class=code><pre>
443 var arrowOff=new Image();
444      arrowOff.src="images/shim.gif";
445 var arrowOn=new Image();
446       arrowOn.src="images/arrow_red.gif" ;
447 </pre></div>
448
449 <p>This appears to be causing the problem so I updated that JavaScript to:</p>
450
451 <div class=code><pre>
452 var arrowOff=new Image();
453     arrowOff.src="/wre/common/images/shim.gif";
454 var arrowOn=new Image();
455         arrowOn.src="/wre/common/images/arrow_red.gif" ;
456 </pre></div>
457
458 <p>I'm not sure if this is a Rational problem or something that TI has done but with the above fix the error seems to go away. Well at least for me. I suspect others are still generating the error because JavaScript is cached by the browser. Hopefully as people restart there browsers this will go away.</p>
459
460 <p>Additionally the following error is still appearing in the logs:</p>
461
462 <div class=code><pre>
463 [Mon Sep 25 20:31:06 2006] [error] [client 172.24.80.20] File does not exist:
464 C:/Program Files/Rational/Common/rwp/htdocs/favicon.ico
465 </pre></div>
466
467 <p>I've put a favicon.ico in the proper area on dfls85. The error seems to have diminished however I don't see a favicon in the browser so I'm not sure if this is working.</p>
468
469 <p>The two "fixes" above will need to be replicated to the other servers (dfls83 and 84) at some time.</p>
470
471 <p>Finally another error shows up:</p>
472
473 <div class=code><pre>
474 [Tue Sep 26 18:31:18 2006] [error] [client 128.247.39.85] [Tue Sep 26 18:31:18 2006] create.pl: 
475 Useless use of concatenation (.) or string in void context at OMAPS.pm line 318, <CNF> line 139.
476 </pre></div>
477
478 <p>This seems to be an error in CSSD's code which is located under .../Rational/cgi-bin. Going to <a href="http://dfls85/cgi-bin/create.pl">http://dfls85/cgi-bin/create.pl</a> first redirects me to TI's authentication web page but then back to, in my case, <a href="http://dfls85/cgi-bin/create.pl?stoken=nJAROWWcvXf2s4lwHoGETsko1vphx%2fLqHxNu7IU4L6axrg6DrEJiVoIi8ACLnoycJTlPsGJlCDLr3MhbcRx4DXgvut4ea6d%2bU%2bWzQR3oBpa6NsxSH7EPctkp96%2b9UkgIHfwh%2fWYSI0pO1wu6uHVcGgpT5tAuSpF0a3vBMgRZN8hoU0TPYJEQ9z6nNI99fKhjRh6SRNDmDdM%3d">here</a>. Going to that page generates this error in the error log everytime.</p>
479                               
480                               <p class="entry-footer">
481                                  <span class="post-footers">Posted by  at  4:32 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000569.html">Permalink</a>
482                                  
483                                  
484                               </p>
485                            </div>
486                         </div>
487                      </div>
488                      
489                      
490
491                      <h2 class="date-header">September 21, 2006</h2>
492                      <a id="a000568"></a>
493                      <div class="entry" id="entry-568">
494                         <h3 class="entry-header">CQ: DMD Date changes</h3>
495                         <div class="entry-content">
496                            <div class="entry-body">
497                               <ul>
498   <li>Looked at DMD requests</li>
499
500   <li>Fixed problem where Needed_Date and Target_Date could not be set to Submit_Date</li>
501 </ul>
502                               
503                               <p class="entry-footer">
504                                  <span class="post-footers">Posted by  at  2:30 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000568.html">Permalink</a>
505                                  
506                                  
507                               </p>
508                            </div>
509                         </div>
510                      </div>
511                      
512                      
513
514                      <h2 class="date-header">September 18, 2006</h2>
515                      <a id="a000566"></a>
516                      <div class="entry" id="entry-566">
517                         <h3 class="entry-header">enable_ldaptk</h3>
518                         <div class="entry-content">
519                            <div class="entry-body">
520                               <ul>
521   <li>Started coding a PerlTK version of enable_ldap</li>
522
523   <li>Solved problem with not being able to write to Samba mounted home drive. Seems one should not use smbntsec in $CYGWIN when the Samba Server is not in the domain</li>
524 </ul>
525                               
526                               <p class="entry-footer">
527                                  <span class="post-footers">Posted by  at  8:02 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000566.html">Permalink</a>
528                                  
529                                  
530                               </p>
531                            </div>
532                         </div>
533                      </div>
534                      
535                      
536
537                      <h2 class="date-header">September 15, 2006</h2>
538                      <a id="a000565"></a>
539                      <div class="entry" id="entry-565">
540                         <h3 class="entry-header">enable_ldap</h3>
541                         <div class="entry-content">
542                            <div class="entry-body">
543                               <ul>
544   <li>Added LDAP calls to enable_ldap to check the parms as we go</li>
545 </ul>
546                               
547                               <h2>Integrating LDAP to enable_ldap</h2>
548
549 <p>I decided it would be good if as enable_ldap gathers parameters, it checks to see if they are correct. It does this by actually calling LDAP calls to validate the things like the server, port, etc. The goal is to make enable_ldap insure that the parameters are indeed correct. Unfortunately this makes enable_ldap dependent on the Net::LDAP module but I think it's worth it to allow enable_ldap to check the parameters and the mapping the user is describing.</p>
550
551 <p>I still need to tighten up the code where it queries LDAP and attempts to prove to the user that the mapping is correct. As I understand it you are basically attempting to map a Clearquest field to an LDAP field so that Clearquest can find the correct record. Once that linkage is established Clearquest can "pull" the password from LDAP and thus authenticate the user's password to the LDAP password.</p>
552
553 <p>What enable_ldap does is effectively this, however, it's not that informative to simply say "The user ID 'foo' was found in the LDAP directory" rather I want to say "The user id 'foo' corresponds with '&lt;fullname&gt;'". However does "fullname" always appear exactly as that in LDAP?</p>
554
555 <p>Additionally, I need to handle the cases where it's not a match or where say multiple entries are returned (not sure how that can happen unless the user specifies an attribute that can have dups or perhaps enters in a wildcard, e.g. "defaria*").</p>
556                               
557                               <p class="entry-footer">
558                                  <span class="post-footers">Posted by  at  2:33 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000565.html">Permalink</a>
559                                  
560                                  
561                               </p>
562                            </div>
563                         </div>
564                      </div>
565                      
566                      
567
568                      <h2 class="date-header">September 11, 2006</h2>
569                      <a id="a000564"></a>
570                      <div class="entry" id="entry-564">
571                         <h3 class="entry-header">Clearquest License Server</h3>
572                         <div class="entry-content">
573                            <div class="entry-body">
574                               <ul>
575   <li>Investigated Clearquest License server</li>
576 </ul>
577
578 <p><b>Time Spent:</b> 3 Hours</p>
579                               
580                               <p>Dylan Ko wrote:</p>
581
582 <blockquote type="cite">
583   <p>I have already turned on the sons-clearcase. As we are busy integrating on several projects now, we can not afford to have sons-clearcase down and thus cripple the ClearQuest and the sync between SC and SH office.</p>
584
585   <p>We’ll have to find some other appropriate time to turn off sons-clearcase and look into these issues further. Preferably that time that both sites are off – between 3AM to 9AM PST.</p>
586 </blockquote>
587
588 <p>OK, here's what I found out so far. Using adefaria as a test machine I first checked to see what FlexLM license server was being used on that machine by selecting <b>Start: All Programs: Rational Software: Rational License Key Administrator</b>. It was using just sons-clearcase. Next I attempting to talk to Clearquest by both the Clearquest GUI and cqc.  Then I stopped the FlexLM service on sons-clearcase. I then started the Clearquest GUI and it complained about no license server. Interestingly cqc continued to work. This may be because cqc/cqd opens the Clearquest database in a read only mode.</p>
589
590 <p>Next I added sons-sc-cc as a FlexLM License server and retested. Both the Clearcase GUI and cqc were able to obtain a license from sons-sc-cc with no problems. I even shutdown Clearcase on sons-clearcase and I was still able to use Clearcase GUI and cqc from adefaria with no problems.</p>
591
592 <p>I then restarted both FlexLM and Clearcase on sons-clearcase.</p>
593
594 <p>Dylan, perhaps you want to test this on your workstation. Try adding sons-sc-cc as a FlexLM license server for your desktop. You can toggle off sons-clearcase as a license server and attempt to access Clearquest. You can then stop the FlexLM service on sons-clearcase and test Clearquest access from your machine again. Finally try shutting down Clearcase on sons-clearcase and retest Clearquest access from your machine.</p>
595
596 <h3>Adding a FlexLM License Server to your Desktop</h3>
597
598 <ul>
599   <li>Select <b>Start: All Programs: Rational Software: Rational
600 License Key Administrator</b>:<br>
601     <br>
602     <img src="/blogs/Status/images/RLKA_sons-clearcase.jpg" alt=""></li>
603 </ul>
604 <ul>
605   <li>Select <b>License Keys: License Key Wizard<br>
606     <br>
607     </b><img src="/blogs/Status/images/LKA_Wizard.jpg" alt=""><br>
608   </li>
609 </ul>
610 <ul>
611   <li>Select <b>Next<br>
612     </b><br>
613     <img src="/blogs/Status/images/Server_Name_and_Port.jpg" alt=""><br>
614     <br>
615   </li>
616   <li>Select <b>Advanced Server Options:<br>
617     <br>
618     </b><img src="/blogs/Status/images/Client_Server_Configuration.jpg" alt=""><br>
619     <br>
620   </li>
621   <li>Select <b>Add Server:<br>
622     </b><br>
623     <img src="/blogs/Status/images/Client_Server_Configuration2.jpg" alt=""><br>
624     <br>
625   </li>
626   <li>Click on <b>Values</b> under the <b>Settings</b> on the right
627 on the <font color="#ff0000">Server Name</font> column type sons-sc-cc
628 and <b>Enter</b>. The server name should change from "New Server"
629 -&gt; "sons-sc-cc":<br>
630     <br>
631     <img src="/blogs/Status/images/Client_Server_Configuration3.jpg" alt=""><br>
632     <br>
633 At this point you can toggle on or off either sons-clearcase or
634 sons-sc-cc as a license server provider.<br>
635     <br>
636   </li>
637   <li>Select <b>OK</b> to close this dialog box. You should see
638 something like:<br>
639     <br>
640     <img src="/blogs/Status/images/RLKA_both.jpg" alt=""><br>
641     <br>
642 Note that there are 3 lines, two serviced by sons-clearcase (Rational
643 ClearCase LT and Rational ClearQuest) and one serviced by sons-sc-cc
644 (Rational ClearQuest). Also note that if you stop FlexLM on
645 sons-clearcase and refresh or return the Rational Key License
646 Administrator then licenses served by sons-clearcase will not be listed
647 (since the server cannot be contacted.<br>
648   </li>
649 </ul>
650
651 <p>Similarly, all desktops (or Clearquest GUI clients) will have to adjust
652 their FlexLM License Key Server in a similar manner. Also note that you
653 can, instead of adding a server, simply click on the sons-clearcase
654 server then click on <b>Values</b> under the <b>Settings</b> on the
655 right on the <font color="#ff0000">Server Name</font> column and
656 replace sons-clearcase with sons-sc-cc.</p>
657
658 <p>If the test is successful then I believe that sons-clearcase can be powered off. Again, I think we should still run about a week this way and if things are OK then I can rmreplica the US replicas leaving only the China (sons-cc) ones and the SantaClara (sons-sc-cc) ones.</p>
659                               
660                               <p class="entry-footer">
661                                  <span class="post-footers">Posted by  at  8:35 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000564.html">Permalink</a>
662                                  
663                                  
664                               </p>
665                            </div>
666                         </div>
667                      </div>
668                      
669                      
670
671                      <h2 class="date-header">September 10, 2006</h2>
672                      <a id="a000563"></a>
673                      <div class="entry" id="entry-563">
674                         <h3 class="entry-header">Clearquest Install</h3>
675                         <div class="entry-content">
676                            <div class="entry-body">
677                               <ul>
678   <li>Looked into Clearquest install area</li>
679 </ul>
680                               
681                               <h2>Silent Install and Multiple License Servers</h2>
682
683 <p>I had hoped to be able to user the /g parm to setup.exe so that the install would be silent and automatic. Clearquest now installs without need for a reboot. But silent install installs silently but then reboots! Ugh!</p>
684
685 <p>Also wanted to be able to specify multiple license servers as TI uses 3 of them. I hoped that merely updating sitedefs.dat to list three of them, comma separated would work. But it doesn't. Perhaps spaces? Also need to check siteprep to see if the area can be reprepped with 3 license servers</p>
686                               
687                               <p class="entry-footer">
688                                  <span class="post-footers">Posted by  at 12:37 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000563.html">Permalink</a>
689                                  
690                                  
691                               </p>
692                            </div>
693                         </div>
694                      </div>
695                      
696                      
697
698                      <h2 class="date-header">September  1, 2006</h2>
699                      <a id="a000562"></a>
700                      <div class="entry" id="entry-562">
701                         <h3 class="entry-header">Lost Packet</h3>
702                         <div class="entry-content">
703                            <div class="entry-body">
704                               <ul>
705   <li>Fixed Multisite problems</li>
706 </ul>
707
708 <p><b>Time spent:</b> 2 hours</p>
709                               
710                               <p>I looked on sons-sc-cc first for multisite errors. In /apps/Rational/Clearcase/var/logs there are logs regarding multisite. Some of the log files pointed me to look in the Event Viewer. In the Event Viewer I saw things like:</p>
711
712 <div class="code"><pre>
713 Event Type:        Error
714 Event Source:      ClearCase
715 Event Category:    Shipping_server
716 Event ID:          1024
717 Date:              7/15/2006
718 Time:              10:59:43 AM
719 User:              SALIRA\ccadmin
720 Computer:          SONS-SC-CC
721 Description:
722     shipping_server.exe(4448): Error: unable to contact the
723     albd on host 'sons-cc': timed out trying  to communicate
724     with ClearCase remote server
725 Data:
726     0000: 60 11 00 00               `...   
727 </pre></div>
728
729 <p>I remember problems with sons-cc occasionally having its albd_server go whacky and taking up 50% of the CPU. Doesn't seem to be the case this time. Then again, the RDP session you have on adefaria -> sons-cc died. Perhaps the rebooted sons-cc. It's been up for about a day now.</p>
730
731 <p>I RDPed to sons-cc and CC Doctor complained about a version incompatibility between CC and CQ. Looked around on sons-cc - there's no CQ installed there! Why was it removed?</p>
732
733 <p>Hmmm... I RDPed to sons-clearcase. Seems it's only been up 3 hours! Must have been recently rebooted....</p>
734
735 <p>It seems that a packet was lost somewhere. This is the complicated to do and complicated to explain procedure of setting epoch numbers back in time so as to replay the transactions and get everyone in the replica family on the same page...</p>
736
737 <p>I think I got it all straightened out now...</p>
738                               
739                               <p class="entry-footer">
740                                  <span class="post-footers">Posted by  at  3:08 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000562.html">Permalink</a>
741                                  
742                                  
743                               </p>
744                            </div>
745                         </div>
746                      </div>
747                      
748                   </div>
749                </div>
750             </div>
751          </div>
752       </div>
753    </div>
754 </body>
755 </html>