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
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.
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.
|
| 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.
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.
- Configuring UNIX File Access for Windows computers
- Synchronize Windows domain, groups and users with UNIX groups and users
- Install Rational ClearCase in the Unix Host (VOB server) if necessary
- Configure VOB storage in the Windows host
- Synchronize UNIX - Windows regions.
- Configure VOB storage in the Windows host
- General Considerations.
- Configure the Project VOB (PVOB) in the Windows host. Add UNIX VOBs into the Windows ClearCase Project.
- Complete the UCM -- ClearCase/ClearQuest configuration.
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.
- TAS SMB server configuration
See http://www.samba.org/cifs/docs/what-is-smb.html
- 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.
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
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)...
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
Create a shared folder in UNIX with the following attributes: No NFS, Default.
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.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
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
- From the Windows host (Win_Host)
|
| 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". |
|
| Figure 3: In the Control Panel ClearCase applet, select the Unix region (UNIX_region) |
|
| 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.
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".
|
| Figure 5: Remember to change the slashes to backslashes |
- 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:
- Transparent text mode: Performs no line terminator processing. Formerly called "UNIX mode".
- Insert_cr text mode: Used by Windows clients when UNIX clients use transparent mode.
- 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.
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:
|
| Figure 6: The GUI version of the PVOB |
Step 9: Complete the UCM -- ClearCase/ClearQuest configuration
- 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:
|
| Figure 7: Adding the component through the GUI interface |
|
| Figure 8: Mounting the proper component |
Mount this component.
Example: cleartool mount uw_Web_component
- Verify the VOB can be seen from the views in the ClearCase Windows clients.
|
| Figure 9: Verifying that the VOB is available |
- Rational ClearCase: "Developing Software with UCM" (Windows) (UNIX)
- Rational ClearCase: "Managing Software Projects" (Windows) (UNIX)
- "Rational ClearCase Administrator's Guide"
- Sun Solaris 5.8 reference manuals
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)





