Ver código fonte

Merge pull request #143 from danragnar/fix/fedora

Add fedora as OS
Jared 7 anos atrás
pai
commit
9ab303d7ba

+ 1 - 0
.travis.yml

@@ -7,6 +7,7 @@ env:
   - distro: ubuntu1604
   - distro: debian8
   - distro: debian9
+  - distro: fedora27
 before_install:
   - 'docker pull geerlingguy/docker-${distro}-ansible:latest'
 script:

+ 8 - 0
CHANGELOG.md

@@ -5,6 +5,14 @@ This project adheres to [Semantic Versioning](http://semver.org/)
 The format is based on [Keep a Changelog](http://keepachangelog.com/).
 
 ## [Unreleased]
+### Added
+- Fedora support. Tested in the wild on Fedora 25 as a client and Fedora 27 on the test suite as both master and client.
+    - `tasks/Fedora/redis.yml`, `tasks/Fedora/rabbit.yml`: Based on CentOS equivalents but with dnf module instead of yum
+    - `tasks/Fedora/main.yml`, `tasks/Fedora/dashboard.yml`: links to Centos files
+    - `vars/Fedora.yml`: vars for Fedora
+
+### Changed
+- `tasks/CentOS/dashboard.yml`, `tasks/CentOS/main.yml`: Use generic package module to support Fedora
 
 ## [2.1.0]
 ### Fixed

+ 2 - 2
tasks/CentOS/dashboard.yml

@@ -5,13 +5,13 @@
   - include_vars: "{{ ansible_distribution }}.yml"
 
   - name: Ensure Uchiwa is installed
-    yum:
+    package:
       name: uchiwa
       state: present
     when: not se_enterprise
 
   - name: Ensure Sensu Enterprise Dashboard is installed
-    yum:
+    package:
       name: "{{ sensu_enterprise_dashboard_package }}"
       state: present
     when: se_enterprise

+ 2 - 2
tasks/CentOS/main.yml

@@ -55,12 +55,12 @@
     when: se_enterprise
 
   - name: Ensure Sensu is installed
-    yum:
+    package:
       name: "{{sensu_package }}-{{sensu_pkg_version}}"
       state: "{{ sensu_pkg_state }}"
 
   - name: Ensure Sensu Enterprise is installed
-    yum:
+    package:
       name={{ sensu_enterprise_package }}
       state={{ sensu_pkg_state }}
     when: se_enterprise

+ 1 - 0
tasks/Fedora/dashboard.yml

@@ -0,0 +1 @@
+../CentOS/dashboard.yml

+ 1 - 0
tasks/Fedora/main.yml

@@ -0,0 +1 @@
+../CentOS/main.yml

+ 34 - 0
tasks/Fedora/rabbit.yml

@@ -0,0 +1,34 @@
+---
+# tasks/Fedora/rabbit.yml: Deploy RabbitMQ
+# Specific to Fedora
+
+  - include_vars: "{{ ansible_distribution }}.yml"
+
+  - name: Add RabbitMQ's repo
+    yum_repository:
+      name: rabbitmq
+      description: rabbitmq
+      baseurl: "https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7"
+      gpgcheck: yes
+      gpgkey: https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
+      repo_gpgcheck: no
+
+  - name: Add RabbitMQ's Erlang repo
+    yum_repository:
+      name: rabbitmq-erlang
+      description: rabbitmq-erlang
+      baseurl: "https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/7"
+      gpgcheck: yes
+      gpgkey: https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
+      repo_gpgcheck: no
+
+  - name: Ensure Erlang & RabbitMQ are installed
+    dnf:
+      name:
+        - erlang
+        - rabbitmq-server
+      state: present
+      enablerepo: rabbitmq,rabbitmq-erlang
+
+
+

+ 16 - 0
tasks/Fedora/redis.yml

@@ -0,0 +1,16 @@
+---
+# tasks/Fedora/redis.yml: Deploy redis
+# Specific to Fedora
+
+  - include_vars: "{{ ansible_distribution }}.yml"
+
+  - name: Ensure redis is installed
+    dnf:
+      name: "{{ redis_pkg_name }}"
+      state: "{{ redis_pkg_state }}"
+
+  - name: Ensure redis binds to accessible IP
+    lineinfile:
+      dest: /etc/redis.conf
+      regexp: '^bind'
+      line: 'bind 0.0.0.0'

+ 9 - 0
vars/Fedora.yml

@@ -0,0 +1,9 @@
+---
+# vars/Fedora.yml: Variables for Fedora
+# Defaults are defined in defaults/main.yml
+
+# Sensu/Uchiwa user/group/service properties
+_sensu_pkg_version: '1.2.1'
+
+#RH/Centos 7 version works for Fedora 25 as a client
+sensu_yum_repo_url: "https://sensu.global.ssl.fastly.net/yum/7/$basearch/"