diff options
Diffstat (limited to 'callback_plugins')
-rw-r--r-- | callback_plugins/aa_version_requirement.py (renamed from callback_plugins/0_version_requirement.py) | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/callback_plugins/0_version_requirement.py b/callback_plugins/aa_version_requirement.py index 0c9c2cda9..1cca19a45 100644 --- a/callback_plugins/0_version_requirement.py +++ b/callback_plugins/aa_version_requirement.py @@ -1,42 +1,56 @@ #!/usr/bin/python +""" +This callback plugin verifies the required minimum version of Ansible +is installed for proper operation of the OpenShift Ansible Installer. +The plugin is named with leading `aa_` to ensure this plugin is loaded +first (alphanumerically) by Ansible. +""" import sys from ansible import __version__ if __version__ < '2.0': + # pylint: disable=import-error,no-name-in-module + # Disabled because pylint warns when Ansible v2 is installed from ansible.callbacks import display as pre2_display CallbackBase = object def display(*args, **kwargs): + """Set up display function for pre Ansible v2""" pre2_display(*args, **kwargs) else: from ansible.plugins.callback import CallbackBase from ansible.utils.display import Display def display(*args, **kwargs): + """Set up display function for Ansible v2""" 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 +REQUIRED_VERSION = '2.2.0.0' +DESCRIPTION = "Supported versions: %s or newer" % REQUIRED_VERSION def version_requirement(version): - return version >= required_version + """Test for minimum required 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 + Ansible callback plugin """ CALLBACK_VERSION = 1.0 CALLBACK_NAME = 'version_requirement' def __init__(self): + """ + Version verification is performed in __init__ to catch the + requirement early in the execution of Ansible and fail gracefully + """ super(CallbackModule, self).__init__() if not version_requirement(__version__): |