Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: ensure formula works across all platforms #23

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 22 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,34 +60,40 @@ jobs:
# the `platforms` defined in `kitchen.yml`
- env: INSTANCE=default-debian-10-master-py3
# - env: INSTANCE=default-ubuntu-1804-master-py3
# - env: INSTANCE=default-centos-8-master-py3
- env: INSTANCE=default-centos-8-master-py3
# - env: INSTANCE=default-fedora-31-master-py3
# - env: INSTANCE=default-opensuse-leap-151-master-py3
# - env: INSTANCE=default-amazonlinux-2-master-py3
# - env: INSTANCE=default-arch-base-latest-master-py2
# - env: INSTANCE=default-debian-10-3000-py3
- env: INSTANCE=default-ubuntu-1804-3000-py3
# - env: INSTANCE=default-centos-8-3000-py3
# - env: INSTANCE=default-fedora-31-3000-py3
- env: INSTANCE=default-opensuse-leap-151-3000-py3
- env: INSTANCE=default-amazonlinux-2-3000-py3
# - env: INSTANCE=default-arch-base-latest-3000-py2
# - env: INSTANCE=default-debian-10-2019-2-py3
# - env: INSTANCE=default-debian-9-2019-2-py3
- env: INSTANCE=default-ubuntu-1804-2019-2-py3
# - env: INSTANCE=default-ubuntu-1804-2019-2-py3
# - env: INSTANCE=default-ubuntu-1604-2019-2-py3
# - env: INSTANCE=default-centos-8-2019-2-py3
# - env: INSTANCE=default-fedora-31-2019-2-py3
- env: INSTANCE=default-opensuse-leap-151-2019-2-py3
# - env: INSTANCE=default-centos-7-2019-2-py2
# - env: INSTANCE=default-centos-7-2019-2-py3
- env: INSTANCE=default-fedora-31-2019-2-py3
# - env: INSTANCE=default-opensuse-leap-151-2019-2-py3
# - env: INSTANCE=default-amazonlinux-2-2019-2-py3
# - env: INSTANCE=default-ubuntu-1804-2019-2-py2
# - env: INSTANCE=default-amazonlinux-1-2019-2-py2
# - env: INSTANCE=default-arch-base-latest-2019-2-py2
- env: INSTANCE=default-fedora-30-2018-3-py3
# - env: INSTANCE=default-centos-7-2018-3-py3
# - env: INSTANCE=default-fedora-30-2018-3-py3
# - env: INSTANCE=default-debian-9-2018-3-py2
# - env: INSTANCE=default-debian-8-2018-3-py2
# - env: INSTANCE=default-ubuntu-1804-2018-3-py2
# - env: INSTANCE=default-ubuntu-1604-2018-3-py2
# - env: INSTANCE=default-centos-7-2018-3-py2
# - env: INSTANCE=default-centos-6-2018-3-py2
# - env: INSTANCE=default-opensuse-leap-151-2018-3-py2
- env: INSTANCE=default-amazonlinux-1-2018-3-py2
# - env: INSTANCE=default-arch-base-latest-2018-3-py2
# - env: INSTANCE=default-debian-8-2017-7-py2
# - env: INSTANCE=default-ubuntu-1604-2017-7-py2
- env: INSTANCE=default-centos-6-2017-7-py2
# - env: INSTANCE=default-fedora-30-2017-7-py2
# - env: INSTANCE=default-opensuse-leap-151-2017-7-py2
# - env: INSTANCE=default-amazonlinux-1-2017-7-py2
# - env: INSTANCE=default-arch-base-latest-2017-7-py2
# - env: INSTANCE=default-amazonlinux-1-2018-3-py2
- env: INSTANCE=default-arch-base-latest-2018-3-py2

## Define the release stage that runs `semantic-release`
- stage: 'release'
Expand Down
90 changes: 54 additions & 36 deletions kitchen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,35 @@ platforms:
image: netmanagers/salt-master-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd

## SALT `3000`
- name: debian-10-3000-py3
driver:
image: netmanagers/salt-3000-py3:debian-10
- name: ubuntu-1804-3000-py3
driver:
image: netmanagers/salt-3000-py3:ubuntu-18.04
- name: centos-8-3000-py3
driver:
image: netmanagers/salt-3000-py3:centos-8
- name: fedora-31-3000-py3
driver:
image: netmanagers/salt-3000-py3:fedora-31
- name: opensuse-leap-151-3000-py3
driver:
image: netmanagers/salt-3000-py3:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-3000-py3
driver:
image: netmanagers/salt-3000-py3:amazonlinux-2
- name: arch-base-latest-3000-py2
driver:
image: netmanagers/salt-3000-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd

## SALT `2019.2`
- name: debian-10-2019-2-py3
driver:
Expand All @@ -50,9 +79,15 @@ platforms:
- name: ubuntu-1804-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:ubuntu-18.04
- name: ubuntu-1604-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:ubuntu-16.04
- name: centos-8-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:centos-8
- name: centos-7-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:centos-7
- name: fedora-31-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:fedora-31
Expand All @@ -64,30 +99,44 @@ platforms:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: centos-7-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:centos-7
- name: amazonlinux-2-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:amazonlinux-2
- name: ubuntu-1804-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:ubuntu-18.04
- name: amazonlinux-1-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd

## SALT `2018.3`
- name: centos-7-2018-3-py3
driver:
image: netmanagers/salt-2018.3-py3:centos-7
- name: fedora-30-2018-3-py3
driver:
image: netmanagers/salt-2018.3-py3:fedora-30
- name: debian-9-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:debian-9
- name: debian-8-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:debian-8
- name: ubuntu-1804-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:ubuntu-18.04
- name: ubuntu-1604-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:ubuntu-16.04
- name: centos-7-2018-3-py2
- name: centos-6-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:centos-7
image: netmanagers/salt-2018.3-py2:centos-6
run_command: /sbin/init
- name: opensuse-leap-151-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:opensuse-leap-15.1
Expand All @@ -105,37 +154,6 @@ platforms:
image: netmanagers/salt-2018.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd

## SALT `2017.7`
- name: debian-8-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:debian-8
- name: ubuntu-1604-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:ubuntu-16.04
- name: centos-6-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:centos-6
run_command: /sbin/init
- name: fedora-30-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:fedora-30
- name: opensuse-leap-151-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-1-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd

provisioner:
name: salt_solo
log_level: debug
Expand Down
5 changes: 5 additions & 0 deletions timezone/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,13 @@
---
timezone:
name: Europe/Berlin
tz_UTC: Etc/UTC
utc: true
path_localtime: /etc/localtime
path_zoneinfo: /usr/share/zoneinfo/
pkg:
name: tzdata
dbus:
pkg: dbus
service: dbus
run_service: true
47 changes: 34 additions & 13 deletions timezone/init.sls
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,44 @@
{%- set tplroot = tpldir.split('/')[0] %}
{%- from tplroot ~ "/map.jinja" import timezone with context %}

timezone_setting:
timezone.system:
- name: {{ timezone.name }}
- utc: {{ timezone.utc }}

{%- if grains.os not in ('MacOS', 'Windows') %}

timezone_packages:
pkg.installed:
- name: {{ timezone.pkg.name }}

timezone_symlink:
{#- Work around bug in Salt for certain platforms where symlink isn't available #}
{%- if not salt['file.file_exists'](timezone.path_localtime) %}
file.symlink:
- name: {{ timezone.path_localtime }}
- target: {{ timezone.path_zoneinfo }}{{ timezone.name }}
- target: {{ timezone.path_zoneinfo }}{{ timezone.tz_UTC }}
- force: true
- require:
- pkg: {{ timezone.pkg.name }}
- require_in:
# Required for unattended installation of the timezone package
- pkg: timezone_packages
# Required for timezone comparison (symlink must be present for checking the current timezone)
- timezone: timezone_setting
{%- endif %}
pkg.installed:
- name: {{ timezone.pkg.name }}
- require_in:
# Required for timezone comparison (current and proposed)
- timezone: timezone_setting

dbus_for_timezone:
pkg.installed:
- name: {{ timezone.dbus.pkg }}
- require_in:
- timezone: timezone_setting
{%- if timezone.dbus.run_service %}
service.running:
- name: {{ timezone.dbus.service }}
- enable: true
- require:
- pkg: dbus_for_timezone
- require_in:
# `dbus` is required for running `timedatectl`
- timezone: timezone_setting
{%- endif %}
{%- endif %}

timezone_setting:
timezone.system:
- name: {{ timezone.name }}
- utc: {{ timezone.utc }}
22 changes: 20 additions & 2 deletions timezone/osfamilymap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,34 @@
# you will need to provide at least an empty dict in this file, e.g.
# osfamilymap: {}
---
Debian: {}

RedHat: {}

Suse:
pkg:
name: timezone
dbus:
pkg: dbus-1

Gentoo:
pkg:
name: sys-libs/timezone-data

Arch: {}

Alpine: {}

FreeBSD:
pkg:
name: zoneinfo

Gentoo:
OpenBSD:
pkg:
name: sys-libs/timezone-data
name: zoneinfo

Solaris: {}

Windows: {}

MacOS: {}
40 changes: 39 additions & 1 deletion timezone/osfingermap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,42 @@
# you will need to provide at least an empty dict in this file, e.g.
# osfingermap: {}
---
osfingermap: {}
# os: Debian
Debian-10: {}
Debian-9: {}
Debian-8: {}

# os: Ubuntu
Ubuntu-18.04: {}
Ubuntu-16.04:
dbus:
run_service: false

# os: Fedora
Fedora-31: {}
Fedora-30: {}

# os: CentOS
CentOS Linux-8: {}
CentOS Linux-7: {}
CentOS-6:
dbus:
run_service: false

# os: Amazon
Amazon Linux-2: {}
Amazon Linux AMI-2018:
dbus:
run_service: false

# os: SUSE
Leap-15: {}

# os: FreeBSD
FreeBSD-12: {}

# os: Windows
Windows-8.1: {}

# os: Gentoo
Gentoo-2: {}
22 changes: 21 additions & 1 deletion timezone/osmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,24 @@
# you will need to provide at least an empty dict in this file, e.g.
# osmap: {}
---
osmap: {}
# os_family: Debian
Ubuntu: {}
Raspbian: {}

# os_family: RedHat
Fedora: {}
CentOS: {}
Amazon: {}

# os_family: Suse
SUSE: {}
openSUSE: {}

# os_family: Gentoo
Funtoo: {}

# os_family: Arch
Manjaro: {}

# os_family: Solaris
SmartOS: {}