Environment
Novell ZENworks 11 Configuration Management Support Pack 1 - ZCM 11 SP1 Patch Management
Novell ZENworks Configuration Management 11.2 Patch Management
Novell ZENworks Patch Management 11.2
Novell ZENworks Configuration Management 11.2 Patch Management
Novell ZENworks Patch Management 11.2
Situation
Patch Management bundle fails to install
The following error can be seen as a device or bundle message in ZCC:
ERROR: Failed to process action: information for id <GUID> has not been cached
The same message can be found in the agent side logs (see Additional Information below).
The following error can be seen as a device or bundle message in ZCC:
ERROR: Failed to process action: information for id <GUID> has not been cached
The same message can be found in the agent side logs (see Additional Information below).
Resolution
Workaround:
- Make note of the name of the patch that is causing the issue. A sql query can be used to determine the patch name if that is unknown. See Additional Information below.
- Set the patch subscription download time to after midnight in ZCC > Configuration > Patch Management > Subscription Service Information > Subscription Communication Interval
- Delete the noted patch from ZCC > Patch Management > Patches (NOTE: If the patch doesn't delete, it is likely due to remediation bundles that are dependent on this patch. Delete those bundles and retry.)
- Wait at least a day (so that the patch will have been re-downloaded)
- Try to deploy the patch again
The system content.cleanup process needs to run to clean up the content location referenced by the bundle objects that are leftover from deleting the objects.
Note: The Subscription Update default schedule is also at midnight. Novell's recommendation is to set the default schedule at 2am.
To view the cleanup schedule (default it's midnight) run zman ql -t=content.cleanup
Cause
ZCM patch content is Aliased Content so other bundles can use the same content without filling up hard drive space. Deleting a bundle and waiting for the content clean process to happen, then running the Subscription update, is the proper order for taking care of corrupted content
Status
Reported to EngineeringAdditional Information
Full information from zmd-messages.log:
[DEBUG] [01/10/2012 10:36:11.403] [1604] [ZenworksWindowsService] [44] [] [Bundle Manager] [] [filterItemContent - bundle <BUNDLE-GUID> - No content info found for content id <CONTENT-GUID>] [] []
[DEBUG] [01/10/2012 10:36:11.417] [1604] [ZenworksWindowsService] [44] [] [DistributionHandler] [] [GetDistributableContent for item <GUID> returned <CONTENT-GUID>] [] []
[DEBUG] [01/10/2012 10:36:11.460] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [content id <CONTENT-GUID> shouldIgnoreThrottle = False] [] []
[DEBUG] [01/10/2012 10:36:11.461] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [(Thread=44) Cannot retrieve content for package <CONTENT-GUID> - no meta data] [] []
[DEBUG] [01/10/2012 10:36:11.462] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [ContentManager: DistributeMultipleContent received exception during DistributeContent. Information for id <CONTENT-GUID> has not been cached.] [] []
[DEBUG] [01/10/2012 10:36:11.531] [1604] [ZenworksWindowsService] [44] [] [DistributionHandler] [] [(Thread=44) Failed to distribute item: Unexpected exception: Information for id <CONTENT-GUID> has not been cached.
at Novell.Zenworks.Content.ContentManager.DistributeContent(String contentId, Progress progress, DistributionFlags distributionFlags, Int64 throttlePriority, Boolean batchMode)
at Novell.Zenworks.Content.ContentManager.Novell.Zenworks.Content.IContentManager.DistributeMultipleContent(ZenObjectId() contentIds, Progress progress, DistributionFlags distributionFlags, Int64 throttlePriority)
at Novell.Zenworks.ActionManager.DistributionActionHandler.ProcessAction(ActionContext context, ClientAction action, ActionProgress progress)] [] []
[DEBUG] [01/10/2012 10:36:11.532] [1604] [ZenworksWindowsService] [44] [] [ActionManager] [] [Action handler Distribute Action finished processing Distribution Action with error: ActionMan.FailureProcessingActionException.] [] []
[DEBUG] [01/10/2012 10:36:11.403] [1604] [ZenworksWindowsService] [44] [] [Bundle Manager] [] [filterItemContent - bundle <BUNDLE-GUID> - No content info found for content id <CONTENT-GUID>] [] []
[DEBUG] [01/10/2012 10:36:11.417] [1604] [ZenworksWindowsService] [44] [] [DistributionHandler] [] [GetDistributableContent for item <GUID> returned <CONTENT-GUID>] [] []
[DEBUG] [01/10/2012 10:36:11.460] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [content id <CONTENT-GUID> shouldIgnoreThrottle = False] [] []
[DEBUG] [01/10/2012 10:36:11.461] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [(Thread=44) Cannot retrieve content for package <CONTENT-GUID> - no meta data] [] []
[DEBUG] [01/10/2012 10:36:11.462] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [ContentManager: DistributeMultipleContent received exception during DistributeContent. Information for id <CONTENT-GUID> has not been cached.] [] []
[DEBUG] [01/10/2012 10:36:11.531] [1604] [ZenworksWindowsService] [44] [] [DistributionHandler] [] [(Thread=44) Failed to distribute item: Unexpected exception: Information for id <CONTENT-GUID> has not been cached.
at Novell.Zenworks.Content.ContentManager.DistributeContent(String contentId, Progress progress, DistributionFlags distributionFlags, Int64 throttlePriority, Boolean batchMode)
at Novell.Zenworks.Content.ContentManager.Novell.Zenworks.Content.IContentManager.DistributeMultipleContent(ZenObjectId() contentIds, Progress progress, DistributionFlags distributionFlags, Int64 throttlePriority)
at Novell.Zenworks.ActionManager.DistributionActionHandler.ProcessAction(ActionContext context, ClientAction action, ActionProgress progress)] [] []
[DEBUG] [01/10/2012 10:36:11.532] [1604] [ZenworksWindowsService] [44] [] [ActionManager] [] [Action handler Distribute Action finished processing Distribution Action with error: ActionMan.FailureProcessingActionException.] [] []
SQL Query to get the patch name:
select path
from zzenobject
where zuid in
(select distinct containingobjectuid
from zlinkedobject
where contentuid in
(select distinct zuid
from zcontent
where metaversion = 0
and aliasedcontentuid is null
and encryptionkey is null));
from zzenobject
where zuid in
(select distinct containingobjectuid
from zlinkedobject
where contentuid in
(select distinct zuid
from zcontent
where metaversion = 0
and aliasedcontentuid is null
and encryptionkey is null));
Since the patch bundles containing the patches above need to be deleted also, prior to 11.3 the following query can help identify them. (In 11.3 and later deleting a patch will automatically delete the parent bundles)
select * from zZENObject where ZUID in (select ContainingObjectUID from
zLinkedObject where DependencyUID in (select zuid
from zzenobject
where zuid in
(select distinct containingobjectuid
from zlinkedobject
where contentuid in
(select distinct zuid
from zcontent
where metaversion = 0
and aliasedcontentuid is null
and encryptionkey is null)) and PrimaryType ='Bundle' and SubType = 'Patch Bundle'))