firewalld should fail nicely when service is stopped (#2871)

Ensure the HAVE_FIREWALLD checks check only for the
presence of the python dependencies, and not the age
of the library or the state of the service, which
are checked later.
pull/18777/head
Will Thames 8 years ago committed by Matt Clay
parent 7ce98f52cf
commit 3eeda4f844

@ -114,10 +114,7 @@ try:
from firewall.client import Rich_Rule
from firewall.client import FirewallClient
fw = FirewallClient()
if not fw.connected:
HAS_FIREWALLD = False
else:
HAS_FIREWALLD = True
HAS_FIREWALLD = True
except ImportError:
HAS_FIREWALLD = False
@ -358,6 +355,13 @@ def main():
## Pre-run version checking
if FW_VERSION < "0.2.11":
module.fail_json(msg='unsupported version of firewalld, requires >= 2.0.11')
## Check for firewalld running
try:
if fw.connected == False:
module.fail_json(msg='firewalld service must be running')
except AttributeError:
module.fail_json(msg="firewalld connection can't be established,\
installed version (%s) likely too old. Requires firewalld >= 2.0.11" % FW_VERSION)
## Global Vars
changed=False
@ -384,14 +388,6 @@ def main():
interface = module.params['interface']
masquerade = module.params['masquerade']
## Check for firewalld running
try:
if fw.connected == False:
module.fail_json(msg='firewalld service must be running')
except AttributeError:
module.fail_json(msg="firewalld connection can't be established,\
version likely too old. Requires firewalld >= 2.0.11")
modification_count = 0
if service != None:
modification_count += 1

Loading…
Cancel
Save