Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / 2005 / 09 / triggers.html
1 <!DOCTYPE html>
2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
3   <head>
4     <meta charset="utf-8">
5     <meta name="description" content=" Worked on mktriggers script to mktriggers for all regions, all vobs...">
6     <meta name="generator" content="Movable Type 5.2.3">
7     <title>Triggers - Status</title>
8     <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://defaria.com/blogs/Status/atom.xml">
9     <link rel="canonical" href="http://defaria.com/blogs/Status/2005/09/triggers.html">
10     <meta name="viewport" content="width=device-width,initial-scale=1">
11     <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
12     <!--[if lt IE 9]>
13     <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles_ie.css">
14     <script src="/mt/mt-static/support/theme_static/rainier/js/html5shiv.js"></script>
15     <![endif]-->
16     
17     <link rel="start" href="http://defaria.com/blogs/Status/">
18
19     <link rel="prev" href="http://defaria.com/blogs/Status/2005/09/pca-code-pagesj.html" title="PQA Code Page/SJ Vob move">
20     <link rel="next" href="http://defaria.com/blogs/Status/2005/09/clearquest-fran.html" title="Clearquest Franchise/PQA Invalid ASCII characters">
21     <!-- Open Graph Protocol -->
22     <meta property="og:type" content="article">
23     <meta property="og:locale" content="en-us">
24     <meta property="og:title" content="Triggers">
25     <meta property="og:url" content="http://defaria.com/blogs/Status/2005/09/triggers.html">
26     <meta property="og:description" content=" Worked on mktriggers script to mktriggers for all regions, all vobs...">
27     <meta property="og:site_name" content="Status">
28     <meta property="og:image" content="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
29     <!-- Metadata -->
30     <meta itemprop="description" content=" Worked on mktriggers script to mktriggers for all regions, all vobs...">
31     <link itemprop="url" href="http://defaria.com/blogs/Status/2005/09/triggers.html">
32     <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
33     
34   </head>
35   <body>
36     <div id="container">
37       <div id="container-inner">
38         <header id="header" role="banner">
39           <div id="header-inner">
40             <div id="header-content">
41               <h1>
42                 <a href="http://defaria.com/blogs/Status/">
43
44                   Status
45
46                 </a>
47               </h1>
48               
49             </div>
50
51             <nav role="navigation">
52           <ul>
53             <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
54
55
56           </ul>
57         </nav>
58
59           </div>
60         </header>
61         <div id="content">
62           <div id="content-inner">
63             <ul class="breadcrumb breadcrumb-list">
64               <li class="breadcrumb-list-item"><a href="http://defaria.com/blogs/Status/">Home</a></li>
65               <li class="breadcrumb-list-item">Triggers</li>
66             </ul>
67             <div id="individual-main" class="main" role="main">
68               <article id="entry-1698" class="entry entry-asset asset hentry">
69                 <div class="asset-header">
70                   <h2 itemprop="name" class="asset-name entry-title">Triggers</h2>
71                   <footer class="asset-meta">
72                     <ul class="asset-meta-list">
73                       <li class="asset-meta-list-item">Posted on <time datetime="2005-09-25T23:04:32-08:00" itemprop="datePublished">September 25, 2005</time></li>
74                       <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
75
76   
77                       <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/broadcom/">Broadcom</a></li>
78   
79
80                    </ul>
81                 </footer>
82                 </div>
83                 <div class="entry-content asset-content" itemprop="articleBody">
84                   <ul>
85   <li>Worked on mktriggers script to mktriggers for all regions, all vobs</li>
86 </ul>
87                   <h2>Trigger Standardization</h2>
88
89 <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>
90
91 <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.
92 </blockquote>
93
94 <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>
95
96 <h2>Inconsistent paths</h2>
97
98 <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>
99
100 <div class="code"><pre>
101        ccase-atla-1)
102           NTPATH="\\\cc-atla-storage\ccase\script\trigger"
103           UNIXPATH="/projects/ccase/script/trigger"
104           ;;
105
106        ccase-blr-1)
107           NTPATH="\\\cc-blr-storage\ccase\script\trigger"
108           UNIXPATH="/projects/ccase/script/trigger"
109           ;;
110
111        ccase-brsa-1)
112           NTPATH="\\\cc-brsa-storage\ccase\script\trigger"
113           UNIXPATH="/projects/ccase/script/trigger"
114           ;;
115
116        ccase-irva-2)
117           NTPATH="\\\Fs-irva-37\ccase\script\trigger"
118           UNIXPATH="/projects/ccase/script/trigger"
119           ;;
120
121        ccase-irva-4)
122           NTPATH="\\\Fs-irva-37\ccase\script\trigger"
123           UNIXPATH="/projects/ccase/script/trigger"
124           ;;
125
126        ccase-irva-tst)
127           NTPATH="\\\Fs-irva-37\ccase\script\trigger"
128           UNIXPATH="/projects/ccase/script/trigger"
129           ;;
130
131        ccase-mhtb-1)
132           NTPATH="\\\cc-mhtb-storage\ccase\script\trigger"
133           UNIXPATH="/projects/ccase/script/trigger"
134           ;;
135
136        ccase-peka-1)
137           NTPATH="\\\cc-peka-storage\ccase\script\trigger"
138           UNIXPATH="/projects/ccase/script/trigger"
139           ;;
140
141        ccase-rmna-3)
142           NTPATH="\\\cc-rmna-storage\ccase\script\trigger"
143           UNIXPATH="/projects/ccase/script/trigger"
144           ;;
145
146        ccase-sdoa-1|ccase-sdoa-2)
147           NTPATH="\\\Fs-irva-37\ccase\script\trigger"
148           UNIXPATH="/projects/ccase/script/trigger"
149           ;;
150
151        ccase-sj1-1)
152           NTPATH="\\\cc-sj-storage\ccase\bse\script\trigger"
153           UNIXPATH="/projects/ccase/bse/script/trigger"
154           ;;
155
156        ccase-tlva-1|ccase-tlva-1.il.broadcom.com)
157           NTPATH="\\\cc-tlva-storage\ccase\script\trigger"
158           UNIXPATH="/projects/ccase/script/trigger"
159           ;;
160 </pre></div>
161
162 <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>
163
164 <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>
165
166 <p>In any event the question that rises is how are these various repositories of code kept in sync if at all?</p>
167
168 <h2>Inconsistent Application of Triggers</h2>
169
170 <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>
171
172 <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>
173
174 <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>
175                 </div>
176                 <nav class="page-navigation entry-navigation pagination content-nav">
177                   <ul class="page-navigation-list">
178
179                     <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2005/09/pca-code-pagesj.html" title="PQA Code Page/SJ Vob move">Previous entry</a></li>
180
181
182                     <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2005/09/clearquest-fran.html" title="Clearquest Franchise/PQA Invalid ASCII characters">Next entry</a></li>
183
184                   </ul>
185                 </nav>
186                 <!--
187 <aside id="zenback" class="zenback feedback">
188   Please paste Zenback script code here.
189 </aside>
190 -->
191                 
192                 
193               </article>
194             </div>
195             <aside class="widgets related" role="complementary">
196               <nav class="widget-search widget">
197   <div class="widget-content">
198     <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
199       <div>
200         <input type="text" name="search" value="" placeholder="Search...">
201
202         <input type="hidden" name="IncludeBlogs" value="8">
203
204         <input type="hidden" name="limit" value="20">
205         <button type="submit" name="button">
206           <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
207         </button>
208       </div>
209     </form>
210   </div>
211 </nav>
212 <nav class="widget-archive-category widget">
213   <h3 class="widget-header">Categories</h3>
214   <div class="widget-content">
215     
216       
217     <ul class="widget-list">
218       
219       
220       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
221       
222       
223       </li>
224       
225     
226       
227       
228       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
229       
230       
231       </li>
232       
233     
234       
235       
236       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
237       
238       
239       </li>
240       
241     
242       
243       
244       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
245       
246       
247       </li>
248       
249     
250       
251       
252       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
253       
254       
255       </li>
256       
257     
258       
259       
260       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
261       
262       
263       </li>
264       
265     
266       
267       
268       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
269       
270       
271       </li>
272       
273     
274       
275       
276       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
277       
278       
279       </li>
280       
281     
282       
283       
284       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
285       
286       
287       </li>
288       
289     
290       
291       
292       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
293       
294       
295       </li>
296       
297     
298       
299       
300       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
301       
302       
303       </li>
304       
305     
306       
307       
308       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
309       
310       
311       </li>
312       
313     </ul>
314       
315     
316   </div>
317 </nav>
318   
319
320 <nav class="widget-archive-dropdown widget">
321   <h3 class="widget-header">Archives</h3>
322   <div class="widget-content">
323     <select>
324       <option>Select a Month...</option>
325     
326       <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
327     
328   
329     
330       <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
331     
332   
333     
334       <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
335     
336   
337     
338       <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
339     
340   
341     
342       <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
343     
344   
345     
346       <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
347     
348   
349     
350       <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
351     
352   
353     
354       <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
355     
356   
357     
358       <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
359     
360   
361     
362       <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
363     
364   
365     
366       <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
367     
368   
369     
370       <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
371     
372   
373     
374       <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
375     
376   
377     
378       <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
379     
380   
381     
382       <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
383     
384   
385     
386       <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
387     
388   
389     
390       <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
391     
392   
393     
394       <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
395     
396   
397     
398       <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
399     
400   
401     
402       <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
403     
404   
405     
406       <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
407     
408   
409     
410       <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
411     
412   
413     
414       <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
415     
416   
417     
418       <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
419     
420   
421     
422       <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
423     
424   
425     
426       <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
427     
428   
429     
430       <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
431     
432   
433     
434       <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
435     
436   
437     
438       <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
439     
440   
441     
442       <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
443     
444   
445     
446       <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
447     
448   
449     
450       <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
451     
452   
453     
454       <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
455     
456   
457     
458       <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
459     
460   
461     
462       <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
463     
464   
465     
466       <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
467     
468   
469     
470       <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
471     
472   
473     
474       <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
475     
476   
477     
478       <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
479     
480   
481     
482       <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
483     
484   
485     
486       <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
487     
488   
489     
490       <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
491     
492   
493     
494       <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
495     
496   
497     
498       <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
499     
500   
501     
502       <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
503     
504   
505     
506       <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
507     
508   
509     
510       <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
511     
512   
513     
514       <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
515     
516   
517     
518       <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
519     
520   
521     
522       <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
523     
524   
525     
526       <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
527     
528   
529     
530       <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
531     
532   
533     
534       <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
535     
536   
537     
538       <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
539     
540   
541     
542       <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
543     
544   
545     
546       <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
547     
548   
549     
550       <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
551     
552   
553     
554       <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
555     
556   
557     
558       <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
559     
560   
561     
562       <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
563     
564   
565     
566       <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
567     
568   
569     
570       <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
571     
572   
573     
574       <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
575     
576   
577     
578       <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
579     
580   
581     
582       <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
583     
584   
585     
586       <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
587     
588   
589     
590       <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
591     
592   
593     
594       <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
595     
596   
597     
598       <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
599     
600   
601     
602       <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
603     
604   
605     
606       <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
607     
608   
609     
610       <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
611     
612     </select>
613   </div>
614 </nav>
615     
616   
617
618 <div class="widget-syndication widget section">
619   <div class="widget-content">
620     <p><img src="http://defaria.com/mt/mt-static/images/status_icons/feed.gif" alt="Subscribe to feed" width="9" height="9" /> <a href="http://defaria.com/blogs/Status/atom.xml">Subscribe to this blog's feed</a></p>
621
622   </div>
623 </div>
624
625             </aside>
626           </div>
627         </div>
628         <footer id="footer" role="contentinfo">
629           <div id="footer-inner">
630             <div id="footer-content">
631   <nav role="navigation">
632           <ul>
633             <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
634
635
636           </ul>
637         </nav>
638
639   <p class="license">&copy; Copyright 2016.</p>
640   <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
641 </div>
642           </div>
643         </footer>
644       </div>
645     </div>
646     <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
647     <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>
648   </body>
649 </html>