예제 #1
0
 def version_info(gitinfo=False):
     ''' return full ansible version info '''
     if gitinfo:
         # expensive call, user with care
         ansible_version_string = opt_help.version()
     else:
         ansible_version_string = __version__
     ansible_version = ansible_version_string.split()[0]
     ansible_versions = ansible_version.split('.')
     for counter in range(len(ansible_versions)):
         if ansible_versions[counter] == "":
             ansible_versions[counter] = 0
         try:
             ansible_versions[counter] = int(ansible_versions[counter])
         except Exception:
             pass
     if len(ansible_versions) < 3:
         for counter in range(len(ansible_versions), 3):
             ansible_versions.append(0)
     return {
         'string': ansible_version_string.strip(),
         'full': ansible_version,
         'major': ansible_versions[0],
         'minor': ansible_versions[1],
         'revision': ansible_versions[2]
     }
예제 #2
0
    def run(self):
        """Run the ansible command

        Subclasses must implement this method.  It does the actual work of
        running an Ansible command.
        """
        self.parse()

        display.vv(to_text(opt_help.version(self.parser.prog)))

        if C.CONFIG_FILE:
            display.v(u"Using %s as config file" % to_text(C.CONFIG_FILE))
        else:
            display.v(u"No config file found; using defaults")

        # warn about deprecated config options
        for deprecated in C.config.DEPRECATED:
            name = deprecated[0]
            why = deprecated[1]['why']
            if 'alternatives' in deprecated[1]:
                alt = ', use %s instead' % deprecated[1]['alternatives']
            else:
                alt = ''
            ver = deprecated[1].get('version')
            date = deprecated[1].get('date')
            collection_name = deprecated[1].get('collection_name')
            display.deprecated("%s option, %s%s" % (name, why, alt),
                               version=ver,
                               date=date,
                               collection_name=collection_name)
예제 #3
0
def test_version():
    ver = opt_help.version('ansible-cli-test')
    assert 'ansible-cli-test' in ver
    assert 'python version' in ver
예제 #4
0
import sys

import pytest

from ansible import constants as C
from ansible.cli.arguments import option_helpers as opt_help
from ansible import __path__ as ansible_path
from ansible.release import __version__ as ansible_version

if C.DEFAULT_MODULE_PATH is None:
    cpath = u'Default w/o overrides'
else:
    cpath = C.DEFAULT_MODULE_PATH

FAKE_PROG = u'ansible-cli-test'
VERSION_OUTPUT = opt_help.version(prog=FAKE_PROG)


@pytest.mark.parametrize('must_have', [
    FAKE_PROG + u' [core %s]' % ansible_version,
    u'config file = %s' % C.CONFIG_FILE,
    u'configured module search path = %s' % cpath,
    u'ansible python module location = %s' % ':'.join(ansible_path),
    u'ansible collection location = %s' % ':'.join(C.COLLECTIONS_PATHS),
    u'executable location = ',
    u'python version = %s' % ''.join(sys.version.splitlines()),
])
def test_option_helper_version(must_have):
    assert must_have in VERSION_OUTPUT