Importing bundles exported with older ZCM version can fail

  • 7009628
  • 25-Oct-2011
  • 27-Apr-2012

Environment

Novell ZENworks 11 Configuration Management Support Pack 1 - ZCM 11 SP1
Novell ZENworks 11 Configuration Management
Novell ZENworks 10 Configuration Management
Novell ZENworks 10 Configuration Management with Support Pack 3 - 10.3

Situation

Importing bundle exported from older ZCM version into newer ZCM version zone
Bundle exports from ZCM 10.3.x and 11.0 can fail to import to ZCM 11.1 zone

zman bundle-create(bc) command displays error:
"...
Error: An internal error occurred. Please see the zman log for full stack trace
..."

Resolution

Since bundle meta-data can drastically change between ZCM versions, it is not guaranteed that exports from older ZCM versions can always import to the latest ZCM version (or vice-versa).

Additional Information

Trying to import a ZCM 10.3.x bundle with Install Directory actions into ZCM 11.1 fails since the zman bundle-create command expects a new feature to be configured in the bundle.xml called CreateAsSingleContent.

There related error message in zman.log is:
"...
[DEBUG] [10/25/11 2:01:29 PM] [] [ZMan] [] [Command: bc Install Files install_files.xml --actioninfo install_files_ActionContentInfo.xml --TerminalDevice=/dev/pts/0 --ScreenDimension=55207 ] [] []
[DEBUG] [10/25/11 2:02:04 PM] [] [CommandRunner] [] [java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.novell.zenworks.zman.CommandRunner.execute(CommandRunner.java:94)
        at com.novell.zenworks.zman.ZMan.executeRunner(ZMan.java:327)
        at com.novell.zenworks.zman.ZMan.main(ZMan.java:511)
Caused by: java.lang.NullPointerException
        at com.novell.zenworks.zman.commands.BundleHandler.isSingleContentAction(BundleHandler.java:5216)
        at com.novell.zenworks.zman.commands.BundleHandler.isInstallDirSingleContentAction(BundleHandler.java:5198)
        at com.novell.zenworks.zman.commands.BundleHandler.processContentInformation(BundleHandler.java:4849)
        at com.novell.zenworks.zman.commands.BundleHandler.createBundle(BundleHandler.java:786)
        ... 7 more
] [] []
[DEBUG] [10/25/11 2:02:04 PM] [] [ZMan] [] [Error:An internal error occurred. Please see the zman log for full stack trace.] [] []
[DEBUG] [10/25/11 2:02:04 PM] [] [ZMan] [] [Command failed (partially or totally)] []
..."

Here a sample from an bundle with an Install Directory action exported from a ZCM 10.3.3 zone, prepared for being imported into a ZCM 11.1 zone.
"...
       <Actions>
           <Id>9840cef91e9ca4cb62f21b3132d62c6d</Id>
           <Name>Install Directory</Name>
           <Type>Install Directory Action</Type>
           <Data>
               <ns1:InstallFilesData xmlns:ns1="https://www.novell.com/ZENworks/Actions/v1.0">
                   <File xmlns="https://www.novell.com/ZENworks/Actions/v1.0">
                       <FileName>jre-7u1-windows-x64.exe</FileName>
                       <DestDir>C:\temp\java</DestDir>
                       <CreateFilesAsLinks>false</CreateFilesAsLinks>
                       <ContentUID>269cbe89e52c352580ebead4e99eccaa</ContentUID>
                       <FileAttributes>
                           <FileAttribute Name="Hidden" default="false">false</FileAttribute>
                           <FileAttribute Name="ReadOnly" default="false">false</FileAttribute>
                       </FileAttributes>
                       <SourceDir>JAVA</SourceDir>
                       <CopyOption>CopyAlways</CopyOption>
                   </File>
                   <ImpersonateCopy xmlns="https://www.novell.com/ZENworks/Actions/v1.0">SYSTEM</ImpersonateCopy>
                   <CreateAsSingleContent xmlns="https://www.novell.com/ZENworks/Actions/v1.0">false</CreateAsSingleContent>
               </ns1:InstallFilesData>
           </Data>
           <LinkedObjectIDs>1e1f347945fd7e60fabdd95bd2ff507b</LinkedObjectIDs>
           <ContinueOnFailure>false</ContinueOnFailure>
           <Enabled>true</Enabled>
           <Properties />
       </Actions>
..."

Adding the line
"...
<CreateAsSingleContent xmlns="https://www.novell.com/ZENworks/Actions/v1.0">false</CreateAsSingleContent>
..."
fixes the issue that the bundle did not import into the ZCM 11.1 zone.