Skip to content
CA Release Automation - 6.6
Documentation powered by DocOps

Deploy Agents

Last update February 28, 2017

All platforms that are a part of the CA Release Automation environment require an Agent to be installed. Agents are installed manually or are deployed remotely from Automation Studio.

CA Release Automation Agents manage the server on which they are deployed. Agents get the process flow and files from the Execution Server and send the process execution status back to the Execution Server. Agents also handle all artifacts and are responsible for Repository operations.

Platform Requirements

To view the list of CA Release Automation platform requirements, see "Agent Installation Support" in System Requirements.

Note: For installations on computers with Java 6, the installer tries to detect the Java 6 installation. If the installer does not detect an installed java version, run the following command before you invoke the Agent installation:

export INSTALL4J_JAVA_HOME=<LOCATION_OF_JAVA6>/jre

This command enables installation of the CA Release Automation Agent component. As a part of the installation process, the Agent configuration file is updated to the location of the Java binaries.

Agent Hardware Requirements

To view the list of CA Release Automation agent hardware requirements, see "Agent Hardware Requirements" in System Requirements.

GUI Agent Installation

Install CA Release Automation Agent on GUI Platforms.

Note: Agent installation files are specific to version and architecture.

Follow these steps:

  1. Locate the correct installation file for the Agent platform.
  2. Follow the Setup wizard through the installation.
    The wizard installs the CA Release Automation Agent.

CLI Agent Installation

Install CA Release Automation Agent on CLI Platforms.

Follow these steps:

  1. Transfer the installation file to the target computer.
  2. Grant "a+x" permission to the installation file:

    chmod a+x nolio_agent_<OS>_<version>_<build>.sh

  3. Execute the installation file:

    ./nolio_repository_<OS>_<version>_<build>.sh -c

  4. Follow the instructions on the screen.
    The installation runs.

Install Local Agent in Silent Mode

To run the CA Release Automation Agent installation in silent mode, the Agent installation executable is required on the target computer.

Follow these steps:

  1. You can perform the agent silent installation in one of the following ways:
    1. Access http://localhost:noliocenter:8080 to download the agent installation file, and copy the agent.silent.varfile file from the /scripts directory.
    2. Copy the agent.response.varfile from a computer on which the agent is installed.
  2. Update the varfile to include the appropriate values. 
    Example:/nolio_agent_<os>_<version>_<build>.sh-q varfile agent.silent.varfile

  3. Transfer the CA Release Automation Agent installation file to the target computer.

    Note: For non-Windows computers, grant "a+x" permission to the installation file:

    chmod a+x nolio_agent_<OS>_<version>_<build>.sh

  4. (Optional) Map the Agent. For more information, see Enable Dynamic Agent Mapping.
  5. Run the following command:

    ./nolio_agent_<OS>_<version>_<build>.sh –q –V<PARAMETERS>

  6. (Optional) To install using the varfile, use the command:

    ./nolio_agent_*.*-q -varfile agent.silent.varfile


    The following example shows the command-line syntax to install an Agent in silent mode:

    ./nolio_agent_<OS>_<version>_b<build>.sh –q -Vsys.installationDir=/opt/CA/NolioAgent -Vnolio.nimi.node.id=<myserver> -Vnolio.nimi.port=6600 -Vinstall.service.lsa$Boolean=true -Vnolio.nimi.secured$Boolean=true -Vnolio.execution.name=192.168.168.4

    -Vnolio.execution.port=6900 -Vnolio.hiddenport$Boolean=false -Vsys.programGroupDisabled$Boolean=false -Vsys.component.336$Boolean=true -Vsys.programGroupName=Nolio -Vsys.programGroupAllUsers$Boolean=true -Vsys.languageId=en

    The Agent is installed in silent mode with all the defined parameters.

Map Dynamic Agent

To map an Agent to the appropriate application and environment during a silent installation, configure Agent.mapping.xml.

Follow these steps:

  1. Create one more input file per Agent. Use the following example to create Agent.mapping.xml:

    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <agent-mapping>

        <application name="<APPLICATION NAME">

            <environment name="<ENVIRONMENT NAME>">

                <<SERVER TYPE>="Remote"/>

            </environment>

        </application>

    </agent-mapping>

  2. Copy or move the file to the RA_HOME/conf folder on the target Agent server.
    When the Agent connects to the Execution Server, the application and environments are mapped to the Agent according to Agent.mapping.xml

Install Unix / Linux Agent to Run as Non-Root User

Any UNIX user can install a CA Release Automation Agent with permissions to create and update files under the installation directory. The installer is used to extract the installation files to a dedicated folder that includes only CA Release Automation files.

Example: if the target location for CA Release Automation is under /opt, the CA Release Automation files are extracted by the installer to /opt/LISA Release Automation Agent.  The assigned UNIX user requires write permissions to the /opt folder.

To enable automatic startup after a server restart, the installer attempts to add an entry to the runlevel scripts.  If the installed user is not a root user and does not have permissions to update the runlevel scripts, a message appears during the installation.

Note: The following configuration procedure is only necessary if you installed CA Release Automation Server or Agent services with a non-root user.

Follow these steps:

  1. Open the file

    conf/deployer_configuration.sh

  2. Find the #RUN_AS_USER= root entry.
  3. Uncomment the line, and enter the name of the user who owns the CA Release Automation Agent service installation.
  4. Save the file.
  5. Connect as a root user, and run the following scripts from the CA Release Automation Agent root folder:

    ./deployer_daemon.sh remove 

    The command removes the deployer_daemon that was installed previously.

    ./deployer_daemon.sh install

     The command installs the deployer_daemon and changes the RUN_AS account.

  6. Reboot the server.
    The CA Release Automation Agent service starts with the specified user.

Run Processes Under Different Users – Unix/Linux

You may opt to have an agent run under a defined user, but have processes execute on that agent under a different user as defined within a specific action (user impersonation).  There are two methods for setting up impersonation:

  • Use the agent's default impersonation method via SSH.
  • Configure the agent to use either "sudo" or "su" commands.

If SSH is enabled on the operating system and the user is allowed to access the system via SSH, then user impersonation can be achieved by simply passing the username and password through the action being executed.  No further configuration is necessary.

Alterations to agent and operating system configuration are necessary when you want to run processes under different users via "sudo" or "su" as defined in the actions. To provide a user with the necessary security permission, perform the following procedure:

Note: You do not need to perform this procedure for each specific user. You only need to grant permissions once to the user who runs the agent.

  1. To allow the impersonation of users, create a custom shell script.
    On the RA agent, the conf/processes.properties is a configuration file from the configuration directory. The last line of the file is a command execute, which by default is empty. Set its directory as the RA agent installation folder. Its name is arbitrary because it is a manually created, custom script. The following example provides its structure:
    cmd.to.execute=/home/user1/CA/LISAReleaseAutomationAgent/customActionsRunner.sh
    customActionsRunner.sh has one line:
    echo "$nolio_password" | sudo -u $3 -S ./ActionsRunner.sh $1 $2 $3

    As an alternative, the customActionsRunner.sh can contain the following line:
    su - $3 -c "cd /path/to/NolioAgent/folder ;  ./ActionsRunner.sh $1 $2 $3"

    Important! Execute the ActionsRunner.sh file in the Nolio agent root folder. The working directory is required to be the Nolio agent root folder. The SSH mechanism queries 127.0.0.1.
  2. To allow the agent to impersonate the user that is defined in the action, set the permissions. Add to the end of the file in /etc/sudoers. You must be logged in as the root user to update the file.
    Example: User1 is allowed to impersonate user2. User1 is the user under which the agent is running. User2 is the user under which the action is running.
    While this example allows user1 to impersonate only user2, there are many different defining combinations. For example, you can provide a user list or can use ALL for all users.
    user1 ALL=(user2) NOPASSWD:ALL
    user1 ALL=(ALL) NOPASSWD:ALL
    See the man sudoers command for more information.
  3. If /etc/sudoers is defined as required to be logged into tty, then the steps do not work.
    Comment out the following:
    Defaults:noliousr !requiretty
    Note: This command assumes that the agent default configuration runs as noliouser.
  4. For example, you are running the RA agent under User 1. Log in as User 1 and change the permissions to give User 1 permissions to that directory.
    Set read/execute permission on RA installation directory:
    chmod 0755 <RA Install Directory>
  5. To run the shell script, restart the RA agent.
    ./deployer_daemon.sh restart

Run Processes Under Different Users – Windows

To use the impersonation feature, sufficient privileges are required for user accounts that the Nolio Agent Windows service is configured to run as. Prior to Windows 2003, the following Local Security Policies were sufficient:

  • Local Security Policy > User Rights Assignment > Adjust memory quotas for a process
  • Local Security Policy > Replace a process level token

Starting with Windows XP Service Pack 2 and Windows Server 2003, the caller must be an administrator or the LocalSystem account.

If the user specified in the actions properties/settings tab does not have access to the NolioAgent folder/subfolders, one of the following errors might be generated:

  • load profile result: A required privilege is not held by the client.
  • load profile result: Access is denied.
  • Cannot create process using the logonUser and createProcessAsUser.
  • Cannot create process remote process
  • The handle is invalid
  • Cannot use <username> credentials

For the preceding error messages, follow these steps:

  1. In the Nolio Agent Windows service properties, click the Log On tab.

  2. Verify the user account used to start the service.

  3. Add that user to the local Administrators group.

  4. Stop and restart the agent.

For the followng error message, give the windows user account read/write access to the Nolio Agent installation folder:

  • load profile result: An attempt was made to reference a token that does not exist.

Remote Agent Installation

Install a CA Release Automation Agent remotely using the remote installation. The remote installation enables the user to add Agents on remote computers and connect them to existing Execution Servers.

The following configurations are supported for CA Release Automation Execution Servers running on:

Windows

  • Remote Agent installation on Windows platforms
  • Remote Agent installation on Linux and Solaris platforms

Linux

  • Remote Agent installation on Linux and Solaris platforms
    Note:
    Remote Agent installation is not supported on AIX, zLinux, or Linux platforms that run JRE 6.

Remote Installation Prerequisites

To enable remote Agent installation, the Execution Server requires the target Agent OS executable in its scripts folder:

<Execution Server Home Directory>/scripts

Note: In Microsoft Windows, the CA Release Automation Server service owner requires administrative privileges and the Log On As A Service rights on the computer.

Windows

Workstation and the Server services are running.

  • Admin$ share is available.
  • Windows Network is running.
  • Printer and File Sharing is activated.
  • Incoming network users authenticate as themselves.
  • Simple File Sharing is turned off.
  • Network Users Identify as Guests is turned off.
  • Firewall allows incoming traffic through ports 135 and 445.

Linux/Solaris

SSH is enabled.

Run Remote Installation

To add and map the CA Release Automation Agent remotely, run the remote installation.

  1. In the Automation Studio, go to Administration, Agent Management.
  2. Click the + button. Next to Agent, 
  3. Select the correct Install CA Release Automation Agent option.
  4. Specify the DNS names or IP addresses in the Server Names field.
    • Linux and Solaris 
      Select the correct operating system type from the OS Type list.
    • Windows
      Click Advanced to define different credentials for remote servers.
  5. Specify the name of the Application, the Environment, and the Server Type for the Agent.
  6. Click Install.
    The Agent Installation Status Progress window opens. The Agent services start automatically after the server starts.

Enable Dynamic Agent Mapping

The ability to map Agents to Application, Environment, and Server Type during remote installation is not enabled by default. To enable the ability to map Agents, configure Enable Dynamic Agent Mapping.

Follow these steps:

  1. In the Automation Studio Client UI, select the Administration tab.
  2. Select System Settings, and click the + button.
  3. In the New key box, type DYNAMIC_AGENT_MAPPING_ENABLED.
  4. In the New value box, type true.
  5. Click Save.
    DYNAMIC_AGENT_MAPPING_ENABLED is added to the System Settings list.

    Note: This procedure does not require a restart of the Nolio Server service or the client UI. The Agent mapping detail fields appear the next time that you open the remote Agent installation wizard.

When you install Agents, use one of following scenarios to dynamically map Agents to applications, environment, and server types.

Note: Dynamic mapping to map an agent to a single-server type of a single environment in a single application is optional. This option to map an agent to several server types is not enabled.

Scenario 1: Install Agent Using a Varfile

The installation varfile requires updating to include the following parameters in addition to the other required parameters.

nolio.agent.mapping.application=<Application to map the agent to>

nolio.agent.mapping.environment=<Environment to map the agent to>

nolio.agent.mapping.servertype=<Sever Type to map the agent to>

Scenarios 2: Install Agent Using a Pre-Defined Template

You can create a pre-defined agent installation package as a template to use as a host image.

Follow these steps:

  1. Within the template, create a file named agent.mapping.xml
  2. The xml file is required to be placed in the <AGENT ROOT DIR>/conf folder
  3. The content of the xml file requires the following parameters.

    <?xml version="1.0" encoding="ISO-8859-1" ?>

          <agent-mapping>

          <application name="Application to map the agent to"/>

                   <environment name="Environment to map the agent to"/>

                        <server-type name="server type to map the agent to"/>

                   </environment>

           </application>

    </agent-mapping>

Scenario 3: Install Agent Using Remote Installation  

To install a remote agent using remote installation,

Follow these steps:

  1.  In the Automation Studio Client UI, select the Agent Management tab.

  2. Click the + button, and select one of the following installation options:

    1. Install Agent on a Windows server.

    2. Install Agent on a UNIX server (SSH).

    The installation window includes the option to define the application, environment, and server type where the agent is to be mapped.

Was this helpful?

Please log in to post comments.