Initial add of defaria.com
[clearscm.git] / defaria.com / blogs / Status / archives / week_2008_02_17.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: February 17, 2008 - February 23, 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/week_2008_02_10.html" title="February 10, 2008 - February 16, 2008" />
16    <link rel="next" href="http://defaria.com/blogs/Status/archives/week_2008_02_24.html" title="February 24, 2008 - March  1, 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/week_2008_02_10.html">&laquo; February 10, 2008 - February 16, 2008</a> |
36                         <a href="http://defaria.com/blogs/Status/">Main</a>
37                         | <a href="http://defaria.com/blogs/Status/archives/week_2008_02_24.html">February 24, 2008 - March  1, 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/week_2008_02_17.html#entry-000697"
47     trackback:ping="http://defaria.com/mt/mt-tb.cgi/84"
48     dc:title="For immediate release"
49     dc:identifier="http://defaria.com/blogs/Status/archives/week_2008_02_17.html#entry-000697"
50     dc:subject="General Dynamics"
51     dc:description="For immediate release... Recently Gantry mentioned the following problem: Error Prone Deliveries: Another problem is that Reinaldo&apos;s private files have to be merged manually. Ross, Andrew, and I are in a similar situation now where we have to take a..."
52     dc:creator=""
53     dc:date="2008-02-20T14:49:49-06:00" />
54 </rdf:RDF>
55 -->
56
57
58                      <h2 class="date-header">February 20, 2008</h2>
59                      <a id="a000697"></a>
60                      <div class="entry" id="entry-697">
61                         <h3 class="entry-header">For immediate release</h3>
62                         <div class="entry-content">
63                            <div class="entry-body">
64                               <h2>For immediate release...</h2>
65
66 <p>Recently Gantry mentioned the following problem:</p>
67
68 <blockquote type=cite>
69   <p>Error Prone Deliveries:</p>
70
71   <p>Another problem is that Reinaldo's private files have to be merged
72 manually.</p>
73
74   <p>Ross, Andrew, and I are in a similar situation now where we have to
75 take a snapshot of directories in a view over to seast1 in order to do
76 development, then remember what we changed and copy them back in and
77 deliver.</p>
78
79   <p>We have already made several mistakes. </p>
80 </blockquote>
81
82 <p>The problem here is that we have two different Clearcase registry
83 regions and subnets, code is developed in one region and run in the
84 other. Gantry proposed a solution of writing more script to maintain
85 that will essentially copy things between systems. I would like to
86 propose an alternative...</p>
87
88 <h2>Release process</h2>
89
90 <p>What if we instead had a release process such that we deliver our
91 development to the feature stream that is then automatically seen over
92 on the cclinux region? Code is developed through the WOR process on the
93 RAN and delivered to the feature stream. This stream has an official
94 view which is exported to the cclinux region where it is mounted
95 directly into place<a href="#note_1"><sup>1</sup></a>. Since all
96 processes that utilize these scripts do so through this base they are
97 all automatically and immediately updated when the view is updated.
98 Additionally code is developed cognizant of this base such that an
99 alternate base can easily be set allowing one to test the release
100 before making it official.</p>
101
102 <h2>Solution proposed</h2>
103
104 <h3>Exporting a view</h3>
105
106 <p>Clearcase has the ability to export a view/vob path from a view
107 server to any other machine. This allows you to "access Clearcase from
108 a machine which does not have Clearcase" (see ct man export_mvfs). In
109 order to do this a systems administrator adds a line to
110 /etc/exports.mvfs on the view server where the view resides using the
111 format of:</p>
112
113 <div class=code><pre>
114 /view/&lt;<i>view_name</i>&gt;/vobs/&lt;<i>vobpath</i>&gt;&lt;<i>netgroup or machine</i>&gt;
115 </pre></div>
116
117 <p>And executes the /opt/rational/clearcase/etc/export_mvfs -a
118 command.  Additionally &lt;<i>view_name</i>&gt; should be started<a
119 href="#note_2"><sup>2</sup></a>.</p>
120
121 <h3>Official view</h3>
122
123 <p>Additionally, as noted above, a view must be utilized. I suggest using
124 what I like to call <i>official views</i> for this. An <i>official
125 view</i> is merely a view not associated with any particular person
126 (e.g. maybe ccadm) that serves in an official capacity. This view
127 usually has a simple config spec such as the following:</p>
128
129 <div class=code><pre>
130 element * REL_1.0 -nocheckout
131 </pre></div>
132
133 <p>thereby limiting what was seen through the view as only that which is
134 labeled with REL_1.0. The release process therefore consisted of
135 applying the REL_1.0 label and poof! Automatically and immediately the
136 new version was available. Updating to say a REL_1.1 release would
137 involve then simply a ct setcs and a changing of REL_1.0 to REL_1.1.</p>
138
139 <p>For UCM based views, translate the above to applicable baselines...</p>
140
141 <h3>Importing the view</h3>
142
143 <p>On the client machine, importing the view is simply a mount
144 command.  The suggestion here is to mount directly to our base,
145 /usr/local/east:</p>
146
147 <div class=code><pre>
148 $ mount view1:/views/&lt;<i>official view</i>&gt;/vobs/rantest /usr/local/east
149 </pre></div>
150
151 <p>(Actually this should be added to /etc/fstab for automatic, at boot
152 time, mounting).</p>
153
154 <h3>Security and visibility</h3>
155
156 <p>There is concern regarding exposing too much visibility of vob
157 elements in the cclinux region. Since /etc/exports.mvfs allows us to
158 specify an exacting path of what is exported we can insure that we are
159 only exporting the .../vobs/rantest portion or even a subdirectory(s)
160 under rantest. This should sufficiently limit the scope of what's
161 exposed.</p>
162
163 <h2>Notes</h2>
164
165 <ol>
166   <li><small><a name="note_1"></a>This assumes that we adopt a concept
167 of a base variable from which everything emanates (e.g. /usr/local/east)</small></li>
168   <li><small><a name="note_2"></a>At HP I devised a simply script
169 solution to insure that views listed in /etc/views_to_start would be
170 started at boot up on the view servers.</small></li>
171 </ol>
172
173 <p>Comments? Concerns?</p>
174                               
175                               <p class="entry-footer">
176                                  <span class="post-footers">Posted by  at  2:49 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000697.html">Permalink</a>
177                                  
178                                  | <a href="http://defaria.com/blogs/Status/archives/000697.html#trackback">TrackBacks (0)</a>
179                               </p>
180                            </div>
181                         </div>
182                      </div>
183                      
184                   </div>
185                </div>
186             </div>
187          </div>
188       </div>
189    </div>
190 </body>
191 </html>