Probe Deployment Fails with Dependency Problem When Using Remote Distsrv
Article ID: 126694
DX Infrastructure ManagementNIMSOFT PROBES
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.
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  distsrv: ExtractVersion - 1.80 -> 1.800000 Feb 6 13:43:12:800  distsrv: --- CheckRemoteJobAdd done Feb 6 13:43:12:801  distsrv: TmpPackageFile (websphere, 1.80, 1) -> websphere=1.80.zip Feb 6 13:43:12:801  distsrv: Enter: unzip_this_file: is_defined _WIN32 Feb 6 13:43:12:803  distsrv: unzip successful for: jobs/polgr01-primary+system-2/websphere=1.80.zip Feb 6 13:43:12:803  distsrv: VerifyCrC 8107 bytes read by nimMD5Sum Feb 6 13:43:12:803  distsrv: VerifyCrc xUdJKJFSfaUsqz03Z08dtQ== is ok Feb 6 13:43:12:803  distsrv: cfgReader file open: C:\Nimsoft/archive/temp_d6/info.pkg Feb 6 13:43:12:804  distsrv: cfgReader file close: C:\Nimsoft/archive/temp_d6/info.pkg Feb 6 13:43:12:805  distsrv: TmpPackageFile - name = jre_zlinux, version = 1.70, match = 1 Feb 6 13:43:12:805  distsrv: ExtractVersion - 1.70 -> 1.700000 Feb 6 13:43:12:805  distsrv: TmpPackageFile (jre_zlinux, 1.70, 1) -> jre_zlinux=1.70.zip Feb 6 13:43:12:805  distsrv: RequestQueueGetResult - id=105: not found Feb 6 13:43:12:805  distsrv: RequestQueueRemove - id=105 Feb 6 13:43:12:805  distsrv: do_dependency_check - websphere to /polenta851win/secondaryHub/polgr01-robot Error when attempting to fetch package jre_zlinux - not found - will let the distribution fail Feb 6 13:43:12:805  distsrv: TmpPackageFile - name = jre_solaris, version = 1.6.0, match = 1 Feb 6 13:43:12:805  distsrv: ExtractVersion - 1.6.0 -> 1.060000 Feb 6 13:43:12:805  distsrv: TmpPackageFile (jre_solaris, 1.6.0, 1) -> jre_solaris=1.06.zip Feb 6 13:43:12:805  distsrv: Executing 'job_remote_request' to /polenta851win/primaryHub/polgr01-primary/distsrv (source=/polenta851win/secondaryHub/polgr01-secondary/distsrv, job_id=polgr01-primary+system-2, package=jre_solaris)... Feb 6 13:43:12:805  distsrv: RequestQueueAdd - address=/polenta851win/primaryHub/polgr01-primary/distsrv, request=job_remote_request, timeout=60 Feb 6 13:43:12:805  distsrv: request for jre_solaris performed (0/1) Feb 6 13:43:12:805  distsrv: websphere - Some dependency package is not yet fetched
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.
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.
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.