PRU Failing to apply with error: The system cannot find the path specified

  • 7023665
  • 23-Jan-2019
  • 13-Feb-2019

Environment

ZENworks Configuration Management 2017 (17.x) Inventory

Situation

  • Linux Primary Server was replaced by a Windows Primary Server or vice versa
  • The last PRU was applied on the opposite Operating System (OS) platform from the current Primary Server
    For Example:
    The last PRU was applied on Linux OS and the current Primary Server OS is Windows
    The last PRU was applied on Windows OS and the current Primary Server OS is Linux
  • The last PRU was applied on ZENworks 2017 Update 2 or lower
The following could be seen in the loader-messages.log:

ERROR:
[TRACE] [12/07/2018 11:45:28.807] [3212] [ZENLoader] [162] [] [ApplyPruAM] [] [updating software compliance...] [] [] [] [ZENServer]
[TRACE] [12/07/2018 11:45:29.099] [3212] [ZENLoader] [162] [] [ApplyPruAM] [] [Caught exception: D:\Program Files (x86)\Novell\ZENworks\work\system-update\apply\5d023c0602f248d9aeeb7cca2e351160\pre\var\opt\novell\zenworks\system-update\apply\5d023c0602f248d9aeeb7cca2e35115e\pruver.tkb (The system cannot find the path specified)] [] [] [] [ZENServer]
[TRACE] [12/07/2018 11:45:29.099] [3212] [ZENLoader] [162] [] [ApplyPru] [] [Caught unhandled exception processing software compliance update: D:\Program Files (x86)\Novell\ZENworks\work\system-update\apply\5d023c0602f248d9aeeb7cca2e351160\pre\var\opt\novell\zenworks\system-update\apply\5d023c0602f248d9aeeb7cca2e35115e\pruver.tkb (The system cannot find the path specified)] [] [] [] [ZENServer]
[TRACE] [12/07/2018 11:45:29.125] [3212] [ZENLoader] [162] [] [ApplyPru] [] [IOException: java.io.FileNotFoundException: D:\Program Files (x86)\Novell\ZENworks\work\system-update\apply\5d023c0602f248d9aeeb7cca2e351160\pre\var\opt\novell\zenworks\system-update\apply\5d023c0602f248d9aeeb7cca2e35115e\pruver.tkb (The system cannot find the path specified)] [] [] [] [ZENServer]
[TRACE] [12/07/2018 11:45:29.125] [3212] [ZENLoader] [162] [] [ApplyPru] [] [java.io.FileNotFoundException: D:\Program Files (x86)\Novell\ZENworks\work\system-update\apply\5d023c0602f248d9aeeb7cca2e351160\pre\var\opt\novell\zenworks\system-update\apply\5d023c0602f248d9aeeb7cca2e35115e\pruver.tkb (The system cannot find the path specified)
    at java.io.FileOutputStream.open0(Native Method)
...
[TRACE] [12/07/2018 11:45:29.125] [3212] [ZENLoader] [162] [] [ApplyPru] [] [processing of pru in 'D:\Program Files (x86)\Novell\ZENworks\work\system-update\apply\5d023c0602f248d9aeeb7cca2e351160\' directory complete] [] [] [] [ZENServer]
...
[TRACE] [12/07/2018 11:45:40.135] [3212] [ZENLoader] [197] [] [Server.SystemUpdateModule] [] [FINE: Unable to run global pre actions] [com.novell.zenworks.systemupdate.exceptions.SystemUpdateException: Unable to execute pru command
    at com.novell.zenworks.systemupdate.handlers.PruCommandHandler.executeCommand(PruCommandHandler.java:97)
...
[TRACE] [12/07/2018 11:45:40.136] [3212] [ZENLoader] [197] [] [Server.SystemUpdateModule] [] [FINEST: Attempting to set update status to ERROR with message: SystemUpdate.error.preglobalactions] [] [] [] [ZENServer]
[TRACE] [12/07/2018 11:45:40.634] [3212] [ZENLoader] [197] [] [UpdateContentSyncState] [] [Unable to update ContentSyncState entries for AssignableContentObject. Reason is : AssignableContentObject is null or this ACO is of SystemUpdateEx type] [] [] [] [ZENServer]
[TRACE] [12/07/2018 11:45:40.634] [3212] [ZENLoader] [197] [] [AssignableContentObjectAdminImpl] [] [AssignableContentObject is null or this ACO is of SystemUpdateEx type] [] [] [] [ZENServer]
[TRACE] [12/07/2018 11:45:40.634] [3212] [ZENLoader] [197] [] [Server.SystemUpdateModule] [] [FINEST: Updated update Dec 2018 PRU(5d023c0602f248d9aeeb7cca2e351160) status to ERROR] [] [] [] [ZENServer]

The following could be seen in the pre-global-actions.log:

ERROR:
[DEBUG] [12/07/2018 12:33:00.83] [3212] [PruCommandHandler] [206] [__z_1_57__] [SystemUpdate] [] [ApplyPruModule signaled] [] [] [] [SystemUpdate]
[DEBUG] [12/07/2018 12:33:30.92] [3212] [PreGlobalHandler] [206] [__z_1_57__] [SystemUpdate] [] [Unable to run global pre actions] [com.novell.zenworks.systemupdate.exceptions.SystemUpdateException: Unable to execute pru command
    at com.novell.zenworks.systemupdate.handlers.PruCommandHandler.executeCommand(PruCommandHandler.java:97)
...
Caused by: com.novell.zenworks.systemupdate.exceptions.SystemUpdateException: Unable to execute pru command
    at com.novell.zenworks.systemupdate.handlers.PruCommandHandler.applyPru(PruCommandHandler.java:133)
...
[DEBUG] [12/07/2018 12:33:30.92] [3212] [SystemUpdateUtil] [206] [__z_1_57__] [SystemUpdate] [] [Attempting to set update status to ERROR with message: SystemUpdate.error.preglobalactions] [] [] [] [SystemUpdate]
[DEBUG] [12/07/2018 12:33:30.109] [3212] [SystemUpdateUtil] [206] [__z_1_57__] [SystemUpdate] [] [Updated update Dec 2018 PRU(5d023c0602f248d9aeeb7cca2e351160) status to ERROR] [] [] [] [SystemUpdate]

Resolution

  1. Backup the existing applypru.xml (/etc/opt/novell/zenworks/loader or %ZENWORKS_HOME%\conf\loader) to a folder outside of the ZENworks part of the file system
  2. Stop the zenloader service
  3. Modify the original file to add the highlighted lines below:
    <Module>
    <Class>com.novell.zenworks.loader.modules.ApplyPruAMModule</Class>
    <Parameters>
    <Parameter Name="ForceFullApply">True</Parameter>
    </Parameters>

    </Module>
  4. Restart zenloader service
  5. Apply the PRU again
  6. Revert the file and restart the zenloader service when done