PXE Preboot Menu fails to display

  • 7017587
  • 06-May-2016
  • 09-Jun-2016

Environment

Novell ZENworks Configuration Management 11 Imaging

Situation

Zone configured with Satellite that has Imaging Role
Device PXE Preboot Menu fails to display PXE Preboot menu after contacting Preboot services on Satellite Server.
PXE-M0F: Exiting Intel Boot Agent

novell-zmgprebootpolicy.log

[DEBUG] [04/13/2016 11:01:57.000] [1992] [zmgtool] [2596] [] [zmgtool] [] [The PXE menu state is NEVER] [] [] [] [Imaging]
[DEBUG] [04/13/2016 11:01:57.000] [1992] [zmgtool] [2596] [] [zmgtool] [] [  Disconnected from Preboot Server at 10.102.59.247] [] [] [] [Imaging]
[DEBUG] [04/13/2016 11:01:57.000] [1992] [zmgtool] [2596] [] [zmgtool] [] [    Menu policy:      Never


novell-pbserv.log
[DEBUG] [04/13/2016 11:01:57.000] [5432] [pbserv] [2980] [] [pbserv] [] [(RPM) PXE Menu State: PXE_MENU_NONE] [] [] [] [Imaging]
[DEBUG] [04/13/2016 11:01:57.000] [5432] [pbserv] [2980] [] [pbserv] [] [(RPM) Image Server Address = 0.0.0.0] [] [] [] [Imaging]


novell-pbserv.log on satellite server: [(ZENIMGWEB-IMGHTTP else)recvhttpresponse return value = 0]

Screen display during failed process

FYI - This condition (screenshot) can arise from ZCM misconfiguration and other issues as well

Resolution

Turned off/modified Kaspersky antivirus configuration on the failing Satellite servers and ZENworks PXE Boot working as designed.

Cause

Network communications dropping packets between Primary and Satellite Server.
Kaspersky antivirus on satellite server was blocking communication.

Additional Information

Tested and confirmed PXE Boot process is working by reconfigured the novell-pbserv.conf file to connect directly with a Primary server.
Verified novell-pbserv.conf file had the correct Primary/Satellite IP address.
Ran Wireshark trace between Satellite and Primary server and found network dropping packets.

Wireshark Trace:
Failed case - whenever the pxe menu is not displayed, the primary server after sending the response to the satellite server, immediately sends a TCP [RST ACK] packet (reset connection).

Success case - when pxe menu is displayed correctly, the primary server after sending the response to the satellite server, sends a TCP [FIN ACK] packet.

Added debug modules from development:
Failed case - when pxe menu is not displayed, because of the connection reset, when the satellite server tries to read the response from the socket, the bytesRead is 0. When bytesRead is 0, satellite server interprets there was no data sent from primary and pxe menu setting is set to the default value - PXE_MENU_NONE. Hence, the pxe menu is not displayed. From the novell-pbserv.log on satellite server: "[(ZENIMGWEB-IMGHTTP else)recvhttpresponse return value = 0]"

Success case - when pxe menu is displayed, bytesRead has a positive value. Only, then the actual response sent by primary server is read and the satellite gets the correct pxe menu setting value and the preboot menu gets displayed. From the novell-pbserv.log on satellite server: "[(ZENIMGWEB-IMGHTTP else)recvhttpresponse return value = 177]"