From 53c0b080e89ec2dc2fd5358fb3f6f40f1eb19703 Mon Sep 17 00:00:00 2001 From: Adrien Waksberg Date: Sat, 16 Feb 2019 19:00:14 +0100 Subject: [PATCH] feat: add support of centos 7 --- .kitchen.yml | 7 +++++++ CHANGELOG.md | 1 + README.md | 1 + meta/main.yml | 3 +++ tasks/agent.yml | 4 +--- tasks/backend-dependencies-debian.yml | 5 +++++ tasks/backend-dependencies-redhat.yml | 19 +++++++++++++++++++ tasks/backend.yml | 5 +++-- tasks/main.yml | 2 +- .../{repository.yml => repository-debian.yml} | 1 + tasks/repository-redhat.yml | 13 +++++++++++++ .../default/serverspec/default_spec.rb | 3 --- 12 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 tasks/backend-dependencies-debian.yml create mode 100644 tasks/backend-dependencies-redhat.yml rename tasks/{repository.yml => repository-debian.yml} (96%) create mode 100644 tasks/repository-redhat.yml diff --git a/.kitchen.yml b/.kitchen.yml index 792e136..184558a 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -40,6 +40,13 @@ platforms: volume: - /sys/fs/cgroup:/sys/fs/cgroup:ro security_opt: seccomp=unconfined + - name: centos7 + driver_config: + image: "nishiki/centos7:ansible-<%= ENV['ANSIBLE_VERSION'] ? ENV['ANSIBLE_VERSION'] : '2.7' %>" + command: /usr/sbin/init + volume: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + security_opt: seccomp=unconfined suites: - name: default diff --git a/CHANGELOG.md b/CHANGELOG.md index b6bd172..934558f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). Which is based on [Keep A Changelog](http://keepachangelog.com/) ## [Unreleased] +- feat: add support of centos 7 - feat: add support of ubuntu 16.04 - feat: add support of ubuntu 18.04 - feat: add multiple namespaces for the checks, filters, handlers or assets diff --git a/README.md b/README.md index c3366be..9085f06 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ Install and configure sensu-go backend and agent * Debian Stretch * Ubuntu 18.04 * Ubuntu 16.04 + * Centos 7 ## Role variables ### General diff --git a/meta/main.yml b/meta/main.yml index af5a609..5c2018e 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -15,6 +15,9 @@ galaxy_info: versions: - xenial - cosmic + - name: centos + versions: + - 7 galaxy_tags: - sensu diff --git a/tasks/agent.yml b/tasks/agent.yml index 29aad07..33b865b 100644 --- a/tasks/agent.yml +++ b/tasks/agent.yml @@ -1,13 +1,11 @@ --- - name: install sensu-agent packages - apt: + package: name: '{{ packages }}' vars: packages: - sensu-go-agent - sensu-plugins-ruby - - build-essential - - monitoring-plugins-basic register: result retries: 3 delay: 1 diff --git a/tasks/backend-dependencies-debian.yml b/tasks/backend-dependencies-debian.yml new file mode 100644 index 0000000..004693c --- /dev/null +++ b/tasks/backend-dependencies-debian.yml @@ -0,0 +1,5 @@ +--- +- name: install backend dependencies + apt: + name: python-requests + tags: sensu diff --git a/tasks/backend-dependencies-redhat.yml b/tasks/backend-dependencies-redhat.yml new file mode 100644 index 0000000..38ef415 --- /dev/null +++ b/tasks/backend-dependencies-redhat.yml @@ -0,0 +1,19 @@ +--- +- name: uninstall bad dependencies + yum: + name: '{{ packages }}' + state: absent + vars: + packages: + - python-urllib3 + - python-requests + tags: sensu + +- name: install backend dependencies + pip: + name: '{{ packages }}' + vars: + packages: + - urllib3 + - requests + tags: sensu diff --git a/tasks/backend.yml b/tasks/backend.yml index 8d57af0..3e3c477 100644 --- a/tasks/backend.yml +++ b/tasks/backend.yml @@ -1,12 +1,13 @@ --- +- include_tasks: 'backend-dependencies-{{ ansible_os_family|lower }}.yml' + - name: install sensu-backend packages - apt: + package: name: '{{ packages }}' vars: packages: - sensu-go-backend - sensu-go-cli - - python-requests register: result retries: 3 delay: 1 diff --git a/tasks/main.yml b/tasks/main.yml index ec35f0e..965a269 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,5 +1,5 @@ --- -- import_tasks: repository.yml +- include_tasks: 'repository-{{ ansible_os_family|lower }}.yml' - import_tasks: agent.yml when: sensu_agent diff --git a/tasks/repository.yml b/tasks/repository-debian.yml similarity index 96% rename from tasks/repository.yml rename to tasks/repository-debian.yml index 210c8b7..93962b7 100644 --- a/tasks/repository.yml +++ b/tasks/repository-debian.yml @@ -8,6 +8,7 @@ - ca-certificates - gnupg2 - software-properties-common + - build-essential register: result retries: 3 delay: 1 diff --git a/tasks/repository-redhat.yml b/tasks/repository-redhat.yml new file mode 100644 index 0000000..1411cd4 --- /dev/null +++ b/tasks/repository-redhat.yml @@ -0,0 +1,13 @@ +--- +- name: add sensu repository + yum_repository: + name: sensu-{{ item }} + description: Sensu {{ item }} repository + gpgkey: 'https://packagecloud.io/sensu/{{ item }}/gpgkey' + gpgcheck: false + repo_gpgcheck: true + baseurl: 'https://packagecloud.io/sensu/{{ item }}/el/$releasever/$basearch' + loop: + - stable + - community + tags: sensu diff --git a/test/integration/default/serverspec/default_spec.rb b/test/integration/default/serverspec/default_spec.rb index 2e962ef..a897ea1 100644 --- a/test/integration/default/serverspec/default_spec.rb +++ b/test/integration/default/serverspec/default_spec.rb @@ -11,9 +11,6 @@ puts '================================' sensu-go-agent sensu-go-cli sensu-go-backend - build-essential - monitoring-plugins-basic - python-requests ].each do |package| describe package(package) do it { should be_installed }