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,
- See TeamForge installation
requirements. Also see Port Requirements.
- You must have TeamForge and EventQ 16.10 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 during TeamForge
installation. For more details, see Installing TeamForge 17.4 on a single server.
- Make sure that DLM is installed on the TeamForge Application Server and
ActionFlow is installed on a separate server.
Do this on the TeamForge Application Server
-
Log on to the TeamForge Application Server and download the ActionHub installer RPM:
CN-actionhub-16.10.0.84.rpm.
-
Install ActionHub.
-
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 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
-
Stop TeamForge.
- /opt/collabnet/teamforge/bin/teamforge
stop
-
Deploy services.
- /opt/collabnet/teamforge/bin/teamforge
provision -y
Note: It will take a few minutes for TeamForge to start up.
-
Open the site in your browser (https:\\hostname) and verify that TeamForge is
up and running.
-
This step is required if and only if the Database
Server is running on a separate server.
-
Stop TeamForge on the Application Server.
- /opt/collabnet/teamforge/bin/teamforge
stop
-
Install ActionHub.
- yum install
actionhub_installer
-
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>
-
Deploy services.
- /opt/collabnet/teamforge/bin/teamforge
provision -y
-
Start TeamForge on the Application Server.
- /opt/collabnet/teamforge/bin/teamforge
start
Do this on the EventQ Server
-
Log on to the EventQ Server and download the ActionHub installer RPM:
actionhub_installer-16.10-86.x86_64.rpm.
-
Install ActionHub.
Note: Before installing ActionHub, ensure that the EventQ services are up and
running.
- /etc/init.d/eventq status
- yum install
actionhub_installer
-
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
-
Enter the DevOps license key. Select , 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.
-
Assign DevOps license to the TeamForge Administrator.
-
Select .
-
Select TeamForge Administrator.
-
Click Edit.
-
Select DevOps from the License
Type drop-down list.
-
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
- A workflow system created for ActionFlow in TeamForge. If not created
already, see Create Workflow Systems.
-
WorkFlow Queue and Action
Queue names for ActionFlow.
- AMQP user and password.
- Hardware/Software requirements for ActionFlow Server: RHEL/CentOS 7.x,
Quad-core CPU with 16GB RAM, 40GB storage (recommended EC2:
m4.xlarge).
- Downloaded ActionFlow installer RPM and
CN-st2web.
-
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.
-
Log on to the ActionFlow Server.
-
Install the ActionFlow RPM.
-
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>
-
Run the ActionFlowSt2InstallerPart1.sh script.
- ./ActionFlowSt2InstallerPart1.sh
Once the installation is complete, you will be prompted to press
Enter to restart the server.
-
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
-
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
-
Configure SSL, if required.
-
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
-
Restart Stackstorm and Nginx services.
- st2ctl restart
- service nginx restart
-
Verify ActionFlow installation.
-
Add ActionFlow to TeamForge projects. See Add ActionHub/ActionFlow to TeamForge projects.
-
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.