The infrastructure setup part contains the scripts to setup OpenDevstack. It uses Ansible for installing the Atlassian tools and the provisioning app (including Rundeck. Setting up an Ansible control host is beyond the scope of this document.
Each individual component is set-up using a seperate playbook. So you can decide which playbooks to run, depending on your current environment.
We have different playbooks depending on the environment in which you install the Atlassian tools and Rundeck.
The playbooks depend on roles. The roles provide variables for customization. The different variables can be looked up under each role at
Sets up a (local) PostgreSQL for use with Atlassian tools.
Sets up the required schemas for Atlassian tools
Sets up Atlassian Crowd as an Identity and SSO provider
Sets up Atlassian Bitbucket
Sets up Atlassian Jira
After basic setup of Crowd and Jira setup, enable SSO functionality.
Sets up Atlassian Confluence
After basic setup of Crowd and Confluence setup, enable SSO functionality.
Beside the basic playbooks, it might be required to run additional playbooks if you setup the Atlassian tools on AWS.
Takes care that login to crowd is possible by inserting the AWS LB IP addresses into the database tables.
The ansible role definitions are located in the ods-core repository at infrastructure-setup/ansible/roles
Note that there are two different types of roles:
roles starting with modified or local; these roles are modified by the OpenDevStack members and are maintained by them
all other roles, e.g geerlingguy.git, which are copied roles from ansible galaxy.
The roles from ansible galaxy are specified in the requirements.yml file. In order to migrate to a new version of the role, you need to
specify the version in the requirements.yml file
run ansible-galaxy install
Example: update geerlingguy.git to version 2.1.0
- src: geerlingguy.git version: 2.1.0
export ANSIBLE_VAULT_PASSWORD_FILE=/vagrant/ansible/.vault_pass.txt && ansible-galaxy install -r requirements.yml -p roles - andrewrothstein.openshift-origin-client-tools (v1.0.9) is already installed, skipping. - geerlingguy.nginx (2.6.2) is already installed, skipping. - geerlingguy.docker (2.0.4) is already installed, skipping. - downloading role 'git', owned by geerlingguy - downloading role from https://github.com/geerlingguy/ansible-role-git/archive/2.1.0.tar.gz - extracting geerlingguy.git to /vagrant/ansible/roles/geerlingguy.git - geerlingguy.git (2.1.0) was installed successfully