Troubleshooting a Pending Install

Version 2

    Verified Product Versions

    AppSense Management Center 8.7AppSense Management Center 8.6AppSense Management Center 8.5AppSense Management Center 8.4AppSense Management Center 8.3AppSense Management Center 8.2AppSense Management Center 8.1AppSense Management Center 8.0AppSense Management Center 10.0AppSense Management Center 10.1

    Introduction

    A common issue seen by many is a Pending Install when deploying out packages via the Management Server. Packages that are not deploying as expected can be diagnosed in many ways.

     

    Detail

    The first things you have to look for are the obvious signs:
    1. Are there any Firewalls between the Management Server and the Client, either hardware or software firewalls?
    2. Are there any Proxies between the Management Server and Client?
    3. Is the time synchronization between the Management Server and the Client greater than 5 minutes when using Virtual Machines?
    4. Is the ‘Last Response Time’ accurate of the Client within the Management Console?
    5. When Diagnostics has completed within the Management Console, does it return any errors specific to Downloading of Packages?
    6. Check for event log entries on the Client in the Application Event logs to see if the Client Communications Agent Service starts, joins and polls the relevant Deployment Group successfully.

     

    If none of the above return any information that may assist you in finding out any underlying environmental issues, we need to look closer at the communications between the Management Server and the Client.

     

    Registry Keys on the client
    During the installation of the CCA on the client, parameters are given so the CCA knows which Management Server it needs to talk to. In a single Management Server setup, the registry entries will look similar to the below:

    Deployment Poll – this is the setting for the download poll period. This figure is in Hex and Decimal. 300 is the default in seconds (5 minutes). Any changes to the poll period will be updated in the client registry the next time the CCA polls and gets its new configuration details.
    Deployment URL – this entry is the main deployment URL of the Management Server. If a client cannot contact this URL, then the deployment of packages will not function correctly.
    Download Dir – this is the default location of packages when deployed to the client.
    Event Poll – this is the setting for the upload poll period. This figure is in Hex and Decimal. 300 is the default in seconds (5 minutes). Any changes to the poll period will be updated in the client registry the next time the CCA polls and gets its new configuration details.
    Event URL – this is the location on the Management Server which the CCA contacts when uploading Events to the Management Server.
    Group ID – by default to Group ID is set to {0000000000-0000-0000-0000-00000000000}. This is due the CCA not yet knowing what deployment group it is a member of until a poll is carried out. The Group ID {0000000000-0000-0000-0000-00000000000} is taken from the Unassigned Computer Group within the Management Server. Once the CCA polls and the CCA picks up the assigned Group ID, this registry entry is changed.
    Install Dir – this is the default installation directory where the CCA is installed to.
    Machine ID – this is the machine ID of the Client.
    Self Register – This is blank if Self Register is not enabled either in the Management Console or in an installation script.
    Start-up Threshold – By default, if the CCA starts within 10 minutes of the machine booting, then it will install packages if they're set to be installed on computer start-up. This value sets the threshold.
    Upload Dir – this is the default location on installation of the CCA where Events will be stored prior to uploading them to the Management Server.
    Website – this is the default Management Server website location (normally denoted by Hostname)

    AppSense Watchdog Agent

    During the installation of the Client Communications Agent on the client, a further service is installed – the AppSense Watchdog Agent Service. This service is intended to regularly check the health status of the installed AppSense Agents. If this Agent sees an Agent stopped for some reason, it will automatically restart it and raise an event to the Application Event log. When troubleshooting it's always a good idea to start by checking the Application Event log for any events raised by the Watchdog Service, which may point to problems outside of AppSense, such as with the Windows Installer service.

    Client Communications Agent folder structure

    After installation of the Client Communications Agent, the Agent is installed to the following folder:
    C:\Program Files\AppSense\Management Center\CommunicationsAgent

    For checking Pending Installs, firstly browse to the following folder:
    C:\Program Files\AppSense\Management Center\CommunicationsAgent\Download

    This is the default location where the Agents and Configurations are stored; the first thing to check is if there is an installer log of the package you have downloaded. The easiest method of checking what Packages and logs are in this folder is to sort the contents by last modified date/time and then hover with the mouse over the given package. An information pop-up will advise on the package details.

     

     

    It is important to understand that packages might have downloaded OK but not installed, or installed OK but not reported back to the Management Server that they have correctly installed. If the latter is the case, ensure the client is rebooted and recheck the status of the package within the Management Console. Not only does a reboot recycle all services, but ensures that if an Agent has not initiated a reboot, this is completed.

    Packages are delivered using the Background Intelligent Transfer Service (BITS). During deployment, packages are displayed in the Download folder as as a temporary file (see below).

    Once the transfer is completed, the package returns to its original format and the CCA initiates an installation


    If no temporary file is available, then communications for the download of the package have failed. This will need further investigation.

    When communications fail

     

    Communications can fail for a number of reasons. By default the CCA installs and runs using the Local System Account. If another service account is used, check that the password hasn't changed or expired. If the service account or its password is changed ensure that you restart the CCA after making the change.

     

     

    Whilst logged on as a user you can check communication to the Management Server by opening a web browser and navigating to:
    http://<name_of_managementserver>/managementserver/deployment/manifest.aspx

    This should return an XML response of ‘OK’

    Breakdown of the Client Communications Agent Debug Log

    Client Communications Agent (CCA) logs are essential; this should tell us what is happening with the communications at poll periods. To obtain the CCA logs, you must first set up debugging:

    To enable CCA logging where the version of the CCA is 8.0/8.1/8.2:

    01. Access the Registry editor by typing ‘regedit.exe’ into the Start > Run… dialog box.
    02. Navigate to the following key:
    HKEY_LOCAL_MACHINE\Software\AppSense Technologies\Communications Agent
    03. Add a new STRING value ‘DebugFile’, and give it the value ‘C:\CCAgentLog.log’.
    04. Add a new DWORD value ‘DebugLevel’, and give it the value ‘10’.
    05. Access the Services Control Panel by typing ‘services.msc’ into the Start > Run… dialog box.
    06. Highlight the ‘AppSense Client Communications Agent’ service, and choose ‘Restart’ from the ‘Action’ menu.
    07. Allow Polling to occur for 3x the time you have set within that computers Deployment Group
    08. Delete the registry keys added earlier.
    09. Restart the service.

     

    To enable CCA logging where the version of the CCA is 8.3 or above:

    01. Access the Registry editor by typing ‘regedit.exe’ into the Start > Run… dialog box.

    02. Navigate to the following key:

    HKEY_LOCAL_MACHINE\Software\AppSense Technologies\Communications Agent

    03. Add a new STRING value ‘DebugPath’, and give it the value ‘C:\CCAgentLogs’.

    04. Create the C:\CCAgentLogs folder and ensure that "Everyone" has full access

    05. Add a new DWORD value ‘DebugLevel’, and give it the value ‘10’.

    06. Access the Services Control Panel by typing ‘services.msc’ into the Start > Run… dialog box.

    07. Highlight the ‘AppSense Client Communications Agent’ service, and choose ‘Restart’ from the ‘Action’ menu.

    08. Allow Polling to occur for 3x the time you have set within that computers Deployment Group

    09. Delete the registry keys added earlier.

    10. Restart the service.


    When you check the CCA logs directory, if a machine was logging and has cycled through a reboot, the logs will be renamed with an extension of ‘.OLD’. To view this file, simply remove the ‘.old’ extension. The log file that will continue to log details until the registry values are removed that were created for logging.
    Open the log using a text editor. Contained within these logs is all the essential information available to the CCA at the time logging was initiated. We will look closer at the logs and break them down into sections.

     

     

    Here the logs advise on the Client machine details:

     


    Here the Priority Events and filtered events can be seen that are applicable to the Deployment Group the machine is a member of. The Event filtering is managed within the Management Console under Enterprise Auditing within the specific Deployment Group.


    Here the registry settings are obtained from the Management Server for the Deployment Group:


    Here the CCA checks for a valid license: