DLM, a component of CollabNet's DevOps solution, is the next generation platform for integrating and automating software development tools used in the entire software development life cycle. ActionFlow, another piece of CollabNet's DevOps solution, works as the orchestrator on the DevOps solution. ActionFlow is integrated with TeamForge and connected to DLM for creation of different workflows. The workflows fire actions that can do almost everything to automate your development environment.
Before You Begin
  • Make sure that you install or upgrade DLM only on RHEL/CentOS 7.0 or later.
  • Install TeamForge on RHEL/CentOS 7.0 or later if you want to install or upgrade both TeamForge and DLM on the same server.
  • Make sure that ActionFlow is installed on a separate server.
  • You must have TeamForge and EventQ 17.8 (or later) installed and running.
  • In this setup, it is assumed that you have TeamForge Application (including the database and datamart) and EventQ (EventQ Application, MongoDB, and RabbitMQ) running on two separate servers.
  • See TeamForge Installation Requirements and EventQ Installation Requirements to know what it takes to run TeamForge and EventQ.
  • See Port Requirements.
  • From DLM 17.8, you need not run the post-install.py script before you install DLM, as its functions have been moved into teamforge script’s “deploy”, “migrate”, “bootstrap” and “initialize” hooks.

Install DLM on the EventQ Server

  1. Log on to the EventQ Server and download the DLM installer RPM: actionhub_installer-17.8.0.20.rpm.

  2. Install DLM.

    1. Verify the status of the EventQ services.
        teamforge status -s eventq
      
    2. Install DLM.
       yum install actionhub_installer
      
  3. Run the enableActionHub utility to create RabbitMQ accounts. DLM needs the RabbitMQ accounts.

    /opt/collabnet/teamforge/bin/enableActionHub
    

Install DLM on the TeamForge Application Server

  1. Log on to the TeamForge Application Server and download the DLM installer RPM: CN-actionhub-17.8.0.2.rpm.

  2. Install DLM.
    1. Verify the status of the TeamForge services.
      teamforge status   
      
    2. Start TeamForge, if not running already.
      teamforge start
      
    3. Install DLM.
      yum install CN-actionhub
      
  3. Run the enableActionHub utility. This step is required to update the site-options.conf file with the DLM and database information.
    /opt/collabnet/teamforge/bin/enableActionHub
    
  4. Verify if the following tokens are configured in the site-options.conf file.
    vi /opt/collabnet/teamforge/etc/site-options.conf
    
    1. PUBLIC_FQDN token.
      localhost:PUBLIC_FQDN=<IP address of TeamForge Application Server>
      
    2. SERVICES token.
      localhost:SERVICES=actionhub actionserver actionhub-database
      
    3. DLM database tokens.
      ACTIONHUB_DATABASE_USER=actionhub
      ACTIONHUB_DATABASE_PASSWORD={OBF}:WDyVdepFT04X4r7fyiGHWzbKqKfcaPR66/jxAW4/BRoOFqt5u1f2Mg==
      ACTIONHUB_DATABASE_NAME=actionHubDb
      
  5. Bootstrap the DLM services and DLM database services to have the DLM database password set properly.

    1. Stop TeamForge.
      teamforge stop
      
    2. Deploy services.
      /opt/collabnet/teamforge/bin/teamforge provision
      
    3. Bootstrap DLM.
      teamforge bootstrap -s actionhub
      
    4. Bootstrap the DLM database.
      teamforge bootstrap -s actionhub-database
      
    5. Start TeamForge.
      teamforge start
      
  6. Verify the DLM installation.

    1. Log on to TeamForge as a site administrator.
    2. Select My Workspace > Admin > Integrated Apps.
    3. Select DLM.
    4. Click Administer.
    5. Verify whether the Workflow Systems and Server Log information are shown.

TeamForge DevOps License Key

  1. Enter the DevOps license key.
    1. Select Projects > License Info.
    2. Click Enter License Key
    3. Paste the TeamForge DevOps license key and click Save.

    You can now assign the DevOps license to users.

  2. Assign DevOps license to specific users such as a TeamForge Adminstrator.
    1. Select Projects > Users.
    2. Select TeamForge Administrator.
    3. Click Edit.
    4. Select DevOps from the License Type drop-down list.
    5. Click Update.

    This concludes setting up DLM with TeamForge. You can now add DLM to projects, create and integrate new workflow systems and create new rules to automate your processes.

Install ActionFlow and ActionDesigner: Do This on a Separate Server

Requirements
  • A workflow system created for ActionFlow in TeamForge. If not created already, see [Create Workflow Systems][createworkflowsystems].
  • WorkFlow Queue, Action Queue, AMQP User and AMQP Password for ActionFlow. See [Create Workflow Systems][createworkflowsystems].
  • Hardware/Software requirements for ActionFlow Server: RHEL/CentOS 7.x, Quad-core CPU with 16GB RAM, 40GB storage (recommended EC2: m4.xlarge).
  • ActionFlow and ActionDesigner installers and CN-st2web RPMs.
  • Node.js v6.x (for ActionDesigner)
  1. Log on to the TeamForge Application Server, copy the values of WorkFlow Queue, Action Queue, AMQP User and AMQP Password for ActionFlow from the UI and keep them handy. For more information, see Create Workflow Systems.
  2. Log on to the ActionFlow Server.
  3. Install the ActionFlow RPM.
    yum install -y CN-actionflowst2-17.8.0.18.rpm
    
  4. Update the ActionFlow site-options.conf file with ActionFlow username and password.
    vi /opt/stackstorm/installer/site-options.conf
    

    ACTIONFLOW_USER=<username>
    ACTIONFLOW_PASSWORD=<password>
    ST2_HOSTNAME=<The IP Address or fully qualified domain name of the ST2 host>
    EVENTQ_HOST=<IP where TeamForge is hosted or IP where eventq is hosted if EventQ is running on a separate server>
    WORKFLOW_QUEUE=<ws.plug#### copied previously from TeamForge>
    ACTION_QUEUE=<actions.plug#### copied previously from TeamForge>
    AMQP_USER=<AMQP user copied previously from TeamForge server>
    AMQP_PASSWORD=<AMQP password copied previously from TeamForge server>

  5. Run the ActionFlowSt2Install.sh script. This script enables ActionFlow to run with SELinux in restrictive mode.
    ./ActionFlowSt2Install.sh
    
  6. Install the ActionDesigner RPM.
    1. Download and install the latest ActionDesigner RPM.
      yum install -y CN-actiondesigner-17.4.0.1.rpm
      
    2. Change directory: /opt/actiondesigner.
      cd /opt/actiondesigner
      
    3. Edit the config.js file with the required information for ActionDesigner to connect with ActionFlow.
      vi /opt/actiondesigner/config.js
      
      "use strict";
      var config = {
      "workflowHost": "<the URL for the ActionFlow instance>"
      };
      Object.defineProperty(exports, "__esModule", { value: true });
      exports.default = config;
      
    4. Enable ActionDesigner to start up on boot.
      systemctl enable actiondesigner
      
    5. Start ActionDesigner.
      systemctl start actiondesigner
      
  7. Run the latest CN-st2web RPM.
     rpm -ivh --force --nodeps --replacepkgs --replacefiles CN-st2web-17.8.0.1.rpm
    
  8. Check the st2 notifier log to see if connection to Zookeeper is successful. Look for “INFO client - Zookeeper connection established, state: CONNECTED”. This indicates that Zookeeper is up and running correctly along with ST2.
    tail -f /var/log/st2/st2notifier.log
    
  9. Configure SSL for ActionFlow, if required. For more information, see StackStorm Authentication.
    • In /etc/ssl/st2/, copy the .crt file to be used as st2.crt.
    • In /etc/ssl/st2/, copy the .key file to be used as st2.key.
    • Edit the /etc/st2/st2.conf file. Look for the use_ssl setting, set it to True and append the path to cert and key files as shown below.
       use_ssl = True
       cert = /etc/ssl/st2/st2.crt
       key =/etc/ssl/st2/st2.key
      
  10. Restart Stackstorm and Nginx services.
    st2ctl restart
    service nginx restart
    
  11. Configure SSL for ActionDesigner, if required.
    • In /opt/actiondesigner/ssl/, copy the .crt file to be used as ca.crt.
    • In /opt/actiondesigner/ssl/, copy the .crt file to be used as server.crt.
    • In /opt/actiondesigner/ssl/, copy the .key file to be used as server.key.
  12. Verify DLM/ActionFlow installation.
    1. Add ActionFlow to TeamForge projects. See Add DLM/ActionFlow to TeamForge projects.
    2. Create a test rule targeting ActionFlow and save the rule. See Create Rules. For example, create a test rule as follows:
      • Rule Name: “TestActionFlow”.
      • Rule Source: “Work Item > Defects”.
      • Define your alerts and actions.
        • Select the THIS RULE GENERATES AN ALERT check box.
          • Enter a name for the alert
          • Enter details for the aler (for example, “Defect Closed”)
          • Enter the phase (i.e. Plan)
          • Enter the event it (i.e. 100)
          • Enter the alert severity (any level such as High, or Info)
        • Select the THIS RULE TAKES AN ACTION check box.
          • Target: “ActionFlow”
          • Action: “helloworld”
          • Parameters: blank
      • Save the rule.
    3. Select Trackers > Defects and add a comment to a defect.
    4. Select the Home tab and make sure that an alert has been generated in the Value Stream Activity Console.
    5. Select DLM from the tools menu, select the Rule Execution History tab and verify that the test rule has been executed.
    6. Select ActionFlow from the tools menu and log on to ActionFlow.
    7. In the History tab, you should see two processes: “actionhub.msg_handler” and “collabnet-generic-flows.helloworld”. Watch for the status of these processes to turn green indicating that the processes have been executed successfully.
  13. Verify ActionDesigner installation. You can verify in two ways:

    1. Open the following URL in a browser: https://<host>:8001/actiondesigner (for example, https://forge-actionflow.collab.net:8001/actiondesigner) and log on to ActionDesigner using your ActionFlow credentials.
    2. Click the settings ( ) icon on the Create Rule page as shown in the following figure. You can use this option to edit the respective action. For more details on rules creation, see Create Rules.

This concludes setting up ActionFlow with TeamForge. You can now [add ActionFlow to projects][addtoprojects], [create and integrate new workflow systems][createworkflowsystems], and [create new rules][createrules] to automate your processes.