" /> Status for Andrew DeFaria: January 2006 Archives

« December 2005 | Main | February 2006 »

January 31, 2006

Final MobMM Issues

  • Resolved issue with MsgBox not being executed for the web
  • Still have problem with IE and certain drop down boxes
  • Worked with John Luu to get the web server running on nt-irva-0458. We need to have a database instance created and to move this schema and user databases to that server. Why is the web server in Ivrine when the group is in San Jose?
  • IE and drop down boxes

    Jean had reported that certain fields on the Resolution tab did not work. They do work, in the client and using Firefox but indeed don't work in IE. At first I thought that this was a problem with the JRE so I tried installing the latest. That did not solve the problem.

    IE seems to have a bona fide problem with the new CQJW and certain fiels. I scoured the Rational Formus to no avail. A defect will need to be submitted to Rational for this. I did not submit one because the follow up would be to me and probably should be to John.

    It is not just the fields on the Resolution tab that are causing problems, fields on the Verification tab as well as some fields on the Submission tab (e.g. Hardware Platform).

January 30, 2006

MobMM Completion

  • Reached code completion level for MobMM

Remaining issues

I see only a few remaining issues to be code complete and that is to implement the CC list. I'm trying to implement it as a box with a "..." button that has a dialog that walks you through entering lines of text. Not sure if I can validate those lines to <user>@<domain>.<tld>. Once that's done I just need to add code to SendEmail to parse CC, separate by newlines and push the email addresses onto the recipients array. The rest of the code will already handle sending out email. (Note there's currently a flag field there called Testing which is set to true. Having it set to true says "Send out email only to adefaria@broadcom.com". I didn't think it wise to be sending out test email to real people right yet - it'd only confuse them. We just need to either set Testing = false or remove the test code for production).

There is also the issue of a script, triggered to run when a Perforce user checks in, to update changeset. I could write a Perl module that has a simple function to update MobMM's changeset (e.g. UpdateMMChangeset (<id>, <changeset>)) then the implementer for the Perforce trigger need only use the module and call the procedure. Ray let me know if you want that.

Other than that this project would be "code complete". Things that still need to be done for production would be:

  1. Set up production server (I believe this is in progress)
  2. Create production DBs
  3. Upgrade DBs with user accounts
  4. Setup CQ Web
  5. Disseminate Clearquest software to those who wish to use Clearquest Client

January 27, 2006

MobMM email

  • Implemented Email notifications in MobMM

January 26, 2006

More MobMM Progress

  • Separated MobMM to its own Schema Repository
  • Renamed MobileCom -> MobMM
  • Removed Visibility from submission form
  • I've created all Modules and all Submodules but linked only some of them. A lot are owned by Vinod. Try entering a defect with a module of Display Manager and you should see Owner set to "node". Change that to OLG and it should switch to cswilson.
  • Created users as defined above. Gave admin privileges to my userid
  • Created Administrators, Managers and Users groups. My userid and admin are in all three groups. Jean, your user is in the Manager and Users group. Other users are just in the Users group.
  • Gave Dynamic List Admin privileges to Jean and Vinod. This means that you can add/change/delete entries in dynamic lists (Select Edit: Named Lists to manage dynamic lists such as Software_Version)
  • Populated Dynamic lists
  • Created Public Queries for Defects, Modules, Submodules and Module-Submodule Cross Reference.
  • Changes some drop downs to be bigger.

More MobMM Progress

I have separated the MobMM design from the old PQA Schema Repository. By being in it's own schema repository MobMM now has a separate, distinct set of user accounts. You really don't want PQA users being able to log into your database. This separation required essentially replicating all of my work over into this new schema repository.

The Schema Repository is called MobMM_Schema. The administrative user for the database is MobMM_Admin with a password of ru4real. Normally nobody sees this username except people who are using MS/SQL Enterprise Manager to create databases or using the CQDesigner to create schemas, user databases, etc. IOW Jean, you wouldn't be using this user account but Ray and others will need that info.

There is, by default, and "admin" user that you can use to log into CQDesigner or Clearquest Client. Its password is also ru4real. Again, Jean, I don't think that you would be using this user account either, rather a CQDesigner would use it.

As we have a new user account database I had to create some users. There's admin and I made myself a user (adefaria). I also made user accounts for you Jean (jfan - password jfan - you can log in and change that - I would suggest your Windows domain password but that's just me) as well as the Module owners of Vinod Prasad (username: node; password: node), Rick Howarth (rhowarth:rhowarth), Chris Wilson (cswilson:cswilson) and Bhupesh Khawa (bhupesh:bhupesh).

Work Performed

  • Separated MobMM to its own Schema Repository
  • Renamed MobileCom -> MobMM
  • Removed Visibility from submission form
  • I've created all Modules and all Submodules but linked only some of them. A lot are owned by Vinod. Try entering a defect with a module of Display Manager and you should see Owner set to "node". Change that to OLG and it should switch to cswilson.
  • Created users as defined above. Gave admin privileges to my userid
  • Created Administrators, Managers and Users groups. My userid and admin are in all three groups. Jean, your user is in the Manager and Users group. Other users are just in the Users group.
  • Gave Dynamic List Admin privileges to Jean and Vinod. This means that you can add/change/delete entries in dynamic lists (Select Edit: Named Lists to manage dynamic lists such as Software_Version)
  • Populated Dynamic lists
  • Created Public Queries for Defects, Modules, Submodules and Module-Submodule Cross Reference.
  • Changes some drop downs to be bigger.

Jean, to access this new schema repository from the CQ Web login as usual but make sure to select the Schema Repository of MobMM.

Issues

  • Still don't know what to do with CC. I remember that this is for an arbitrary list of email addresses however when and how are they used? IOW when is email sent? When a defect changes state? Which states? IOW if a defect is entered it's in an Assigned state. If it gets resolved then I suspect that's when email is sent. Similarly when verified. What about when deferred? etc. Is the real purpose of CC to allow for separate distinct lists of people to alert via email? I need to read up more on the Email package that Clearquest offers and see if it can do all of this for us in a more standard and already debugger manner.
  • Changeset: This should be made a larger field, perhaps on the Management tab because I would think that it will contain file/revision information in a multiline tabular format. I suspect that the editing of this field will be only done from the yet to be written Perforce -> Clearquest connector... IOW will Clearquest users be able to modify that field through Clearquest Client or Clearquest Web?
  • Testcase ID & Testplan Version: Any info on what these are or should be? Just text strings? When are they entered in the transition of states...

January 25, 2006

MobileMultimedia Release

  • Completed a pass of MoblleMultimedia and handed off to Jean for a quick review and input to the next release in the design cycle

Trail version of MobMM

I've been working feverishly on your Clearquest database and have made some good progress. Following the Open Source motto of Release Early, Release Often I would like to have you take a look at what I have so far. Many things work. Some things have yet to be implemented. Play with it. Pay particular attention to stepping through the states and which fields are available for editing on the various tabs at various stages through the state transition matrix.

For now you can access this through http://p4test/cqweb/login then login as guest:guest and set the DB to MM. This is a test/play database so feel free to add, change or delete defects and other records.

Things that work

The following things I have working:

  1. Module/Submodule: In order to implement this I needed 3 stateless records. One is the Module record which contains the module name, owner and a description field (use description for anything you'd like). Another stateless record is the Submodule record. Here we have only Submodule name and description. To tie these two things together I have a ModSub_XRef stateless record. It has a drop down for Modules (referencing the Module stateless record - IOW if you don't see a module name in the drop down then that's because you haven't added a record for it in the Module stateless record). Similarly there's a Submodule drop down (referencing the Submodule stateless record). The purpose of this ModSub_XRef stateless record is to tie together a module with a set of submodule(s). These two fields are concatenated together separated with a ":" to form the ModSub field which is set as the unique key for the record (Currently this ModSub field is shown when creating a ModSub_XRef record but eventually it will be hidden). Setting up modules and submodules then tying them together will be a setup kind of a thing. You may need to occasionally set up a new submodule or module and make the ModSub_XRef record to tie things together.

    The result is when you enter a defect you toggle the Module drop down and the Submodule gets populated correctly. Additionally you'll see that the Owner field gets set to Module.Owner automatically.

  2. Assigned Date: Gets automatically set to the current date
  3. Visibility: Gets set to "Broadcom Only" - no other values are available yet and this field is essentially read only at this time.
  4. Notes: If you change the state of an Assigned defect to Resolved you'll need to fill out the Resolved tab. When the Resolved Note gets changed it is populated into the Notes field in the Notes tab. Similarly if you go to Verified, the Verified Notes field also populates the Notes field. If either Resolved Notes or Verified Notes are not yet specified then Note will say so.
  5. Audit Log: Has been taken from PQA and implemented. As fields are changed the Audit Log is updated.
  6. Time From <state> to <state>: On the Management tab there are the Time From... Assigned -> Resolve and Assigned -> Verified. When a defect goes to Resolved then the former is set. When a defect goes to Verified then the later is set. Time is in days. (Please note that it is possible to later modify the defect and change the Resolved Date. In such cases these Time From fields are not recalculated. Additionally there are currently no checks to insure that Verified_Date > Resolved_Date, for example).

Things not yet working

There are several things I have not yet implemented in this design. These are:

  1. CC: Although present in the Submission tab the CC list currently does nothing
  2. Changeset: Listed on the Resolution tab Changeset is just a short string right now. I believe we need a multiline string down the road. This field is supposed to be filled in by a hook from CVS (IIRC) that will record the files and revisions. Ray you might want to look at what I did in SCM/cvsbin/cvsism and adapt it to Jean's Clearquest database. You can look at SCM/cq/pqamerge for examples of how to update Clearquest databases through Perl.
  3. Other Notes: Entering data here does not update the Notes field above it (yet).
  4. Testcase ID & Testplan Version: Currently do nothing.
  5. Duplicate IDs, Related IDs and Notes: On the Broadcom Notes tab also do nothing yet. The whole issue of how to hand Duplicate and Related IDs has not been designed. I think we should look into how IBM/Rational handles duplicates in it's default package and use that as well as change it to handle related ids too.

Again, look for whatever you see as wrong: Process flow, spelling errors, alignment, move a field to a different form, add a field, whatever and let me know. You're input will be used for the next rendition of this.

You may want to eventually install Clearquest Client on your machine. You can follow the instructions at Installing 2003.06.15. Those instructions were for PQA but installing Clearquest is the same for everybody. Do not continue on to the instructions for setting up your profile - the profile is specific to the different projects. I'll have to get a profile file set up for you later.

January 24, 2006

PQA Email issue/Mobile Multimedia

  • Contacted Rational regarding PQA email problem
  • Changed Mobile Multimedia to set default owner, assigned date
  • Fixed MM to handle Module/Submodule relationships

PQA Email Problem

Turns out there is a known problem with email sent date that is patched in 2003.06.15. Problem is that the server is 2002.05.20! Waiting for the patch so we can patch p4test and 2003.06.15 clients. Luckily the new server is in so we should set that up with the patched 2003.06.15. John Luu will do that.

Mobile Multimedia

Got most of the submission form working. Managed to get the Module/Submodule and ModSub_Xref working. Still some more to do...

January 23, 2006

More CQ Web Email Problems (GetSMTPHost)

  • Implemented and tested GetSMTPHost

Actually I was on vacation but still trying to work on the problem. Sorry but the ski cabin in Vermont didn't have Internet access...

We are very sensitive to the critical nature of this bug. Here's what I found out on Friday.

I've implemented a solution to option #2 and have tested it. However, the way it works is to use ipconfig to get the IP address of the current machine then nslookup to change that to a hostname. After that I've found that nbu-cqweb is actually known as nt-irva-1521.broadcom.com. So I have it hard coded to return an SMTP host of mms.broadcom.com if it's running on nt-irva-1521.broadcom.com otherwise return smtphost.broadcom.com. There are a couple of things I don't like about this solution:

  1. Hard coding of machine names. Will nbu-cqweb always be known as nt-irva-1521.broadcom.com? Also, such a fix will break if we implement a new web server for you which will presumably have a different machine name...
  2. I'm not sure how this works in the context of CQ Web as opposed to CQ Client. It seems to work on p4test's Web Server.
  3. I've only addressed the Submit notify action. Turns out there are other notify actions (e.g. Assign, Resolve, Verify) which are still using the older PAINET object. I would have thought that all of the email sending would be done through one routine but it turns out the code was essentially duplicated in many places. (Note PAINET is an object that IBM/Rational cooked up for CQ only). I have not changed these and I would assume that they are as likely as Submit to send email with a send date of 2001. Again, we've never determined why the old code stopped working correctly.

I have this fix ready to go but I'll wait for your OK before applying it to production.

January 20, 2006

CQ Web Email Problem

  • Worked on problem with CQ Web sending email

CQ Web Email Problem when in the DMZ

OK, here's what's going on. As you know we were having a problem with the email being sent out with a date of 2001. I looked into this the best I could but could not figure out what was causing this. I don't claim to be an expert on VB or VB objects like the PAINET object that was being used to send email. I looked on the web for clues and saw somebody saying that they switched to using the CDO object for sending email as it was better. I also remembered that I had done some VBS at Ameriquest and I had sent email from those scripts. When I looked at it I saw that I too was using the CDO object.

Next I tried replacing the usage of the PAINET object to send email with the CDO object and the send date problem seemed to have corrected itself.

Now it's not working in one very specific and unfortunately one very critical place - nbu-cqweb!

Another thing I could not figure out with the PAINET object is that it never seemed to specify an SMTP server to use to send the email. It just did it somehow. (Turns out it actually uses the client's settings and is exactly the reason why the user must set these!) The CDO object, however, needs to have an SMTP server specified so I used one I thought was guaranteed to be available - smtphost.broadcom.com. This works... while in Broadcom but it does not work when in the DMZ and nbu_cqweb is in the DMZ.

I see two options at this point:

  1. Revert back to the old PAINET object and live with the send date of 2001 until we can figure out why that's happening (Considering that it's now known that it's the clients settings as to which SMTP server is used, it's quite possible that one user may generate email with a send date in the year 2001 while another user wouldn't) or
  2. Figure out an SMTP host in the DMZ and implement code to use it when in the DMZ or use smtphost.broadcom.com when not in the DMZ.

For the second approach the problem is that I need to dynamically use mms.broadcom.com while in the DMZ and smtphost.broadcom.com when not in the DMZ. How does one tell? I thought I could simply check the hostname or domainname but I don't see any easy ways of getting this information in VB. Does anybody else?

January 17, 2006

Mobile Multimedia Clearquest Design

  • Created initial mock up of MM CQ

Mobile Multimedia Clearquest Design

I've been working today coming up with a prototype/mock up of what Jean has proposed so far. Please remember this is a rough prototype and is (very) subject to change. IOW things like state flow, requiredness of the fields, automatic and other action hooks and scripts are not in place. Also, after developing this for the Clearquest client I made it available on CQ Web so you can see it. Then I noticed that the alignment and fonts don't translate well to the web.

Feel free to play with this through the web and give me your initial impressions, but remember there's still a lot of work to be done - this is by no means polished.

To access it go to http://p4test/cqweb/login. Login as guest:guest and then select the MM database.

January 16, 2006

PQA CDO.Message

  • Updated PQA to use CDO.Message to fix date/timestamp problem
  • Researched Clearquest: Help problem with Rational and came up with a fix. Turns out that the original solution I sent may have solved the problem as the problem exists on the Citrix server which is probably too tightly configured security-wise. Wish the user would have told me about that to start with...

January 13, 2006

Perl test

  • Ray wanted an easy/medium/hard Perl test

Perl Test

Easy

  1. What does Perl stand for?
  2. Practical Extraction and Reporting Language

  3. What basic datatypes does Perl support?
  4. Scalar, Array, Hash, Typeglob

  5. What does the following do:
  6. my @output = <STDIN>;
    
    foreach (@output) {
      print "$_\n" if /\d+/;
    }
    

    Echoes lines that have numbers in them)

Medium

  1. What is use strict and why is it important to use?
  2. Strict requires that variable references are scoped - e.g. my $var)

  3. What does the following code do:
  4. sub d {
      my %p = @_;
    
      print "\np:\n";
    
      foreach (sort (keys (%p))) {
        if (/password/) {
          print "$_: <password>\n";
        } else {
          print "$_: ${p {$_}}\n";
        } # if
      } # foreach
    } # d
    

    Displays the contents of the passed in hash %p substituting "<password>" if the hash happens to have a key of password

  5. What do you do to enable Perl to find user written modules?
  6. You need to modify the @INC array to include the path to your modules)

Hard

  1. What is the difference between require and use?
  2. See this article for the answer

  3. What is a better way to do the following and why:
  4. undef $/;
    

    See this article) for the answer

  5. What does the following print out when executed:
  6. sub foo {
      my ($x, $y) = @_;
    
      my @z = `$x 2>&1`; chomp @z;
      my $s = $?;
    
      if ($s ne 0) {
        if (defined $y) {
          print "$_\n" foreach (@z);
        }
      }
    
      return ($y, @z);
    } # foo
    
    my @a;
    my $c="ls /temp";
    my $d;
    
    ($d, @a) = foo $c;
    print "Worked!\n" if !$d;
    

    (It will output:

    Worked!
    

    Yet nothing really worked at all! Key issues are:

    • Passing parameters to subroutines. Two parameters are passed in
    • Parameter return: Two parameters are returned
    • Evaluation of parameters: $y in foo is not passed in thus the print... foreach doesn't execute>
    • Evaluation of true/false: foo returns $y which is errno, which is not 0 thus not true but the !$d evaluates to true and the print "Worked!\n" gets executed.

January 12, 2006

Clearcase Merging/CQ Time Stamp problem/CQ Help problem

  • Consulted with Ann Wisotzky regarding Clearcase Merging
  • Investigated email time stamp problem with PQA
  • Worked with Rational regarding Clearquest: Help problem

January 11, 2006

Stglocs/replicating perftest

  • Investigated stglocs
  • Replicated /vobs/perftest and set up log_activity, stats and pulse for all of:
    • ccase-rmna-3
    • ccase-sj1-1
    • ccase-sj1-2
    • ccase-irva-2

Chris, if you can spare a Windows machine to host the views (meaning to run the view_server processes on) then I believe the following stgloc would be your best answer:

$ your_filer=<your_filer>
$ your_share=<your_share>
$ your_windows_view_server=<your_windows_view_server>
$ p=\\\\$your_filer\\$your_share\\viewstore
$ cleartool mkstgloc -view -force -host $your_windows_view_server \
> -hpath $p -gpath $p viewstore $p

This would create a "stgloc" which can be used in mkview:

$ cleartool mkview -tag <tag> -stgloc viewstore (or -auto)

Users can also select this stgloc in the Clearcase Explorer GUI. Views will be placed on $your_filer and served by $your_windows_view_server (meaning view_server processes will run there and that that machine should have a static IP).

Views can be cross tagged into the Linux region with:

$ cleartool mktag -view -tag defaria2 -host 10.136.65.5 -hpath \\\\fs-rmna-01\\ccstgloc-cabu\\viewstore\\BROADCOM\\adefaria\\defaria2.vws -gpath /projects/ccstgloc-cabu/viewstore/BROADCOM/adefaria/defaria2.vws
/projects/ccstgloc-cabu/viewstore/BROADCOM/adefaria/defaria2.vws
cleartool: Warning: Storage pathname "/projects/ccstgloc-cabu/viewstore/BROADCOM/adefaria/defaria2.vws"
may not reside on host "10.136.65.5".

Notes:

  • I specified host as an IP address because the test "server" I was using was using DHCP (IOW nslookup pcrmna-ccrmt02 doesn't work from Unix)
  • Backslashes are doubled because bash collapses them
  • The host path (-hpath) must be a valid path from the host's point of view. The host (pcrmna-ccrmt02 in this case) is a Windows box thus a UNC style path is used for -hpath.
  • The global path (-gpath) must be a valid path from the client's point of view. Since we are cross tagging to Linux the path is a Unix style path (in the automount map) of /projects/ccstgloc-cabu/viewstore... You're directory under /projects would be different.
  • View creation and serving on Windows machines is Windows domain aware. What they do is create a directory for the domain (e.g. BROADCOM) then a directory for the user (e.g. adefaria) then the view directory is created (defaria2) with an appended .vws. This is Windows specific behavior, hence you see and additional .../BROADCOM/adefaria/defaria2.vws.
  • You need not use the name or directory "viewstore". This is just an example. I've seen others user the directory name of say vws. Also the stgloc need not be named viewstore - you might use bt-filer-views or whatever.

Now you can similarly create a Unix oriented stgloc if you want:

$ your_share=<your_share>
$ your_linux_view_server=<your_linux_view_server>
$ p=/projects/$your_share/viewstore
$ cleartool mkstgloc -view -force -host $your_linux_view_server \
> -hpath $p -gpath $p viewstore $p

And then your users can cross tag them into the Windows region using the Region Synchronize tool (Note: It will fail initially as it cannot determine what the UNC path needs to be so the users will have to specify that) or by the command line:

$ your_filer=<your_filer>
$ your_share=<your_share>
$ your_linux_view_server=<your_windows_linux_server>
$ p=\\\\$your_filer\\$your_share\\viewstore
$ cleartool mktag -view -tag adefaria_linux -host $your_linux_view_server \
> -hpath /projects/$your_share/viewstore/adefaria_linux.vws \
> -gpath $p\\adefaria_linux.vws $p\\adefaria_linux.vws

The advantages here are:

  • Your Linux server bears the brunt of serving views since the view_server processes run there

The disadvantages are:

  • Users can't create views using this stgloc from Windows
  • Users must cross tag views to their Windows region
  • Windows users don't like the command line.

January 10, 2006

Getting log_activity/stats and pulse to work

  • Re-wrote most Clearcase modules to utilize Clearcase::cleartool and for Clearcase.pm to work out where cleartool resides
  • Changed Mail.pm to only attempt to use MIME:Entity and others if html is requested
  • Got pulse working for /vobs/preftest. If the vob is not present it simply logs that and exists

January 9, 2006

Mail.pm/pulse

  • Worked on Mail.pm
  • Incorporated Mail.pm into Logger
  • Created Element.pm
  • Added code to pulse to mkelem and rmelem

January 6, 2006

Mail.pm/ccase-rman-3 crisis

  • Further developed Mail.pm. Added code to send HTML mail. HTML mail not completely working yet
  • Worked on problems with ccase-rmna-3
  • Assisted Ray in some Perl coding issues

January 5, 2006

Mail.pm/CQ Web

  • Developed Mail.pm module
  • Working with Rational about CQ Web hang problem

January 4, 2006

More module coding

  • Standardized some modules a little bit
  • Added much more functionality to Clearcase modules and tied that into stats and log_activity
  • Changed the startup of many scripts to be more standard
  • Implemented much more functionality in stats

Odd characters in view tags

I found this odd view tag in the SanJoseNT region:

ccase-sj1-1:ct lsview -long -region SanJoseNT helenay_PIRelease_12022002_7031RC\)
Tag: helenay_PIRelease_12022002_7031RC)
  Global path: \\Pc-1ubrv\Myview\helenay.v.vws
  Server host: Pc-1ubrv
  Region: SanJoseNT
  Active: NO
  View tag uuid:132d6e50.0eee11d7.a7a4.00:b0:d0:20:ba:8a
View on host: Pc-1ubrv
View server access path: F:\Myview\helenay.v.vws
View uuid: 132d6e50.0eee11d7.a7a4.00:b0:d0:20:ba:8a
View attributes: snapshot
View owner: BROADCOM\helenay

Note the trailing ")" in the view tag. Alas this screws up Perl scripts when one may take a view tag and include it in a cleartool cmd:

`cleartool lsview -long -region SanJoseNT $view_tag 2> /dev/null`

when $view_tag is the above results in:

sh: -c: line 1: syntax error near unexpected token `)'
sh: -c: line 1: `cleartool lsview -long -region SanJoseNT helenay_PIRelease_12022002_7031RC) 2> /dev/null'

I don't think I should write code to escape such characters but what else can I do? We could ask this user to rename their view but apparently Clearcase does not disallow such strange characters in view tag names (and perhaps other objects...).

DNS Issues

Kerrynn De Roche wrote:

I just checked the etc/hosts and it seems we had last set the entries to 128.34 instead of 128.37. I changed them to 128.37 and it seems to be working now...

10.136.128.37 has always been the IP address of ccase-rmna-4. If you had previously had 10.138.128.34 then that was what was wrong (with that workaround).

I would rather not have to worry about having to check the hosts file whenever the IP address changes though.

You see that's the difference between desktops and servers - server IP addresses never (or at least rarely) change. In fact in the administration business, keeping the servers IP address static is always a consideration - even if the machine is being swapped. We'll swap the IP addresses in DNS to the new machine to keep them the same precisely because of these issues. ccase-rmna-4's IP address will not change!

What is the method you use to not have to worry about hosts file?

As I said, in my environment it works without /etc/hosts:

Local:cat /etc/hosts
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host
127.0.0.1       localhost laptop
#10.136.128.37  ccase-rmna-4

Note ccase-rmna-4's entry is commented out. Additionally I do not have ca.broadcom.com on the DNS Suffix Search List:

Local:ipconfig /all

Windows IP Configuration

        Host Name . . . . . . . . . . . . : LTSJCA-ADEFARIA
        Primary Dns Suffix  . . . . . . . : corp.ad.broadcom.com
        Node Type . . . . . . . . . . . . : Hybrid
        IP Routing Enabled. . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No
        DNS Suffix Search List. . . . . . : corp.ad.broadcom.com
                                            broadcom.com

Ethernet adapter Wireless:

        Media State . . . . . . . . . . . : Media disconnected
        Description . . . . . . . . . . . : Broadcom 802.11g Network
Adapter
        Physical Address. . . . . . . . . : 00-10-18-90-1D-11

Ethernet adapter Secondary:

        Media State . . . . . . . . . . . : Media disconnected
        Description . . . . . . . . . . . : 3Com 3C920 Integrated Fast Ethernet        Controller (3C905C-TX Compatible) #2
        Physical Address. . . . . . . . . : 00-08-74-95-4A-24

Ethernet adapter Primary:

        Connection-specific DNS Suffix  . : broadcom.com
        Description . . . . . . . . . . . : 3Com 3C920 Integrated Fast Ethernet        Controller (3C905C-TX Compatible)
        Physical Address. . . . . . . . . : 00-B0-D0-0E-A2-71
        Dhcp Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        IP Address. . . . . . . . . . . . : 10.16.65.219
        Subnet Mask . . . . . . . . . . . : 255.255.240.0
        Default Gateway . . . . . . . . . : 10.16.64.1
        DHCP Server . . . . . . . . . . . : 10.16.192.15
        DNS Servers . . . . . . . . . . . : 10.16.64.11
                                            10.16.64.12
                                            10.16.64.13
        Primary WINS Server . . . . . . . : 10.16.192.15
        Secondary WINS Server . . . . . . : 10.16.192.16
        Lease Obtained. . . . . . . . . . : Tuesday, January 03, 2006 8:29:46 PM
        Lease Expires . . . . . . . . . . : Friday, January 06, 2006 8:29:46 PM

So I don't have any kind of workaround any more. It just works. By that I mean the following command used to fail stating a WINSOCK error trying to contact ccase-rman-4:

Local:ct lsstream -invob \\rmna_projects

(Note ct is aliased to cleartool and since I'm using Cygwin "\\" collapses to a single "\"). Now this command works for me. Note that nslookup of a bare ccase-rmna-4 still fails for me:

Local:nslookup ccase-rmna-4
*** dns-sj1-1b.sj.broadcom.com can't find ccase-rmna-4: Non-existent domain
Server:  dns-sj1-1b.sj.broadcom.com
Address:  10.16.64.11

This is because ccase-rmna-4 (and case-rmna-4.corp.ad.broadcom.com and ccase-rmna-4.broadcom.com from the DNS Suffix Search List) don't exist - it should be case-rmna-4.ca.broadcom.com. But a FQDN works:

Local:nslookup ccase-rmna-4.ca.broadcom.com
Non-authoritative answer:
Server:  dns-sj1-1b.sj.broadcom.com
Address:  10.16.64.11

Name:    ccase-rmna-4.ca.broadcom.com
Address:  10.136.128.37

The way resolver(3) (DNS's name resolution) works is to look at files like /etc/hosts and/or apply DNS Suffix Search Lists. So if DNS found ccase-rmna-4 in /etc/hosts it would have it's IP address. Otherwise it'll take a bare hostname of ccase-rmna-4 and append the suffixes. So if you added ca.broadcom.com to the list that also should work.

However the whole reason that Clearcase is using ccase-rmna-4 is because that's what was listed in the vob tag:

Local:llvob \\rmna_projects
Tag: \rmna_projects
  Global path: \\cc-rmna-storage\ccstgloc-cabu\vobstore\rmna_projects.vbs
  Server host: ccase-rmna-4.ca.broadcom.com
  Access: public
  Mount options: 
  Region: rmnaNT
  Active: NO
  Vob tag replica uuid: 088b79e0.0b0c11d9.9204.00:01:80:c8:b5:2d
  Vob on host: ccase-rmna-4.ca.broadcom.com
Vob server access path: /projects/ccstgloc-cabu/vobstore/rmna_projects.vbs
Vob family uuid:  09d0e19e.8b6611d5.b03b.00:01:80:c8:b5:2d
Vob replica uuid: 088b79e0.0b0c11d9.9204.00:01:80:c8:b5:2d
Vob registry attributes: ucmvob,replicated

but as you can see we fully qualified ccase-rmna-4 to ccase-rmna-4.ca.broadcom.com. This means that this should work without an /etc/host workaround or an "add to DNS Suffix Search List" workaround. Why that's not working remains a mystery.

January 3, 2006

More Clearcase modules

  • Started creating a Clearcase.pm module to hold site specific Clearcase information
  • Created OSDep.pm
  • Worked with the Help Desk to attempt to fix problem with Windows Update

January 2, 2006

cvsims/Vobs

  • Documented set up of CVS SCP connector
  • Added more functionality to Clearcase::Vob
  • Coded up a preliminary stats script

CVS CSP Connector

I've updated CVS CSP Connector documentation to add a description of the CVS administrative files that need to be changed. You'll note at the bottom that the only issues that remain are where to apply this CVS CSP Connector to. I believe we were waiting for David to respond as to the design.

The other issue that I noted was about how to handle branches. IOW do we need to include the branch name in the change set that we append. With the Clearcase CSP Connector the view extended pathname is what is put into the change set. As you know, Clearcase's view extended pathname will include branch names. In CVS such branch names are not included. Instead CVS relies on extending the revision number with extra digits. So a revision number of 1.1 would represent something on the main branch while 1.1.2.1 would be on some branch. There is no branch name information in there - one must do a cvs status or log command to find a branch name such as:

Sticky Tag:          andrew-branch (branch: 1.1.2)

then make the association between all 1.1.2.x revisions and andrew-branch above.

If David is OK with a 4, 6, 8, etc. revision number being enough to denote that this file's revision is branched and doesn't need the branch name then cvsims is effectively functionally complete. We just need to perform the CVS Setup described at CVS CSP Connector on the repositories and directories under those repositories that David or others want to enforce the CVS CSP Connector on.

stats

Ray Tran wrote:

Statistic logs - This is a script that would create two logs - one general data for each site, one for each VOB of each site.

The general data should have at the least - date_time;site;number of VOBs; number of total VOB size; number of snapshot views; number of dynamic views; number of file elements; number of directory element;...

I need a little clarification about some of the above...

  • How do you define "site"? I take it that in general we have Clearcase region of <site>NT and <site>UNIX. Is that always the case?
  • As for #vobs - skip private vobs?
  • As for #vobs, #snapshot views and #dynamic views: Which region is that for? As you know most of our stuff is actually in the NT region not the Unix region. Yet I expect that this script will run from the Unix region. I could -region however often that doesn't work. For example, if I'm on Unix and I do the following to interrogate the NT region it fails:

    ccase-rmna-3:ct lsview -region rmnaNT adefaria_dynamic
      adefaria_dynamic     \\ltsjca-adefaria\Views\adefaria_dynamic.vws
    ccase-rmna-3:ct lsview -full -properties -region rmnaNT 
    adefaria_dynamic
      adefaria_dynamic     \\ltsjca-adefaria\Views\adefaria_dynamic.vws
    cleartool: Error: Unknown host 'ltsjca-adefaria': Host not found
    cleartool: Error: Unable to get view handle: error detected by ClearCase subsystem.
      

    This is our familar "it fails because ltsjca-adefaria does not resolve in DNS" problem. But I need to do this with -full and -properties to determine if the view is a snapshot or dynamic (and/or a ucmview)!

    Normally this would be the result of an lsview with -full and -properties:

        ccase-rmna-3:ct lsview -full -properties phonex_3.0
      phonex_3.0           /projects/ccstgloc-cabu/viewstore/nnalluri/phonex_3.0.vws
    Created 29-Dec-04.16:48:19 by nnalluri.clearusers@ccase-rmna-3
    Last modified 29-Dec-04.16:48:20 by nnalluri.clearusers@ccase-rmna-3
    Last accessed 29-Dec-04.16:48:20 by nnalluri.clearusers@ccase-rmna-3
    Last config spec update 29-Dec-04.16:48:20 by nnalluri.clearusers@ccase-rmna-3
    Text mode: unix
    Properties: dynamic ucmview readwrite shareable_dos
    Owner: richmond/nnalluri : rwx (all)
    Group: richmond/clearusers : r-x (read)
    Other:                  : r-x (read)
    Additional groups: richmond/brcm richmond/users
    richmond/ccadmin richmond/clearcase richmond/cc_ecan richmond/rmna180qa
        

    Also should I do attempt to somehow combine the NT and Unix regions? If so then I'd need to figure out any vobs/views that are tagged in both regions. Or should I only consider the NT region?

  • As for #element, how does one determine this? I mean it is possible for somebody to create a new vob, check out the vob root directory to a specific branch, do a clearfsimport of thousands of elements and check in the root directory. From the perspective of a default view (just CHECKEDOUT and main/LATEST) I would not see nor be able to tabulate those thousands of elements... That's an extreme however the point is, with directories being versioned it is really quite difficult to be able to get an accurate count of #elements.
  • BTW: It seems the majority of views are hosted on the individuals desktop or laptop and most of the time getting information about such views is near impossible. Often I get a winsock error saying it can't connect to the machine or an "unable to contact albd_server on host...".

The VOB specific data - date_time;site;VOB_name;size of database;size of source pool; size of devired object; size of cleartext; size of admin data.

The directory structure that I envisioned is as such

/projects/scm_tools_logs

-cc
- 2005
- 12
- 01

I have a preliminary version of this working (Need to code up something to get the current site) at SCM/cc/stats. Output for rmna site looks like:

################################################################################
# # File: vob.log # Description: This file contains a list of all vobs at rmna along with some # statistical information. # Format: The format of this file is: # # date/time;site;VOB name;db size;src size;do size;clrtxt size;adm size # ################################################################################
20060102@18:23;rmna;A1;0.3;0.0;0.00.0;0.1;0.4 20060102@18:23;rmna;CommEngine;1569.3;2920.2;0.064.3;0.1;4553.8 20060102@18:23;rmna;NewTest;0.2;0.0;0.00.0;0.1;0.2 20060102@18:23;rmna;OnePhone;1226.7;3007.9;0.0321.0;0.1;4555.7 20060102@18:23;rmna;SpiceBoxSW;114.3;169.3;0.00.0;0.1;283.7 20060102@18:23;rmna;TrainCommEngine;1.6;10.7;0.00.0;0.1;12.4 20060102@18:23;rmna;adm;0.6;277.8;0.0547.0;0.1;825.5 20060102@18:23;rmna;alpha_video;115.9;205.9;0.00.0;0.1;321.8

and

#################################################################################
# File: rmna.log # Description: This file contains statistical information about the vobs/views # at this site. # Format: The format of this file is: # # date/time;site;nbr vobs;total vob size;nbr snapshot;nbr dynamic;nbr ucm;nbr file elements;nbr dir elements # ################################################################################
20060102@19:58;rmna;57;54222.1;0;10;5;<To be determined>;<To be determined>