How to create a Vob in base ClearCase? - clearcase

I am using base ClearCase.
I want to create a Vob, with a storage location being my system hostename.
What is the process to do so?

You need to:
declare a vob storage: see mkstgloc and About ClearCase Storages:
The key is to have a path that you can access through the network (an UNC path like \\myPC\ccstg_c\vobs, with ccstg_c the sharing name of a local directory under which you define your Vobs storage location)
create your Vob (if it is a public one, you need to know the clearcase registry password, as detailed in Set or change the ClearCase registry password and rgy_passwd)
See mkvob.

Related

Reformat Load fails in Clearcase 7.1.26

This is a follow on from op - Moving Vobs between Win and AIX
Due to the aix and win vob servers sharing resources (common CC reg & Common Admin PVOB on the Aix box) we need to amalgamate these vob servers onto the AIX server as a precursor to our ultimate move to new servers at CC8.
on the Win VOb Server we have locked the vob, run vob_siddump then a reformat dump of the vob.
Then using xcopy we copied the dumped vob.vbs from Windows to AIX vob server run the fix_prot on the new server.
But when we run the reformatvob -load it goes through it's steps Shows "Loader Done" then shows the following errors
Error from vob database /vobstore/vobs/vobname.vbs.
Error Trouble Opening the VOB Database /vobstore/vobs/vobname.vbs,
Error Trouble Loading versioned object base /vobstore/vobs/vobname.vbs.
Because of the shared registry is this due to the existing registry entry and we need to unregister and then rmtag before registering and tagging fresh or do we need to do anything further?
Clearcase logs on aix vob server show:
DB Log - Error process not running on registery specified hostname (old win vob server)
Vob Log - shows unix UID and GID messange and Warning unable to verify mount options in vob tag registry Clearcase Object not found
David, there are a few things you need to do here:
unregister the VOB and remove all the tags that refer to the old server
reregister and retag the vobs at the new location.
If you can't register the VOB, run fix_prot -r -root ... to reset the ownership and try again.
run vob_sidwalk to remap object ownership.
run it again with -recover_filesystem to reset container ownership. Alternatively run checkvob -pool -protections -fix -force {vob storage dir}.
The last step really needed to be started on the Windows side before this started. Essentially, you needed a sid dump file to turn into the map file that the sidwalk needs (unless you want to remap everything to the VOB owner...)
The complete procedure to follow is at Moving VOBs between Operating system types You may want to start fresh from there if you still have the VOB located in the old location.

view storage directory vs. snapshot view directory for snapshot views

I am reading the documentation of mkview as I am trying to create a snapshot view on my local disk and I am confused by the terminology surrounding "view storage directory", "snapshot view directory" and the -stgloc, -vws and -colocated_server options.
Here's my understanding:
"snapshot view directory" refers to the working directory on my local file system where I will be editing the files I checkout
"view storage directory" refers to some directory in the server where metadata about my view will be kept. I won't have anything to do with this directory.
Is this correct?
So to create a snapshot with server storage of the "view storage directory" and local storage of the "snapshot view directory", I would do:
ct mkview -sna -tag view_tag -vws /data/VIEWS/view_tag.vws -host foo -hpath /data/VIEWS/view_tag.vws -gpath /data/VIEWS/view_tag.vws ~/some/path/in/my/local/filesystem
(/data/VIEWS is an NFS file-system in my machine). Is that right? This seems to be consistent with what is described here.
However, I don't get what the -hpath and -gpath options are supposed to do (given that -vws has already provided the view storage directory and given that they seem to carry the same values). Also I don't understand the caveat in the mkview documentation that says (under -vws):
Use -stgloc rather than this option whenever possible
"snapshot view directory" refers to the working directory on my local file system where I will be editing the files I checkout
Yes, it can be anywhere on your disk, as opposed to dynamic view which are using a fixed mounting point (M:\ on Windows, /view on Unix)
"view storage directory" refers to some directory in the server where metadata about my view will be kept. I won't have anything to do with this directory.
Yes, and that is valid for both snapshot and dynamic view. You don't have anything to do... except both the ClearCase view server and your account must be capable to access it, which means it is often referenced though a global storage path.
The cleartool mkview man page (the official html page) describes vws as:
view storage directory in a location that is consistently connected to the local area network, on a host where ClearCase has been installed or on a NAS device that provides storage for such a host.
This location could be a server storage location (specified by –stgloc) or a location specified by the –vws option
If the view server is not your local workstation, then –host –hpath –gpath reference a host and path accessible both by your workstation and by the ClearCase server.
If the view server is your workstation, then -vws and hpath can be a local path, while gpath is a network shared path accessible by the view server.
I prefer keeping the view server on the local host (provided ClearCase was installed with that feature), as it avoids creating a single point of failure (a remote View server), and quickens the view operations (since the metadata are stored locally).

Is it possible to create a ClearCase VOB on a local disk?

I'm working with ClearCase 8 to test integration with my company's software, and I will be using the client and server software on the same machine, so I don't need the test VOBs I create to be accessible over the network. I'm trying to create a VOB on a local disk, rather than a network share, but I can't seem to figure out how to do it, if it is even possible.
First, I tried just using a regular path, e.g.:
cleartool mkvob -tag \vobFoo C:\Users\Public\cc_vobs\vobFoo.vbs
cleartool: Error: storage directory must be in UNC style (e.g. \\host\share\...)
After finding this question, my next attempt was this:
cleartool mkvob -tag \vobFoo \\localhost\c$\Users\Public\cc_vobs\vobFoo.vbs
cleartool: Error: Attempt to get location information on "\\localhost\c$\Users\Public\cc_vobs\vobFoo.vbs" failed: Invalid argument.
I checked - typing \\localhost\c$\Users into the "Run..." menu does bring up the proper folder in Windows Explorer, so I don't think it's an issue with the loopback adapter.
I did find some references to the error message here and here, but neither seems applicable to my situation (I'm not using UNIX and ClearCase Doctor doesn't give me the relevant error message)
Even after setting up a Windows share, this also failed:
cleartool mkvob -tag \vobFoo \\localhost\cc_vobs\vobFoo.vbs
cleartool: Error: Attempt to get location information on "\\localhost\cc_vobs\vobFoo.vbs" failed: Invalid argument.
The only way I could get the command to go through was to use the network host name with the share:
cleartool mkvob -tag \vobFoo \\hostname\cc_vobs\vobFoo.vbs
Is it simply not possible to setup a VOB in a local storage location like I'm trying to do? Or am I missing something?
I confirm that your UNC path cannot use localhost, but must start with the host name.
The reason is that the Vob storage path must be globally accessible, ie accessible from any computer (and localhost makes sense only from one computer).
The cleartool mkvob man page includes:
Windows—vob-storage-pname must be a UNC name.
UNC (Uniform Naming Convention):
The Microsoft Windows UNC, short for Universal Naming Convention or Uniform Naming Convention, specifies a common syntax to describe the location of a network resource, such as a shared file, directory, or printer. The UNC syntax for Windows systems has the generic form:
\\ComputerName\SharedFolder\Resource
Microsoft often refers to this as a "network path".
One way for you to have a local path (without having to define a share) is to use the -stgloc parameter, referring to the name of a pre-defined storage location (instead of -host -hpath -gpath arguments)
See cleartool mkstgloc (which defines storage locations for Vobs or Views).
You can use a local path there.
In many cases, ClearCase heuristically derives appropriate accessibility information from the stgloc-pname argument.
In cases where there is no file system connectivity between the server storage location and its clients, ClearCase derives the host name and host-local path, but because no meaningful global path can be derived, you must specify -ngpath to unset the global path information.
To create a server storage location for snapshot views or for VOBs intended to be accessed only through snapshot views, use these options:
-host -hpath -gpath when there is file system connectivity between the server storage location host and its clients.
-ngpath -host -hpath when there is no file system connectivity between the server storage location host and its clients.
So be careful if you do this (-ngpath option): your Vob won't be accessible through dynamic views, only snapshot views.

Re-importing existing clearcase view created on XP into RationalClearcase client on Windows7

I have already created my project views from the Rational Clearcase Client on XP machine.
Due to some reason I need to format my machine and I have installed Windows 7. Now my problem is, I already have the existing folders of the views created on XP. How do I re-import it so it will be shown in my Clearcase Navigator on Windows 7 machine?
In the OP jaychapani 's case (ClearCase Remote client):
The view storage for a "web view" is by definition on the CCRC server (so not on the client)
See "
How to reconstruct a CCRC view copy area after an unintentional deletion"
(the equivalent of a snapshot view directory is called, in CCRC, "view copy area")
A situation may occur where a developer unintentionally deletes a copy area and there is no backup.
The Web view still exists on the CM server and the view tag still exists in the ClearCase registry.
There is no way to perform such recovery completely from the CCRC graphical user interface (GUI).
Determine the View Tag (you can run cleartool lsview -l on the Web server: ask your ClearCase admin)
Create a new copy area (for example: D:\Webviews\<VIEWTAG>)
Create a .copyarea.dat file in the root of the above directory
Refer to technote 1119280 About the .copyarea.dat and .copyarea.db files for further details about this file.
a. Copy a .copyarea.dat file from another (known good) copy area into the root of the new copy area
b. Remove the "READONLY" and "HIDDEN" file attributes from that file.
Determine the UUID of the webview <VIEWTAG>.
You can get the UUID by running a cleartool lsview -l on the Web server (again, ask your ClearCase admin).
Modify the .copyarea.dat in the root of the new copy area.
If it was from a copy, modify the UUID and also the name of the <WEBVIEW> including its hexadecimal length field; modify also the name of the VOB root directory.
The timestamp in .copyarea.dat file does not need to be modified.
Remove the view tag from the .ccase_wvreg file.
Refer to technote1228258 About the CCRC .ccase_wvreg file for further details about this file.
Use CCRC GUI to perform "Add existing view".
Perform a Refresh->Repair->Discordance.
This repairs the content of the view.
Original answer, for a full ClearCase installation
If depends where the view storage of your (snapshot) view is stored.
If the view storage isn't stored on your local computer, you can simply re-create the root directory of your snapshot view and use "regen_view_dot_dat.pl" script found in <cc-home-dir>\etc\utils to regenerate the view.dat hidden file.
See "Clearcase - Find out when view was created" for more on that tool.
From that path, you can type clearexplorer . (note the space and the '.' dot), and you will see your view back in the ClearCase Explorer. Update it and you will find back its content.
If you had saved your snapshot view before formatting (including the hidden file view.dat), this is even easier: go the root path of that view and type clearexplorer .: your view will be back.

How to load two vobs in a view where both vobs are in different registry and vob servers?

I would like to know:
How to Load two vobs in two different views where both vobs are in different registry and vob servers in a single client windows machine?
Different registry??? I dont think thats possible, because in the first place the View will not be the same across different registry.
Different VOB server in the same registry is not an issue, just load it normally.
Maybe I misunderstood your problem.
You need:
to pick one registry server
declare (mktag and register) the other vob from the other registry server in the first one
make sure the global path of the other vob is accessible from your client and from the first vob server (Windows to Unix can work, with, for instance, Samba. But if your VOB server, the one that you pick, is a Unix one, it won't be able to access VOB managed by a Windows Vob server)
Note: the hard part is to mktag and register the other vob in your registry server: you cannot do it in command line, because it will try to modify some files in the vob storage (which your first registry server has no right to do)
You can however do it graphically:
launch ccadminconsole.msc
Select the 'Registry' section:
create a new VOB object

Resources