Task Server is not registering to itself automatically

book

Article ID: 171910

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server) Task Server

Issue/Introduction

The customer reported that some of his Task Servers are not registering to themselves but rather they are registering to the SMP itself or other Task Server. The Task Servers are listing themselves as available Task Servers in the agent logs but still, they go to register to the SMP or other Task Server.

Cause


 

Environment

ITMS 7.x, 8.x

Resolution

The assumption that a Task Server will register to itself automatically is incorrect. The Client Task Agent knows nothing about the Task Server plug-in, even if they both installed on the same box. So, Task Server selection algorithm is always used to find the Task Server to assign agent to.

For example, here are some agent log entries  (top entries are the most recent ones) while trying to register to a Task Server. 
smp71206.domain.com is the SMP and ts72206.domain.com is the Task Server that we want to register to itself:

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

Attempting to register on Task Server [smp71206.domain.com] over [http].

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

CTaskServerNetCommsConnection::_buildTaskServerUrl(): url: http://smp71206.domain.com:80/Altiris/ClientTaskServer

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

CTaskServerNetCommsConnection::_buildTaskServerUrl(): Server: [smp71206.domain.com], Http: [80], Https: [443], Use Https: [false]

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

Pending Task Server Registration - initial timeout 15 sec, max timeout 300 sec, max retries 5.

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

Task Server: [ts72206.domain.com], Active: [false], Http: [80], Https: [0], Value: [0], Shares: [100]

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

Task Server: [smp71206.domain.com], Active: [false], Http: [80], Https: [443], Value: [0], Shares: [94]

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

Registering with Task Server list:

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

Ordering servers by task server load shares

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

CTaskServerNetCommsConnection::_readServerListDocument():  Task Server: [smp71206.domain.com], Http: [80], Https: [443], Active: [false]

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

CTaskServerNetCommsConnection::_readServerListDocument():  Task Server: [ts72206.domain.com], Http: [80], Https: [0], Active: [false]

6/14/2018 7:57:52 AM

Client Task Agent

client task agent.dll

7852

CTaskServerNetCommsConnection::_readServerListDocument(): Found [2] servers.

So, here is what is happening:

  • The Task Server is asking for a list of available Task Servers:

CTaskServerNetCommsConnection::_readServerListDocument(): Found [2] servers.

  • Then it checks which one has fewer connections/shares:

Ordering servers by task server load shares
Task Server: [smp71206.domain.com], Active: [false], Http: [80], Https: [443], Value: [0], Shares: [94]
Task Server: [ts72206.domain.com], Active: [false], Http: [80], Https: [0], Value: [0], Shares: [100]

  • And then attempt to connect to the one with fewer shares, which in this case is smp71206.domain.com

In this scenario, the SMP itself had only 94 connections/shares at that point of time, while the Task Server itself had already 100 connections/shares established. The SMP was the available one to be selected with fewer connections.


Note: If someone wants to specifically select a Task Server to register to itself, the manual assignment will be the method. The manual assignment should help to tie the agent to the specific Task Server (but if the agent won't be able to register to this Task Server then it will stay in not-registered state).