* htpasswd: fix passlib module version comparison (#20202)
Previously, we used StrictVersion which failed to parse some passlib
version strings. For example, Debian currently ship passlib with a
__version__ of '1.7.0.post20161128115349'
StrictVersion throws an exception when parsing this version string.
Change to using LooseVersion which successfully parses version strings
such as this.
Fixes#20199
(cherry picked from commit 0be0aa5f10)
* htpasswd: fix passlib module version comparison
Previously we were getting "Your password does not satisfy the current policy requirements"
Possibly caused by a software update on Fedora
(cherry picked from commit 7ee7fa7332)
Setting default values for FieldAttribute values created in the Base class
prevents the _get_parent_attribute() code from working correctly, as the value
is always non-None.
Related to #22924
(cherry picked from commit c5b8196ff1)
* Use AWSRetry decorator in ec2_asg
* Rebased on stable-2.3
Added tries, delay, and backoff
Adding throttling to the list of errors for AWSRetry
* Create custom retry class for ec2_asg while it still uses boto
* remove changes to ec2.py
* BotoServerError exception has error_code attribute
* add info to the changelog
Given parent include path "{{ var | default('path/file.yml') }}"
os.path.dirname(parent_include_path) yields {{ var | default('path/
which is incorrect in itself but also causes templating errors
due to unbalanced quotes. Fix both problems by templating
parent include path before finding its dirname.
In current stable (2.2), ansible galaxy install --force do erase
a role, even if the version is not set. This commit should restore
that specific behavior, in accordance to people reports:
https://github.com/ansible/ansible/issues/11266#issuecomment-273801480
It was also the behavior planned in the initial discussion:
"if you're not fixing versions in your roles file, then it's fine
to expect that the role will be reinstalled each time you run
ansible-galaxy install.", cf https://github.com/ansible/ansible/pull/12904
(cherry picked from commit 78836ec0b9)
If the temp directory creation failed in mkdtemp then temp_path is never
given a value. This would lead to a NameError exception which would
obfuscate the original error (out of disk space being a common one). By
catching NameError, python will raise the original exception as we want.
Fixes#17215
(cherry picked from commit 80c1765653)
* Fix proposal for bug 25151
* Fix proposal for bug 25151 - pip module, pyvenv validation
* Graceful fail when virtualenv_python is defined and virtualenv_command uses the venv module
* Making sure that venv is being used as a modue "-m venv"
* Updating syntax in validations
* Updating syntax in validations - fixing stupid typo "[)"
* Raising an error if virtualenv_command is pyvenv or venv and virtualenv_python is used
* trailing whitespace gone, pyvenv, venv validation and docs update
* cleaning whitespaces from blank lines
(cherry picked from commit bc4a8dbaa4)
In python3 `ConfigParser` has become `configparser`. Added
an import guard that aliases it back to the old name.
(cherry picked from commit bc9dbf38b0)
* Add support to fetch old style junos facts
Fixes#25050
Add support to fetch old style facts supported in Ansible <= 2.2
To fetch old style facts value `gather_subset` value shoule be `all`
and `junos-eznc` is required to be installed on control node as a
prerequisite.
* Remove unwanted import
(cherry picked from commit 85219dfdf3)
* Temporary work-around for setuptools 36.0.0 bug.
* Use older setuptools for pip integration test.
* Limit isort version to avoid new test failures.
(cherry picked from commit 9d8aa43c67)