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">
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <meta name="generator" content="Movable Type 5.2.3" />
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"$>" />
12 <title>Status for Andrew DeFaria: September 2005 Archives</title>
14 <link rel="start" href="http://defaria.com/blogs/Status/" title="Home" />
15 <link rel="prev" href="http://defaria.com/blogs/Status/archives/2005_08.html" title="August 2005" />
16 <link rel="next" href="http://defaria.com/blogs/Status/archives/2005_10.html" title="October 2005" />
18 <body class="layout-one-column">
20 <div id="container-inner" class="pkg">
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>
30 <div id="pagebody-inner" class="pkg">
32 <div id="alpha-inner" class="pkg">
34 <p class="content-nav">
35 <a href="http://defaria.com/blogs/Status/archives/2005_08.html">« August 2005</a> |
36 <a href="http://defaria.com/blogs/Status/">Main</a>
37 | <a href="http://defaria.com/blogs/Status/archives/2005_10.html">October 2005 »</a>
43 <h2 class="date-header">September 30, 2005</h2>
45 <div class="entry" id="entry-438">
46 <h3 class="entry-header">More study of Rebase project to parent & Deliver between projects</h3>
47 <div class="entry-content">
48 <div class="entry-body">
50 <li>Studied Rebase project to parent in depth</li>
52 <li>Studied Deliver between projects in depth</li>
54 <li>Discussed SJ vob move with Jennifer and Chini</li>
56 <li>Met with Phil regarding merge problem - turns out to be no problem</li>
59 <h3>Rebase Project to Parent</h3>
61 <p>The procedure calls rebase_project which essentially calls ct rebase...</p>
64 <li>Given a pvob and project rebase_project calls get_integration_stream to get the intergation stream</li>
66 <li>It then gets a list of the foundation baselines</li>
68 <li>For each foundation baseline it calls get_stream_for_baseline to get the stream for the foundation baseline.</li>
70 <li>Using that it calls get_project_for_stream to obtain the project name for this baseline.</li>
72 <li>Next it gets all of the recommended baselines for the project</li>
75 <h3>Deliver Between Projects</h3>
77 <p>This procedure calls inter_project_deliver. UCM doesn't support the concept of delivering between projects so this procedure implement interproject delivery by using ct merge.</p>
82 <p class="entry-footer">
83 <span class="post-footers">Posted by at 10:07 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000438.html">Permalink</a>
93 <h2 class="date-header">September 29, 2005</h2>
95 <div class="entry" id="entry-437">
96 <h3 class="entry-header">Trigger config/Web config</h3>
97 <div class="entry-content">
98 <div class="entry-body">
99 <p>Went to Salira to help Shuqing to set up a rel_3.1 branch.</p>
102 <li>Changed trigger to recogonize rel_3.1/china_3.1 as a valid branches.</li>
104 <li>Cleaned up web area on sonsweb</li>
106 <li>Added link for old 2.3 releases</li>
108 <li>Created 3.1.1.8.bugs file</li>
110 <li>Explained to Shuqing how the whole set up worked</li>
112 <li>Created china_3.1.lst file for Shanghai. Changes to CheckInPreop.pl will replicate to Shanghai and should become effective tomorrow.</li>
114 <li>Investigated changing <b>Found In</b> and <b>Fixed In</b> dropped downs to be sorted in reverse order since they are working on the latest, therefore highest numbered releases first. Turns out this will require more work with a possible change to the Clearquest schema. Jeff has schema checked out so I couldn't do anything. Basically those fields tie into a stateless record which contains a <b>Release ID</b> and a <b>Description</b>. I'm not sure how to tell Clearquest to sort that drop down.</li>
117 <p>Total time: 2 hours</p>
119 <p class="entry-footer">
120 <span class="post-footers">Posted by at 10:18 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000437.html">Permalink</a>
132 <div class="entry" id="entry-436">
133 <h3 class="entry-header">UCM: Rebase project to parent & Deliver between projects</h3>
134 <div class="entry-content">
135 <div class="entry-body">
137 <li>Created UCM environment where I can rebase and deliver</li>
139 <li>Reproduced binary merge problem in both rebase and deliver mode</li>
141 <li>Studied UCMCustom for <i>Rebase project to parent</i> & <i>Deliver between projects</i> functions. The former uses cleartool rebase while the later does not use deliver in the classic UCM sense</li>
144 <p class="entry-footer">
145 <span class="post-footers">Posted by at 3:41 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000436.html">Permalink</a>
155 <h2 class="date-header">September 28, 2005</h2>
157 <div class="entry" id="entry-435">
158 <h3 class="entry-header">Clearcase Deliver problem</h3>
159 <div class="entry-content">
160 <div class="entry-body">
162 <li>Helped Darren Edamura with a Clearcase problem</li>
164 <li>Started looking into Binary Merge problem</li>
166 <li>Added FixChar subroutine to CheckCodePage</li>
169 <h3>Clearcase Deliver Failiure Leaves Corrupted Version</h3>
171 <p>Worked with Darren Edamura on a problem he had during delivery. He says that he was working in a snapshot view and had inadvertantly had 2 hijaked files. When he wanted to deliver he had to do a rebase operation. Rebase noted the hijaked files and offered to check them in. He said he had checked them out. At this point he was left with a file version that had no activity associated with it. Right clicking that version in the version tree and selecting properties yielded:</p>
173 <img src="cc_corruption.jpg">
175 <p>Darren continued onward by checking out version 4 and checking in identical to create version 6 then delievered that.</p>
177 <p>In attempting to clean up version 5 we decided to remove that version. However doing so yielded:</p>
179 <img src="rmver_failure.jpg">
181 <p>Refreshing the version tree after that error revealed the activity on version 5 and now it all seems to be OK. I guess the rmver action cleared up the problem!</p>
183 <p class="entry-footer">
184 <span class="post-footers">Posted by at 2:56 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000435.html">Permalink</a>
194 <h2 class="date-header">September 27, 2005</h2>
196 <div class="entry" id="entry-432">
197 <h3 class="entry-header">Code Page/rgy_switchover</h3>
198 <div class="entry-content">
199 <div class="entry-body">
201 <li>Worked more on detecting and report invalid ASCII characters in PQA databases</li>
203 <li>Working with IBM Rational Support regarding rgy_switchover</li>
208 <p>Managed to get the non ASCII characters in the databases down to a handful of cases and implement a "fix_char" routine. The basic mapping turns out to be:</p.
210 <div class="code"><pre>
211 # Translate from special char -> ASCII
222 # "ffffffbd" => "1/2",
227 <p>The commented out lines represent characters I have not be able to determine the ASCII equivalents, except the 1/2 which is a 1/2 in one character. In order to translate the one character 1/2 to the 3 character 1/2 I would need to expand the array. I have not done this yet.</p>
229 <h3>PMR#59845,999,000 backup rgy switchover not working on Windows clients</h3>
231 <p>Steven Chaves wrote:</p>
233 <blockquote><p>Andrew,</p>
235 <p>During the tech session, other TSEs did say that rgy_switchover does not always work. For DNS resolution, running: ipconfig /release and then afterwards ipconfig /renew usually works, but this would have to be done on each client. Can you give the servers fixed IP addresses.</p></blockquote>
237 <p>There still seems to be some confusion here. I will attempt to be explicit here.</p>
239 <p>I realize that rgy_switchover will not always work 100%. Client machines may be down, etc. However what I'm seeing is that rgy_switchover never works - or at least never works with any of the Windows client machines who has their IP address assigned via DHCP and who's Windows machine name (WINS name) != Unix DNS CNAME.</p>
241 <p>Here's the situation. There are two Unix Solaris boxes: ccase-sj1-3 (10.16.191.241) and ccase-sj1-4 (10.16.191.243). Both are servers and have statically assigned IP addresses.</p>
243 <p>There are just a few Windows clients in this test scenario, mostly laptops. All fail. All have DHCP assigned IP addresses and Windows computer names that are not the same as DNS. Let's use my laptop as an example: ltsjca-adefaria (10.16.191.243) is it's name. It's a Windows XP box, is a laptop yet remains docked at my desk.</p>
245 <p>When the rgy_switchover command was run from ccase-sj1-3 to switch over to ccase-sj1-4 both ccase-sj1-3 and ccase-sj1-4 became aware of the change and switched over. None (i.e. 0) of the other clients (all DHCP assigned Windows boxes) failed, including my laptop (who's IP address, BTW, had not changed).</p>
247 <p>Investigating I find that I can nslookup and ping ccase-sj1-3 and ccase-sj1-4 from my laptop, ltsjca-adefaria</p>
249 <div class="code"><pre>
250 <font color="blue"><b>Local:</b></font><u>nslookup ccase-sj1-3</u>
251 Server: dns-sj1-1b.sj.broadcom.com
254 Name: ccase-sj1-3.sj.broadcom.com
255 Address: 10.16.191.241
256 Aliases: ccase-sj1-3.broadcom.com
258 <font color="blue"><b>Local:</b></font><u>nslookup ccase-sj1-4</u>
259 Server: dns-sj1-1b.sj.broadcom.com
262 Name: ccase-sj1-4.sj.broadcom.com
263 Address: 10.16.191.243
264 Aliases: ccase-sj1-4.broadcom.com
265 <font color="blue"><b>Local:</b></font><u>ping ccase-sj1-3</u>
266 Pinging ccase-sj1-3.sj.broadcom.com [10.16.191.241] with 32 bytes of data:
268 Reply from 10.16.191.241: bytes=32 time<1ms TTL=254
269 Reply from 10.16.191.241: bytes=32 time<1ms TTL=254
270 Reply from 10.16.191.241: bytes=32 time<1ms TTL=254
271 Reply from 10.16.191.241: bytes=32 time<1ms TTL=254
273 Ping statistics for 10.16.191.241:
274 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
275 Approximate round trip times in milli-seconds:
276 Minimum = 0ms, Maximum = 0ms, Average = 0ms
277 <font color="blue"><b>Local:</b></font><u>ping ccase-sj1-4</u>
278 Pinging ccase-sj1-4.sj.broadcom.com [10.16.191.243] with 32 bytes of data:
280 Reply from 10.16.191.243: bytes=32 time<1ms TTL=254
281 Reply from 10.16.191.243: bytes=32 time<1ms TTL=254
282 Reply from 10.16.191.243: bytes=32 time<1ms TTL=254
283 Reply from 10.16.191.243: bytes=32 time<1ms TTL=254
285 Ping statistics for 10.16.191.243:
286 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
287 Approximate round trip times in milli-seconds:
288 Minimum = 0ms, Maximum = 0ms, Average = 0ms
291 <p>I can ping my laptop by name but I cannot nslookup it:</p>
293 <div class="code"><pre>
294 <font color="blue"><b>Local:</b></font><u>ping ltsjca-adefaria</u>
295 Pinging LTSJCA-ADEFARIA.corp.ad.broadcom.com [10.16.65.94] with 32 bytes of data:
297 Reply from 10.16.65.94: bytes=32 time<1ms TTL=64
298 Reply from 10.16.65.94: bytes=32 time<1ms TTL=64
299 Reply from 10.16.65.94: bytes=32 time<1ms TTL=64
300 Reply from 10.16.65.94: bytes=32 time<1ms TTL=64
302 Ping statistics for 10.16.65.94:
303 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
304 Approximate round trip times in milli-seconds:
305 Minimum = 0ms, Maximum = 0ms, Average = 0ms
306 <font color="blue"><b>Local:</b></font><u>nslookup ltsjca-adefaria</u>
307 *** dns-sj1-1b.sj.broadcom.com can't find ltsjca-adefaria: Non-existent domain
308 Server: dns-sj1-1b.sj.broadcom.com
312 <p>From the Solaris boxes (either ccase-sj1-3 or ccase-sj1-4) I cannot nslookup nor ping ltsjca-adefaria by name:</p>
314 <div class="code"><pre>
315 <font color="red"><b>ccase-sj1-3:</b></font><u>nslookup ltsjca-adefaria</u>
316 Server: dns-sj1-1c.sj.broadcom.com
317 Address: 10.16.128.11
319 *** dns-sj1-1c.sj.broadcom.com can't find ltsjca-adefaria: Non-existent host/domain
320 ccase-sj1-3:ping ltsjca-adefaria
321 ping: unknown host ltsjca-adefaria
325 <p>I can ping by IP address:</p>
327 <div class="code"><pre>
328 <font color="red"><b>ccase-sj1-3:</b></font><u>ping 10.16.65.94</u>
332 <p>However the Solaris boxes (nor the laptop it seems) can resolve the name ltsjca-adefaria to an IP address:</p>
334 <div class="code"><pre>
335 <font color="red"><b>ccase-sj1-3:</b></font><u>nslookup ltsjca-adefaria</u>
336 Server: dns-sj1-1c.sj.broadcom.com
337 Address: 10.16.128.11
339 *** dns-sj1-1c.sj.broadcom.com can't find ltsjca-adefaria: Non-existent host/domain
342 <p>Finally a nslookup by IP address yields the following:</p>
344 <div class="code"><pre>
345 <font color="red"><b>ccase-sj1-3:</b></font><u>nslookup 10.16.65.94</u>
346 Server: dns-sj1-1c.sj.broadcom.com
347 Address: 10.16.128.11
349 Name: dhcpe1-sj1-094.sj.broadcom.com
353 <p>Thus showing that the DNS CNAME for 10.16.65.94 is dhcpe1-sj1-094.sj.broadcom.com not ltsjca-adefaria.</p>
355 <p>If I cannot translate ltsjca-adefaria to an IP address for ping then how is rgy_switchover gonna do it?</p>
357 <p>Now assuming that it's prevalent or common here at my client's site to have Windows clients with DHCP assigned addresses who's Windows machine names do not resolve in DNS and assuming that if the client name does not resolve in DNS then rgy_switchover fails, can it be said that rgy_switchover is relatively useless given this enviornment?</p>
360 <p class="entry-footer">
361 <span class="post-footers">Posted by at 2:08 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000432.html">Permalink</a>
371 <h2 class="date-header">September 26, 2005</h2>
373 <div class="entry" id="entry-431">
374 <h3 class="entry-header">Clearquest Code Pages</h3>
375 <div class="entry-content">
376 <div class="entry-body">
377 <p>Clearquest 2003.06.15 now uses Code Pages to insure that data entered into Clearquest databases are correct. When incorrect data is encountered there is a problem. The question is, which code page should we use?</p>
380 <p>Chris had went through this decision when he migrated Clearquest data to San Diego. We are faced with this decision now by moving to 2003.06.15.</p>
382 <blockquote>If you have ClearQuest databases that were created with previous versions of ClearQuest, they may contain data from a variety of code pages. When you set the ClearQuest data code page, the data in your databases is not converted to characters in the selected code page. If your database contains characters that do not map to the newcode page characters, data corruption will occur.
385 <p>There seems to be 4 choices for code pages:</p>
392 <li>Chinese - Simplified</li>
397 <p>I'm going to assume 3 and 4 are non issues. This leaves 1 and 2. Chris went with #1 and I think that's a good choice because ASCII is a base code set. However going with #1 means we need to clean up data now as we already have non ASCII characters in the databases.</p>
399 </p>There is also a <strong>NOCHECKING</strong> option which essentially turns off checking and allows any character in. Using <strong>NOCHECKING</strong> would mean that Clearquest Multisite will not be an option in the future as it does not support <strong>NOCHECKING</strong></p>.
401 <p>I believe if we went with #2 our non ASCII characters would not be a problem. However:</p>
403 <blockquote>All Windows clients must run the same operating system code page, and that code page must match the ClearQuest data code page. If you have mixed-platform environments (both Windows and UNIX clients), or clients using different operating system code pages, you must set the ClearQuest data code page to 20217 (ASCII), which is the common character set of all code pages. An alternate usage model is to set the ClearQuest data code page to a non-ASCII value and require that all users with UNIX systems interact with ClearQuest only with the Webclient.</blockquote>
408 <li>If you set the ClearQuest data code page to a non-ASCII value, users can only modify data in that database from a Windows client running the same operating system code page. If the code pages do not match, the database is opened in read-only mode.</li>
410 <li>If you set the ClearQuest data code page to a non-ASCII value, UNIX clients will have read-only access to the databases. (UNIX users can choose to use the only the Web client, which prevents data corruption if a non-ASCII data code page value is selected.)</li>
412 <li>If you set the ClearQuest data code page to a non-ASCII value, invalid characters can still potentially enter the database without being detected by ClearQuest. For example, ClearQuest cannot validate text that you cut from an e-mail or Web page and paste into a database record. If the e-mail or Web page text contains characters outside of the ClearQuest data code page, the characters are corrupted during display and may show up as invalid characters (for example, a question mark (?) character).</li>
415 <p>Bottom line appears to be use ASCII and bite the bullet now by cleaning up data or use Latin-1 and avoid data cleanup now with potentially a larger clean up later.</p>
418 <p class="entry-footer">
419 <span class="post-footers">Posted by at 6:32 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000431.html">Permalink</a>
431 <div class="entry" id="entry-430">
432 <h3 class="entry-header">Clearquest Franchise/PQA Invalid ASCII characters</h3>
433 <div class="entry-content">
434 <div class="entry-body">
436 <li>Discussed SJ/Irvine migration</li>
438 <li>Drew up Clearquest Franchise plan</li>
440 <li>Modifed CheckCodePage.pl to show the invalid characters in a word context</li>
442 <li>Investigating Clearquest Data Code Pages</li>
445 <h3>Clearquest Data Code Pages</h3>
447 <p>It seems, in an effort to better support international charactersets, Clearquest is tighening its enforcement of data code pages. In practice here this means that the default character set of US-ASCII will not longer due. I've been scanning the data for invalid characters and we've got 'em. Oddly it's stuff like the apostrophe in worlds like "shouldn't" and the hyphen in phrases such as "this - or that". Now when I go in and replace them with typed versions it works OK. I can only think that this might be a result of copy and pasting from Microsoft Word, which tends to use such odd versions of such simple characters.</p>
451 <p>Another problem raises its head in an odd way. After changing the odd apostrophe to a simple apostrophe and saving the record from the Clearquest client, I again get errors, this time in the Audit_Log. Seems that we have a hook script that basically captures the <em>old</em> and <em>new</em> strings of what had changed and logs them. Problem is, the <em>old</em> string has the old <strong>bad</strong> characters! Plus Audit_Log is not editable! So now we're stuck! Perhaps when we programmatically convert the database we will not hit a problem however I suspect that in order to add a record we need to validate it and the creation of Audit_Log is a function of Validate. If so we might be able to temporarily turn off the Create_Audit_Log function.
453 <p class="entry-footer">
454 <span class="post-footers">Posted by at 2:48 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000430.html">Permalink</a>
464 <h2 class="date-header">September 25, 2005</h2>
466 <div class="entry" id="entry-427">
467 <h3 class="entry-header">Triggers</h3>
468 <div class="entry-content">
469 <div class="entry-body">
471 <li>Worked on mktriggers script to mktriggers for all regions, all vobs</li>
474 <h2>Trigger Standardization</h2>
476 <p>I have been trying to centralize and standardize triggers. The idea here is to be able to add all the triggers to all of the necessary vobs quickly and easily and to insure that triggers - implementors of policy - are consistently applied. As triggers are not replicated by Multisite it is essential that you can add triggers to a replicate if needed. For example, we need it to add triggers to the new replicas of the San Jose and Irvine vobs. Also new triggers and new vobs come into being and you usually want to make sure that all vobs have the appropriate triggers in force.</p>
478 <blockquote><strong>Note:</strong> For example, the vob /vobs/CommEngine is replicated from Irvine <-> San Jose. Irvine has a set of triggers applied to their replica and we have a different set.
481 <p>Within Broadcom there are various vobs in various regions. This makes automation a little more difficult but not impossible. Some standardization of what triggers go where and how Clearcase gains access to the trigger code is necessary. One way I've seen companies accomplish this in the past was to create an administration vob and place trigger code in that vob. This vob would be replicated to all sites and trigger code made available through the use of a snapshot view in a well known location. Other administrative scripts can be shared in a similar fashion. Additionally we need to address differences between Windows and Unix.</p>
483 <h2>Inconsistent paths</h2>
485 <p>As it stands now triggers seem to be in a few places and I don't think that this places are kept in sync. As such I see inconsistencies that are confusing me. For example there are the following paths to triggers mentioned in /home/vobadm/scripts/mktrtype.sh:</p>
487 <div class="code"><pre>
489 NTPATH="\\\cc-atla-storage\ccase\script\trigger"
490 UNIXPATH="/projects/ccase/script/trigger"
494 NTPATH="\\\cc-blr-storage\ccase\script\trigger"
495 UNIXPATH="/projects/ccase/script/trigger"
499 NTPATH="\\\cc-brsa-storage\ccase\script\trigger"
500 UNIXPATH="/projects/ccase/script/trigger"
504 NTPATH="\\\Fs-irva-37\ccase\script\trigger"
505 UNIXPATH="/projects/ccase/script/trigger"
509 NTPATH="\\\Fs-irva-37\ccase\script\trigger"
510 UNIXPATH="/projects/ccase/script/trigger"
514 NTPATH="\\\Fs-irva-37\ccase\script\trigger"
515 UNIXPATH="/projects/ccase/script/trigger"
519 NTPATH="\\\cc-mhtb-storage\ccase\script\trigger"
520 UNIXPATH="/projects/ccase/script/trigger"
524 NTPATH="\\\cc-peka-storage\ccase\script\trigger"
525 UNIXPATH="/projects/ccase/script/trigger"
529 NTPATH="\\\cc-rmna-storage\ccase\script\trigger"
530 UNIXPATH="/projects/ccase/script/trigger"
533 ccase-sdoa-1|ccase-sdoa-2)
534 NTPATH="\\\Fs-irva-37\ccase\script\trigger"
535 UNIXPATH="/projects/ccase/script/trigger"
539 NTPATH="\\\cc-sj-storage\ccase\bse\script\trigger"
540 UNIXPATH="/projects/ccase/bse/script/trigger"
543 ccase-tlva-1|ccase-tlva-1.il.broadcom.com)
544 NTPATH="\\\cc-tlva-storage\ccase\script\trigger"
545 UNIXPATH="/projects/ccase/script/trigger"
549 <p>As you can see the NTPATH varies where the UNIXPATH is largely the same (ccase-sj1-1 puts scripts under bse). Also, with ccase-rmna-3 it says /projects/ccase/script/trigger yet is currently using /projects/cc4/triggers and the differences between those two directories are many. Which one is correct? Why the bse directory for San Jose?</p>
551 <p>I assume that the reasons for the different NTPATH names is to avoid going over the WAN to get trigger script code. I also assume that this is mitigated on Unix by use of the automounter and yet we cannot say that UNIXPATH is always the same due to the difference in San Jose. I wonder if DFS could be used to provide a consistent, globally well known path to trigger code under Windows...</p>
553 <p>In any event the question that rises is how are these various repositories of code kept in sync if at all?</p>
555 <h2>Inconsistent Application of Triggers</h2>
557 <p>Normally there are a certain set of triggers that are implementing policy that are consistently applied to all vobs (or at least all vobs in a region). For example, usually empty branches are considered bad and to be avoided. Thus there is normally a trigger script applied to all vobs to avoid this. Or if an organization determines that rmelem should not be performed then it is enforced with a trigger on all vobs. Yet there doesn't seem to be any triggers consistently applied to all vobs. In fact many vobs have no triggers at all!</p>
559 <p>I see, for example, 3 different triggers for preop checkins: GIpreci, preci and test_preci. Triggers could be written that can be applied to any vob and then they act only if the conditions are such that they should do something. IOW for situations where they don't apply they simple exit.</p>
561 <p>There are also triggers that do nothing but allow people to proceed or not based on whether the user is on an "approved" list. They carry with them a long list of -nusers. I would think that that would be more difficult to maintain than for a trigger to be written that opens up a file of approved users and validates the user based on that. Then to add/change/delete users one merely needs to update the data file, not re-create a trigger in a vob and then have to worry about what other vobs need their triggers updated. Of course the trigger would need to deal with the issue of what is the global file pathname to that data file.</p>
563 <p class="entry-footer">
564 <span class="post-footers">Posted by at 11:04 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000427.html">Permalink</a>
574 <h2 class="date-header">September 23, 2005</h2>
576 <div class="entry" id="entry-426">
577 <h3 class="entry-header">PQA Code Page/SJ Vob move</h3>
578 <div class="entry-content">
579 <div class="entry-body">
581 <li>Attended meeting regarding SJ/Irvine Vob move. Shivdutt is investigating doing vob moves instead of replication. Briefly discussed Disaster Recover options.</li>
583 <li>Got Chris' scripts that check for invalid characters in string data for the ASCII character set to work on our test PQA database. Found invalid characters.</li>
586 <h3>Invalid ASCII Characters in Clearquest databases</h3>
588 <p>With Clearquest 2003.06.15 there is more support for internationalization. This means that Clearquest now implements a <i>Code Page</i> which essentially defines the valid character set for data. If it encounters invalid characters the user must correct them.</p>
590 <p>Question is do we have invalid characters in the current database. Chris Rump had found such invalid characters when performing his Clearquest migration from Irvine -> San Diego. I've quickly adapted his scripts to check a few fields in the TO database and found some. So far all I've found are non ASCII characters for the apostrophe. We think this happens when a user copies and pastes text from Microsoft Word into Clearquest (Thanks Microsoft! :-()</p>
592 <p>In any event I still need to update the script to check all string oriented fields. If only a few isolated cases can be identified (e.g. Apostrophes, perhaps soft carriage returns, etc.) then perhaps this could be made into a function that will check for invalid ASCII characters and fix them</p>
594 <p class="entry-footer">
595 <span class="post-footers">Posted by at 5:16 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000426.html">Permalink</a>
605 <h2 class="date-header">September 22, 2005</h2>
607 <div class="entry" id="entry-424">
608 <h3 class="entry-header">PQA CQ Setup</h3>
609 <div class="entry-content">
610 <div class="entry-body">
612 <li>Set up CQ Web Server on p4test. Web client has been updated. Seems a little sluggish</li>
614 <li>Investigated CQ Web Performance tweaking</li>
616 <li>Looked into Chris's scripts for handling CQ code page problems</li>
619 <p class="entry-footer">
620 <span class="post-footers">Posted by at 2:26 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000424.html">Permalink</a>
630 <h2 class="date-header">September 21, 2005</h2>
632 <div class="entry" id="entry-425">
633 <h3 class="entry-header">SJ/Irvine Triggers/Sync lock problem/rgy_backup</h3>
634 <div class="entry-content">
635 <div class="entry-body">
637 <li>Tried to help Arun in Bangalore to be able to create views</li>
639 <li>Investigated trigger set up for SJ/Irvine</li>
641 <li>Investigated relocate sync_locked problem</li>
646 <p>There's bad news then worse news WRT rgy_backup.</p>
648 <p>First the bad news:</p>
650 <blockquote><p>It was hoped that when rgy_backup was run on each of the clients - i.e. any machine that is not designated as a backup registry server - it would contact the primary registry server and ask "Who's the backup registry server?" then check to verify that the client was proper configured. If not, that it would update the client's notion of who is the designated backup registry server. Turns out this is not the case! So we would have an issue of how do we properly configure all the clients.</p></blockquote>
652 <p>Now the worse news (AKA Why that CC Doctor warning about running Clearcase on a machine that uses DCHP is important):</p>
654 <blockquote><p>When I tested rgy_switchover I was surprised that it was unable to switch over any Windows desktop! Here's the output:</p>
656 <div class="code"><pre>
657 Wizard ccase-sj1-3:rgy_switchover ccase-sj1-4 ccase-sj1-3
658 Registry switchover started at 20-Sep-05.16:56:33
661 rgy_switchover: Error: Switchover for client LTSJCA-ADEFARIA failed
662 rgy_switchover: Warning: LTSJCA-ADEFARIA: Unable to reconfigure - rgy_switchover: Warning: could not find host, please check hostname
663 rgy_switchover: Error: Unknown host 'LTSJCA-ADEFARIA': Host not found
664 rgy_switchover: Error: Switchover for client LTSJCA-ADEFARIA failed
665 LTSJCA-ADEFARIA: FAILED
666 rgy_switchover: Error: Switchover for client PCSJCA-SHIVJHA failed
667 rgy_switchover: Warning: PCSJCA-SHIVJHA: Unable to reconfigure - rgy_switchover: Warning: could not find host, please check hostname
668 rgy_switchover: Error: Unknown host 'PCSJCA-SHIVJHA': Host not found
669 rgy_switchover: Error: Switchover for client PCSJCA-SHIVJHA failed
670 PCSJCA-SHIVJHA: FAILED
671 rgy_switchover: Error: Switchover for client lbsjca-nnalluri failed
672 rgy_switchover: Warning: lbsjca-nnalluri: Unable to reconfigure - rgy_switchover: Warning: could not find host, please check hostname
673 rgy_switchover: Error: Unknown host 'lbsjca-nnalluri': Host not found
674 rgy_switchover: Error: Switchover for client lbsjca-nnalluri failed
675 lbsjca-nnalluri: FAILED
676 Registry switchover finished at 20-Sep-05.16:56:34
679 <p>I suspect that the problem is that the Windows machine name does not resolve to an IP address:</p>
681 <div class="code"><pre>
682 Local:ping ltsjca-adefaria 64 2
683 PING LTSJCA-ADEFARIA.corp.ad.broadcom.com (10.16.65.94): 64 data bytes
684 72 bytes from 10.16.65.94: icmp_seq=0 ttl=64 time=2 ms
685 72 bytes from 10.16.65.94: icmp_seq=1 ttl=64 time=0 ms
687 ----LTSJCA-ADEFARIA.corp.ad.broadcom.com PING Statistics----
688 2 packets transmitted, 2 packets received, 0.0% packet loss
689 round-trip (ms) min/avg/max/med = 0/1/2/1
694 <div class="code"><pre>
695 Local:nslookup 10.16.65.94
696 Server: dns-sj1-1b.sj.broadcom.com
699 Name: dhcpe1-sj1-094.sj.broadcom.com
700 Address: 10.16.65.94</blockquote>
703 <p>So then, even if we managed to configure all the clients, if switch over time came, most of them would fail.</p>
705 <p class="entry-footer">
706 <span class="post-footers">Posted by at 2:29 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000425.html">Permalink</a>
716 <h2 class="date-header">September 16, 2005</h2>
718 <div class="entry" id="entry-423">
719 <h3 class="entry-header">Evil Twin/Performance</h3>
720 <div class="entry-content">
721 <div class="entry-body">
723 <li>Implemented Evil Twin trigger. Have not yet tested nor installed trigger yet</li>
725 <li>Meeting with Naga Re:
727 <li>Binary Merge problem</li>
729 <li>RM_EMPTY_BRANCH/EVIL_TWIN triggers</li>
731 <li>Lock project problem</li>
734 <li>Reviewing both Philip and Chin's performance testing</li>
736 <li>Struggling with Cisco VPN client at home!</li>
739 <h3>Evil Twin Trigger</h3>
741 <p>Evil twins are a well known phenomena in Clearcase circles. It is not recommended that you try to stop them by convention rather by Clearcase trigger. I have a trigger that does just that. The code uses cleartool ls so that it works for both dynamic views and snapshot views. The trigger also respects case sensitivity. This means that creating an element named "foo" and another element named "Foo" is allowed.</p>
743 <p>Evil twins should not be allowed in any vob because, as you rightly point out, it causes merging problems.</p>
745 <p>Shall I add this trigger to all vobs?</p>
747 <h3>Performance Scripts</h3>
749 <p>Both Philip and Chin have their own Clearcase performance testing scripts. In general performance of Clearcase is a huge topic. These scripts a relatively simple, just timing some basic Clearcase operations. Still this is a good metric from a user's perspective.</p>
751 <p>We should consolidate these tests and make them more flexible by having them self contained (both creating and tearing down the environment that they need) and generalize them so that new Clearcase operations can be easily added and timed.</p>
753 <p>These scripts should produce a data file that can be later consumed by say a PHP script to present the results in a readable manner on a web page somewhere.</p>
755 <p>Also, these scripts need to set up various different environments such as using local/remote snapshot views, dynamic views. These scripts can be used to measure performance of the old (ccase-rmna-1) environment as well as newer environements (ccase-rmna-3 and/or the new Linux server).</p>
757 <p>Finally it should be made such at adding new tests, i.e. make new baseline, can easily be incorporated into the test suite.</p>
759 <p class="entry-footer">
760 <span class="post-footers">Posted by at 12:04 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000423.html">Permalink</a>
770 <h2 class="date-header">September 15, 2005</h2>
772 <div class="entry" id="entry-422">
773 <h3 class="entry-header">Binary Merge/CVS/Clearquest Web</h3>
774 <div class="entry-content">
775 <div class="entry-body">
777 <li>Inveistigated binary merge problem</li>
779 <li>Worked with Mukund regarding CVS access</li>
781 <li>Helped Shivdutt with a Clearquest Web problem. User reports that Clearquest Web not working in IE! Suspect the problem is due to configuration issues, specifically JRE. Did some research and sent URLs to user</li>
784 <h3>Binary Merge</h3>
786 <p>Clearcase's diffmerge utility has understandable problems attempting to merge files that are binary (Clearcase searches for NUL characters \000 in the file to determine if it is binary). Sometimes Clearcase can merge such files, if it determines that the merge merely entails a wholesale replace of one version with another. But in non trival merges this is not possible.</p>
788 <p>Developers and managers here use a series of Perl scripts to help automate common trasks, one of which is to merge to and from different branches. The problem is when delivering a large set of changes there is a chance that some of the files will be binary and that it will not be possible to automatically merge them. Often a developer will start a merge and let it run over night. Sometimes, somewhere in the middle, the merge will prompt with a dialog box saying that it cannot merge this binary file. The result is that the merge is 1/2 done!</p>
790 <p>The Perl script uses cleartool findmerge to find and merge both directories and files. It also uses the -merge option to say "automatically merge things". Unfortunately when it hits a non trival binary file merge it cannot continue.</p>
792 <p>We propose to modify the Perl script to call findmerge without the -merge option then obtain the list of files that needs merging and itterate through the list calling cleartool merge for each file with a -abort. This tells merge to automatically merge things if it can, otherwise not to merge and return a status code that that merge was not possible in an automatic mode.</p>
794 <p>The script would then collect the names of all the files that could not be automatically merged and store that in a file somewhere.<p>
796 <p>We believe there are 3 possible ways to merge a non trival merge of a binary file (this assumes a simple merge between two different versions of a binary file. A merge with multiple contributors would obviously present N+1 possibilities...):
799 <li>Result of merge is a copy of the first contributor</li>
801 <li>Result of merge is a copy of the second contributor</li>
803 <li>Binary file needs to be rebuilt combining both A and B</li>
806 <p>A process could be written to read the saved file of non automatic binary merges and present the user with the choices listed above. The user then selects which choice is appropriate. The process then performs the necessary actions to accomplish what the user requested (i.e. if they select A then a merge arrow is drawn from B -> the checked out copy of A. If they select B then a merge arrow is drawn from A to the checked out copy of B). If any C options are choosen then the file remains unmerged.</p>
808 <p>In this way when the user performs his normal merge, upon completion, if merge conflicts exist in binary files the user is presented, <b>at the end of merging everything else</b> a dialog box allowing them to resolve the binary merge problems right now. The benefit here is that all of the other merging has already been completed and they are only dealing with the <i>problem</i> merges now. If they do not wish to correct these now they can always correct them later (issues about where this saved file will reside and how to restart the binary merge resolver are still open).</p>
810 <p class="entry-footer">
811 <span class="post-footers">Posted by at 6:31 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000422.html">Permalink</a>
821 <h2 class="date-header">September 14, 2005</h2>
823 <div class="entry" id="entry-421">
824 <h3 class="entry-header">CQ/Triggers/Binary merge/CVS</h3>
825 <div class="entry-content">
826 <div class="entry-body">
828 <li>Met with Chris Rumf regarding Clearquest and int impending upgrade/merge of DBs. Chris told us of his trials and tribulations with a 3 month project to merge CQ databases and move them to San Diego.</li>
830 <li>Fixed mktriggers to properly specify the path for the trigger script in both Windows and Unix implementations.</li>
832 <li>Worked with Shivdutt to try to reproduce the problems with merging binary files.</li>
834 <li>I was assigned a ticket to give a user CVS repository access. I still do not have proper login access to Irvine nor do I have permissions to perform this task</li>
837 <h3>Clearquest issues</h3>
839 <p>In all likelihood we will be faced with a merging of DBs and probable writing of Perl scripts to massage and otherwise transform the database. This will take time. Additionally Vinh is leaving Broadcom.</p>
841 <p>Chris warned that he faced a situation where the new version of Clearquest brings in the concept of internationalization by use of a code page and that he had many problems with users copying and pasting things from MS Word which ended up outside of the normal character set.</p>
843 <p>Also, Irvine seems to have Clearquest 2001 version which has the old, ASP based Clearquest Web which is decidedly inferior to the new 2003 Apache/RWP/Java based Clearquest Web. He also pointed us to some valuable information about performance tuning the various Clearquest Web pieces. This will be useful if we are to support a large number of users from Isreal.</p>
847 <p>Looked over most of the currently implemented triggers. I can probably add them to my mktriggers.pl script. One problem is that the ADD_EXECUTE trigger is merely a cleartool protect command to add execute permissions to newly created elements. I'm not sure why one would want to do this to every element as most elements are not executable (even though some OSes seem to think so). The mktriggers.pl script is oriented to only adding Perl based triggers. This could be solved by making it a simple Perl script. Also ADD_EXECUTE is added to all vobs except the \Docs vobs. It we can add it to all vobs it would be easier.</p>
849 <p>Current triggers use -exec and specify a Windows UNC path. This means that if we have any Unix clients they will not be able to execute any of these triggers! Fixed mktriggers.pl to add -execwin and -execunix options with proper pathnames.</p>
853 <p>Depending on the CVS situation, Broadcom might be interested in a Web application I had made that manages CVS users. From a web page a user can manage his user (able to change his password, add an email address/phone number, etc). If the user is in a cvsadm group they can add/change/delete other CVS users. With such a web app the help desk could resolve such CVS requests on the spot.</p>
855 <p class="entry-footer">
856 <span class="post-footers">Posted by at 6:00 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000421.html">Permalink</a>
866 <h2 class="date-header">September 13, 2005</h2>
868 <div class="entry" id="entry-420">
869 <h3 class="entry-header">Remedy/Irvine Access/P4 ticket</h3>
870 <div class="entry-content">
871 <div class="entry-body">
873 <li>Finally got Remedy access. Turns out I had it all along just my username was ADEFARIA instead of adefaria!</li>
875 <li>Looked into P4 ticket. I am unable to perform the action because I don't have a login to Irvine. P4 stuff gets performed in Irvine and I don't have an account there. Actually I have an account but didn't know the password. Actually I figured out the password - it was my initial password when I came to Broadcom and was never set. The Help desk had me set my password in the beginning but that was in the San Jose domain. I've now set it for Irvine too. There are two problems with my Linux login:
878 <li>In Irvine I have no home directory! As a result I cannot create ~/public_html and write web pages as well as I cannot set up my startup scripts, etc. I put in a ticket for this. Hopefully they will set up Irvine like San Jose in that my home directory will be share amoungst all three areas.</li>
880 <li>My default shell is (yuck) csh! I asked for that to be changed to bash.</lI
884 <li>Worked with Shivdutt on disk space problem on ccase-rmna-3</li>
886 <li>Added RM_EMPTY_BRANCH trigger to vobs on ccase-rmna-3</li>
888 <li>Investigating other triggers to include them in mktriggers.pl</li>
891 <h3>San Jose/Irvine Domains</h3>
893 <p>Here in Broadcom there are multiple NIS domains here including sanjose and irvine. For example, ssh'ing into xserver.sj works for me and puts me in /home/adefaria. Insterestingly /home/adefaria corresponds with my Windows home directory. IOW if I touch file on Linux I can see file in my home directory in Windows. Cool. The world is as it should be!</p>
895 <p>However in Irvine I have no home directory at all. It seems that home directories are automounted from the NIS auto_home map and that San Jose home directories come from fs-sj1-* while Irivine home direcrtories come from fs-irva-*. Ugh!</p>
897 <p class="entry-footer">
898 <span class="post-footers">Posted by at 10:50 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000420.html">Permalink</a>
908 <h2 class="date-header">September 12, 2005</h2>
910 <div class="entry" id="entry-418">
911 <h3 class="entry-header">Backup Registry Server/Triggers</h3>
912 <div class="entry-content">
913 <div class="entry-body">
915 <li>Investigated how to setup, configure and failover Clearcase backup registry</li>
917 <li>Working with Shivdutt to set up new Clearquest server software</li>
919 <li>Ported mktriggers.pl and RemoveEmptyBranch.pl. Added RM_EMPTY_BRANCH to vobs on ccase-rmna-1</li>
922 <h2>Clearcase Backup Registry</h2>
924 <p>I've looked into how to setup a Clearcase Backup Registry as well as how it is supposed to function when a failure occurs and a switchover is necessary.</p>
926 <h3>Introduction</h3>
928 <p>Clearcase provides a mechanism to set up a backup registry server in the event that the primary registry server fails. If done properly switching over to the backup registry server is quick and easy. It is not, however, without it's potential problems<sup>1</sup>.</p>
932 <p>To setup a Clearcase Backup Registry Server you must first define which servers will be the primary and secondary register servers<sup>2</sup>. Let's assume rgy1 is the primary and rgy2 is the backup. Next you configure rgy1 to tell it that the backup registry server is rgy2 by adding a line to /var/adm/rational/clearcase/rgy/rgy_hosts.conf.</p>
934 <h3>Normal Operation</h3>
936 <p>In normal operation Clearcase runs a scheduled job called Daily Registry Backup on all hosts. On all hosts except the designated backup registry server this job does little if anything.</p>
939 <p><font class="dim">I have a note that when run on a Windows client it will ask what the backup registry server is and if found and if different, will store that value in the Windows registry, thus Windows clients are self configuring. This should be tested however.</font></p>
942 <p>On the backup registry host the job will obtain a snapshot of the registry from the primary registry server. By default 3 days worth of copies are kept.
946 <p>If the primary registry server fails all that needs to be done is to run rgy_switchover which will promote the backup registry server to be a primary registry server. It will also inform all clients of the change. When the primary comes back it is configured as a backup of the new primary and optionally rgy_switchover'd to be a primary again</p>
950 <li>There is no guarantee that rgy_switchover will be able to successfully switch over all clients. Clients may not be available on the network, for example. It will report which clients were not switched over and they can be fixed manually.</li>
952 <li>What are our registry servers? The Clearcase Admin Console shows me the following:<br>
955 <li>ccase-atla-1</li>
956 <li>ccase-gera-1</li>
957 <li>ccase-irva-2</li>
958 <li>ccase-rmna-3</li>
959 <li>ccase-sdoa-1</li>
966 <li>ldt-sdoa-013</li>
970 <p>It seems as if multiple registry servers were used instead of using one global registry and dividing things up by Clearcase regions. In any event, which of these primary registry servers need to be backed up and to where?</p>
972 <p>Also, it is not a good practice to put your registry on the same box as your other Clearcase objects (i.e. views or vobs). Say, for example, ccase-rmna-3 blows a disk drive and will be down for quite some time. Sure ccase-rmna-2 might be it's backup registry server and we could switch over the clients, etc. However what good would that do if the vob data they wish to get to is on ccase-rmna-3! Answer: No good at all. That machine is down - period.</p>
974 <p>I would recommend that we have one global registry server and a backup server. The backup server can be a vob machine or some other machine which houses important Clearcase data. The theory here is that, as a backup server, it's service time is limited - IOW it's only going to be functioning as a primary registry server for the time that the primary is out. While slightly risky it's only used for a limited time and when there's an emergency.</p>
977 <h3>Mktriggers.pl & RemoveEmptyBranch.pl</li>
979 <p>Shivdutt and I feel that the problem that check_full_baseline is hitting is initially caused by having elements that have a 0 element on a branch. This is a common problem as I've explained before - a user checks out a file, it is branched and a 0 element is created as well as a checked out element:</p>
981 <img src="/Images/CheckedOut.jpg">
983 <p>If the user then cancels the checkout then we are left with:</p>
985 <img src="/Images/AfterCancellingCheckout.jpg">
987 <p>There is no difference between /main/1 and /main/andys_branch/0. Both /main/andys_branch/0 and /main/andys_branch can be safely removed. I believe that check_full_baseline corrects this situation by creating yet another identical version /main/andys_branch/1 and checking in yet another identical version.</p>
989 <p>The RemoveEmptyBranch.pl trigger corrects this condition at uncheckout (rmver and rmbranch) time by detecting this situation and removing both /main/andys_branch/0 and /main/andys_branch. It will only do so if the 0 element is the only thing there. If there are labels attached to the 0 element it will not remove it.</p>
991 <p>In order to implement this trigger I had to get the code working here at Broadcom. The RemoveEmptyBranch.pl trigger runs right out of the box, however things must be placed the proper places here at Broadcom. Additionally this trigger should be added to all vobs. Suffice to say, as a Clearcase Admin, I've hit this problem before.</p>
993 <p>My solution is a mktriggers.pl script which adds (or replaces) triggers on all public vobs in a region based on data in a data file which describes triggers. Mktriggers.pl is smart to skips private vobs and UCM project vobs.</p>
995 <p>Finally, mktriggers.pl uses a module of mine called Display.pm, which provides a consistent way of displaying messages.</p>
997 <p>To this regard I have created/ported the following files in //fs-rmna-01/Projects-V0/cc4:</p>
1000 <b>bin/mktriggers.pl:</b> Script to make/replace triggers in all vobs based on triggers.dat<br>
1001 <b>etc/triggers.dat:</b> Data file describing triggers (currently only describing RM_EMPTY_BRANCH)<br>
1002 <b>triggers/RemoveEmptyBranch.pl:</b> The RM_EMPTY_BRANCH trigger<br>
1003 <b>lib/Display.pm:</b> Perl module for displaying messages, errors, warnings consistently<br>
1004 <b>lib/Logger.pm:</b> Perl Object for handling creating and manipulating log files (Not used yet)<br>
1007 <p>Here's a usage for mktriggers.pl:</p>
1008 <div class="code"><pre>
1010 Usage mktriggers.pl: [-u] [-n] [-a] [-r] [-v] [ -vobs <vob tag list> ]
1012 -u Displays this usage
1013 -n No execute mode - just echo out what would have been done
1014 -r Perform only replacements of triggers
1015 -a Perform only adds of triggers that are missing
1018 -vobs List of vob tags to apply triggers to (default all vobs)
1021 <p>As you can see there is a no execute mode which just shows what would have been done. Add -v for verbose and it will also echo out the commands that would have been performed. You can also limit mktriggers.pl to only doing additions (-a) or replacements (-r).</p>
1023 <p>Mktrigger.pl's data files is in etc/triggers.dat. It's format is relatively simple:</p>
1024 <div class="code"><pre>
1026 #################################################################################
1028 # File: triggers.dat
1029 # Description: Describes the triggers to be implemented.
1030 # Author: Andrew@DeFaria.com
1031 # Created: Mon Mar 15 08:48:24 PST 2004
1034 # (c) Copyright 2004, Andrew@DeFaria.com, all rights reserved.
1036 ################################################################################
1038 # Only the following keywords are currently recognized:
1040 # Trigger: Introduces the trigger and gives it its name
1041 # Description: Used for the trigger type's comment
1042 # Type: Type of trigger (so far they're all -element -all)
1043 # Opkinds: Operation kinds that will cause the trigger to fire
1044 # ScriptEngine: Currently only supporting ccperl (C:\Program
1045 # Files\Rational\ClearCase\bin\ccperl)
1046 # Script: Script to run (under triggers)
1047 # Vobs: Can be either base, ucm, all or a list of vob tags.
1048 # If base is specified then the trigger is applied to
1049 # all base Clearcase vobs. If ucm is specified then the
1050 # trigger is applied to all ucm vobs. If all is
1051 # specified (or if Vobs is not present) then the trigger
1052 # is applied to all vobs (base and ucm). Otherwise the
1053 # value is considered a space separated list of vob tags
1054 # (without the leading "\") and the trigger is applied
1055 # only to those vobs.
1056 # EndTrigger Ends this trigger definition.
1058 ################################################################################
1059 Trigger: RM_EMPTY_BRANCH
1060 Description: Remove empty branches after uncheckout, rmver or rmbranch
1062 Opkinds: -postop rmbranch,rmver,uncheckout
1064 Script: RemoveEmptyBranch.pl
1068 <p>Next I applied the triggers to ccase-rnma-1 since this is our replicated backup of production and here's the output:</p>
1070 <div class="code"><pre>
1071 bash-2.05b$ bin/mktriggers.pl -v
1072 Adding trigger RM_EMPTY_BRANCH to vob /vobs/A1... done
1073 Adding trigger RM_EMPTY_BRANCH to vob /vobs/CommEngine... done
1074 Adding trigger RM_EMPTY_BRANCH to vob /vobs/NewTest... done
1075 Adding trigger RM_EMPTY_BRANCH to vob /vobs/OnePhone... done
1076 Adding trigger RM_EMPTY_BRANCH to vob /vobs/SpiceBoxSW... done
1077 Adding trigger RM_EMPTY_BRANCH to vob /vobs/TrainCommEngine... done
1078 Adding trigger RM_EMPTY_BRANCH to vob /vobs/alpha_video... done
1079 Adding trigger RM_EMPTY_BRANCH to vob /vobs/bfc_systems... done
1080 Adding trigger RM_EMPTY_BRANCH to vob /vobs/cablex... done
1081 Adding trigger RM_EMPTY_BRANCH to vob /vobs/cablex_tools... done
1082 Adding trigger RM_EMPTY_BRANCH to vob /vobs/docs... done
1083 Adding trigger RM_EMPTY_BRANCH to vob /vobs/ldx_apps... done
1084 Adding trigger RM_EMPTY_BRANCH to vob /vobs/ldx_dev... done
1085 Adding trigger RM_EMPTY_BRANCH to vob /vobs/ldx_hausware... done
1086 Adding trigger RM_EMPTY_BRANCH to vob /vobs/ldx_tools... done
1087 Adding trigger RM_EMPTY_BRANCH to vob /vobs/lucentexcel... done
1088 Adding trigger RM_EMPTY_BRANCH to vob /vobs/netro_apps... done
1089 Adding trigger RM_EMPTY_BRANCH to vob /vobs/phonex... done
1090 Adding trigger RM_EMPTY_BRANCH to vob /vobs/prot_callctrl... done
1091 Adding trigger RM_EMPTY_BRANCH to vob /vobs/prot_h248... done
1092 Adding trigger RM_EMPTY_BRANCH to vob /vobs/prot_mgcp... done
1093 Adding trigger RM_EMPTY_BRANCH to vob /vobs/prot_openssl... done
1094 Adding trigger RM_EMPTY_BRANCH to vob /vobs/prot_tools... done
1095 Adding trigger RM_EMPTY_BRANCH to vob /vobs/rmna_projects... done
1096 Adding trigger RM_EMPTY_BRANCH to vob /vobs/sec_uHSMnCipher... done
1097 Adding trigger RM_EMPTY_BRANCH to vob /vobs/telecan... done
1098 Adding trigger RM_EMPTY_BRANCH to vob /vobs/test_comp1... done
1099 Adding trigger RM_EMPTY_BRANCH to vob /vobs/test_docs... done
1100 Adding trigger RM_EMPTY_BRANCH to vob /vobs/test_pvob... done
1101 Adding trigger RM_EMPTY_BRANCH to vob /vobs/test_trp_vob... done
1102 Adding trigger RM_EMPTY_BRANCH to vob /vobs/voice_res_gw... done
1103 Adding trigger RM_EMPTY_BRANCH to vob /vobs/widcomm_bluetooth... done
1104 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xchg_common... done
1105 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xchg_drivers... done
1106 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xchg_qa... done
1107 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xchg_qa_cbx... done
1108 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xchg_qa_ipp... done
1109 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xchg_qa_ldx... done
1110 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xchg_qa_op... done
1111 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xchg_qa_xme... done
1112 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xme... done
1113 Adding trigger RM_EMPTY_BRANCH to vob /vobs/xme_sa... done
1114 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_Nucleus... done
1115 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_TCL... done
1116 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_VxWorks... done
1117 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_cygwin... done
1118 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_eCos... done
1119 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_gnu_mips_elf... done
1120 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_misc... done
1121 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_psos... done
1122 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_ti54x... done
1123 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_vc... done
1124 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_x86... done
1125 Adding trigger RM_EMPTY_BRANCH to vob /vobs/zOEMtools_zsp... done
1128 <p>When neither add (-a) or replace (-r) is specified mktriggers.pl both adds and/or replaces triggers. If run again with only -a (meaning only add missing triggers) no additional triggers are added. This is a good way to check that no new vobs have been created that are missing triggers or to only add triggers to a vob you just created. You could also specify something like mktriggers.pl -a -vobs /vobs/newvob. Combined with no execute mode and you can easily check if there are any missing triggers without adding them (i.e. mktriggers.pl -n -a).</p>
1130 <p class="entry-footer">
1131 <span class="post-footers">Posted by at 12:54 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000418.html">Permalink</a>
1141 <h2 class="date-header">September 9, 2005</h2>
1142 <a id="a000417"></a>
1143 <div class="entry" id="entry-417">
1144 <h3 class="entry-header">Clearcase Support/New Clearquest setup</h3>
1145 <div class="entry-content">
1146 <div class="entry-body">
1148 <li>Investigating check_full_baseline routine and why it is necessary</li>
1150 <li>Got access to Clearcase storage areas</li>
1152 <li>Attempting to set up environment to reproduce check_full_baseline problem</li>
1154 <li>Attended Clearcase World Wide Support meeting</li>
1156 <li>Attended Plan for ClearQuest meeting</li>
1159 <p class="entry-footer">
1160 <span class="post-footers">Posted by at 12:26 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000417.html">Permalink</a>
1170 <h2 class="date-header">September 7, 2005</h2>
1171 <a id="a000416"></a>
1172 <div class="entry" id="entry-416">
1173 <h3 class="entry-header">CC/CQ and other setup issues</h3>
1174 <div class="entry-content">
1175 <div class="entry-body">
1177 <li>Installed Clearcase and Clearquest on my system. CC Doctor complains that CQ is old</li>
1179 <li>Worked with Shivdutt creating new component and the proper parent/child relationships</li>
1181 <li>Mainly setting up my environment today</li>
1184 <p class="entry-footer">
1185 <span class="post-footers">Posted by at 6:00 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000416.html">Permalink</a>