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 on DLM for the creation of different workflows. The workflows trigger actions that will do almost everything you need to automate your development environment.
Before you begin
See TeamForge installation requirements and EventQ installation requirements to know what it takes to run TeamForge and EventQ. Also see Port Requirements .

You must have TeamForge and EventQ 17.4 (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.

Before you proceed with DLM installation, make sure that you run “post-install.py” script. For more details, see Installing TeamForge on a single server.

Make sure that you install DLM on the TeamForge Application Server and ActionFlow on a separate server.

Install DLM on the EventQ Server

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

     /etc/init.d/eventq status
     yum install actionhub_installer
    
  3. Run the enableActionHub utility. This is to create the RabbitMQ account for DLM to use.

    /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.4.0.17.rpm.
  2. Install DLM.
    yum install CN-actionhub
    
  3. Run the enableActionHub utility. This is to update the site-options.conf file with the DLM services and database information.
    /opt/collabnet/teamforge/bin/enableActionHub
    
  4. Make sure the PUBLIC_FQDN site-options.conf token is set as follows:
    localhost:PUBLIC_FQDN = <IP address of TeamForge Application Server>
    
  5. Stop TeamForge.
    /opt/collabnet/teamforge/bin/teamforge stop
    
  6. Deploy services.
    /opt/collabnet/teamforge/bin/teamforge provision
    
  7. Bootstrap DLM.
    /opt/collabnet/teamforge/bin/teamforge bootstrap -s actionhub
    
  8. Bootstrap DLM database.
    /opt/collabnet/teamforge/bin/teamforge bootstrap -s actionhub-database
    
  9. Start TeamForge.
    /opt/collabnet/teamforge/bin/teamforge start
    
  10. Open the site in your browser (https://hostname) and verify that TeamForge is up and running.

TeamForge DevOps License Key

  1. Enter the DevOps license key. Select Projects > License Info, click Enter License Key, paste the TeamForge DevOps license key and click Save.

    You can now assign the DevOps license to users.

  2. Assign DevOps license to the TeamForge Administrator.
    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).
  • Downloaded ActionFlow, ActionDesigner installer 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.4.0.22.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.
    ./ActionFlowSt2Install.sh
    
  6. Once the installation is complete, you will be prompted to press Enter to restart the server.

  7. Install the ActionDesigner RPM.
    yum install -y CN-actiondesigner-17.4.0.1.rpm
    
  8. 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;
    
  9. Start ActionDesigner.
    systemctl start actiondesigner
    
  10. Run the CN-st2web RPM.
    rpm -ivh --force --nodeps --replacepkgs --replacefiles CN-st2web-17.4.0.1.rpm
    
  11. 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
      
  12. Restart Stackstorm and Nginx services.
    st2ctl restart
    service nginx restart
    
  13. 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.
  14. Verify ActionFlow installation.
    1. Add ActionFlow to TeamForge projects. See Add DLM/ActionFlow to TeamForge projects.
    2. Create a test rule targetting 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. Go to Trackers > Defects and add a comment to a defect.
    4. Go to 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, go to 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 circle in front of these processes to turn green indicating that the processes ran successfully.
  15. Verify ActionDesigner installation. Open the following URL in a browser: https://:8001/actiondesigner (for example, https://forge-actionflow.collab.net:8001/actiondesigner) and log on to ActionDesigner using your ActionFlow credentials.