Working with Agents

4 minute read

The Cluster Manager lets you perform agent management tasks such as setting the agent allocation and cluster sharing policies, changing the number of agents per host, and enabling, disabling, testing, or deleting agents.

Agent Policies

Understanding a Cluster Sharing Policy

All builds continually adjust the number of agents they can use. Cluster sharing requires constant cooperation between `eMake ` and the Cluster Manager. Each `eMake ` machine sends a message to the Cluster Manager whenever it wants more agents.

Cluster sharing allows more than one build to run on a cluster by dynamically reallocating agents based on the cluster sharing policy set up in Cluster Manager. The policy is based on an Accelerator fair-sharing algorithm.

When you create a cluster sharing policy, in addition to the total number of agents in the cluster, you should consider the following information:

  • Same priority builds with the same boost share the cluster equally.

  • Higher priority class builds can take agents away from lower priority class builds.

  • A build cannot lose an agent if losing an agent will cause the build to go below its minimum, unless preemption is set to priority. Builds that cannot get a minimum number of agents must wait, where minimum is the lower of these values: the build class’s MinAgents and the build’s current MaxAgents.

The cluster sharing algorithm assigns agents to builds by reading the values for:

  • Maximum number of agents the build is capable of using, as specified by `eMake ` the last time it made an agent allocation request.

  • BuildID —Unique identifier for each build that sorts builds by age within each priority.

  • Priority —High, normal, or low.

  • Boost within each priority.

Any leftover or unused agents are distributed evenly based on priority and needed agents determination of running builds.

Modifying the Number of Agents per Host

On Linux and Solaris platforms, follow these steps:

  1. Locate the ecagent.conf file.

    • Linux: /etc/sysconfig/ecagent.conf

    • Solaris: /etc/ecagent.conf

  2. Change the value of the AGENT_NUMBER to the number of agents you want to run.

For example, AGENT_NUMBER=2

On Windows platforms, use the ecconfig utility (installed in C:\ECloud\i686_win32\bin ) to change the number of agents.

For example, ecconfig -numagents 2

Enabling Agents

A disabled agent, indicated by an empty checkbox, indicates the agent was taken offline from the cluster.

Enabling a Single Agent

On the Agents page, click the checkbox in the Enabled column of the agent list to enable the agent in that row.

On the Agent Details page, click Enable Agent to enable that displayed agent.

Enabling a Group of Agents

  1. Go to the Filter menu and select Disabled Agents or another filter.

  2. Click Run Filter.

  3. Click the Enabled Filtered Agents link to enable the selected agents.

  4. From the Filter menu, select none to return to the agent list.

Disabling Agents

A check mark in the Enabled column indicates an agent is enabled, meaning it is ready to work for a build, using the cluster.

Disabling a Single Agent

On the Agents page, clilck the checkbox in the Enabled column of the agent list to disable the agent in that row.

On the Agent Details page, click Disable Agent to disable that displayed agent.

Disabling a Group of Agents

  1. Go to the Filter menu and select Enabled Agents or another filter.

  2. Click Run Filter.

  3. Click the Disable Filtered Agents link.

  4. From the Filter menu, select none to return to the agent list.

Testing Agents

On the Agents page, for each agent in the agents list, a (alive) icon in the Status column indicates an agent is alive. A (not alive) icon indicates the agent is not responding, has timed out, or has been disabled.

At any time, you can test one or all agents to update the status list.

Checking the Status of a Single Agent

Either Click the 15 (test agent) button in the Status column in the agents list or click the 15 button on the Agent Details page to test that agent.

Checking the Status of a Group of Agents

  1. From the Filter drop-down menu, select the agent criteria.

  2. Click the 15 (test filtered agents) button in the Filtered Agents section of the page.

After a few seconds, a icon in the Status column appears to indicate an agent is alive. A icon indicates the agent is not responding or has timed out.

  1. If necessary, click the View Messages link in the Actions column to help you determine what the error icon means.

  2. Click the Agents tab to return to the agents list.

Deleting Agents

Deleting agents can mean simply deleting an agent from the agent list on the Agents page, or it could mean removing an agent from the cluster permanently. Unless agent hardware was physically disconnected, or the agent service was stopped, agents reappear in the agent list (because connected agents are automatically detected).

Deleting a Single Agent

On the Agents page, click the Delete Agent link in the Action column for the agent you want to delete. This action removes the agent from the database.

On the Agent Details page, click Delete Agent to delete that displayed agent.

Deleting a Group of Agents from the Agent List

  1. Go to the Filter drop-down menu and select a filter.

  2. Click Run Filter.

  3. Click Delete Filtered Agents.

  4. From the Filter menu, select none, then click Run Filter.

This removes the agents from the database.

Removing an Agent from the Cluster Permanently

You must do one of the following:

  • Uninstall the agent software

  • Point the agent to a different Cluster Manager

  • Disable the agent service or daemon (by issuing ecagent_stop from the agent host) before deleting it from the Cluster Manager agent list.