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__):  | 
