Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / archives / 2008_03.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
4 <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6    <meta name="generator" content="Movable Type 5.2.3" />
7
8    <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles-site.css" type="text/css" />
9    <link rel="alternate" type="application/atom+xml" title="Atom" href="http://defaria.com/blogs/Status/atom.xml" />
10    <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://defaria.com/blogs/Status/index.xml"$>" />
11
12    <title>Status for Andrew DeFaria: March 2008 Archives</title>
13
14    <link rel="start" href="http://defaria.com/blogs/Status/" title="Home" />
15    <link rel="prev" href="http://defaria.com/blogs/Status/archives/2008_02.html" title="February 2008" />
16    <link rel="next" href="http://defaria.com/blogs/Status/archives/2008_04.html" title="April 2008" />
17 </head>
18 <body class="layout-one-column">
19    <div id="container">
20       <div id="container-inner" class="pkg">
21
22          <div id="banner">
23             <div id="banner-inner" class="pkg">
24                <h1 id="banner-header"><a href="http://defaria.com/blogs/Status/" accesskey="1">Status for Andrew DeFaria</a></h1>
25                <h2 id="banner-description">Searchable status reports and work log</h2>
26             </div>
27          </div>
28
29          <div id="pagebody">
30             <div id="pagebody-inner" class="pkg">
31                <div id="alpha">
32                   <div id="alpha-inner" class="pkg">
33                      
34                      <p class="content-nav">
35                         <a href="http://defaria.com/blogs/Status/archives/2008_02.html">&laquo; February 2008</a> |
36                         <a href="http://defaria.com/blogs/Status/">Main</a>
37                         | <a href="http://defaria.com/blogs/Status/archives/2008_04.html">April 2008 &raquo;</a>
38                      </p>
39                      
40                      
41                      <!--
42 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
43          xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
44          xmlns:dc="http://purl.org/dc/elements/1.1/">
45 <rdf:Description
46     rdf:about="http://defaria.com/blogs/Status/archives/2008_03.html#entry-000702"
47     trackback:ping="http://defaria.com/mt/mt-tb.cgi/89"
48     dc:title="Migrating colocated views from 6.0 -&gt; 7.0"
49     dc:identifier="http://defaria.com/blogs/Status/archives/2008_03.html#entry-000702"
50     dc:subject="General Dynamics"
51     dc:description="I performed a test of my snapshot view p6258c_SIMCQ00000392_intview. This view is a colocated view and exists in my home directory (~p6258c). Clearcase administration of the registry can be tricky - you need to get several things correct before it..."
52     dc:creator=""
53     dc:date="2008-03-28T15:44:47-06:00" />
54 </rdf:RDF>
55 -->
56
57
58                      <h2 class="date-header">March 28, 2008</h2>
59                      <a id="a000702"></a>
60                      <div class="entry" id="entry-702">
61                         <h3 class="entry-header">Migrating colocated views from 6.0 -> 7.0</h3>
62                         <div class="entry-content">
63                            <div class="entry-body">
64                               <p>I performed a test of my snapshot view p6258c_SIMCQ00000392_intview.
65 This view is a colocated view and exists in my home directory
66 (~p6258c). Clearcase administration of the registry can be tricky - you
67 need to get several things correct before it will work.</p>
68
69 <p>Here's what the view looks like:</p>
70
71 <div class=code><pre>
72 $ ct lsview -l -full -properties
73 p6258c_SIMCQ00000392_intview 
74   Tag: p6258c_SIMCQ00000392_intview
75    Global path: <b>/net/cclinux/export/home/p6258c/p6258c_SIMCQ00000392_intview/.view.stg</b>
76    Server host: <b>seast1</b>
77    Region: cclinux
78    Active: NO
79    View tag uuid:90c8b0d3.d9c311dc.92fe.00:09:3d:14:f4:70
80   View on host: <b>seast1</b>
81   View server access path: <b>/home/p6258c/p6258c_SIMCQ00000392_intview/.view.stg</b>
82   View uuid: 90c8b0d3.d9c311dc.92fe.00:09:3d:14:f4:70
83   View attributes: snapshot,ucmview
84   View owner: rantest/p6258c
85
86   Created 2008-02-12T16:31:00-07 by p6258c.cclinux@ranlin04
87   Last modified 2008-03-28T13:53:02-07 by p6258c.cclinux@raneast
88   Last accessed 2008-03-28T13:53:02-07 by p6258c.cclinux@raneast
89   Last read of private data 2008-03-28T13:53:02-07 by
90 p6258c.cclinux@raneast
91   Last config spec update 2008-03-28T13:22:18-07 by
92 p6258c.cclinux@raneast
93   Last view private object update 2008-03-28T13:53:02-07 by
94 p6258c.cclinux@raneastText mode: unix
95   Properties: snapshot ucmview readwrite
96   Owner: rantest/p6258c : rwx (all)
97   Group: rantest/cclinux : r-x (read)
98   Other: : r-x (read)
99   Additional groups: rantest/east
100 </pre></div>
101
102 <p>Here's what I did</p>
103
104 <ul>
105   <li>cd'ed into this snapshot view
106 ~p6258c/p6258c_SIMCQ00000392_intview/vobs/simdev/bin</li>
107
108   <li>Checked out a script named east.</li>
109
110   <li>cd'ed out of the snapshot view to my home directory.</li>
111 </ul>
112
113 <p>We now have a colocated snapshot view created on CC 6.0 and hosted by
114 seast1. The storage (my home directory) oddly enough is served by
115 cclinux...</p>
116
117 <ul>
118   <li>Moved the view database over to cclinux under it's gdviews
119 partition:
120
121 <div class=code><pre>
122 <font color="#ff6600"><b>Cclinux:</b></font><u>mv /home/p6258c/p6258c_SIMCQ00000392_intview/.view.stg \</u>
123 &gt; <u>/gdviews/p6258c/p6258c_SIMCQ00000392_intview.vws</u>
124 </pre></div>
125
126   <b>Note:</b>
127     <ul>
128       <li>In the above command we also renamed .view.stg -&gt;
129 &lt;viewname&gt;.vws.</li>
130       <li>We did a mv instead of cp. I suspect that if you are in the
131 snapshot view storage area and you perform a Clearcase operation,
132 cleartool will notice the .view.stg directory at the snapshot view's
133 root and not bother to attempt to contact the registry server to find
134 out where the view database is. Instead it just says "Well the view
135 database is right here". This would allow a disconnected, but colocated
136 snapshot view to be able to perform Clearcase operations while
137 disconnected.</li>
138     </ul>
139   </li>
140
141   <li>Reregistered the view:
142
143 <div class=code><pre>
144 <font color="#ff6600"><b>Cclinux:</b></font><u>ct register -view -replace -host cclinux \</u>
145 &gt; <u>-hpath /gdviews/p6258c/p6258c_SIMCQ00000392.vws \</u>
146 &gt; <u>/net/cclinux/gdviews/p6258c/p6258c_SIMCQ00000392.vws</u>
147 </pre></div>
148
149     <b>Note:</b>
150
151     <ul>
152       <li>The -host changed from seast1 -&gt; cclinux</li>
153
154       <li>The -hpath changed to be relative to /gdviews (where we moved
155 the .view.stg)</li>
156   </ul>
157
158   <li>Retaged the view:</li>
159
160 <div class=code><pre>
161 <font color="#ff6600"><b>Cclinux:</b></font><u>ct mktag -replace -view -tag p6258c_SIMCQ00000392_intview \</u>
162 &gt; <u>-host cclinux \</u>
163 &gt; <u>-gpath /net/cclinux/gdviews/p6258c/p6258c_SIMCQ00000392_intview.vws \</u>
164 &gt; </tt><u>/net/cclinux/gdviews/p6258c/p6258c_SIMCQ00000392_intview.vws</u>
165 </pre></div>
166     <b>Note:</b>
167   <ul>
168     <li>Again the -host changed from seast1 -&gt; cclinux</li>
169     <li>The -gpath changed to a global path to /gdviews<br>
170       <br>
171     </li>
172   </ul>
173   <li>Stop the view server:</li>
174
175 <div class=code><pre>
176 <font color="#ff6600"><b>Cclinux:</b></font><u>ct endview -server p6258c_SIMCQ00000392_intview</u>
177 </pre></div>
178   </li>
179
180   <li>Set the config spec to current since the compiled config spec
181 still thinks it's on the old server. Note this will involve a ct update
182 too. Also, we need to cd to the snapshot view storage area:</li>
183
184 <div class=code><pre>
185 <font color="#ff6600"><b>Cclinux:</b></font><u>cd ~/p6258c_SIMCQ00000392_intview</u>
186 <font color="#ff6600"><b>Cclinux:</b></font><u>ct setcs -current &gt; /dev/null 2&gt;&amp;1</u>
187 </ul>
188
189 <p>Now we have the following view:</p>
190
191 <div class=code><pre>
192 $ ct lsview -l -full -properties p6258c_SIMCQ00000392_intview
193   Tag: p6258c_SIMCQ00000392_intview
194    Global path: <b>/net/cclinux/gdviews/p6258c/p6258c_SIMCQ00000392_intview.vws</b>
195    Server host: <b>cclinux</b>
196    Region: cclinux
197    Active: NO
198    View tag uuid:90c8b0d3.d9c311dc.92fe.00:09:3d:14:f4:70
199   View on host: <b>cclinux</b>
200   View server access path:
201 /gdviews/p6258c/p6258c_SIMCQ00000392_intview.vws
202   View uuid: 90c8b0d3.d9c311dc.92fe.00:09:3d:14:f4:70
203   View attributes: snapshot,ucmview
204   View owner: rantest/p6258c
205
206   Created 2008-02-12T16:31:00-07 by p6258c.cclinux@ranlin04
207   Last modified 2008-03-28T14:32:44-07 by p6258c.cclinux@ranlin04
208   Last accessed 2008-03-28T14:32:44-07 by p6258c.cclinux@ranlin04
209   Last read of private data 2008-03-28T14:32:44-07 by
210 p6258c.cclinux@ranlin04
211   Last config spec update 2008-03-28T14:32:42-07 by
212 p6258c.cclinux@ranlin04
213   Last view private object update 2008-03-28T14:32:44-07 by
214 p6258c.cclinux@ranlin04
215   Text mode: unix
216   Properties: snapshot ucmview readwrite
217   Owner: rantest/p6258c : rwx (all)
218   Group: rantest/cclinux : r-x (read)
219   Other: : r-x (read)
220   Additional groups: rantest/east<br>
221
222 </pre></div>
223
224 <p>Which is clearly on cclinux now.</p>
225
226 <p>Further, we can see that east is still checked out, we can modify it and even unco thus showing that our newly relocated snapshot view on cclinux works, from seast1, like it did before:</p>
227
228 <div class=code><pre>
229 <font color="#3333ff"><b>[p6258c@seast1 p6258c]$</b></font> <u>cd p6258c_SIMCQ00000392_intview/vobs/simdev/bin</u>
230 <b><font color="#3333ff">[p6258c@seast1 bin]$</font></b> <u>ct ls east</u>
231   east@@/main/simdev_integration/east_scripts_build1_integration/CHECKEDOUT from
232 /main/simdev_integration/east_scripts_build1_integration/0               Rule: CHECKEDOUT
233   <b><font color="#3333ff">[p6258c@seast1 bin]$</font></b> <u>echo "A change" &gt;&gt; east</u>
234   <b><font color="#3333ff">[p6258c@seast1 bin]$</font></b> <u>ct unco east</u>
235   Save private copy of "east"?  [yes]
236   Private version of "east" saved in "east.keep".
237   Loading "vobs/simdev/bin/east" (353 bytes).
238   ClearTrigger removing empty branch
239 "/home/p6258c/p6258c_SIMCQ00000392_intview/vobs/simdev/bin/east@@/main/simdev_integration/east_scripts_build1_integration"...Updating
240 web view with
241 (/home/p6258c/p6258c_SIMCQ00000392_intview/vobs/simdev/bin/east)...
242   Loading "vobs/simdev/bin/east" (353 bytes).
243   Done loading "/vobs/simdev/bin/east" (1 objects, copied 0 KB).
244   Checkout cancelled for "east".
245   <b><font color="#3333ff">[p6258c@seast1 bin]$</font></b>
246 </pre></div>
247
248 <p>It would not be that difficult to cook up a script to migrate all snapshot views...</p>
249                               
250                               <p class="entry-footer">
251                                  <span class="post-footers">Posted by  at  3:44 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000702.html">Permalink</a>
252                                  
253                                  | <a href="http://defaria.com/blogs/Status/archives/000702.html#trackback">TrackBacks (0)</a>
254                               </p>
255                            </div>
256                         </div>
257                      </div>
258                      
259                      <!--
260 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
261          xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
262          xmlns:dc="http://purl.org/dc/elements/1.1/">
263 <rdf:Description
264     rdf:about="http://defaria.com/blogs/Status/archives/2008_03.html#entry-000701"
265     trackback:ping="http://defaria.com/mt/mt-tb.cgi/88"
266     dc:title="EAST Automation"
267     dc:identifier="http://defaria.com/blogs/Status/archives/2008_03.html#entry-000701"
268     dc:subject="General Dynamics"
269     dc:description="What&apos;s been done The EAST test automation tool rantest currently can run properly formated EAST tests. By properly formated we mean that they 1) run to completion and 2) report a status in their log file. Logfile collection for EAST..."
270     dc:creator=""
271     dc:date="2008-03-27T10:30:05-06:00" />
272 </rdf:RDF>
273 -->
274
275
276                      <h2 class="date-header">March 27, 2008</h2>
277                      <a id="a000701"></a>
278                      <div class="entry" id="entry-701">
279                         <h3 class="entry-header">EAST Automation</h3>
280                         <div class="entry-content">
281                            <div class="entry-body">
282                               <h3>What's been done</h3>
283
284 <ul>
285   <li>The EAST test automation tool rantest currently can run <i>properly
286 formated</i> EAST tests. By <i>properly formated</i> we mean that they
287 1) run to completion and 2) report a status in their log file.</li>
288
289   <li>Logfile collection for EAST tests is performed and a tar file,
290 EASTLogs.tgz, is created and if run for record (-rfr) specified that
291 log file will be checked in (coded but untested - see below).</li>
292
293   <li>Many tests can be run in succession using the -file option and
294 specifying multiple tests in the file (See <a
295  href="http://ranweb/dokuwiki/doku.php?id=ran:rantest">rantest</a> wiki
296 page).</li>
297
298   <li>A rudimentary conditional test execution facility exists. For
299 example, testers can name tests then refer to them in a subsequent test
300 with an "if" statement so as to say "run this test if &lt;named
301 test&gt; passed (See <a
302  href="http://ranweb/dokuwiki/doku.php?id=ran:rantest">rantest</a> wiki
303 page).</li>
304
305   <li>A facility for running test in the background has been
306 implemented as some EAST test script must run in the background while
307 other tests run simultaneously.</li>
308
309   <li>A crude rendezvous system has been implemented such that rantest
310 will poll the logfile looking for a rendezvous string that will
311 indicate to rantest that the backgrounded test has reached a certain
312 point and it's OK to proceed with other tests.</li>
313
314   <li>Logging of what rantest does has been implemented.</li>
315
316   <li>A crude -script test option has been implemented that allows
317 rantest to "farm out" the verification of a test for tests that
318 require more complex verification. Any script can be coded. The only
319 requirement is that it reports success or failure through it's exit
320 status.</li>
321
322   <li>Worked on learning moshell as some verifications require
323 moshell.</li>
324
325   <li>Implemented a simple case of verifying that a cell is set up (a
326 manual verification step for Sim Cell Setup of preSWIT).</li>
327
328   <li>Ngan has created test profiles and Ross Wilson says that we are
329 going to run these test profiles through rantest this afternoon.</li>
330
331   <li>Documented most of <a
332  href="http://ranweb/dokuwiki/doku.php?id=ran:rantest">rantest</a>'s
333 usage on the wiki.</li>
334
335   <li>Ross and Gantry have created Perl scripts and TPL's such that an
336 EAST test can drive a TM500. While rantest can run such tests it needs
337 to be taught how to gather the TM500 log files produced.</li>
338 </ul>
339
340 <h3>What we're impeded on</h3>
341
342 <ul>
343   <li>I believe many of the SWIT tests are not currently properly
344 formatted. Such tests will need to be altered before they can be truly
345 automated through rantest</li>
346
347   <li>WRT preSWIT testing, I need Leslie to modify her tests to
348 properly write rendezvous strings in SIM Cell Setup so that rendezvous
349 can work and sanity/preSWIT testing can proceed.</li>
350
351   <li>Gather tests from Ngan (and others) </li>
352
353   <li>We often don't have time on the various RNC's/etc. to perform
354 testing. Some tests, i.e. SIM Cell Setup, are interruptive of other
355 EAST engineer's work.</li>
356
357   <li>Moshell is crude, picky and buggy and... not supported by Ericson!</li>
358 </ul>
359
360 <h3>What's next</h3>
361
362 <ul>
363   <li>Create run for record view and test out -rfr checkin
364 functionality.</li>
365
366   <li>Get EAST/TM500 test to work (currently failing) so as to
367 check/modify TM500 logfile creation</li>
368
369   <li>Get EAST/NMS test to work (currently non-existant?) so as to
370 check/modify NMS logfile creation.</li>
371
372   <li>Implement XML parsing to determine whether or not we have TM500
373 logs or NMS logs to collect. Either that or get Gantry to change the
374 format of the message indicating where the logfile is to include what
375 type of logfile it is.</li>
376
377   <li>Once Leslie modifies tests for rendezvous, attempt sanity again
378 and add in the -script "IsCellUp &lt;machine&gt; &lt;cell&gt;"
379 verification.</li>
380
381   <li>Bob wants us to write a simple and a complex example of test
382 verification. Based on Doug Elder's <i>How to Analyze rnc</i>
383 document, implement it's verification steps which get progressively
384 more complex. The IsCellUp script can also serve as an example
385 verification script.</li>
386 </ul>
387
388                               
389                               <p class="entry-footer">
390                                  <span class="post-footers">Posted by  at 10:30 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000701.html">Permalink</a>
391                                  
392                                  | <a href="http://defaria.com/blogs/Status/archives/000701.html#trackback">TrackBacks (0)</a>
393                               </p>
394                            </div>
395                         </div>
396                      </div>
397                      
398                      <!--
399 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
400          xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
401          xmlns:dc="http://purl.org/dc/elements/1.1/">
402 <rdf:Description
403     rdf:about="http://defaria.com/blogs/Status/archives/2008_03.html#entry-000700"
404     trackback:ping="http://defaria.com/mt/mt-tb.cgi/87"
405     dc:title="Sharable vs Non-sharable derived objects"
406     dc:identifier="http://defaria.com/blogs/Status/archives/2008_03.html#entry-000700"
407     dc:subject="General Dynamics"
408     dc:description=" Resolved Helpdesk ticket involving non-sharable derived objects..."
409     dc:creator=""
410     dc:date="2008-03-17T15:40:07-06:00" />
411 </rdf:RDF>
412 -->
413
414
415                      <h2 class="date-header">March 17, 2008</h2>
416                      <a id="a000700"></a>
417                      <div class="entry" id="entry-700">
418                         <h3 class="entry-header">Sharable vs Non-sharable derived objects</h3>
419                         <div class="entry-content">
420                            <div class="entry-body">
421                               <ul>
422   <li>Resolved Helpdesk ticket involving non-sharable derived objects</li>
423 </ul>
424                               
425                               <h2>Sharable vs Non-sharable DOs</h2>
426
427 <p>In Clearcase terms, DOs, or Derived Objects are objects created during a build. These are created when clearmake (or omake) is used. Clearmake will create a configuration record, AKA a bill of lading - basically a record of everything that went into making this derived object. Clearmake then adds a record to the vob saying that it made this DO and if any subsequent clearmake is attempting to make this same DO (given the same input or configuration record that is) then this DO is available for wink in. At this time the DO is copied to the vob and winked into the other view that was requesting this DO be build and the DOs reference count gets incremented. Or at least that's how DOs and winkins are supposed to work</p>
428
429 <p>Rational also introduced a concept of <i>express building</i> which essentially creates "non-sharable DOs". A sharable DO and a non-sharable DO are essentially the same except that the advertisement of the DO is not made in the VOB.</p>
430
431 <p>Here the error message stated:</p>
432
433 <div class=code><pre>
434 'Unable to change meta type of "/vobs/rnc/rnsap/trace_support/decoder_tmp" to create derived object reference count - No such file or directory'.
435 </pre></div>
436
437 <p>Notice the "_tmp" portion. The DO was named decoder, not decoder_tmp. I first thought perhaps Clearcase is just having a problem creating decorder_tmp which it may have needed temporarily. I tried touching that file and it was OK.  I then removed the decode_tmp file I touch and tried the checkin. It failed again.</p>
438
439 <p>The view was marked as nshareable_dos:
440
441 <div class=code><pre>
442 $ ct lsview -full -properties p57347_RANCQ00028109_devview | grep Properties
443 Properties: dynamic ucmview readwrite nshareable_dos
444 </pre></div>
445
446 <p>This is odd because the default, as shown by:</p>
447
448 <div class=code><pre>
449 $ ct lssite -inquire | grep shareable
450   view_shareable_dos=TRUE
451 </pre></div>
452
453 <p>is turned on for the site. I then thought that perhaps the problem is trying to check in a nonshareable DO is not allowed. Reading on the ct man winkin page is says:</p>
454
455 <blockquote>
456 winkin also converts nonshareable DOs to shareable (promoted) DOs. If you specify a nonshareable DO, winkin first advertises the DO by writing information about it to the VOB, and then promotes it by copying its data container into the VOB and moving its configuration record into the VOB. Because a shareable DO cannot have nonshareable sub-DOs or sibling DOs, winking in a nonshareable DO also advertises its sub-DOs and siblings, converting them to shareable DOs. With -siblings, winkin advertises and promotes the DO's siblings.
457 </blockquote>
458
459 <p>However even a ct winkin decoder gave the same error message. So then I again touched decoder_tmp and then ran the ct winkin and it worked! So I then checked in this derived object.</p>
460
461 <p><b>Note</b>: You can change changed a view to sharable_dos with:</p>
462
463 <div class=code><pre>
464 $ ct chview -sharable_dos p57347_RANCQ00028109_devview
465 </pre></div>
466
467                               
468                               <p class="entry-footer">
469                                  <span class="post-footers">Posted by  at  3:40 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000700.html">Permalink</a>
470                                  
471                                  | <a href="http://defaria.com/blogs/Status/archives/000700.html#trackback">TrackBacks (0)</a>
472                               </p>
473                            </div>
474                         </div>
475                      </div>
476                      
477                      <!--
478 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
479          xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
480          xmlns:dc="http://purl.org/dc/elements/1.1/">
481 <rdf:Description
482     rdf:about="http://defaria.com/blogs/Status/archives/2008_03.html#entry-000699"
483     trackback:ping="http://defaria.com/mt/mt-tb.cgi/86"
484     dc:title="Santity Progress"
485     dc:identifier="http://defaria.com/blogs/Status/archives/2008_03.html#entry-000699"
486     dc:subject="General Dynamics"
487     dc:description=" Spoke with Tom regarding making a rantools, or perhaps ran_swit_tools and ran_preswit_tools vob. Tom got the helpdesk ticket from Chris English regarding making a preswit vob. I added on the swit vob and discussed with Tom how to best..."
488     dc:creator=""
489     dc:date="2008-03-05T11:33:58-06:00" />
490 </rdf:RDF>
491 -->
492
493
494                      <h2 class="date-header">March  5, 2008</h2>
495                      <a id="a000699"></a>
496                      <div class="entry" id="entry-699">
497                         <h3 class="entry-header">Santity Progress</h3>
498                         <div class="entry-content">
499                            <div class="entry-body">
500                               <ul>
501   <li>Spoke with Tom regarding making a rantools, or perhaps ran_swit_tools and ran_preswit_tools vob. Tom got the helpdesk ticket from Chris English regarding making a preswit vob. I added on the swit vob and discussed with Tom how to best do this.</li>
502
503   <li>Re-ported changes from Rexec version of easter -> non-Rexec version. Looks like we will be having a rantools vob replicated to cclinux. In any event, easter has been redesigned to run locally on seast1.</li>
504
505   <li>Figured out the problem with Rexec (and Expect for that matter). Turns out the Expect problem is the same Expect problem it always seems to be. Expecting a certain string and not seeing it. The twist is that this is indeterministic due to timing and stems from the odd way that start_auto_east operates. You see after executing start_auto_east control gets returned to you, thus you get a prompt, however background processes are also started and they write to the terminal, sometimes interrupting the prompt! This is not good. In general background processes should not be writing to the screen. I need to see if they can turn this off.</li>
506
507   <li>Learned that specifying "-run -log" will run the test but <b>not</b> turn on logging! You must do "-log -run"! In the past sometimes log files would not appear. They would appear if logging was turned on in the profile but not appear if it wasn't. IOW -log was not working because of option ordering! Fixed</li>
508
509   <li>Added rendezvous method and option to that we can run something in the background and then rendezvous with it by searching for a string in the produced logfile.</li>
510
511   <li>Learned that the logfile's presence is not immediate. IOW we start a configuration task, running it in the background, then call rendezvous in order to search the logfile for the message stating it's ready. However the logfile does not exist at this moment. So we must wait. Currently rendezvous uses timeout to wait. It does so by trying then taking 1/10 of timeout and sleeping, proceeding 10 times and then timing out. I need to include the locating of the logfile in this timeout cycle.</li>
512
513   <li>Moved stackOptions and -name, -if and -renedezvous into East.pm and process options using GetOptions. The problem was that I'm coming from a string, the test name followed by test options, and with -if and -rendezvous there's a good chance that the user wants to specify a quoted string. Yet GetOptions only works on @ARGV. So how to get a $str -> @ARGV taking into account that if you hit a quote you need to combine all tokens until the closing quote? Well that's what stackOptions does. So now this is all handled in East.pm. Additionally the test results hash needed to be passed to exec so that exec could do conditional test execution. This makes us pass two hashes and thus need to use references. All this is working now. Need to check to make sure that test results hash is updating in exec and that conditional test execution is working</li>
514
515   <li>Fixed problem in getting logfile name in that $self->{testName} was not getting set properly. Now it is and logfile names are being found</li>
516
517   <li>Still am not seeing what I'm expecting to see in the logfiles for rendezvous. Need to do testing by hand again and save the logfiles to show Leslie/Jonathan.</li>
518
519   <li>Changed to use a hash for all statistics. Added stats for skipped tests and rendezvous tests. This method is much more flexible and counters can be easily added</li>
520
521   <li>Added hack to get around Expect problems</li>
522
523   <li>Determined that messages seen in the text logfile are not already shown in the binary logfile</li>
524 </ul>
525                               
526                               <h2>Expect problems</h2>
527
528 <p>Last night I managed to discover what was causing my intermittent problem. This problem turns out to be one from Expect but it's more of a challenge. You see whenever you are writing stuff in Expect you are usually participating in a little black art. The challenge often is distinguishing between what you are looking for that you expect and what you get, which is sometimes not what you expect.</p>
529
530 <p>In general you are often issuing commands to the underlying process and then searching to see when it is done. So you are often looking for a prompt. The regular expression that I use for standard prompt is:</p>
531
532 <div class=code><pre>
533 qr'[#>:%$] $'
534 </pre></div>
535
536 <p>For seast1 this generally matches the "$ " that appears at the end of the prompt. There are two problems that can occur: First, output from a command can output exactly what you are looking for ("$ "). Fortunately having a command output a "$" followed by a " " at the end of a line is relatively rare.</p>
537
538 <p>The other problem that can happen is when something interferes with terminal I/O when outputting the prompt. How can this happen? Well when background processes indiscriminately write to the terminal at random times. What does this? start_east_auto does! Or rather things that start_east_auto calls does. For example, it calls restart_servers, which does an echo and calls other scripts, which probably also echo stuff.</p>
539
540 <p>If any of this background I/O gets written while the prompt is being written there's a chance (and it happens) that my Expect call will never see the prompt and it will timeout. The general rule is if you are processing in the background - don't output anything to the screen!</p>
541
542 <p>Can somebody look into this to see if these echo statements can be eliminated or at the very least, sent to a logfile that the user can examine if they want?</p>
543
544 <p>Otherwise I cannot guarantee that testing will not occasionally fail because of this.</p>
545                               
546                               <p class="entry-footer">
547                                  <span class="post-footers">Posted by  at 11:33 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000699.html">Permalink</a>
548                                  
549                                  | <a href="http://defaria.com/blogs/Status/archives/000699.html#trackback">TrackBacks (0)</a>
550                               </p>
551                            </div>
552                         </div>
553                      </div>
554                      
555                   </div>
556                </div>
557             </div>
558          </div>
559       </div>
560    </div>
561 </body>
562 </html>