Install the DevOps Lifecycle Manager solution

ActionHub, 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 ActionHub for the creation of different workflows. The workflows fire actions that will do almost everything you need to automate your development environment.

Before you begin, you must have TeamForge and EventQ 16.10 (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. ActionHub is installed on the TeamForge Application Server and ActionFlow is installed on a seprate server. Also see Port Requirements.

Do this on the TeamForge Application Server

  1. Log on to the TeamForge Application Server and download the ActionHub installer RPM: CN-actionhub-16.10.0.84.rpm.
  2. Install ActionHub.
    • yum install CN-actionhub
  3. Set the token ACTIONHUB_ENABLED=true in the site-options.conf file and save the file.
    • vi /opt/collabnet/teamforge/etc/site-options.conf
    1. Set the ACTIONHUB_SERVER token with the localhost IP address, 127.0.0.1, if and only if you have chosen to set up the HOST_ token as HOST_<nodename> (not recommended) instead of HOST_localhost (recommended).
      ACTIONHUB_SERVER=127.0.0.1
  4. Stop TeamForge.
    • /opt/collabnet/teamforge/bin/teamforge stop
  5. Deploy services.
    • /opt/collabnet/teamforge/bin/teamforge provision -y

Note: It will take a few minutes for TeamForge to start up.

  1. Open the site in your browser (https:\\hostname) and verify that TeamForge is up and running.
  2. This step is required if and only if the Database Server is running on a separate server.
    1. Stop TeamForge on the Application Server.
      • /opt/collabnet/teamforge/bin/teamforge stop
    2. Install ActionHub.
      • yum install actionhub_installer
    3. Set the token ACTIONHUB_ENABLED=true in the site-options.conf file and save the file.
      • vi /opt/collabnet/teamforge/etc/site-options.conf
      Set the ACTIONHUB_SERVER token with the IP address of the server where ActionHub Server is installed.
      ACTIONHUB_SERVER=<<IP where ActionHub Server is located at>
    4. Deploy services.
      • /opt/collabnet/teamforge/bin/teamforge provision -y
    5. Start TeamForge on the Application Server.
      • /opt/collabnet/teamforge/bin/teamforge start

Do this on the EventQ Server

  1. Log on to the EventQ Server and download the ActionHub installer RPM: actionhub_installer-16.10-86.x86_64.rpm.
  2. Install ActionHub.
    Note: Before installing ActionHub, ensure that the EventQ services are up and running.
    • /etc/init.d/eventq status
    • yum install actionhub_installer
  3. Run the enableActionHub utility. This is to create the RabbitMQ account for ActionHub to use.
    • /opt/collabnet/teamforge/add-ons/actionhub_installer/bin/enableActionHub

Enter the 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.
    Note: Click Get License Key if you want to get the TeamForge DevOps license key.
    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 ActionHub with TeamForge. You can now add ActionHub to projects, create and integrate new workflow systems and create new rules to automate your processes.

Install ActionFlow: Do this on a separate ActionFlow Server

Requirements

  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.
  4. Update the ActionFlow site-options.conf file with Stackstorm and Zookeeper usernames and passwords of your choice.
    Note: You will be using these usernames and passwords to log on to ActionFlow and Zookeeper post installation.
    • vi /opt/stackstorm/installer/site-options.conf
    Do not change this: VERSION= 2.0.0
      ACTIONFLOW_USER=<username> 
      ACTIONFLOW_PASSWORD=<password>
      ZOOKEEPER_USER=<zooKeeperUsername>
      ZOOKEEPER_PASSWORD=<zooKeeperPassword>
      EVENTQ_HOST= <IP address of the EventQ server>
      WORKFLOW_QUEUE=<use the values noted down earlier>
      ACTION_QUEUE= <use the values noted down earlier>
      AMQP_USER=<use the values noted down earlier>
      AMQP_PASSWORD= <use the values noted down earlier>
  5. Run the ActionFlowSt2InstallerPart1.sh script.
    • ./ActionFlowSt2InstallerPart1.sh

    Once the installation is complete, you will be prompted to press Enter to restart the server.

  6. Once restarted, log on to the ActionFlow server and run the ActionFlowSt2InstallerPart2.sh script.
    Note: This script enables ActionFlow to run with SELinux in restricted mode.
    • /opt/stackstorm/installer/ActionFlowSt2InstallPart2.sh
  7. Run the CN-st2web-16.10.0.<XX>.rpm.
    • rpm -i --replacefiles CN-st2web-16.10.0.<XX>.rpm
    Important: Refer to the st2 notifier log to make sure that the connection between Statckstorm and Zookeeper is successful.
    • tail -f /var/log/st2/st2notifier.log
    Look for a log entry such as:

    INFO client - Zookeeper connection established, state: CONNECTED

  8. Configure SSL, if required.
    1. In /etc/ssl/st2/ copy the .crt file to be used as st2.crt.
    2. In /etc/ssl/st2/ copy the .key file to be used as st2.key.
    3. 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
    4. Restart Stackstorm and Nginx services.
      • st2ctl restart
      • service nginx restart
  9. Verify ActionFlow installation.
    1. Add ActionFlow to TeamForge projects. See Add ActionHub/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"
        • Target: "ActionFlow"
        • Criteria: leave defaults
        • Action: "helloworld"
        • Parameters: blank
        • Save the rule.
      • Go to Trackers > Defects and add a comment to a defect.
      • Select ActionHub from the tools menu, go to Rule Execution History tab and verify that the test rule has been executed.
      • Select ActionFlow from the tools menu and log on to ActionFlow.
      • 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.
This concludes setting up ActionFlow with TeamForge. You can now add ActionFlow to projects, and create new rules to automate your processes.