Agent-Based Gateway Installation

If your environment does not allow password-less SSH, then you must run the command line agent described in this article on each Gateway host being added to your deployment before adding the host(s) using the web interface.

NOTE 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 HPE Technical Support for possible options.
NOTE If your environment does allow password-less SSH and the PubkeyAuthentication parameter is set to true on the Controller host, then follow the instructions in Installing a Gateway Host.

To install the agent on each Gateway host:

  1. If you encountered any errors while pre-checking and/or installing HPE Container Platform on the Controller from the command line, then be sure to replicate the same remediation steps on each Gateway host you will be adding before proceeding with the installation.
  2. Manually copy the HPE Container Platform Enterprise binary (.bin) from <controller-ip>/opt/bluedata/bundles/common-cp-<version>-<build>.bin to each Gateway host that you will adding, where:
    • <controller_ip> is the IP address of the HPE Container Platform Controller host.
    • <version> is the HPE Container Platform version.
    • <build> is the specific HPE Container Platform build number.
    NOTE If you cannot download the file via http, then you may retrieve it from /opt/bluedata/bundles on the Controller host.
    NOTE The remainder of this article will refer to this .bin file as <common>.bin.
  3. Make the .bin file executable by executing the command chmod a+x <common>.bin.
  4. Copy the .erlang.cookie file from the Controller host to the Gateway host(s) you are adding with the same owner/group, permissions, and SELinux context. This file is located in the home directory of the user who installed HPE Ezmeral Runtime Enterprise. This step is required to allow secure communications between hosts.
  5. Download the .parms file from http://<controller-ip>/repos/agent-install-worker.parms
  6. 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 Gateway host.
    • Set the Controller host parameter: The Controller parameter settings vary based on whether or not the deployment has platform HA enabled.
      • If platform HA is not enabled, then you must set the HAENABLED (Platform High Availability Enabled) field to false and provide both the Controller IP address and hostname in the Platform HA not configured section.

        ################################################################################
                                #                          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
        Note: Uncomment this.
        ## Controller node's IP address.
                                #CONTROLLER=<Controller IP address>
        Note: Uncomment this and provide the Controller host IP address.
        ## Controller node's FQDN.
                                #CONTROLLER_HOSTNAME=<FQDN of controller>
        Note: Uncomment this and provide the Controller hostname. The Controller hostname must be all lower case set as per the Linux hostname naming convention.

      • If platform HA is enabled, then you must set the HAENABLED (Platform High Availability Enabled) field to false and provide both the IP address and hostname for the Controller, Shadow Controller, and Arbiter hosts in the Platform HA configured section.

        Further, if the deployment uses a Cluster IP address, then you must set CLUSTERIP (Cluster IP address); otherwise, you can leave it commented.

        ################################################################################
                                #                            Platform HA configured                            #
                                # Ensure the appropriate parameters are uncommented and set in this section    #
                                # when Platform HA is not enabled.                                             #
                                ################################################################################
                                
                                ## Is Platform HA enabled?
                                #HAENABLED=true
        Note: Uncomment this.
        ## The cluster IP address.
                                #CLUSTERIP=<Cluster IP address>
        Note: Uncomment this if the deployment uses a Cluster 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>
        Note: Uncomment this and provide the Controller IP address.
        ## The original shadow controller node's IP address. This node must be alive for
                                ## the worker node to be added.
                                #SHADOWCTRL=<Shadow IP address>
        Note: Uncomment this and then provide the Shadow IP address.
        ## The arbiter node's IP address. This node must be alive for the worker node to
                                ## be added.
                                #ARBITER=<Arbiter IP address>
        Note: Uncomment this and then provide the Arbiter IP address.
        ## Controller node's FQDN.
                                #CONTROLLER_HOSTNAME=<FQDN of controller>
        Note: Uncomment this and then provide the Controller hostname.
        ## Shadow controller node's FQDN.
                                #SHADOW_HOSTNAME=<FQDN of Shadow>
        Note: Uncomment this and then provide the Shadow hostname. The Shadow hostname must be all lower case set as per the Linux hostname naming convention.
        ## Arbiter node's FQDN.
                                #ARBITER_HOSTNAME=<FQDN of Arbiter>
        Note: Uncomment this and then provide the Arbiter hostname. The Arbiter hostname must be all lower case set as per the Linux hostname naming convention.

      • For a Gateway set:

        NODE_TYPE=proxy
                                GATEWAY_NODE_IP=<gateway_ip>
                                GATEWAY_NODE_FQDN=<gateway_host_fqdn>

    • Set the Erlang parameter:

      ERLANG_COOKIE=value contained in <controller>$HOME/.erlang.cookie
    • Set the installation userid and groupid parameters: If you have already a defined 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 HPE Controller is configured with a proxy.
      ## 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.

  7. Copy the modified version of the .parms file onto every new Gateway host.
  8. On each Gateway host, execute the installer binary using the following command, where <gateway_ip> is the IP address of the host, and <gateway_hostname> is the FQDN of the host:

    ./ common-cp-<version>-<build>.bin /tmp/agent-install-worker.parms --nodetype proxy --gateway-node-ip <gateway_ip> --gateway-node-hostname <gateway_hostname>
    where:
    • <version> is the .bin version.
    • <build> is the .bin build number
    • <gateway_ip> is the IP address of the Gateway host.
    • <gateway_hostname> is the hostname of the Gateway host. The Gateway Hostname must be all lower case set as per the Linux hostname naming convention.
    NOTE HPE recommends to update to latest OS packages (e.g. yum update) before installing the HPE Ezmeral Runtime Enterprise product.
  9. If needed, remediate any issues reported by the above installer script, and then re-run the same installer 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 Worker host, with the same owner/group, permissions, and SELinux context. This must be done after executing the common install .bin.

    After the installation completes, you should see the message Successfully configured a Gateway node.

    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 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.

    If the installation succeeds, then proceed to Step 2 in Installing a Gateway Host. Be sure to only specify the IP address(es) that you added using this agent-based installation method. You can ignore Step 3, because agent-based installations do not required credentials.