Agent-Based Host Installation

Prerequisites

  • Hewlett Packard Enterprise recommends that you update the host to latest OS packages (e.g. yum update) before installing HPE Ezmeral Runtime Enterprise.

  • These instructions assume that the Controller host was installed with the option --worker-agent-install. If that was not done and if you do not want to reinstall the Controller host with that option specified, then please contact Hewlett Packard Enterprise Technical Support for possible options.

About this task

If your environment does not allow key-based SSH, then you must run the command line agent described in this procedure on each host before adding the host.

NOTE
If your environment does allow key-based SSH and the PubkeyAuthentication parameter is set to true on the Controller host, then you may bypass this procedure and proceed directly to adding the public key in Adding the Shadow Controller and Arbiter Hosts.

Procedure

  1. If you encountered any errors while pre-checking and/or installing HPE Ezmeral Runtime Enterprise on the Controller from the command line, then be sure to replicate the same remediation steps on each host you will be adding before proceeding with the installation.
  2. Manually copy the HPE Ezmeral Runtime Enterprise binary (.bin) from http://<controller-ip>/repos/common-hpe-cp-<os>-release-<version>-<build>.bin to each host that you are adding, where:
    • <controller_ip> is the IP address of the Controller host.
    • <os> is the operating system (for example rhel).
    • <version> is the .bin version.
    • <build> is the specific .bin build number.

    The remainder of this article refers to this .bin file as <common>.bin.

  3. Make the .bin file executable by executing the command chmod a+x <common>.bin.
  4. Download the .parms file from http://<controller-ip>/repos/agent-install-worker.parms
  5. Modify the relevant settings in /tmp/agent-install-worker.parms to the appropriate values. The .parms file with these edits will be used on every host.
    • Set the Controller host parameter:.
      • Because Platform high availability is not yet enabled, in the Platform HA not configured section, do the following:

        1. Uncomment the HAENABLED line, set HAENABLED (Platform High Availability Enabled) field to false
          ################################################################################
          #                          Platform HA not configured                          #
          # Ensure the appropriate parameters are uncommented and set in this section    #
          # when Platform HA is not enabled.                                             #
          ################################################################################
               
               ## Is PLHA enabled?
                  #HAENABLED=false
        2. Uncomment the line that contains the CONTROLLER setting and provide the Controller host IP address.
          ## Controller node's IP address.
             #CONTROLLER=<Controller IP address>
        3. Uncomment the line that contains the CONTROLLER_HOSTNAME setting and provide the Controller hostname.
          ## Controller node's FQDN.
             #CONTROLLER_HOSTNAME=<FQDN of controller>
      • If the deployment uses a Cluster IP address, then you must uncomment the following setting and set CLUSTERIP (Cluster IP address); otherwise, you can leave it commented.

        ## The cluster IP address.
           #CLUSTERIP=<Cluster IP address>
        Uncomment the following and provide the Controller IP address.
        ## Controller node's IP address. A failover to okay but, his node must be alive
        ## for a worker to be added.
           #CONTROLLER=<Controller IP address>
        Uncomment the following and provide the Controller hostname.
        ## Controller node's FQDN.
           #CONTROLLER_HOSTNAME=<FQDN of controller>
    • Set the installation userid and groupid parameters: If you have already a defined an HPE userid and groupid system account on the Controller host, then you will need to set the BLUEDATA_USER and BLUEDATA_GROUP values accordingly.

      ################################################################################
      #                         Installation user and group                          #
      # All nodes in the HPE physical cluster must be installed the same user.       #
      # Specify this if the common bundle is not being executed by the same user as  #
      # the user that will be running the HPE services. Please refer to the          #
      # System requirements guide for information on permissions required for a      #
      # non-root user to install and run HPE software.                               #
      ################################################################################
                      
         #BLUEDATA_USER=root
      Note: Uncomment this and then provide the user id, as appropriate.
      #BLUEDATA_GROUP=root
      Note: Uncomment this and then provide the group id, as appropriate.
    • Set other miscellaneous parameters: Set the following parameters to match the Controller host settings.

      ################################################################################
      #                           Miscellaneous parameters                           #
      #                                                                              #
      ################################################################################
                      
         ## Automount root on the controller node. It must be the same on the worker too.
            CONTROLLER_AUTOMOUNT_ROOT=/net/
      Note: Modify this if needed.
      ## Bundle flavor used to install the controller. This may be either 'minimal' or
       ## 'full'
         CONTROLLER_BUNDLE_FLAVOR=minimal
      Note: Modify this if needed.
      ## Skip configuring NTP? 'true' or 'false'
        #NO_NTP_CONFIG=false
      Note: Modify this, as appropriate.
      ## If the controller was configured with proxy information, please specify it
      ## for the worker too.
      
              #PROXY_URL=
      Note: Set this if the Controller is configured with a proxy.
      #NO_PROXY=
      Set this if the Controller was configured with the --no-proxy option during installation.
      ## Controls whether the server should rollback to a clean state when an error
      ## is encountered during installation. Setting it to 'false' helps with debugging
      ## but the server should be manually cleaned up before re-attempting the
      ## installation.
                      
      ## Values: 'true' or 'false'.
          #ROLLBACK_ON_ERROR='false'
                      
         # If the controller was configured with --dockerrootsize that is different from 20
         # specify it here.
           DOCKER_ROOTSIZE=20
      Note: Set this, if applicable.
  6. Set the Erlang parameter.
    ERLANG_COOKIE=value contained in <controller>$HOME/.erlang.cookie
  7. Copy the modified version of the .parms file onto the new hosts.
  8. On each host, execute the installer precheck using one of the following commands, where <A.B.C.D> is the IP address of the host, and <name> is the FQDN of the host:
    • /tmp/<common>.bin --params /tmp/agent-install-worker.parms --nodetype worker --worker <A.B.C.D> --workerhostname <name>
  9. If needed, remediate any issues reported by the pre-check installer script, and then re-run the same pre-check script until all tests pass or until you have accounted for any warnings.
  10. Copy the file /opt/bluedata/keys/authorized_keys from the Controller host to the same location on the new host, with the same owner/group, permissions, and SELinux context.

    This must be done after running the common install .bin.

Results

After the installation completes, you should see the message Successfully prepared server as a HPE worker node. Proceed to add the public key as described in See Installing Hosts Using Passwordless SSH.

If the installation fails, then erase HPE Ezmeral Runtime Enterprise from the host by executing the command /tmp/<common>.bin --erase (or sudo /tmp/<common>.bin --erase, or erase SUDO_PREFIX="mysudo"; /tmp/<common>.bin --erase. The instructions contained in Step 1 Troubleshooting for the Controller host can also help you remediate problems on this host or hosts.