Thursday, March 13, 2008

FileServer software distribution in ITCM 4.2.x

One of the disadvantages of Software distribution architecture is depots can be hosted only from managed nodes and you will have to install a managed node at each slow-link to eliminate redundant data transfer across WAN. But, this may not be possible in an enterprise with large number of slow networks especially when each network hosts only a handful of systems. ITCM provides a FileServer based Software Distribution feature that permits any Windows system to act as a Fileserver for Software packages and this article describes my experiences with this feature.


In this method, any Windows system can act as a File Server as long as you are able to map a network drive to the system. You can create an image of the Software Package SPBs using "wdepot image" command and transfer the image files (*.toc and *.dat) to the file server share directory using any standard file copy operations including software distribution data movement operations.

On each endpoint that receives the file server distribution, create a file (if it doesn't exist already) named remote.dir on the LCF_DATDIR directory that lists the file server shares. You can designate multiple fileserver shares by listing one share per line and each will be tried until the image is found. One important thing is each endpoint must have TRAA account enabled.

Distribution method is same except that you have to check the "From Fileserver" check box in GUI or set from_fileserver=y option in winstsp command. Activity Planner also has an XML tag to enable this feature. When distributed this way, ITCM transfers only the informataion about the package being distributed to the endpoint and NOT the actual content of the SPB. The endpoint consults the remote.dir file for shares and uses TRAA account to access the remote shares and install the package. The final status is relayed back using the usual MDist2 communication path.


By default, the "wdepot image" command creates two files named nnnnnnnn.toc and nnnnnnn.dat, where nnnnnnnn is the serial number. If you have large number of packages, it is difficult to keep track of this number and its associated packages and it is wise to setup a lookup table preferably using an automation script.
Keeping track of which fileserver has which package is a complex process as well and scripts could be developed to maintain this information. Also, you could use software distribution/activity planner to deploy the packages to remote fileservers.


Would Check Point Restarts work?

No. Please understand that when you do FileServer distribution, the packages are transferred from file share using Windows SMB protocol and MDist2 is no way involved in the transfer. So, check point restarts will NOT work.

Will I see a progress of data transfer?

For normal distributions, you will see a progress of data transfer using wmdist command. But, again this is a MDist2 feature and you will NOT see the progress of data transfer in wmdist -I command while using file server distribution.

Can I change the contents of remote.dir dynamically?

Yes. It is just a text file that will be consulted during fileserver distribution.

What are the package formats supported?

SPB only.

Can I distribute to non-Windows endpoints?

No. Again this features relies on TRAA and SMB protocols.

Can I host the fileserver on a Unix box running Samba?

Good question. Worth testing :)

Hope you find it useful.


e.s. said...

Hello! I'm working with IBM Tivoli Software Distribution 4.2.3 and I need to use the option from fileserver for diffents reasons.
I would like to know if you were able to rename files *.toc and *.dat in your distributions
or if you used differents scripts to manage a large number of spb. Also, I would like to know if you have had some problem with the size of the remote.dir file because en our case is possible that this file grows very much.

Thanks in advanced!!

Venkat said...

We developed a Perl program to manage the Toc and Dat files. The program will keep the mapping between the SPB and Toc/Dat file names.

We didn't have any problems with the remote.dir as the number of entries we had was very small.

e.s. said...

Thanks! So, you couldn't rename those files, could you? My problem is that we need to make software packages from differentes managed nodes, so it's possible that the binary name of toc and dat files can be equal. Thanks in advance!

Venkat said...

Ah, I understand your problem now. We never had to test the rename feature as we had the images generated from single managed node. If you have to use multiple managed nodes, then one other possible solution is to create a subdirectory for each managed node and put the files in there. And, add these directories to your remote.dir.

Just a suggestion.

Venkat said...

Or, use a shared/synced directory (NFS/SMB) for storing your images. The auto-generated file names will be unique.

e.s. said...

Thanks for your suggestion! We have tried and it's very useful for us. Thanks! ;-)