diff options
-rwxr-xr-x | bin/ansible | 9 | ||||
-rw-r--r-- | lib/ansible/module_utils/basic.py | 12 |
2 files changed, 21 insertions, 0 deletions
diff --git a/bin/ansible b/bin/ansible index 3a2f03e64e..c3d9620115 100755 --- a/bin/ansible +++ b/bin/ansible @@ -41,6 +41,15 @@ from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError from ansible.module_utils._text import to_text +# Used for determining if the system is running a new enough python version +# and should only restrict on our documented minimum versions +_PY3_MIN = sys.version_info[:2] >= (3, 5) +_PY2_MIN = (2, 6) <= sys.version_info[:2] < (3,) +_PY_MIN = _PY3_MIN or _PY2_MIN +if not _PY_MIN: + raise SystemExit('ERROR: Ansible requires a minimum of Python2 version 2.6 or Python3 version 3.5. Current version: %s' % ''.join(sys.version.splitlines())) + + class LastResort(object): # OUTPUT OF LAST RESORT def display(self, msg, log_only=None): diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py index 47540ee543..c42c753b10 100644 --- a/lib/ansible/module_utils/basic.py +++ b/lib/ansible/module_utils/basic.py @@ -232,6 +232,18 @@ PERM_BITS = 0o7777 # file mode permission bits EXEC_PERM_BITS = 0o0111 # execute permission bits DEFAULT_PERM = 0o0666 # default file permission bits +# Used for determining if the system is running a new enough python version +# and should only restrict on our documented minimum versions +_PY3_MIN = sys.version_info[:2] >= (3, 5) +_PY2_MIN = (2, 6) <= sys.version_info[:2] < (3,) +_PY_MIN = _PY3_MIN or _PY2_MIN +if not _PY_MIN: + print( + '\n{"failed": true, ' + '"msg": "Ansible requires a minimum of Python2 version 2.6 or Python3 version 3.5. Current version: %s"}' % ''.join(sys.version.splitlines()) + ) + sys.exit(1) + def get_platform(): ''' what's the platform? example: Linux is a platform. ''' |