diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5c08e36 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tests/test.sh +*.retry diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a556242 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +--- +services: docker + +env: + - distro: centos7 + - distro: ubuntu1604 + +script: + # Download test shim. + - wget -O ${PWD}/tests/test.sh https://gist.githubusercontent.com/geerlingguy/73ef1e5ee45d8694570f334be385e181/raw/ + - chmod +x ${PWD}/tests/test.sh + + # Run tests. + - ${PWD}/tests/test.sh diff --git a/README.md b/README.md index 69b4185..5694f0d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Ansible Role: Apache Karaf +# Ansible Role: Apache Karaf [![Build Status](https://travis-ci.org/Islandora-Devops/ansible-role-karaf.svg?branch=master)](https://travis-ci.org/Islandora-Devops/ansible-role-karaf) An Ansible role that installs [Karaf](https://karaf.apache.org) in a Tomcat 8 servlet container on: @@ -90,4 +90,4 @@ karaf_systemd_template: karaf.service ## License -MIT \ No newline at end of file +MIT diff --git a/tasks/install.yml b/tasks/install.yml index 3e16d87..9a39af9 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -13,6 +13,12 @@ karaf_java_packages: "{{ __karaf_java_packages }}" when: karaf_java_packages is not defined +- name: Update apt cache + apt: + update_cache: yes + cache_valid_time: 600 + when: ansible_os_family == "Debian" + - name: Install Java packages package: name: "{{ karaf_java_packages|join(',') }}" diff --git a/tasks/main.yml b/tasks/main.yml index e2d0dbe..c83fc16 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -21,6 +21,13 @@ - karaf-logging - include: service.yml + become: yes + become_user: "{{ karaf_user }}" tags: - karaf - karaf-service + +- include: systemd.yml + tags: + - karaf + - karaf-systemd diff --git a/tasks/service.yml b/tasks/service.yml index e212eb4..7eb19dc 100644 --- a/tasks/service.yml +++ b/tasks/service.yml @@ -13,7 +13,6 @@ args: chdir: "{{ karaf_install_symlink }}/bin" creates: "{{ karaf_install_symlink }}/bin/karaf-wrapper" - become_user: "{{ karaf_user }}" register: karaf_service_install - name: Wait for Karaf to start @@ -25,14 +24,12 @@ command: ./client feature:install wrapper args: chdir: "{{ karaf_install_symlink }}/bin" - become_user: "{{ karaf_user }}" when: karaf_service_install.changed is defined and karaf_service_install.changed - name: Install wrapper command: ./client wrapper:install args: chdir: "{{ karaf_install_symlink }}/bin" - become_user: "{{ karaf_user }}" when: karaf_service_install.changed is defined and karaf_service_install.changed - name: Stop Karaf @@ -40,28 +37,4 @@ {{ karaf_install_symlink }}/bin/stop && sleep 1 args: chdir: "{{ karaf_install_symlink }}/bin" - become_user: "{{ karaf_user }}" when: karaf_service_install.changed is defined and karaf_service_install.changed - -- name: Copy templated Karaf definition - template: - src: "{{ karaf_systemd_template }}" - dest: "{{ karaf_install_symlink }}/bin/karaf.service" - owner: "{{ karaf_user }}" - group: "{{ karaf_user }}" - -- name: Install Karaf service in systemd - command: systemctl enable {{ karaf_install_symlink }}/bin/karaf.service - args: - creates: /etc/systemd/system/karaf - -- name: Start Karaf service - service: - name: karaf - state: started - register: karaf_start_karaf - -- name: Wait for Karaf to start - wait_for: - port: 8101 - when: karaf_start_karaf.changed diff --git a/tasks/systemd.yml b/tasks/systemd.yml new file mode 100644 index 0000000..d01a366 --- /dev/null +++ b/tasks/systemd.yml @@ -0,0 +1,24 @@ +--- + +- name: Copy templated Karaf definition + template: + src: "{{ karaf_systemd_template }}" + dest: "{{ karaf_install_symlink }}/bin/karaf.service" + owner: "{{ karaf_user }}" + group: "{{ karaf_user }}" + +- name: Install Karaf service in systemd + command: systemctl enable {{ karaf_install_symlink }}/bin/karaf.service + args: + creates: /etc/systemd/system/karaf + +- name: Start Karaf service + service: + name: karaf + state: started + register: karaf_start_karaf + +- name: Wait for Karaf to start + wait_for: + port: 8101 + when: karaf_start_karaf.changed diff --git a/tests/test.yml b/tests/test.yml new file mode 100644 index 0000000..3646ff4 --- /dev/null +++ b/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: all + + roles: + - role_under_test