Clearcase Labels

Our project uses Clearcase labels to control versioning in software releases. Development puts the label on files that get changed and need to be sent out to customers. Then configuration management (CM) picks up the files with the labels that development specifies. CM proceeds to use the new files to produce a build. Our project is in maintenance mode. So for the most part, we just change a few files here and there to fix bugs. However this year we added a bunch of new features to the applications. We also upgraded our tools which resulted in a lot of files changing. Development needed to label a lot of files in Clearcase. It was not intuitively obvious how to do this quickly.

Here is the process I normally use to apply labels to changed files in Clearcase. I use Clearcase Type Explorer to create a new label. Then I manually find the changed files using Clearcase Explorer. I get the properties of the file, and click on the Labels tab. At that point I added the label I previously created with Type Explorer. This works fine for a small amount of files. However sometimes we have a lot of files to add.

Previously we had a Java developer on staff who took over our build scripts. In fact he rewrote them using Ant. Part of the build involved putting a label on all the latest files. He figured out how to programmatically label all the files in our project using Ant. Unfortunately this developer has moved on to a new project. So when a current developer needed to label a large directory full of files, he followed in the Java guy’s footsteps and wrote an Ant script to do this.

All of this sounds very strange. I would think it is a common operation to label multiple files in Clearcase. I would hope that the solution is not to label them one by one. And I would also think that IBM does not want every customer to write some custom code to do this automatically. Why can’t I select multiple files in Clearcase Explorer, and apply a label to all of them?

Clearcase Access

IBM provides the Clearcase source control tool as part of the Rational Suite. This product is highly configurable, and perfect for revision control in the enterprise. However some Clearcase policy as demonstrated in the Software Maintenance blog are clearly counterproductive.

Developers make use of different views in the Clearcase environment to work different code sets or version. On bigger projects these views can grow quickly in number. Clearcase administrators need to develop policies to keep the view universe in check. However these policies should be created and enforced to the benefit of the developer user community.

Clearcase is, after all, a tool to be used by software developers. Its purpose is to maintain version control of files. It is meant as an aid to software development. Of course it benefits configuration management as well. However, it must serve its original purpose for it to be put to its best use.

Clearcase Woes

Every time I boot up my computer these days I get an albd server error. This is the first thing that is supposed to run when you start Clearcase. From past experience I know Clearcase Explorer does not work when I get the albd server error. So I manually choose Control Panel in Clearcase. Then I attempt to start Clearcase. For a long time the status is “start pending”. Finally Clearcase is started. So I launch Clearcase Explorer. It comes up so I am feeling better. However when I try to mount a VOB, I get no VOB choices.

This Clearcase has been a headache ever since we switched to using it for source code control. We only do it because our client has standardized on it. Yes I imagine Clearcase is powerful. However I am looking for a solution that works with minimal effort and upkeep from me. My job is not to muck around with Clearcase settings. I am supposed to code new features for our customer, with the occasional debugging of problems in the software we write.

Last time I had Clearcase problems, I went to our local Clearcase guy. He was able to get it working on my machine. However this is not his main job. The right way is to submit a trouble ticket with our client’s help desk. That will take forever. I need my source code control now. So I check out any web pages I can find on the albd server. It seems this process is required for VOBs and views. I could figure that out based on the things not working on my machine.

There is some promise from the IBM Knowledge Collection. They have a whole lot of ideas on how to debug a broke down albd server. The key advice is to check out the logs. So I go to Event Viewer on Windows. I see a whole bunch of Clearcase errors. They fall under to categories: (1) can’t find albd server on a specific host, and (2) can’t find albd. Nice details on that last error description huh? So I guess I need to find out what is wrong with the server that albd cannot find. Too bad that is not a server controlled by our team. I might just have to submit a trouble ticket after all. Bad show Clearcase.

Clearcase Halted

I return to work from vacation today. Reported to a new office location too. When I logged in, I saw some error flash by about the Clearcase VOB not being able to be mounted. OK. I had other work to deal with in the morning. When things settled down, I launched Clearcase Explorer to check up on Clearcase. I got an error message stating there was a problem with licensing. It recommended I run the licensing program. I tried to run the Rational License tool. There were no entries in the license list for Clearcase. Clicking a button for help took me to an IBM web page. I don't want to buy any more licenses. My customer has a huge Clearcase license already.

Now I had heard other people encountering Clearcase problems too. Their fix was to kill Blackice. I killed the Blackice Windows process. Then I stopped the Blackice service. Clearcase still had a problem. Then I remembered that I logged into a virtual machine and ran Clearcase fine. So I went to my virtual session and exited the Clearcase Explorer. Now I was able to run Clearcase on my own machine. But there were no files to be viewed. I tried to mount the VOB for my view. The VOB Mount dialog box came back with no VOB choices. I felt like I was in some real trouble here.

Finally I broke down and called over our Clearcase guru. It is not his job to fix my Clearcase problems. But he is always willing to lend a hand. He exited Clearcase Explorer and ran the Homebase (a program I never seem to launch). Then he said my server was not running. He used the tool to launch the server. It then showed that the server was running. He typed some commands at the Windows command prompt to mount my VOB. Then things were peachy. Why did I have to bring the Clearcase expert in? Maybe it is time for me to read the manual or take some Clearcase training. I don't know. I just do not have a good feeling for this software.

Rose and Clearcase

Our development team has use of the enterprise Rational suite. We use Rational Rose, Clearcase, and Clearquest frequently. I am in design mode right now. So I use Rose heavily. All of the Rose files are checked into Clearcase. The project is pretty big. Luckily most parts are split out into separate catalog (cat) files. I only load those units which I need. However I have some painful problems due to the slow networks here. It takes a long time to check files in and out of Clearcase.

Today I have determined what I call a severe perform or functional problem with Clearcase. I make use of the Clearcase support which is integrated into Rose. When I chose to check out a file, I get to enter the Clearcase comment for the check out. I like to enter very descriptive comments so I can reconstruct exactly what I did later by just looking at the comments. So I get to the comment dialog within Rose. Then I switch Windows tasks to another application to figure out what to type in for a comment. By the time I switch back to Rose, the screen has hung. It never comes back.

Now I will confess that this is not a crucial problem. But it is no fun to have to kill the Rose application with the Windows task manager. It is very slow launching it again and loading the units I need. I wonder if this is a problem that I should submit to IBM. For now I have a work around. Prior to checking anything out, I figure out what my check out comment will be. That way I do not have to switch tasks. And although Rose is slow when performing Clearcase tasks, at least the app eventually completes the task and comes back.

Aside from this problem, I find both Rose and Clearcase working pretty well. I imagine the enterprise suite license costs a lot of money. The product is provided by our customer so I do no know the details. I just assume the cost is high. For such a high price, I should not have to suffer from such bugs. As a developer, I can understand that perfect code is impossible to write. So I will but the IBM developers a little slack for now.

Crystal Reports

We have a few consults from Oracle Corporation working for our client. They are not directly on our project. They have their own separate contract. However they work on the same system our team maintains. Recently the manager from the Oracle side wanted to extract a bunch of database change information from Rational ClearQuest. And it was not going well. You would think it would be easy to export the data from the tool. It was just not working out.

The test manager from our team heard about this problem and volunteered to help. I think this manager uses ClearQuest on a daily basis. The Oracle consultant explained what she was trying to accomplish, and how the tool was not cooperating. The test team manager understood the problem and explained that there was a limit to the amount of information you could easily export from the ClearQuest spreadsheets. The recommendation from the test manager was to use Crystal Reports to programmatically extract the data.

Now I do not know how the Oracle consultant is going to get the job done. But I do know that she could not come out and say she would use Crystal Reports. That would not be the Oracle way. Their team’s job is to make money for Oracle. But it is also to promote the use of new and expensive Oracle products. They are supposed to be the experts on Oracle technology. If they had to revert back to a product from a competitor like Crystal Reports, it would look very bad. The real problem is that the IBM ClearQuest tool was not making life easy.

In the end I think the consultant was not able to extract the data she wanted in a meaningful way. The task was delegated to another Oracle consultant who manually grabbed the information from ClearQuest. But the output was not easily to work with. Maybe everybody just does not know how to work with IBM Rational ClearQuest well. I have to believe that people who use this tool need to occasionally export the data from the spreadsheets the application displays.

BlackICE Defender

My project recently moved to a new building. This happened because a new company won the bid for the maintenance contract. The change did not impact me much. I merely switched companies. A number of other long time developers on the project did the same. However we all suffer from a new problem on the project. Clearcase access has become very slow. Part of this slowness is due to the fact that we now need to make many network hops to get to the Clearcase server. The slowness is very painful.

One day the delay was so severe that a developer asked the Configuration Management team to intervene. Our CM team has some connections with the team that runs the Clearcase server. The answer turned out that the network was not our main problem. It was the BlackICE Defender service running in the background. When this service was disabled, Clearcase performance improved drastically. Our CM guy stated that IBM has dropped support for Clearcase to coexist with BlackICE.

From what I recall, BlackICE was an application for virus protection. I did a little more research and was surprised by what I found. Apparently BlackICE is now a product distributed by IBM. And they were in fact withdrawing support for the project. However this did not seem to imply that it would not longer coexist with Clearcase. Instead it seemed like IBM was dropping it from its product line. This was very confusing and even suspicious.

For now I am living with the Clearcase performance problems. BlackICE Defender is installed on my workstation for a reason. It is not up to a developer to be disabling system components they know nothing about. This problem should be addressed at an enterprise level. Our CM Team was disappointed that the Clearcase server team did not escalate this issue to an enterprise wide level. There must be more to this story than meets the eye.

Luckily our management team is working on some alternate solutions to the network performance problems. I am hoping that this shall also solve my issues with Clearcase.