Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / 2006 / 10 / improved-gpdp-a.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=" Checked in improved gpdb_add_project.pl script Started investigating Dave Smith's Monthly Matrix...">
6     <meta name="generator" content="Movable Type 5.2.3">
7     <title>Improved gpdp_add_project - 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/2006/10/improved-gpdp-a.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/2006/10/rexec-1.html" title="Rexec">
20     <link rel="next" href="http://defaria.com/blogs/Status/2006/10/gpdb-add-projec.html" title="gpdb_add_project.pl using gpdb user and Nice">
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="Improved gpdp_add_project">
25     <meta property="og:url" content="http://defaria.com/blogs/Status/2006/10/improved-gpdp-a.html">
26     <meta property="og:description" content=" Checked in improved gpdb_add_project.pl script Started investigating Dave Smith's Monthly Matrix...">
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=" Checked in improved gpdb_add_project.pl script Started investigating Dave Smith's Monthly Matrix...">
31     <link itemprop="url" href="http://defaria.com/blogs/Status/2006/10/improved-gpdp-a.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">Improved gpdp_add_project</li>
66             </ul>
67             <div id="individual-main" class="main" role="main">
68               <article id="entry-1837" class="entry entry-asset asset hentry">
69                 <div class="asset-header">
70                   <h2 itemprop="name" class="asset-name entry-title">Improved gpdp_add_project</h2>
71                   <footer class="asset-meta">
72                     <ul class="asset-meta-list">
73                       <li class="asset-meta-list-item">Posted on <time datetime="2006-10-10T15:50:16-08:00" itemprop="datePublished">October 10, 2006</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/gpdb/">GPDB</a></li>
78   
79
80                    </ul>
81                 </footer>
82                 </div>
83                 <div class="entry-content asset-content" itemprop="articleBody">
84                   <ul>
85   <li>Checked in improved gpdb_add_project.pl script</li>
86
87   <li> Started investigating Dave Smith's <i>Monthly Matrix</i></li>
88 </ul>
89                   <p>I've gotten Michael's copy of gpdb_add_project.pl, which he placed into the cmtools/src vob, working now. Here's some of the changes:</p>
90
91 <ul>
92   <li>Resolved all problems so that "use strict" could be used</li>
93
94   <li>Fixed bugs with tests for right spaced filled tests for siteName (e.g. $siteName eq "Dallas&nbsp;&nbsp; ")</li>
95
96   <li>Changed code so that failure to contact a remote site simply reports a warning and moves on to the next site (previously it would die after the first failure).</li>
97
98   <li>Changed reading of gpdb_site_list.txt file so that it reads from the correct location.</li>
99
100   <li>Added Protocol, Username and Password columns to gpdb_site_list.txt (and reading of site file).</li>
101
102   <li>Changed all rsh calls to call an "Rexec" function that takes a hash of the site line in gpdb_site_list.txt. This is to allow alternate username/password per site<sup>1</sup></li>
103 </ul>
104
105 <p>Note that Rexec currently only supports the rsh protocol and the return code from this Rexec is the same as the return code for the rsh command itself, not the return code from the command that rsh is executing on the remote machine.</p>
106
107 <p>The thought with the Protocol column in the site file is to support additional protocols, notably ssh and telnet, in the future.</p>
108
109 <p>However, "rsh &lt;machine&gt; -l &lt;user&gt; command" doesn't prompt for password and you cannot supply password on the command line either<sup>1</sup> 
110 ssh will prompt for a password. Telnet, of course, does not offer the ability to add a command. Finally specifying a password in a file is not very secure.</p>
111
112 <p>I've spent a little time coming up with a Perl module (strangely named Rexec) to implement remote command execution. Currently it is an object oriented approach that uses telnet and Expect to open a channel to the remote machine and execute commands returning the remotely executed command's status and output. I plan on extending it to first try ssh then rlogin and finally telnet. For the first protocol, if passwordless access is set up then no password is required. If it can't connect that way then it can fall back to rlogin or telnet and use Expect to drive the login and command execution (or optionally fail if no password is given). In general I think this would be a useful module to have for
113 all.</p>
114
115 <p>Another benefit would be that the usage would be such that you establish a connection, execute potentially hundreds of commands, then destroy the connection - which would be a lot faster than say hundreds of ssh/rsh's which each need to login, do the command and logout.</p>
116
117 <p>Another optimization I see for gpdb_add_project.pl would be to have the remote machine cut down the amount of data needed to be sent over the network connection. For example, gpdb_add_project.pl uses a remote connection to essentially niscat the auto_data automount map, returning hundreds of lines (6395 lines or 622559 bytes). Then it loops through that array looking for lines that say "sync_custom" (actually it first
118 sorts them - for no particular reason!). I propose that it instead does something like "niscat auto_data.org_dir | grep sync_custom" returning only 2 lines or 126 bytes and remove the needless sort(s).</p>
119
120 <p>Architecturally I think that what gpdb_add_project.pl does is interface between the outside world (in this case DesignSync) and GPDB. GPDB has a nice Perl module to allow consistent programmatic access to the output - GPDB (Thanks Michael). What would be nice is a Perl module that gathers all DesignSync info (which is what gpdb_add_project.pl does) allowing a consistent programmatic access to DesignSync info (and down the road - Clearcase). Then gpdb_add_project.pl could be greatly simplified to simply talk to these two architected interfaces.</p>
121                 </div>
122                 <nav class="page-navigation entry-navigation pagination content-nav">
123                   <ul class="page-navigation-list">
124
125                     <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2006/10/rexec-1.html" title="Rexec">Previous entry</a></li>
126
127
128                     <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2006/10/gpdb-add-projec.html" title="gpdb_add_project.pl using gpdb user and Nice">Next entry</a></li>
129
130                   </ul>
131                 </nav>
132                 <!--
133 <aside id="zenback" class="zenback feedback">
134   Please paste Zenback script code here.
135 </aside>
136 -->
137                 
138                 
139               </article>
140             </div>
141             <aside class="widgets related" role="complementary">
142               <nav class="widget-search widget">
143   <div class="widget-content">
144     <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
145       <div>
146         <input type="text" name="search" value="" placeholder="Search...">
147
148         <input type="hidden" name="IncludeBlogs" value="8">
149
150         <input type="hidden" name="limit" value="20">
151         <button type="submit" name="button">
152           <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
153         </button>
154       </div>
155     </form>
156   </div>
157 </nav>
158 <nav class="widget-archive-category widget">
159   <h3 class="widget-header">Categories</h3>
160   <div class="widget-content">
161     
162       
163     <ul class="widget-list">
164       
165       
166       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
167       
168       
169       </li>
170       
171     
172       
173       
174       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
175       
176       
177       </li>
178       
179     
180       
181       
182       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
183       
184       
185       </li>
186       
187     
188       
189       
190       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
191       
192       
193       </li>
194       
195     
196       
197       
198       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
199       
200       
201       </li>
202       
203     
204       
205       
206       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
207       
208       
209       </li>
210       
211     
212       
213       
214       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
215       
216       
217       </li>
218       
219     
220       
221       
222       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
223       
224       
225       </li>
226       
227     
228       
229       
230       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
231       
232       
233       </li>
234       
235     
236       
237       
238       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
239       
240       
241       </li>
242       
243     
244       
245       
246       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
247       
248       
249       </li>
250       
251     
252       
253       
254       <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
255       
256       
257       </li>
258       
259     </ul>
260       
261     
262   </div>
263 </nav>
264   
265
266 <nav class="widget-archive-dropdown widget">
267   <h3 class="widget-header">Archives</h3>
268   <div class="widget-content">
269     <select>
270       <option>Select a Month...</option>
271     
272       <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
273     
274   
275     
276       <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
277     
278   
279     
280       <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
281     
282   
283     
284       <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
285     
286   
287     
288       <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
289     
290   
291     
292       <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
293     
294   
295     
296       <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
297     
298   
299     
300       <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
301     
302   
303     
304       <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
305     
306   
307     
308       <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
309     
310   
311     
312       <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
313     
314   
315     
316       <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
317     
318   
319     
320       <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
321     
322   
323     
324       <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
325     
326   
327     
328       <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
329     
330   
331     
332       <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
333     
334   
335     
336       <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
337     
338   
339     
340       <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
341     
342   
343     
344       <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
345     
346   
347     
348       <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
349     
350   
351     
352       <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
353     
354   
355     
356       <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
357     
358   
359     
360       <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
361     
362   
363     
364       <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
365     
366   
367     
368       <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
369     
370   
371     
372       <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
373     
374   
375     
376       <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
377     
378   
379     
380       <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
381     
382   
383     
384       <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
385     
386   
387     
388       <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
389     
390   
391     
392       <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
393     
394   
395     
396       <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
397     
398   
399     
400       <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
401     
402   
403     
404       <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
405     
406   
407     
408       <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
409     
410   
411     
412       <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
413     
414   
415     
416       <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
417     
418   
419     
420       <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
421     
422   
423     
424       <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
425     
426   
427     
428       <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
429     
430   
431     
432       <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
433     
434   
435     
436       <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
437     
438   
439     
440       <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
441     
442   
443     
444       <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
445     
446   
447     
448       <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
449     
450   
451     
452       <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
453     
454   
455     
456       <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
457     
458   
459     
460       <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
461     
462   
463     
464       <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
465     
466   
467     
468       <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
469     
470   
471     
472       <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
473     
474   
475     
476       <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
477     
478   
479     
480       <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
481     
482   
483     
484       <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
485     
486   
487     
488       <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
489     
490   
491     
492       <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
493     
494   
495     
496       <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
497     
498   
499     
500       <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
501     
502   
503     
504       <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
505     
506   
507     
508       <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
509     
510   
511     
512       <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
513     
514   
515     
516       <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
517     
518   
519     
520       <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
521     
522   
523     
524       <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
525     
526   
527     
528       <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
529     
530   
531     
532       <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
533     
534   
535     
536       <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
537     
538   
539     
540       <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
541     
542   
543     
544       <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
545     
546   
547     
548       <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
549     
550   
551     
552       <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
553     
554   
555     
556       <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
557     
558     </select>
559   </div>
560 </nav>
561     
562   
563
564 <div class="widget-syndication widget section">
565   <div class="widget-content">
566     <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>
567
568   </div>
569 </div>
570
571             </aside>
572           </div>
573         </div>
574         <footer id="footer" role="contentinfo">
575           <div id="footer-inner">
576             <div id="footer-content">
577   <nav role="navigation">
578           <ul>
579             <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
580
581
582           </ul>
583         </nav>
584
585   <p class="license">&copy; Copyright 2016.</p>
586   <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
587 </div>
588           </div>
589         </footer>
590       </div>
591     </div>
592     <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
593     <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>
594   </body>
595 </html>