Troubleshooting Patch Management issues - Server Automation Documentation
This topic contains troubleshooting information for patch management issues. The topic includes the following sections:
Related BMC Communities article
BMC Customers using Automation for Patching use cases depend on OS vendors for Patches and metadata. To view a document that tracks the service status of the different OS Vendors as known to BMC Support, see the following BMC Communities document:
OS Patching Vendor Health Dashboard
Troubleshooting Windows patching issues
The errors that you might encounter during a Windows patching task can be divided into the sections that follow.
Errors encountered while creating or updating a patch catalog
The following table lists issues that you might encounter while running a Patch Catalog Job, and provides troubleshooting information and references to knowledge articles for these issues.
Unable to download shavlik metadata | The shavlik metadata may not be downloaded due to the following reasons:
For more information about this issue, you can refer to the Error occurred while downloading shavlik metadata knowledge article in the BMC knowledge base. Steps for debugging the shavlik downloaderTo enable DEBUG logging, add the following text to appserver.cf file: #Downloader debug log4j.logger.com.bladelogic.model.job.compliance.patch.ShavlikResult=DEBUG log4j.logger.com.bladelogic.app.util.DownloadServer=DEBUG |
| Patch Catalog Update Job throws the following warning: No mappings were found for the selected product | Product Mappings are subject to change due to updates by Microsoft (and therefore Shavlik). If the updates occur before BMC Server Automation has shipped updates in the product, you can use a Windows Filter Configuration File to update the mappings used by BMC Server Automation.
Note If the For the latest information on this issue, see the BMC Server Automation Knowledge Article ID: KA419955. |
| ACL issues: Windows Helper Server cannot be reached or access is not authorized | For information about creating an ACL template or ACL policy and controlling server access with agent ACLs, see Managing access. |
| Patch object cannot be added or updated due to an RBAC issue | To create Patching Jobs and deploy patches, the patch administrator must be assigned a role that includes the necessary RBAC permissions. For more information, see Minimum permissions for patching. |
Windows Hotfix Patch is not found in the Catalog | For steps on troubleshooting this issue, see Windows Hotfix Patch not found in the Catalog. |
Catalog update job fails because of PD5.cab, or HF7b.cab configuration files. | If you have upgraded to BMC Server Automation 86 or later, you may still be using the PD5.cab, or HF7b.cab configuration files for Windows patching. However, BMC Server Automation 8.6 and later versions do not support the PD5.cab, or HF7b.cab configuration files, and you must use the PD5.xml, or HF7b.xml files instead. The Windows catalog update job fails if you use the .cab configuration files. To update the configuration files used for Windows patching see, Global configuration parameters. |
Errors encountered while running the Patching Job and the Remediation Job
The following table lists issues that you might encounter while running the Patching Job and the Remediation Job, and provides troubleshooting information and references to knowledge articles for these issues.
Shavlik metadata was not copied to the target | You can refer to the following articles in the BMC knowledge base for steps on troubleshooting this issue: If your issue is still not resolved, file a ticket with BMC Support and provide the information from the following logs:
Turning on debug tracing for cl5.exeTo validate the payload, the shavlik engine runs the cl5.exe tool on the target. If this tool is not working properly, you can turn on tracing, using the following command: CL5.exe 2097197 1 <Log Directory> The customary value for maximum log size is 5000000. This command writes some values to the registry. To turn off CL5 tracing, use the following command: CL5.exe 2097197 0 |
One of the BLPatchCheck2 phases did not complete successfully | You can refer to the following articles in the knowledge base for steps on troubleshooting this issue: If your issue is still not resolved, file a ticket with BMC Support and provide the information from the following logs:
|
| Results are not passed back to the Application Server | You can refer to the following articles in the knowledge base for steps on troubleshooting this issue: If your issue is still not resolved, file a ticket with BMC Support and provide the information from the following logs:
|
Analysis reported unexpected patch as missing | For information about troubleshooting this case, see Windows Patch Analysis Job reports an unexpected patch as missing. You can also refer to the following articles in the BMC knowledge base: |
Analysis did not report expected patch as missing | For information about troubleshooting this case, see Windows Patch Analysis Job does not report an expected missing patch. You can also refer to the following articles in the BMC knowledge base: |
| BMC Server Automation analysis does not match with other third-party patch solutions | For more information about troubleshooting this case, see Analyzing differences between Windows Patch Analysis Job results and third-party vendors. You can also refer to the following articles in the BMC knowledge base: |
Troubleshooting Linux patching issues
When troubleshooting Yum-based Linux patching it is import to know how the process works in order to narrow down problems. At a very high level the catalog (repo) metadata is copied from the repo location to the target server(s), a custom yum.conf is generated on the target(s) and yum is called using that configuration file (instead of the system's default), analysis is performed and then the analysis results are processed and fed back to the BladeLogic application server. For RHEL 7 targets, the OS's yum binary is used and for all other rpm-based platforms a custom 'blyum' that is part of the RSCD install is used instead.
Click here for a detailed list of the process.
The detailed steps are:
- blpackage of repodata.tar.gz and linux_analyze is created
- blpackage deployed to target system in ??STAGING_DIR??/LinuxCatalog_<hash>
- custom yum.conf file generated in ??STAGING_DIR??/LinuxCatalog_<hash>
- ??STAGING_DIR??/LinuxCatalog_<hash> contains:
- repodata.tar.gz -> compressed yum repodata from catalog
- yum.conf -> yum configuration generated on the fly by the job based on yum.conf settings in the Patch Global Config and Job that refers to the temporary repo location
- repo directory -> extracted contents of the repodata.tar.gz file, the 'repo' used during analysis
- linux_analyze -> binary that builds the include lists and runs yum w/ options
- linux_analyze runs which is effectively calling <rscd install dir>/bin/blyum (or just /usr/bin/yum for RHEL7) -C -c ./yum.conf [ update | install ] <include list>
- A number of output files are generated. These files contain various outputs:
- yum_analysis.res -> result of the yum upgrade/install command
- analysis_res.log -> ??
- analysis_err.log -> stderr of the linux_analyze command
- analysis_log.log -> stdout of the linux_analyze command
- yum.lst -> ???
- installed_rpms.log -> count of installed rpms
- If the run is successful the needed rpms are fed back to the application server and shown in the analysis results.
- if the DEBUG_MODE_ENABLED property on the Patching Job is set to 'true', then the contents of this directory from each target will be copied back to the <application server install dir>/NSH/tmp/debug/<appserver instance name> directory for later investigation, otherwise the directory is removed.
So any yum configuration on the OS is ignored, and any repos the OS is subscribed to (/etc/yum.repos.d) are also ignored. Only the 'repo' for the BladeLogic-provided catalog is used during analysis, and only the yum options defined via BladeLogic are used.
The following table discusses issues that you might encounter when performing Linux patching.
| Issue | Troubleshooting information |
|---|---|
| Yum failed to execute | Scenario 1: |
Scenario 2:
| |
| Yum failed to complete | Scenario 1: For more information, see Yum failed to complete - Scenario 1. |
Scenario 2: For more information, see Yum failed to complete - Scenario 2. | |
Scenario 3: For more information, see Yum failed to complete - Scenario 3. | |
| Deploy Job failed | Scenario 1: |
Scenario 2: For more information, see Deploy Job failed - Scenario 2. |
Yum failed to execute scenarios
Yum failed to execute - Scenario 1
The following scenario describes the No such file or directory error that you might encounter when the yum file fails to execute, as well as steps to troubleshoot the issue.
| Error Message | STDERR: cat: rpm-includes.lst: No such file or directory ERROR::YUM dry run failed. ERROR::cmd: failed! |
| Description | The error messages suggest that either blyum is not found on the target or it is found but some libraries that are needed to run blyum were missing. |
| Troubleshooting | To fix this error or research further, review the analysis_err.log error log file in the staging directory. This error is usually encountered when the supported agent version or architecture is not installed. So, to troubleshoot this issue, validate that the supported agent version or architecture is installed. |
| Logs to collect | Log files to collect from the application server:
Log files to collect from the target:
|
Yum failed to execute - Scenario 2
The following scenario describes an error in the execution of the yum file, as well as steps to troubleshoot the issue.
| Error Message | Could not find repodata.tar.gz corresponding to OsArch: ‘[ARCH]' in the catalog ( at location '//<repo>/catalog_XXX/[ARCH]/repodata.tar.gz') |
| Description | This error message indicates that the Catalog Job did not succeed at a target where the repodata.tar.gz file was not generated. As a result, the Analysis Job was run against an invalid target whose OS level or architecture did not match. This problem might be caused by an issue on the Repo Server. |
| Troubleshooting | To fix this error, perform the following:
|
| Logs to collect |
From the target
From the Repo server |
Yum failed to complete scenarios
Yum failed to complete - Scenario 1
The following scenario describes an error where the yum file fails to complete, as well as steps to troubleshoot the issue.
| Error Message | Missing Dependency: [rpm1] = [version] is needed by package [rpm2-version.arch] (installed) |
| Description | Both rpm1 of the specified version and rpm2 are installed on the target. A newer version of rpm1 is found in the Catalog and set to be updated. The installed version of rpm1 is also a dependency to rpm2. To approve the installation of a newer rpm1, yum also needs to update rpm2. However, yum cannot find a newer version of rpm2 in repodata.tar.gz, so rpm2 is excluded from analysis. As a new version of rpm2 is not found, the rpm is not offered an update. Because rpm2 is not updated, yum cannot allow the update of rpm1. An error is logged, alerting that rpm1 needs to remain installed to preserve the dependency of rpm2. |
| Troubleshooting | To troubleshoot this error, follow these steps:
|
| Logs to collect | Log files to collect from the application server Patch Analysis Job logLog files to collect from the target |
Yum failed to complete - Scenario 2
The following scenario describes an error where the yum file fails to complete, as well as steps to troubleshoot the issue.
| Error Message | Missing Dependency: [rpm1] = [version] is needed by package [rpm2-version.arch] (repo) |
| Description | Neither rpm1 of the specified version nor rpm2 are installed on the target. Yum sets rpm2 to be updated for one of two reasons:
Yum checks if rpm2 needs any dependencies of its own, and detects that rpm1 of the specified version is needed as a dependency. Therefore, yum attempts to set rpm1 to be updated as well, but fails. An error is logged, alerting that rpm1 is required for rpm2 to be installed. |
| Troubleshooting | To troubleshoot this error, follow these steps:
|
| Logs to collect | Log files to collect from the application server Patch Analysis Job logLog files to collect from the target
|
Yum failed to complete - Scenario 3
The following scenario describes an error where the yum file fails to complete, as well as steps to troubleshoot the issue.
| Error Message |
|
| Description | Rpm2 is installed on the target, while rpm1 is not. Yum attempts to offer rpm1 to be installed or updated, but then yum detects that some of the files to be updated by rpm1 are used by rpm2. Therefore, yum rejects the installation or update of rpm1. An error is logged, alerting that rpm1 cannot be installed. In general, the conflict suggests that rpm1 and rpm2 cannot coexist if rpm versions matter. |
| Troubleshooting |
|
| Logs to collect | Log files to collect from the application server Patch Analysis Job logLog files to collect from the target
|
Deploy Job failed scenarios
Deploy Job failed - Scenario 1
| Error Message | [rpm-version.arch]: Caching enabled but no local cache of //<staging>/blrepos/repo/packages/[rpm-version.arch].rpm from repo |
| Description | Prior to installing the packages, the Deploy Job runs a preliminary yum analysis. During this analysis scan, rpm-version.arch is found as missing. The Deploy Job does not find rpm-version.arch in the list of staged missing patches, and, therefore, the job cannot proceed. An error is logged, alerting you that the patch payload is not found and cannot be installed. This error indicates that a discrepancy was found between the regular Patch Analysis and the preliminary yum scan during Deploy, or that rpm-version.arch was not copied during staging. The error message is written in either the Deploy Job log or the bldeploy log. |
| Troubleshooting |
|
Deploy Job failed - Scenario 2
| Error Message | package [rpm-version] is already installed |
| Description | The Deploy Job installs the patches that were found missing during Analysis. In this case, the Analysis Job packaged the rpm-version, even though it is already installed. |
| Troubleshooting |
|
| Logs to collect | Log files to collect from the application server
Log files to collect from the target
|
Third party issues and limitations for patch management
The following issues and limitations exist while patching on SUSE Enterprise Linux:Issues while patching on SUSE Enterprise Linux
Workaround: For this Catalog Update Job, ensure that you specify a repository location on a SuSE Enterprise Linux host computer.
- While you are creating a SuSE Linux Catalog in the Online mode, the Catalog fails with an rpm-python dependency. The error message states rpm-python needed by createrepo-0.4.6-1.el4.rf.noarch.
Workaround: You must check the version of create-repo and python-urlgrabber in the repository server and either ensure that the lower versions are installed or remove the higher versions, if they exist. In addition, you must ensure that rpm-python exists on the system and the version of rpm-python is compatible with the create-repo version that is shipped with the product.
- For SUSE Linux Enterprise version 10 SP1, hplip17-hpijs-1.7.2-0.15.x86_64.rpm and hplip-hpijs-0.9.7-19.9.x86_64.rpm packages obsolete each other during installation. If hplip17-hpijs-1.7.2-0.15.x86_64.rpm is installed, the hplip-hpijs-0.9.7-19.9.x86_64.rpm package is removed from the SUSE target and the other way around. Therefore, when one of these packages is installed, the other package is shown as missing on the next Patch Analysis Job run.
Workaround: You must decide which of these files must exist on the SUSE target and mark the other file as excluded.
- For SUSE Linux Enterprise version 10, the SP3 Pool catalog contains a lower version of the SPident-0.9-74.27.8.noarch.rpm file. If you perform an analysis on a SUSE Linux Enterprise version 10 SP3 target (for example, by using the Online mode catalog), the SPident-0.9-74.27.8.noarch.rpm is reported as missing. This issue occurs due to a conflict in the repositories provided by Novell and can be ignored. This issue will be resolved when Novell updates its repository with a newer version of the rpm.
- For SUSE Linux Enterprise version 10 SP4, the Patch Analysis Job fails with an error message for the kernel-default rpm: STDERR: cat: rpm-includes.lst: No such file or directoryERROR::YUM dry run failedERROR::sysconfig conflicts with kernel-defaultERROR::cmd: failed! This issue occurs due to a conflict in the repositories provided by Novell and will be resolved when Novell updates its repository with a newer version of the kernel-default rpm.
Workaround: If you encounter this package conflict, you must exclude the conflicting kernel-default rpm by using the include/exclude functionality in the Patching Job.
Issues while patching on AIX
The following issues and limitations exist while patching on AIX:
After you create and execute an online AIX patch catalog job with the SUMA download option enabled, you cannot cancel the patch catalog job.The SUMA process continues to run in the repository even after you cancel the job.
AIX remediation job fails to deploy 'rsct.lapi.rte 3.1.6.0' on some targets due to a problem in the third-party patch. For more information about this issue, see the following third-party resource:
.
- AIX remediation job fails to deploy 'idsldap.srv64bit62.rte 6.2.0.16' on some targets due to a problem in the third-party patch.
AIX remediation job fails to deploy 'rsct.lapi.bsr.bsrpd.odmdel' (rsct.lapi.bsr 3.1.5.0) on some targets due to a problem in the third-party patch. For more information about this issue, see the following third-party resource:
.
- After 'bos.rte.archive 5.3.0.51' is deployed on an AIX 5.3 target, the target goes into reboot mode and fails to restart.
After deploying AIX 6.1 TL9SP1 on a target, the 'bos.rte.install 6.1.9.1' fileset enters a broken state if you try to Undo the deploy job. This 'bos.rte.install 6.1.9.1' fileset enters a broken state even if you reject the fileset manually.
Workaround: To fix the 'bos.rte.install 6.1.9.1' fileset in the broken state you can take the following corrective actions:
- If the broken fileset is an update, reinstall the update using options in the installation program that will apply, commit, and automatically install the required software without saving the replaced files (-acgN flags).
- Reinstall the entire fileset at the base level with the desired updates by using the FORCE option (-F flag).
If you are still unable to fix the fileset in the broken state, contact IBM support team for further assistance.
- Error while extracting the offline downloader tar package, because of the length of file path input string.
Workaround: BMC recommends using the GNU tar (gtar) utility to extract the offline downloader package.
Issues while patching on Oracle Solaris
The following issues and limitations exist while patching on Oracle Solaris:
- Error while extracting the offline downloader tar package, because of length of file path input string.
Workaround: BMC recommends using the GNU tar (gtar) utility to extract the offline downloader package.
Issues while patching on Oracle Enterprise Linux
The following issues and limitations exist while patching on Oracle Enterprise Linux:
- For Oracle Enterprise Linux, the Patch Analysis Job fails in the Install Mode because of missing rpms in the repository. A single repository will contain updates for all available packages. The Install Mode is intended to install new packages on the target. Hence, BMC recommends the use of Install Mode on selective packages, rather than using the Install Mode on the complete repository.
Issues while patching on Windows
The following issues and limitations exist while patching on Windows:
- You may encounter errors if you try applying more than one patch or hotfix, on a Windows target, at the same time. To resolve this issue, BMC recommends applying only a single patch or a single hotfix at a time. Note that patches and hotfixes must be applied on Windows targets only if it is required to solve a specific issue. For best practices while applying patches and hotfixes, see MSDN - Best Practices for Applying Service Packs, Hotfixes and Security Patches.
- Before you apply multiple hotfixes, you must check whether the hotfix changes are available in the latest released service pack. This is because, Shavlik recommends that it is better to apply the latest service pack instead of applying several hofixes on the server. For best practices while applying patches and hotfixes, see MSDN - Best Practices for Applying Service Packs, Hotfixes and Security Patches.
If patch KB2810009 is found missing during patch analysis, BMC recommends that you first separately deploy patch KB2810009 and then re-run the remediation job for the other missing patches. This KB2810009 missing patch needs to be deployed separately because of dependency issues.
- BMC Server Automation automatically creates the required pre-installation and post-installation environment on a Windows target server for patching Java installation files. However, BMC Server Automation does not decide whether to reboot the Windows target server.. The target must be rebooted after each version of Java installation patch is deployed on the target. You can specify this reboot option while creating a Deploy Job, see Deploy Job - Job Options for more information.