diff --git a/roles/product_base/defaults/main.yml b/roles/product_base/defaults/main.yml new file mode 100644 index 0000000..daab5f3 --- /dev/null +++ b/roles/product_base/defaults/main.yml @@ -0,0 +1,5 @@ +--- +java_version: "1.8.0" +java_major_version: "8" +postgres_version: "9.6" +git_version: "2.14.4" diff --git a/roles/product_base/molecule/default/molecule.yml b/roles/product_base/molecule/default/molecule.yml index 65faca2..c6a6d26 100644 --- a/roles/product_base/molecule/default/molecule.yml +++ b/roles/product_base/molecule/default/molecule.yml @@ -6,8 +6,10 @@ driver: lint: name: yamllint platforms: - - name: instance - image: centos:7 + - name: amazon_linux2 + image: amazonlinux:2 + - name: ubuntu_lts + image: ubuntu:bionic provisioner: name: ansible lint: diff --git a/roles/product_base/molecule/default/playbook.yml b/roles/product_base/molecule/default/playbook.yml index becadbf..874231e 100644 --- a/roles/product_base/molecule/default/playbook.yml +++ b/roles/product_base/molecule/default/playbook.yml @@ -6,4 +6,5 @@ atl_product_home: "/opt/atlassian/product" atl_installer_temp: "/opt/atlassian/temp" roles: + - role: linux_common - role: product_base diff --git a/roles/product_base/molecule/default/tests/test_default.py b/roles/product_base/molecule/default/tests/test_default.py index f7ecb48..8edad98 100644 --- a/roles/product_base/molecule/default/tests/test_default.py +++ b/roles/product_base/molecule/default/tests/test_default.py @@ -13,11 +13,19 @@ def test_user_created(host): @pytest.mark.parametrize('target', [ - '/opt/atlassian/product', - '/opt/atlassian/temp' + '/opt/atlassian/product', + '/opt/atlassian/temp' ]) def test_dirs_created(host, target): d = host.file(target) assert d.exists assert d.is_directory assert d.user == 'testuser' + +@pytest.mark.parametrize('target', [ + '/usr/bin/git', + '/usr/bin/psql', + '/usr/bin/javac' +]) +def test_package_exes(host, exe): + assert host.file(exe).exists diff --git a/roles/product_base/tasks/amazon.yml b/roles/product_base/tasks/amazon.yml new file mode 100644 index 0000000..747043c --- /dev/null +++ b/roles/product_base/tasks/amazon.yml @@ -0,0 +1,8 @@ +--- + +- name: Install Java and other base packages on Amazon Linux + yum: + name: + - java-{{ java_version }}-openjdk-devel + - git-{{ git_version }} + - postgresql diff --git a/roles/product_base/tasks/main.yml b/roles/product_base/tasks/main.yml index dd62a7e..130d3c7 100644 --- a/roles/product_base/tasks/main.yml +++ b/roles/product_base/tasks/main.yml @@ -1,5 +1,8 @@ --- +- name: Perform distro-specific tasks + include: "{{ ansible_distribution|lower }}.yml" + - name: Create product user user: name: "{{ atl_product_user }}" diff --git a/roles/product_base/tasks/ubuntu.yml b/roles/product_base/tasks/ubuntu.yml new file mode 100644 index 0000000..1fa8807 --- /dev/null +++ b/roles/product_base/tasks/ubuntu.yml @@ -0,0 +1,8 @@ +--- + +- name: Install Java and other base packages on Ubuntu + package: + name: + - openjdk-{{ java_major_version }}-jdk-headless + - postgresql-client + - git