blob: 0c9c2cda9098049b82a35bcb7919501085026632 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#!/usr/bin/python
import sys
from ansible import __version__
if __version__ < '2.0':
from ansible.callbacks import display as pre2_display
CallbackBase = object
def display(*args, **kwargs):
pre2_display(*args, **kwargs)
else:
from ansible.plugins.callback import CallbackBase
from ansible.utils.display import Display
def display(*args, **kwargs):
display_instance = Display()
display_instance.display(*args, **kwargs)
# Set to minimum required Ansible version
required_version = '2.2.0.0'
DESCRIPTION = "Supported versions: %s or newer" % required_version
def version_requirement(version):
return version >= required_version
class CallbackModule(CallbackBase):
"""
This callback module stops playbook execution if the Ansible
version is less than required, defined by required_version
"""
CALLBACK_VERSION = 1.0
CALLBACK_NAME = 'version_requirement'
def __init__(self):
super(CallbackModule, self).__init__()
if not version_requirement(__version__):
display(
'FATAL: Current Ansible version (%s) is not supported. %s'
% (__version__, DESCRIPTION), color='red')
sys.exit(1)
|