From dd7648277fa45f102c4dd30bde90bd44ecb8a553 Mon Sep 17 00:00:00 2001 From: stephane Date: Mon, 21 Mar 2016 17:59:26 -0700 Subject: [PATCH] ironic-agent postinst fails on systemd with no iptables Where the base install for the image uses systemd but the iptables service is not present, the postinstall script for the ironic-agent element can fail. This is due to 'systemctl disable iptables.service' returning an error status when the service isn't present. Check whether the service is enabled using 'systemctl list-unit-files'. Change-Id: I8069b062a27caead4097747d7aeae24a5262e117 --- elements/ironic-agent/post-install.d/80-ironic-agent | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/elements/ironic-agent/post-install.d/80-ironic-agent b/elements/ironic-agent/post-install.d/80-ironic-agent index 999a3d8cd..f1be57f99 100755 --- a/elements/ironic-agent/post-install.d/80-ironic-agent +++ b/elements/ironic-agent/post-install.d/80-ironic-agent @@ -17,7 +17,9 @@ case "$DIB_INIT_SYSTEM" in fi ;; systemd) - systemctl disable iptables.service + if [[ $(systemctl --no-pager list-unit-files iptables) =~ 'enabled' ]]; then + systemctl disable iptables.service + fi systemctl enable $(svc-map ironic-python-agent).service ;; sysv)