Skip to main content

ClearCase interop guide for NT/UNIX

Vanina Arca is a Software Configuration Management Specialist and was selected by Rational Software as a 2002 Rational ClearCase Community Superstar.
Baufest specializes in Software Development and Software Engineering Consulting. Baufest is a Rational Alliance Member based in Buenos Aires, Argentina.

Summary:  This article by Vanina Arca describes an example of how to configure ClearCase to work in an interoperability environment using the Windows and UNIX platforms.

Date:  12 May 2004
Level:  Introductory
Activity:  722 views

The information in this technical note was originally published in September, 2002 and applies to:

  • Rational ClearCase 4.2 -- UCM Configuration
  • Rational ClearQuest 2001.A.04.
  • Windows NT 4.0 SP 6, Windows 2000, Solaris for INTEL 5.8.

Pre-requisites for this note:

  • Usage of Rational ClearCase as a Software Configuration Management tool.
  • Unix Administration
  • Windows 2000 or NT Administration

Introduction

This paper shows a concrete example of how to configure ClearCase in an Interop environment -- or one that combines the Windows and Unix operating systems. The purpose of this technical note is to provide a practical, hands-on guide to the procedure. Although ClearCase documentation provides information about this at a high level, it won't illustrate how to resolve specific configuration scenarios. This note will help avoid spending time on research and trial and error, as well as providing an example of an architecture that can be adapted to different situations with a few changes.

Most Windows development teams use ClearCase and ClearQuest for Windows with the UCM configuration. They usually also use Windows databases such as Microsoft SQL Server or Oracle. This article can be useful in those cases where in addition to the Windows environment; you want to use a UNIX server as a ClearCase repository while maintaining the UCM configuration for the entire infrastructure. This mix of Windows/UNIX servers usually arises in organizations that also have some users developing on UNIX, and/or require UNIX servers for improved stability.

If you want to avoid setting up a separate ClearQuest UNIX and getting it to talk to an existing Windows database, we recommend this configuration. This will allow you to leverage your existing Windows ClearCase/ClearQuest integration with a Windows database -- which is a lot easier to set up and maintain -- and still access a UNIX repository using Unified Change Management.

This is just one of many possible configurations, but it's interesting because it combines several advantages:

  • You can use Windows workstations for software development tasks (a common requirement in many companies).
  • There is no need to use ClearQuest UNIX licenses or to connect ClearQuest UNIX to a Windows database. In our experience ClearQuest Windows is a much more common setup, and much easier to connect to a Windows database.
  • You can keep the information in Project VOBs (PVOBs) in Windows, which enables easy integration with Rational ClearQuest for Windows to support UCM.
  • You can take advantage of the reliability of a Unix-based infrastructure to host a ClearCase VOB repository.
  • You can still use Unified Change Management (UCM) both for Windows and UNIX-based VOBs.

The examples in this article are shown using the Sun Solaris operating system, but they can be easily translated to the other Unix versions supported by ClearCase.


Implementation Architecture

We will have two VOB servers, one of them a UNIX VOB server (UCM) called UNIX_host and a Windows VOB server called Win_host. This last server acts also as a View and Registry server for illustration purposes. There is also a third Windows Database server that holds the ClearQuest schema and user databases.

Figure 1 depicts the architecture corresponding to one of the possible ways to implement the configuration described in the Introduction.

image
Figure 1: A model of our architecture
(click here to enlarge)

We must emphasize that there may exist some variants to this scheme. For example the Registry server could be another host, other than Win_Host. The same goes for the View server. This example is independent of the physical location of the License servers.


Pre-conditions

This article assumes that the UNIX host doesn't have Rational ClearCase 4.2 pre-installed.

Two VOB servers must exist, a Windows host -- which we have called Win_Host and a UNIX host we have called UNIX_Host. The Windows server must also be the Registry and View server. Both servers must have a UCM configuration.

To implement this configuration, it's necessary to have the following elements in the Windows VOB and View server:

  • At least one Project VOB (Win_PVOB) in a given region (Win_region).
  • At least one ClearCase Project (Win_CCPrj) contained in this PVOB and integrated with a ClearQuest user database.
  • At least one development view and one integration view attached to the development and integration streams of the Win_CCPrj ClearCase Project.

Overview of the steps involved

Following is an overview of the sets of activities you must follow to obtain the complete configuration. In this case the configuration is: VOB creation in Unix + Unix storage + PVOB in Windows + Windows used for development.

  1. Configuring UNIX File Access for Windows computers
  2. Synchronize Windows domain, groups and users with UNIX groups and users
  3. Install Rational ClearCase in the Unix Host (VOB server) if necessary
  4. Configure VOB storage in the Windows host
  5. Synchronize UNIX - Windows regions.
  6. Configure VOB storage in the Windows host
  7. General Considerations.
  8. Configure the Project VOB (PVOB) in the Windows host. Add UNIX VOBs into the Windows ClearCase Project.
  9. Complete the UCM -- ClearCase/ClearQuest configuration.

Configuring Interoperability

Step 1: Configuring UNIX File Access for Windows computers

There is more than one option to enable communication between the UNIX server (UNIX_host) and the Windows server (Win_host) and clients. This communication is not native to either Windows or UNIX.

If the development team uses just snapshot views, it's not necessary to install any additional software in the UNIX_host (SMB server or NFS server). In this case, configuring CCFS (ClearCase File System) in Win_host and your clients is enough.

If the development team wants to use dynamic views, you'll need to install additional software in both UNIX_host and Win_host and also in the Windows clients.

On your UNIX server (UNIX_host)

You need to install and configure TAS SMB or NFS or similar software. The most commonly used software for Oss like Sun Solaris 2.5.1 or later or HP UX 11.00 or later is SMB (SAMBA) because its perfomance and functionality are good. Most companies already have this software.

  1. TAS SMB server configuration
    See http://www.samba.org/cifs/docs/what-is-smb.html

  2. NFS server standard configuration.
    Start the service in the UNIX host UNIX_Host:
       /etc/init.d/nfs.server stop
       /etc/init.d/nfs.server start

On your Windows server (Win_host) and Windows clients

The most commonly used interoperability software for Windows is Services For UNIX which provides a connection client.

Step 2: Synchronize Windows domain, groups and users with Unix groups and users

On UNIX, ClearCase relies on group IDs to implement workgroup sharing and to maintain strict access control.

  1. Check that the Windows primary group is set correctly (environment variable CLEARCASE_PRIMARY_GROUP). See Setting the primary group, Special considerations on Windows page 24.

    Use the creds utility under the ClearCase installation folder in etc\utils

    Example: inside a command prompt enter

    >cd C:\Program Files\Rational\ClearCase\etc\utils
    C:\Program Files\Rational\ClearCase\etc\utils>creds

  2. Verify there is a one-to-one relationship between Windows user and group IDs and UNIX user and group IDs. To do this, use the credmap <host> utility under the ClearCase installation folder in etc\utils.

    Example: inside a command prompt enter

    >cd C:\Program Files\Rational\ClearCase\etc\utils
    C:\Program Files\Rational\ClearCase\etc\utils>credmap celeste
    Identity on local Windows system:
    User: anne (0x1003f2)
    Primary group: clearusers (0x1003ff)
    Groups:
      Administrators (0x20220)
      Domain Users (0x100201)
    
    Identity on host "celeste":
      User ID: 1149 (0x47d)
      Primary group ID: 20 (0x14)
      Group ID list:
      -2 (0xfffffffe)...

  3. Verify that you have an image of groups, users and security permissions in Windows and UNIX.

    Example:

    cleartool describe vob:\win_training_vob
    versioned object base "\win_training_vob "
    created 01-Feb-96.10:54:35 by vobadm.user@saturn
    "runtime libraries"
    VOB storage host:pathname "violeta:E:\VOBs\win_training_vob.vbs"
    VOB storage global pathname "\\violeta\VOBs\win_training_vob.vbs "
    VOB ownership:
      owner: vobadm
      group: clearusers
    Additional groups:
      group1
      group2

Step 3: Install Rational ClearCase in the Unix host (VOB server)

Follow installation instructions for ClearCase in the UNIX host (UNIX_Host).

During the installation, select the Windows host (Win_Host) as Registry server. Example: when creating the site preparation,

configure -registry_host <Win_host>

Step 4: Configure VOB storage in the Unix host

  1. Create a shared folder in UNIX with the following attributes: No NFS, Default.

  2. Apply permissions on the folder as needed (see Unix Administration Manual) in such a way that the development group on Windows can work on the VOBs generated in the UNIX_Host through Windows views.
    For example: chmod -R 770 on the folder.

  3. Create the VOBs in that storage in the default region (UNIX_region) on the Unix host (UNIX_Host).

    Example:

    >cleartool mkvob -tag /sun_training_pvob -nc -region UNIX_region
    -ucmproject  /user/vstore/sun_training_pvob.vbs 
    mount sun_training_pvob
    
    >cleartool mkvob -nc -region UNIX_region -tag sun_Web_component
    /sun/vstore/sun_Web_component.vbs
    mount sun_Web_component

  4. Protect the Unix VOBs using the protectvob command (according to owner and Windows group)

    Example: if you have a Windows root user with password xxxx and the CLEARCASE_PRIMARY_GROUP variable is set with group "grupo1", then protectvob from Unix should look like this

    cleartool protectvob -chown root -chgrp grupo1 
    /storage/vob.vbs
    This command affects the protection on your versioned object base.
    While this command is running, access to the VOB will be limited.
    Pool "sdft" appears to be protected correctly.
    Pool "ddft" appears to be protected correctly.
    Pool "cdft" appears to be protected correctly.Protect 
    versioned object base "c:\vobs\docs.vbs"?  \[no\] yes 
    Do you wish to protect the pools that appear not to need protection?
    \[no\] no 
    VOB ownership:  
      owner smg  
      group clerausers
    Additional groups:  
      group   Backup Operators

Step 5: Synchronize UNIX -- Windows regions

  1. From the Windows host (Win_Host)
image
Figure 2: Synchronize the Unix and Windows regions. In the example shown below the Windows region is "Baufest" and the Unix region is "unix_region".

image
Figure 3: In the Control Panel ClearCase applet, select the Unix region (UNIX_region)

image
Figure 4: In the Options tab check Use CCFS to access UNIX VOBs and Enable automatic mounting of NFS storage directories

Step 6: Configure VOB storage in the Windows host

Create a VOB storage from the ClearCase Administration Console in Win_Host or through comand line, pointing to the shared folder in Unix. Then Change the path of the tags in the Unix region. That means changing the slashes to backslashes and replacing /net/UNIX_host by \\UNIX_host.

  1. Create a VOB storage from the command line:

    cleartool mkstgloc -vob <name> <path_name>

    Example:

    cleartool mkstgloc -vob unix_ccstg /net/violeta/usr/vstore 
    Created and advertised Server Storage Location.
    ...
    Global path: /net/violeta/user/vstore

    Change slashes to backslashes from the GUI: here the Unix_Host is called "Violeta" and the new VOB storage "unix_ccstg".

image
Figure 5: Remember to change the slashes to backslashes
  1. Copy tags in the Windows region (Win_region).

    Using the GUI: from the ClearCase Administration Console, select the tag you want in the UNIX_region and "drag and drop" pressing <CTRL> to the destination region (Win_region).

    Using the command line:

    cleartool mktag -vob -tag <vob_tag> -region <win_region> -host
    <Win_host> <vob_path_name>

    Example:

    mktag -vob -tag uw_web_component -region win_region -host celeste
    \\violeta\unix_ccstg_vob \uw_web_component.vbs

Step 7: General considerations

Case-sensitivity issues

If the development team uses dynamic views they must take into account some features related to case sensitive issues.

We recommend using the case insensitive mode whenever possible. For this it's necessary to have a standard element naming convention that is not based on differences in the way case is used. You should only use case sensitive mode when the naming of VOB elements differs only in the letter caps and cannot be renamed.

Configuring Text Modes for Views

UNIX and Windows observe different conventions for terminating lines in text files. UNIX systems normally terminate lines with the <LF> character (line feed) and Windows systems terminate lines with a sequence of two characters <CR><LF> (carriage return, line feed). ClearCase provides a text mode setting for views that controls how line terminators are handled when text files are presented to applications. You can create a view in any of three text modes:

  1. Transparent text mode: Performs no line terminator processing. Formerly called "UNIX mode".
  2. Insert_cr text mode: Used by Windows clients when UNIX clients use transparent mode.
  3. Strip_cr text mode: Used by UNIX clients when Windows clients use transparent mode. Formerly called "interop mode" or "msdos text mode".

Recommendations

  • If all of the developers at your site use the same development platform (Windows or UNIX) or use tools that are compatible with either line-termination convention, all views should be created in transparent text mode.
  • If most of your users are developing software on UNIX, UNIX clients should use views created in transparent text mode and Windows clients should use views created in insert_cr text mode.
  • If most of your users are developing software on Windows, Windows clients should use views created in transparent text mode and UNIX clients should use views created in strip_cr text mode.

Step 8: Configure the Project VOB (PVOB) on the Windows host. Add Unix VOBs into the ClearCase Windows Project.

Add the Unix VOBs. From Project Explorer in Win_host, perform the import operation into Win_PVOB. The imported VOBs should appear on the Components folder inside Win_PVOB.

In this example the name of the PVOB is "celeste_training_pvob2" and the name of the ClearCase project (Win_CCPrj) is "celeste_V1_WebSite2". The imported VOB is called "uw_Web_component".

From the command line:

cleartool mkcomp component-selector

Example:

>cleartool mkcomp \\violeta\user\vstore\uw_web_component
uw_Web_component@/celeste_training_pvob2
Set Admin VOB for component "uw_Web_component"
"Created component " "uw_Web_compoenet".

Using the GUI:

image
Figure 6: The GUI version of the PVOB

Step 9: Complete the UCM -- ClearCase/ClearQuest configuration

  1. Add the component (as modifiable) the ClearCase project (Win_CCPrj). The project must have been previously integrated with a ClearQuest database.

    Using the command line:

    cleartool chproject -amod <vob_tag> <project_slector>

    Example:

    >cleartool chproject -amod sun_web_component
    celeste_V1_WebSite_prj@celeste_training_pvob 
    Changed modifiable component list for project 
    "celeste_V1_WebSite_prj@celeste_training_pvob".

    Using the GUI:

image
Figure 7: Adding the component through the GUI interface

image
Figure 8: Mounting the proper component
  1. Mount this component.

    Example: cleartool mount uw_Web_component

  2. Verify the VOB can be seen from the views in the ClearCase Windows clients.
image
Figure 9: Verifying that the VOB is available

For More information


About the author

Vanina Arca is a Software Configuration Management Specialist and was selected by Rational Software as a 2002 Rational ClearCase Community Superstar.
Baufest specializes in Software Development and Software Engineering Consulting. Baufest is a Rational Alliance Member based in Buenos Aires, Argentina.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=4709
ArticleTitle=ClearCase interop guide for NT/UNIX
publish-date=05122004
author1-email=
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers