Probe Deployment Fails with "Dependency Problem" When Using Remote Distsrv
search cancel

Probe Deployment Fails with "Dependency Problem" When Using Remote Distsrv

book

Article ID: 126694

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM)

Issue/Introduction

When trying to deploy a probe to a robot which reports to a downstream hub with its own distsrv the
  deployment may fail with a 'Dependency problem' error.


 

Environment

Multiple Hubs with the Upstream Hub's distsrv configured to use 'Use remote distsrv on distribution' and the
   remote distsrv is not using its local archive.

Cause

When the environment is configured to use 'Use remote distsrv on distribution' and the downstream distsrv is not using its
   local archive (meaning it will pull the package from the upstream distsrv) the downstream distsrv will check and validate
   that the upstream distsrv has ALL dependencies from ALL tabs present. 

In the following log snippet the websphere 1.80 package was being deployed to a downstream x86 Linux robot. The downstream
   distsrv failed the deployment as it could not find the zLinux jre package in the upstream archive. Although the deployment is 
   going to an Intel based Linux system the remote distsrv looks for all dependencies to be present in the up stream archive.


ex. downstream distsrv.log snippet

Feb  6 13:43:12:800 [7968] distsrv: ExtractVersion - 1.80 -> 1.800000
Feb  6 13:43:12:800 [1272] distsrv: --- CheckRemoteJobAdd done
Feb  6 13:43:12:801 [7968] distsrv: TmpPackageFile (websphere, 1.80, 1) -> websphere=1.80.zip
Feb  6 13:43:12:801 [7968] distsrv: Enter: unzip_this_file: is_defined _WIN32
Feb  6 13:43:12:803 [7968] distsrv: unzip successful for: jobs/<robot>/websphere=1.80.zip
Feb  6 13:43:12:803 [7968] distsrv: VerifyCrC 8107 bytes read by nimMD5Sum
Feb  6 13:43:12:803 [7968] distsrv: cfgReader file open: C:\Nimsoft/archive/temp_d6/info.pkg
Feb  6 13:43:12:804 [7968] distsrv: cfgReader file close: C:\Nimsoft/archive/temp_d6/info.pkg
Feb  6 13:43:12:805 [7968] distsrv: TmpPackageFile - name = jre_zlinux, version = 1.70, match = 1
Feb  6 13:43:12:805 [7968] distsrv: ExtractVersion - 1.70 -> 1.700000
Feb  6 13:43:12:805 [7968] distsrv: TmpPackageFile (jre_zlinux, 1.70, 1) -> jre_zlinux=1.70.zip
Feb  6 13:43:12:805 [7968] distsrv: RequestQueueGetResult - id=105: not found
Feb  6 13:43:12:805 [7968] distsrv: RequestQueueRemove - id=105
Feb  6 13:43:12:805 [7968] distsrv: do_dependency_check - websphere to <robot> Error when attempting to fetch package jre_zlinux - not found - will let the distribution fail
Feb  6 13:43:12:805 [7968] distsrv: TmpPackageFile - name = jre_solaris, version = 1.6.0, match = 1
Feb  6 13:43:12:805 [7968] distsrv: ExtractVersion - 1.6.0 -> 1.060000
Feb  6 13:43:12:805 [7968] distsrv: TmpPackageFile (jre_solaris, 1.6.0, 1) -> jre_solaris=1.06.zip
Feb  6 13:43:12:805 [7968] distsrv: Executing 'job_remote_request' to <robot> (source=<robot>, package=jre_solaris)...
Feb  6 13:43:12:805 [7968] distsrv: RequestQueueAdd - address=/<robot>, request=job_remote_request, timeout=60
Feb  6 13:43:12:805 [7968] distsrv: request for jre_solaris performed (0/1)
Feb  6 13:43:12:805 [7968] distsrv: websphere - Some dependency package is not yet fetched

Resolution

Ensure that the upstream archive contains all the necessary dependency packages. This can be done by editing the package in the IM
   Client and checking the 'Dependencies' Tab under each OS section Tab and then downloading any missing dependencies.

From IM of the Upstream Hub's distsrv probe
- select Setup tab then Advanced settings

- Then disable the "Use remote distsrv on distribution" checkbox

- Enable " Accept remote distributions" and " Use local archive for accepted remote distributions".

 

 

Note: The downstream hub will only deploy the necessary packages for the target robot OS. For example even
    though in this example it checks for jre_zlinux it will not deploy this package when the target is Intel Linux. The
    distsrv would check for java_jre 1.60 or greater as specified under the Linux Tab


An alternative would be to populate the downstream archive with the necessary packages (robot, websphere 1.80, java_jre) and then
   configure the downstream distsrv to use its local archive ('Use local archive for accepted remote distributions'). When this is enabled
   it will not check every dependency, it will only check the dependencies for the target OS in its local archive.