2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
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">
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>
17 <link rel="start" href="http://defaria.com/blogs/Status/">
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">
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">
37 <div id="container-inner">
38 <header id="header" role="banner">
39 <div id="header-inner">
40 <div id="header-content">
42 <a href="http://defaria.com/blogs/Status/">
51 <nav role="navigation">
53 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
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>
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>
77 <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/broadcom/">Broadcom</a></li>
83 <div class="entry-content asset-content" itemprop="articleBody">
85 <li>Worked on mktriggers script to mktriggers for all regions, all vobs</li>
87 <h2>Trigger Standardization</h2>
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>
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.
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>
96 <h2>Inconsistent paths</h2>
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>
100 <div class="code"><pre>
102 NTPATH="\\\cc-atla-storage\ccase\script\trigger"
103 UNIXPATH="/projects/ccase/script/trigger"
107 NTPATH="\\\cc-blr-storage\ccase\script\trigger"
108 UNIXPATH="/projects/ccase/script/trigger"
112 NTPATH="\\\cc-brsa-storage\ccase\script\trigger"
113 UNIXPATH="/projects/ccase/script/trigger"
117 NTPATH="\\\Fs-irva-37\ccase\script\trigger"
118 UNIXPATH="/projects/ccase/script/trigger"
122 NTPATH="\\\Fs-irva-37\ccase\script\trigger"
123 UNIXPATH="/projects/ccase/script/trigger"
127 NTPATH="\\\Fs-irva-37\ccase\script\trigger"
128 UNIXPATH="/projects/ccase/script/trigger"
132 NTPATH="\\\cc-mhtb-storage\ccase\script\trigger"
133 UNIXPATH="/projects/ccase/script/trigger"
137 NTPATH="\\\cc-peka-storage\ccase\script\trigger"
138 UNIXPATH="/projects/ccase/script/trigger"
142 NTPATH="\\\cc-rmna-storage\ccase\script\trigger"
143 UNIXPATH="/projects/ccase/script/trigger"
146 ccase-sdoa-1|ccase-sdoa-2)
147 NTPATH="\\\Fs-irva-37\ccase\script\trigger"
148 UNIXPATH="/projects/ccase/script/trigger"
152 NTPATH="\\\cc-sj-storage\ccase\bse\script\trigger"
153 UNIXPATH="/projects/ccase/bse/script/trigger"
156 ccase-tlva-1|ccase-tlva-1.il.broadcom.com)
157 NTPATH="\\\cc-tlva-storage\ccase\script\trigger"
158 UNIXPATH="/projects/ccase/script/trigger"
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>
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>
166 <p>In any event the question that rises is how are these various repositories of code kept in sync if at all?</p>
168 <h2>Inconsistent Application of Triggers</h2>
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>
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>
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>
176 <nav class="page-navigation entry-navigation pagination content-nav">
177 <ul class="page-navigation-list">
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>
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>
187 <aside id="zenback" class="zenback feedback">
188 Please paste Zenback script code here.
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">
200 <input type="text" name="search" value="" placeholder="Search...">
202 <input type="hidden" name="IncludeBlogs" value="8">
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">
212 <nav class="widget-archive-category widget">
213 <h3 class="widget-header">Categories</h3>
214 <div class="widget-content">
217 <ul class="widget-list">
220 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
228 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
236 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
244 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
252 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
260 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
268 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
276 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
284 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
292 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
300 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
308 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
320 <nav class="widget-archive-dropdown widget">
321 <h3 class="widget-header">Archives</h3>
322 <div class="widget-content">
324 <option>Select a Month...</option>
326 <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
330 <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
334 <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
338 <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
342 <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
346 <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
350 <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
354 <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
358 <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
362 <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
366 <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
370 <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
374 <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
378 <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
382 <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
386 <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
390 <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
394 <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
398 <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
402 <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
406 <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
410 <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
414 <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
418 <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
422 <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
426 <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
430 <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
434 <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
438 <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
442 <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
446 <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
450 <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
454 <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
458 <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
462 <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
466 <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
470 <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
474 <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
478 <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
482 <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
486 <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
490 <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
494 <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
498 <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
502 <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
506 <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
510 <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
514 <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
518 <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
522 <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
526 <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
530 <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
534 <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
538 <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
542 <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
546 <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
550 <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
554 <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
558 <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
562 <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
566 <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
570 <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
574 <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
578 <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
582 <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
586 <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
590 <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
594 <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
598 <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
602 <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
606 <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
610 <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
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>
628 <footer id="footer" role="contentinfo">
629 <div id="footer-inner">
630 <div id="footer-content">
631 <nav role="navigation">
633 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
639 <p class="license">© Copyright 2016.</p>
640 <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
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>