debian: add ci and update meta

This patch adds the Debian jobs for this role to make sure
it's always passing as well as updates the meta to reflect
it's support of Debian accordingly.

It also clean-up an old variable which is carried for upgrades
that is no longer relevant now.

A new variable has been added to ensure pre-packages, which
have been generally assumed to be installed as a base OS
package, have been installed before installing the application
or configuring the system via the role.

Depends-On: I135ea73604890eae5e9e2a7cdcab81b2b39ad426
Change-Id: I19094b540aff81b7aa029880e404a2990f82e538
Signed-off-by: Kevin Carter <kevin@cloudnull.com>
This commit is contained in:
Mohammed Naser 2019-04-07 01:57:29 -04:00 committed by Jonathan Rosser
parent 5d217ffea6
commit b3c79f944b
6 changed files with 61 additions and 27 deletions

View File

@ -20,6 +20,9 @@ galaxy_info:
license: Apache2
min_ansible_version: 2.2
platforms:
- name: Debian
versions:
- stretch
- name: Ubuntu
versions:
- bionic

View File

@ -13,6 +13,22 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE(cloudnull):
# Any packages needed to be installed to support the system will
# be installed at this point, as a pre-task. This is done to
# ensure application and role assumptions are resolved on all of
# our supporting OS's up front.
- name: Install HAProxy Packages
package:
name: "{{ haproxy_distro_pre_packages }}"
state: "{{ haproxy_package_state }}"
update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}"
cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}"
register: install_pre_packages
until: install_pre_packages is success
retries: 5
delay: 2
# NOTE(cloudnull):
# While the haproxy distro packages provide for an haproxy
# group this group is being created upfront to support
@ -72,13 +88,4 @@
file:
path: "/etc/haproxy/conf.d"
state: directory
mode: "0755"
- name: Remove old config files
file:
path: "{{ item }}"
state: absent
with_items:
- "{{ haproxy_remove_files }}"
when:
- ansible_pkg_mgr == 'apt'
mode: "0755"

31
vars/debian.yml Normal file
View File

@ -0,0 +1,31 @@
---
# Copyright 2016, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
## APT Cache options
cache_timeout: 600
haproxy_distro_pre_packages:
- rsyslog # Used for local logging
haproxy_distro_packages:
- haproxy
- netcat # Used for the Ansible haproxy module
- psmisc
- vim-haproxy
# On Debian rsyslog runs as the "root" user, so have the
# HAProxy log directory be owned by the same user so that rsyslog can write
# HAProxy's logs to that directory.
haproxy_log_directory_owner: root

View File

@ -13,7 +13,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
haproxy_distro_pre_packages:
- rsyslog # Used for local logging
haproxy_distro_packages:
- haproxy
- nc # Used for the Ansible haproxy module
- rsyslog # Used for local logging

View File

@ -13,12 +13,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
haproxy_distro_pre_packages:
- rsyslog # Used for local logging
haproxy_distro_packages:
- apparmor-parser
- apparmor-profiles
- apparmor-utils
- haproxy
- netcat # Used for the Ansible haproxy module
- rsyslog # Used for local logging
haproxy_distro_packages_remove:
- systemd-logger # conflicts with rsyslog

View File

@ -16,27 +16,15 @@
## APT Cache options
cache_timeout: 600
haproxy_distro_pre_packages:
- rsyslog # Used for local logging
haproxy_distro_packages:
- haproxy
- netcat # Used for the Ansible haproxy module
- psmisc
- rsyslog # Used for local logging
- vim-haproxy
# This file list is to handle upgrades
# from previous versions where an apt
# pinning config file or repo config
# file was put in place to use a PPA
# for Newton/Trusty. Unfortunately
# some file config info was left in
# place long after Trusty support was
# removed, so the removal of these
# files is still necessary.
haproxy_remove_files:
- "/etc/apt/preferences.d/haproxy_pin.pref"
- "/etc/apt/sources.list.d/haproxy.list"
- "/etc/apt/sources.list.d/ppa_launchpad_net_vbernat_haproxy_1_5_ubuntu.list"
# On Ubuntu 16.04 and 18.04 rsyslog runs as the "syslog" user, so have the
# HAProxy log directory be owned by the same user so that rsyslog can write
# HAProxy's logs to that directory.