supervisorctl module: adding support for custom supervisord installations
Supervisord can be installed at the user level or system level. Installating as a user is particularly useful for systems without root access. Adds the ability to provide a custom supervisorctl executable path, supporting custom installations
This commit is contained in:
parent
6eec6f776e
commit
d05f21fc80
1 changed files with 19 additions and 1 deletions
|
@ -18,6 +18,7 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
|
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
import os
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = '''
|
||||||
---
|
---
|
||||||
|
@ -62,6 +63,14 @@ options:
|
||||||
required: true
|
required: true
|
||||||
default: null
|
default: null
|
||||||
choices: [ "present", "started", "stopped", "restarted" ]
|
choices: [ "present", "started", "stopped", "restarted" ]
|
||||||
|
supervisorctl_path:
|
||||||
|
description:
|
||||||
|
- Path to supervisorctl executable to use
|
||||||
|
required: false
|
||||||
|
default: null
|
||||||
|
version_added: "1.4"
|
||||||
|
requirements:
|
||||||
|
- supervisorctl
|
||||||
requirements: [ ]
|
requirements: [ ]
|
||||||
author: Matt Wright
|
author: Matt Wright
|
||||||
'''
|
'''
|
||||||
|
@ -85,6 +94,7 @@ def main():
|
||||||
server_url=dict(required=False),
|
server_url=dict(required=False),
|
||||||
username=dict(required=False),
|
username=dict(required=False),
|
||||||
password=dict(required=False),
|
password=dict(required=False),
|
||||||
|
supervisorctl_path=dict(required=False),
|
||||||
state=dict(required=True, choices=['present', 'started', 'restarted', 'stopped'])
|
state=dict(required=True, choices=['present', 'started', 'restarted', 'stopped'])
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -96,7 +106,15 @@ def main():
|
||||||
server_url = module.params.get('server_url')
|
server_url = module.params.get('server_url')
|
||||||
username = module.params.get('username')
|
username = module.params.get('username')
|
||||||
password = module.params.get('password')
|
password = module.params.get('password')
|
||||||
|
supervisorctl_path = module.params.get('supervisorctl_path')
|
||||||
|
|
||||||
|
if supervisorctl_path:
|
||||||
|
supervisorctl_path = os.path.expanduser(supervisorctl_path)
|
||||||
|
if os.path.exists(supervisorctl_path) and module.is_executable(supervisorctl_path):
|
||||||
|
supervisorctl_args = [ supervisorctl_path ]
|
||||||
|
else:
|
||||||
|
module.fail_json(msg="Provided path to supervisorctl does not exist or isn't executable: %s" % ctl_path)
|
||||||
|
else:
|
||||||
supervisorctl_args = [ module.get_bin_path('supervisorctl', True) ]
|
supervisorctl_args = [ module.get_bin_path('supervisorctl', True) ]
|
||||||
|
|
||||||
if config:
|
if config:
|
||||||
|
|
Loading…
Reference in a new issue