How to troubleshoot Initial Deployment in Deployment Solution 7.1 (Release through MR3)

book

Article ID: 180308

calendar_today

Updated On:

Products

Deployment Solution

Issue/Introduction

 

Resolution

In Deployment Solution 7.1 up until MR4, there are timing issues that prevent Initial Deployment from correctly executing in many cases.  This is due to a required process - the "NS.Delta Resource Membership Update" Scheduled Task - running on a set scheduled interval which may not occur during the required time window.

The Process:

When an unknown computer is booted for the first time in order for Initial Deployment to occur, each of the following steps must occur:

  1. The SBS (PXE) services on the server correctly recognizes and responds to the client machine, causing it to boot to the desired Preboot Configuration.
  2. The client machine successfully boots to the Preboot Configuration, with the automation Agent (either PECTAgent in WinPE or aex-cta in Linux) successfully running.
  3. The automation Agent sends an inventory .nse file to the Server, which is received in the 'EvtQPriority" and processed.
  4. The resource for the client machine is created in the database.
  5. The "NS.Delta Resource Membership Update" runs on the Notification Server, updating the resource targets and appropriate tables.
  6. The appropriate job or task is selected from the Initial Deployment menu, which is displayed on the client machine.
  7. The automation Agent sends a task .nse file to the Server, which is received in the 'EvtQPriority" and processed.
  8. The task is scheduled for the client machine
  9. The task tickle packet is sent to the client machine, which checks for new tasks with the assigned Task Server
  10. The client machine receives and executes the task.

Possible obstacles:

There are a number of possible obstacles that can impeded this process - each of which will result in the desired task not executing on the client machine.

The client is not booting to PXE.

  • Verify that SBS Services are running.  For more information on SBS services, see HOWTO21720.
  • Enable the 'Respond to unknown computers' option under the PXE Server Configuration.
  • In the BIOS, set the Network Card higher in the boot order than the Hard Disk.
  • Verify that PXE is correctly configured in the environment.  For more information regarding PXE setup, see HOWTO21623.

Once in automation (WinPE or Linux), the client has no activity.

  • Attempt to ping the server from the client using the fully qualified domain name (FQDN) to verify network connectivity and DNS name resolution.
  • Verify that the Agent processes are running (pectagent.exe in WinPE or aex-cta in Linux).
  • Check the Automation Agent logs.  Log file locations/uses can be found in HOWTO42166.
  • Verify that the build of the Automation Agent is the newest version, matching the currently installed version of Deployment Solution.

In automation, the client displays the Initial Deployment menu, but doesn't execute the task/job when selected.

In order for a job/task to execute correctly, the following must occur, in order:

     1. The client reports inventory to the Notification Server (NS).  [Step 3]
     2. The NS processes the inventory and creates a resource in the database.  [Steps 4-5]
     3. The task/job is assigned to this resource.  [Steps 6-9]
     4. The client executes the assigned task/job.  [Step 10]

The most common issue associated with this is when the task/job is assigned to an 'empty resource' - a resource that has not yet been created in the database - so it does not associate with the client machine.  This occurs when the task/job instance is created and assigned before the computer resource has been correctly processed and created in the database.

**A general workaround for this process is to manually run the "NS.Delta Resource Membership Update" on the NS after the client has booted into automation, before selecting a task/job from the initial deployment menu.**

To troubleshoot the process:

     1. Stop the 'Altiris Client Message Dispatcher' service (this will prevent .nse files from being processed and removed from the EvtQ folders)
     2. Boot the client machine into PXE.
     3. Watch the EvtQPriority folder for an .nse file to be received.
     4. Once this file is received, verify that it contains the basic inventory for the client machine.
     5. Make a copy of this file out of the directory and place it in a different temporary holding folder.
     6. Start the 'Altiris Client Message Dispatcher' service.
     7. Verify that the .nse file is removed from the EvtQPriority folder.
     8. Run the "NS.Delta Resource Membership Update" scheduled task on the NS.
     9. Stop the 'Altiris Client Message Dispatcher' service.
     10. Verify that the resource has been created in the console.  (If it has not, manually place a copy of the inventory .nse into the EvtQPriority folder and repeat steps 7-10.)
          **At this point, the resource has been successfully created in the database for task/job assignment.
     11. Select a task/job from the Initial Deployment menu on the client machine.
     12. Watch the EvtQPriority folder for another .nse file to be received.
     13. Make a copy of this file as well, placing it in the temporary holding folder.
     14. Start the 'Altiris Client Message Dispatcher' service.
     15. Verify that the new .nse file is removed from the EvtQPriority folder.
     16. Verify that the task/job has begun execution on the client machine.
          **The task/job will now have been assigned to the newly created resource, and should be reflected accordingly in the server log files.

If this process is successful in assigning a task/job to the client, then the issue with Initial Deployment was a timing mismatch.  All the processes are running correctly, though not in the correct order.  Since the "NS.Delta Resource Membership Update" scheduled task runs on a set schedule, it often does not coincide with the booting of an unknown computer into PXE and assignment of a task/job to that client.  These issues with timing have been brought to the attention of Development and are being resolved in a future release.