This fix resolves an issue on EL6 systems where there may be multiple versions
of pycrypto installed. EPEL provides both `python-crypto` and
`python-crypto2.6`. These packages are co-installable. However, modules
importing the `Crypto` library must specify which version to use, otherwise the
default will be used.
This change follows the same pattern established in `bin/ansible` for
specifying python library requirements.
Since C.ANSIBLE_SSH_CONTROL_PATH use the old format
( "%{directory}" ), we need to use the % operator
and not the format method, at least for python 2.
- 5c64956a7 Set distribution, release, and version for NetBSD
- ec01e071d adjusted for the possibility of lsblk not existing
for fact gathering
- d4eddabb2 Patch for bug #10485 - ansible_distribution fact
populates as 'RedHat' on Oracle Linux systems
- 7813ffd71 Adding uptime_seconds fact for linux and darwin platforms
- 29cca0191 Adding oVirt recognition for oVirt guests.
- d0197195e Handle /etc/os-release files with 'Raspbian' in them
- 58a5f8dfa Pulls machine id in ansible facts
- 1968f9969 Wrong OS_FAMILY declaration for openSUSE
- 5dec45e24 Fix wrong distribution facts on SLES/openSUSE
and a few others
* Fixed file.close() typo in test_vault_editor
* Updated unicode.py to redefine basestring properly in python3 and fixed a couple missed py27 specific code.
* Realized the patch in test_data_loader was still failing cause we are passing the string 'builtins.open' and not actually using it in that file and soe instead of failing in py34 it would fail in py27.
Unfortunately, I wasn't able to fix a bug in the VaultAES in which during
the test_decrypt_1_0 and test_rekey_migration in which VaultAES wasn't successfully
writing the writing the encrypted key to out_file (BytesIO).
Added skipping vault_editor tests test_decrypt_1_0 and test_rekey_migration in python3
since I wasn't able to successfully backport VaultAES without weird bugs.
In mod_args we were checking `isinstance(thing, NoneType)` when
thing is None works the same since NoneType can't be subclassed in
python 2 or 3 and it removes the need for the NoneType import.
NOTES:
1. replaced unicode, str, etc with their six counterparts
2. isinstance(obj, basestring) -> isinstance(obj, (string_types, text_type))
3. I'm not entirely confident about the behaviour of __str__ and __unicode__ between versions
so that might require a bit more testing.