Installing an OpenShift application using template#

You can install HCL™ Accelerate as an OpenShift application using template.

Note: Installations of OpenShift using template will be deprecated in future versions of HCL Accelerate.

The tools required by all installation scenarios include the following items:

Note: The installation files used for offline installation are not the same as those used for internet-connected installation. Ensure that you download the right file for your installation environment.

In addition to the requirements for all installation scenarios, you need the following items:

You will install HCL Accelerate into a OpenShift project. During installation, you configure a MongoDB for your project, add the HCL Accelerate service to your OpenShift project catalog, and create a route that makes the HCL Accelerate application publicly accessible.

If you need to change project parameters, modify the accelerate-se-<version number>-openshift.yaml file. HCL Accelerate uses this file to configure the OpenShift project. The accelerate-se-<version number>-openshift.yaml file is copied to your local environment during installation.

Note: The user who runs pre-installation command requires cluster-level permissions to create ClusterRole and ClusterRoleBinding. If you do not have access, consult your OpenShift administrator.

  1. At the Please enter your Accelerate access key prompt, enter your SE version access key.

    If you previously installed an SE version, the already-configured key is the default value.

    Note: Make sure that you enter the key for the right version.

    1. To enforce limits on resources, set the values for the resource flags for all containers and use the customConfigFile flag to set the path of the JSON file that contains values that are specified for individual services.

      An example of an install command using the new flags follows:

      /accelerate-hcl-install-1-5-5-macos --resourcesRequestsCpu 60m --customConfigFile resources.json

      You can use the following flags in the command:

      • resourceLimitsMemory
      • resourceLimitscpu
      • resourceRequestMemory
      • resourceRequestcpu
      • customConfigFile Note: A resources.json code example follows.

      { "resources": { "limits": { "memory": { "default": "1Gi", "application-api": "3Gi" }, "cpu": { "application-api": "2" }, }, "requests": { "memory": { "release-events-ui": "256Mi" }, "cpu": { "multi-app-pipeline-api": "45m", "release-events-ui": "55m" } } } }

  2. Complete local installation by responding to the prompts described in the following steps.

    When the script starts, you are prompted to accept the license. You can explicitly accept the license without viewing it by appending the following parameter to the command:

    ./<accelerate-installation-file\> **--license=accept**

    1. At the Enter your encryption key or leave blank to use the default. Key must be at least 8 characters prompt, enter your encryption key or leave blank to use the default encryption key.

      Note: The encryption key must be at least 8 characters. Save the encryption key to use for further upgrades.

    2. At the Choose the platform prompt, select OpenShift (DEPRECATED - using OpenShift Template).

    3. At the Enter the location where the HCL Accelerate files will be installed prompt, enter the location where you want to install the product files.

      Files are copied to the specified directory in a subdirectory named product_version_number.

    4. At the What version of MongoDB are you using? prompt, select the version of the MongoDB that you want to use for HCL Accelerate installation.

    5. At the Enter the initial password for the admin user prompt, enter your admin password.

      Note: The initial password for the admin user is encrypted and stored in .yml file.

    6. At the Openshift Project Name prompt, enter the name of the project you created earlier.

    7. At the Name of installation user prompt, enter your OpenShift ID.

    8. At the Choose one prompt, select Install new instance.

      If you are upgrading, see Upgrading an OpenShift installation using service template.

    Files that you use to complete installation are copied to the specified directory.

  3. From the directory where you installed the product files, run the oc apply -f pre-install-for-cluster.yaml and then oc apply -f pre-install-for-namespace.yaml.

    Note: The user requires permission to create resources at cluster level to run oc apply -f pre-install-for-cluster.yaml. The user requires permission to create resources at namespace level to run oc apply -f pre-install-for-namespace.yaml.

    The user property in the pre-install-for-cluster.yaml and pre-install-for-namespace.yaml file defaults to 'admin.' Make sure the user property contains the correct OpenShift user ID.

  4. From the OpenShift dashboard, create a project for HCL Accelerate.

    When the project is created, in the My Projects area, select the project, and then click Browse Catalog.

  5. Install the HCL Accelerate using OpenShift template in the project catalog by completing the following steps:.

    1. From the OpenShift project catalog, use the Add to Project > Import YAML/JSON command, and then import the accelerate-se-<version number>-openshift.yaml file.

      The yaml was installed in the previous step.

    2. Select Create, and then uncheck Process the Template and check Save Template.

      After refreshing the browser, you see the HCL Accelerate service in the OpenShift project catalog.

  6. Create a MongoDB service for the project by completing the following steps:

    1. From the OpenShift project catalog, select MongoDB.

    2. On the MongoDB configuration page, click Next, and then, in the MongoDB Admin Password field, enter a password for admin user.

      You can accept the default values for the other parameters.

      Note: The user must be the admin user, not the MongoDB user.

    3. Click Create.

    4. On the MongoDB has been created page, copy the Connection URL string and store it in a readily-accessible location, then close configuration window.

      You use the connection string to configure your HCL Accelerate project.

  7. Create an HCL Accelerate service by completing these steps.

    1. From project catalog, select Accelerate OpenShift Catalog.

      The Accelerate configuration window is displayed.

    2. Click Next, and then, in the Name field, enter a service name.

    3. In the Hostname field, enter the service host name.

      The host name must resolve to a name on your DNS server, or in the server's hosts file. On Linux, the file location is etc/hosts; on Windows, the location is C:\Windows\System32\drivers\etc\hosts.

      Note: The Hostname cannot be an IP address.

    4. In the Access Key field, paste the HCL Accelerate access key received earlier.

    5. In the Mongo URL field, paste MongoDB connection string for the MongoDB service.

      Do not use the default user or database name. Use the admin user and password you created for the admin. For example:

      mongodb://admin:password@mongodb

      Note: When you copy the sample connection code, make sure that you delete the sampleDB part from the copied code.

      If you connect to an authenticated MongoDB database, you can use authSource to specify the database where authenticated users are defined. For example, if the admin user is defined in the admin database, you can use mongodb://root:password@accelerate-mongo-mongodb?authSource=admin. If you do not want to use the admin user, log on to the MongoDB and use a command similar to this one to grant admin permissions to the user:

      ```

      db.grantRolesToUser( "mongo", ["readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin"] ) ```

    6. Accept the default values for the other parameters and click Create.

  8. If you need to enforce limits on resources, modify the executor parameter in the accelerate/templates/workflow-controller-configmap.yaml file.

    For example, to limit ephemeral Argo pods, you might use the following parameter values:

    ```

     ...
     data:
       config: |
         containerRuntimeExecutor: kubelet
         namespace: accelerate
         executor:
           resources:
             limits:
               cpu: 1
               memory: 2Gi
             requests:
               cpu: 50m 
               memory: 512Mi
    

    ```

  9. Create a route by completing the following steps:

    1. From project dashboard, click Applications > Routes > Create Route.

    2. In the Name field, provide a name for the route.

    3. In the Hostname field, enter the host name you specified earlier for HCL Accelerate.

    4. In the Service field, select the accelerate-router service.

    5. Check Secure route.

    6. From the TLS Termination list, select Edge.

    7. Upload your PEM-format certificate or, on the Insecure Traffic list, select Allow.

    8. Click Create.

    The new route is listed on the Routes page.

After the installation is complete, open HCL Accelerate by clicking the route name link. The default user name is admin and the default password is admin.