From f4224fcebe32c65bdcb26198ebc6a48d9290bab8 Mon Sep 17 00:00:00 2001 From: N Date: Fri, 20 Sep 2019 12:59:43 +0100 Subject: [PATCH] fix(clean): fix clean states --- .travis.yml | 4 +-- iscsi/initiator/config/clean.sls | 8 +++--- iscsi/initiator/package/clean.sls | 5 ++++ iscsi/initiator/service/clean.sls | 9 ++++--- iscsi/initiator/service/install.sls | 11 +++++++- iscsi/isns/config/clean.sls | 7 ++--- iscsi/isns/package/clean.sls | 5 ++++ iscsi/isns/service/clean.sls | 2 +- iscsi/isns/service/install.sls | 5 ++++ iscsi/target/config/clean.sls | 8 +++--- iscsi/target/package/clean.sls | 5 ++++ iscsi/target/service/clean.sls | 9 ++++--- iscsi/target/service/install.sls | 7 +++++ kitchen.yml | 40 +++++++++++++++++++++++++++-- 14 files changed, 102 insertions(+), 23 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2863dc5d..2d141888 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,7 @@ env: - INSTANCE: default-debian-10-develop-py3 # - INSTANCE: default-ubuntu-1804-develop-py3 # - INSTANCE: default-centos-7-develop-py3 - # - INSTANCE: default-fedora-30-develop-py3 + - INSTANCE: default-fedora-30-develop-py3 # - INSTANCE: default-opensuse-leap-15-develop-py3 # - INSTANCE: default-amazonlinux-2-develop-py2 # - INSTANCE: default-debian-9-2019-2-py3 @@ -33,7 +33,7 @@ env: # INSTANCE: default-amazonlinux-2-2019-2-py2 # - INSTANCE: default-debian-9-2018-3-py2 # - INSTANCE: default-ubuntu-1604-2018-3-py2 - - INSTANCE: default-centos-7-2018-3-py2 + # INSTANCE: default-centos-7-2018-3-py2 # INSTANCE: default-fedora-29-2018-3-py2 - INSTANCE: default-opensuse-leap-15-2018-3-py2 - INSTANCE: default-amazonlinux-2-2018-3-py2 diff --git a/iscsi/initiator/config/clean.sls b/iscsi/initiator/config/clean.sls index 2690f9ff..d728f33f 100644 --- a/iscsi/initiator/config/clean.sls +++ b/iscsi/initiator/config/clean.sls @@ -3,14 +3,14 @@ {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} -{%- set sls_service_clean = tplroot ~ '.initator.service.clean' %} +{%- set sls_package_clean = tplroot ~ '.initiator.package.clean' %} {%- from tplroot ~ "/map.jinja" import iscsi with context %} include: - - {{ sls_service_clean }} + - {{ sls_package_clean }} iscsi-initiator-config-clean-file-absent: file.absent: - - name: {{ iscsi.config.name['initiator'] }} + - name: {{ iscsi.config.name[iscsi.initiator.provider|string] }} - watch_in: - - sls: {{ sls_service_clean }} + - sls: {{ sls_package_clean }} diff --git a/iscsi/initiator/package/clean.sls b/iscsi/initiator/package/clean.sls index 05e2afe6..63b7f0e0 100644 --- a/iscsi/initiator/package/clean.sls +++ b/iscsi/initiator/package/clean.sls @@ -4,17 +4,22 @@ {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} {%- set sls_config_clean = tplroot ~ '.initiator.config.clean' %} +{%- set sls_service_clean = tplroot ~ '.initiator.service.clean' %} {%- from tplroot ~ "/map.jinja" import iscsi with context %} include: - {{ sls_config_clean }} + - {{ sls_service_clean }} {%- for pkg in [iscsi.initiator.pkgs.wanted, iscsi.initiator.pkgs.unwanted] %} + {%- if pkg %} iscsi-initiator-package-clean-{{ pkg }}-removed: pkg.purged: - name: {{ pkg }} - require: - sls: {{ sls_config_clean }} + - sls: {{ sls_service_clean }} + {%- endif %} {% endfor %} diff --git a/iscsi/initiator/service/clean.sls b/iscsi/initiator/service/clean.sls index 213e8045..6f6ad7cf 100644 --- a/iscsi/initiator/service/clean.sls +++ b/iscsi/initiator/service/clean.sls @@ -9,17 +9,20 @@ include: - {{ sls_config_clean }} -iscsi-initiator-service-clean-service-dead +iscsi-initiator-service-clean-service-dead: service.dead: - name: {{ iscsi.config.servicename[iscsi.initiator.provider] }} - enable: False - require_in: - sls: {{ sls_config_clean }} -iscsi-initiator-service-install-file-line-freebsd: + {%- if grains.os_family == 'FreeBSD' %} + +iscsi-initiator-service-clean-file-line-freebsd: file.line: - - onlyif: {{ grains.os_family == 'FreeBSD' }} - name: {{ iscsi.config.name.modprobe }} - content: 'ctld_env="-u"' - mode: delete - backup: True + + {%- endif %} diff --git a/iscsi/initiator/service/install.sls b/iscsi/initiator/service/install.sls index 9f8154f4..cd01c61d 100644 --- a/iscsi/initiator/service/install.sls +++ b/iscsi/initiator/service/install.sls @@ -9,7 +9,7 @@ include: - {{ sls_config_install }} - {%- if grains.os_family == 'FreeBSD' %} + {%- if grains.os_family in ('FreeBSD',) %} iscsi-initiator-service-install-file-line-freebsd: file.line: @@ -17,6 +17,7 @@ iscsi-initiator-service-install-file-line-freebsd: - content: 'ctld_env="-u"' - backup: True {%- if iscsi.initiator.enabled %} + - create: True - mode: ensure - after: 'autoboot_delay.*' {%- else %} @@ -55,3 +56,11 @@ iscsi-initiator-service-install-failure-explanation: * your kernel was upgraded but not activated by reboot 'systemctl enable {{ servicename }}' && reboot - unless: {{ grains.os_family in ('MacOS', 'Windows') }} #maybe not needed but no harm + cmd.run: + - names: + - journalctl -xe -u {{ servicename }} || true + - systemctl status {{ servicename }} -l || true + - /sbin/lsmod 2>/dev/null || true + - ls /var/lib/iscsi/nodes 2>/dev/null || true + - ls /sys/class/iscsi_session 2>/dev/null || true + - onlyif: test -x /usr/bin/systemctl || test -x /bin/systemctl || test -x /sbin/systemctl diff --git a/iscsi/isns/config/clean.sls b/iscsi/isns/config/clean.sls index 1ecb3121..1991e036 100644 --- a/iscsi/isns/config/clean.sls +++ b/iscsi/isns/config/clean.sls @@ -3,17 +3,17 @@ {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} -{%- set sls_service_clean = tplroot ~ '.isns.service.clean' %} +{%- set sls_package_clean = tplroot ~ '.isns.package.clean' %} {%- from tplroot ~ "/map.jinja" import iscsi with context %} include: - - {{ sls_service_clean }} + - {{ sls_package_clean }} iscsi-isns-config-clean-file-absent: file.absent: - name: {{ iscsi.config.name[iscsi.isns.provider] }} - watch_in: - - sls: {{ sls_service_clean }} + - sls: {{ sls_package_clean }} {%- if 'isnsadm' in iscsi.config.name and iscsi.config.name['isnsadm'] %} iscsi-isns-config-clean-file-absent-isnsadm: @@ -26,3 +26,4 @@ iscsi-isns-config-clean-file-absent-isnsdd: file.absent: - name: {{ iscsi.config.name['isnsdd'] }} {%- endif %} + diff --git a/iscsi/isns/package/clean.sls b/iscsi/isns/package/clean.sls index a10fbf67..bd22b64c 100644 --- a/iscsi/isns/package/clean.sls +++ b/iscsi/isns/package/clean.sls @@ -4,17 +4,22 @@ {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} {%- set sls_config_clean = tplroot ~ '.isns.config.clean' %} +{%- set sls_service_clean = tplroot ~ '.isns.service.clean' %} {%- from tplroot ~ "/map.jinja" import iscsi with context %} include: - {{ sls_config_clean }} + - {{ sls_service_clean }} {%- for pkg in [iscsi.isns.pkgs.wanted, iscsi.isns.pkgs.unwanted] %} + {%- if pkg %} iscsi-isns-package-clean-{{ pkg }}-removed: pkg.purged: - name: {{ pkg }} - require: - sls: {{ sls_config_clean }} + - sls: {{ sls_service_clean }} + {%- endif %} {% endfor %} diff --git a/iscsi/isns/service/clean.sls b/iscsi/isns/service/clean.sls index 1cb1af29..9c968d1e 100644 --- a/iscsi/isns/service/clean.sls +++ b/iscsi/isns/service/clean.sls @@ -9,7 +9,7 @@ include: - {{ sls_config_clean }} -iscsi-isns-service-clean-service-dead +iscsi-isns-service-clean-service-dead: service.dead: - name: {{ iscsi.config.servicename[iscsi.isns.provider] }} - enable: False diff --git a/iscsi/isns/service/install.sls b/iscsi/isns/service/install.sls index 0fb27628..1c2d5ed3 100644 --- a/iscsi/isns/service/install.sls +++ b/iscsi/isns/service/install.sls @@ -46,3 +46,8 @@ iscsi-isns-service-install-failure-explanation: * your kernel was upgraded but not activated by reboot 'systemctl enable {{ servicename }}' && reboot - unless: {{ grains.os_family in ('MacOS', 'Windows') }} #maybe not needed but no harm + cmd.run: + - names: + - journalctl -xe -u {{ servicename }} || true + - systemctl status {{ servicename }} -l || true + - onlyif: test -x /usr/bin/systemctl || test -x /bin/systemctl || test -x /sbin/systemctl diff --git a/iscsi/target/config/clean.sls b/iscsi/target/config/clean.sls index 5c034ab8..252171f8 100644 --- a/iscsi/target/config/clean.sls +++ b/iscsi/target/config/clean.sls @@ -3,15 +3,15 @@ {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} -{%- set sls_service_clean = tplroot ~ '.target.service.clean' %} +{%- set sls_package_clean = tplroot ~ '.target.package.clean' %} {%- from tplroot ~ "/map.jinja" import iscsi with context %} include: - - {{ sls_service_clean }} + - {{ sls_package_clean }} iscsi-target-config-clean-file-absent: file.absent: - unless: {{ grains.os in ('Amazon', 'MacOS') }} - - name: {{ iscsi.config.name['target'] }} + - name: {{ iscsi.config.name[iscsi.target.provider|string] }} - watch_in: - - sls: {{ sls_service_clean }} + - sls: {{ sls_package_clean }} diff --git a/iscsi/target/package/clean.sls b/iscsi/target/package/clean.sls index c5cdd65c..c660b279 100644 --- a/iscsi/target/package/clean.sls +++ b/iscsi/target/package/clean.sls @@ -4,17 +4,22 @@ {#- Get the `tplroot` from `tpldir` #} {%- set tplroot = tpldir.split('/')[0] %} {%- set sls_config_clean = tplroot ~ '.target.config.clean' %} +{%- set sls_service_clean = tplroot ~ '.target.service.clean' %} {%- from tplroot ~ "/map.jinja" import iscsi with context %} include: - {{ sls_config_clean }} + - {{ sls_service_clean }} {%- for pkg in [iscsi.target.pkgs.wanted, iscsi.target.pkgs.unwanted] %} + {%- if pkg %} iscsi-target-package-clean-{{ pkg }}-removed: pkg.purged: - name: {{ pkg }} - require: - sls: {{ sls_config_clean }} + - sls: {{ sls_service_clean }} + {%- endif %} {% endfor %} diff --git a/iscsi/target/service/clean.sls b/iscsi/target/service/clean.sls index c00fc1b9..70e92304 100644 --- a/iscsi/target/service/clean.sls +++ b/iscsi/target/service/clean.sls @@ -9,7 +9,7 @@ include: - {{ sls_config_clean }} -iscsi-target-service-clean-service-dead +iscsi-target-service-clean-service-dead: service.dead: - unless: {{ grains.os in ('Amazon', 'MacOS') }} - name: {{ iscsi.config.servicename[iscsi.target.provider] }} @@ -17,10 +17,13 @@ iscsi-target-service-clean-service-dead - require_in: - sls: {{ sls_config_clean }} -iscsi-target-service-install-file-line-freebsd: + {%- if grains.os_family == 'FreeBSD' %} + +iscsi-target-service-clean-file-line-freebsd: file.line: - - onlyif: {{ grains.os_family == 'FreeBSD' }} - name: {{ iscsi.config.name.modprobe }} - content: 'ctld_env="-u"' - mode: delete - backup: True + + {%- endif %} diff --git a/iscsi/target/service/install.sls b/iscsi/target/service/install.sls index bd68fea3..8ea57ea5 100644 --- a/iscsi/target/service/install.sls +++ b/iscsi/target/service/install.sls @@ -16,6 +16,7 @@ iscsi-target-service-install-file-line-freebsd: - content: 'ctld_env="-u"' - backup: True {%- if iscsi.target.enabled %} + - create: True - mode: ensure - after: 'autoboot_delay.*' {%- else %} @@ -55,3 +56,9 @@ iscsi-target-service-install-failure-explanation: * your kernel was upgraded but not activated by reboot 'systemctl enable {{ servicename }}' && reboot - unless: {{ grains.os_family in ('MacOS', 'Windows') }} #maybe not needed but no harm + cmd.run: + - names: + - journalctl -xe -u {{ servicename }} || true + - systemctl status {{ servicename }} -l || true + - /sbin/lsmod 2>/dev/null || true + - onlyif: test -x /usr/bin/systemctl || test -x /bin/systemctl || test -x /sbin/systemctl diff --git a/kitchen.yml b/kitchen.yml index 80dd4122..4b9c74de 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -177,12 +177,49 @@ suites: inspec_tests: - path: test/integration/default - - name: centos + - name: centos7 excludes: - default-debian-10-develop-py3 - default-ubuntu-1804-2019-2-py3 - default-opensuse-leap-15-2018-3-py2 - default-amazonlinux-2-2018-3-py2 + - default-centos-6-2017-7-py2 + - default-fedora-30-develop-py3 + provisioner: + dependencies: + - name: lvm + repo: git + source: https://github.com/saltstack-formulas/lvm-formula.git + state_top: + base: + '*': + - lvm.install + - lvm.files.create + - lvm.pv.create + - iscsi.initiator.clean + - iscsi.target.clean + - iscsi.isns + - iscsi.target + - iscsi.initiator + pillars: + top.sls: + base: + '*': + - iscsi + pillars_from_files: + iscsi.sls: test/integration/default/pillar.example.loopdevs-4-7 + verifier: + inspec_tests: + - path: test/integration/default + + - name: centos6 + excludes: + - default-debian-10-develop-py3 + - default-ubuntu-1804-2019-2-py3 + - default-opensuse-leap-15-2018-3-py2 + - default-amazonlinux-2-2018-3-py2 + - default-centos-7-2019-2-py3 + - default-fedora-30-develop-py3 provisioner: dependencies: - name: lvm @@ -196,7 +233,6 @@ suites: - lvm.pv.create - iscsi.initiator.clean - iscsi.target.clean - # iscsi.isns #Travis fails with "Service isns is enabled, and is dead" - iscsi.target - iscsi.initiator pillars: