Commit Graph

21411 Commits (62697ad77f35bd15b472d98defe79e8010aa1882)
 

Author SHA1 Message Date
Adrian Likins dd0189839e Fix bug (#18355) where encrypted inventories fail 18355 (#18373)
* Fix bug (#18355) where encrypted inventories fail

This is first part of fix for #18355
* Make DataLoader._get_file_contents return bytes

The issue #18355 is caused by a change to inventory to
stop using _get_file_contents so that it can handle text
encoding itself to better protect against harmless text
encoding errors in ini files (invalid unicode text in
comment fields).

So this makes _get_file_contents return bytes so it and other
callers can handle the to_text().

The data returned by _get_file_contents() is now a bytes object
instead of a text object. The callers of _get_file_contents() have
been updated to call to_text() themselves on the results.

Previously, the ini parser attempted to work around
ini files that potentially include non-vailid unicode
in comment lines. To do this, it stopped using
DataLoader._get_file_contents() which does the decryption of
files if vault encrypted. It didn't use that because _get_file_contents
previously did to_text() on the read data itself.

_get_file_contents() returns a bytestring now, so ini.py
can call it and still special case ini file comments when
converting to_text(). That also means encrypted inventory files
are decrypted first.

Fixes #18355
8 years ago
Michael Scherer 5aaf1d1a15 On python 3.5, sys.subversion have been removed
So to get the type of the python interpreter, we need to look at
sys.implementation.name which do not return 'cpython', instead of 'CPython',
but that's upstream breakage, so not much we can do.
8 years ago
scottb fcada3e889 Merge pull request #17201 from trondhindenes/windows_module_docs
Windows module docs
8 years ago
Trond Hindenes 5d75cd1b5e Merge branch 'windows_module_docs' of https://github.com/trondhindenes/ansible into windows_module_docs 8 years ago
Trond Hindenes 986d88c6ff bugfix text 8 years ago
Trond Hindenes e9a2f099f8 bugfix text 8 years ago
Brian Coca bec9ebbf30 added docs for new arg 8 years ago
Brian Coca 8217c1c39c resolve inventory path on init
This allows meta refresh_inventory to work with relative paths
Added option to unfrackpath to not resolv symlinks
fixes #16857
8 years ago
Tom Melendez 28dc527b2c Basic integration test for gce_tag. (#17928) 8 years ago
Toshio Kuratomi ed134d81f1 Limit how much of the file we read to test if it's an encrypted vault file
Fixes memory errors reported in #16391
8 years ago
James Cammarata 7c049b16c7 Adding ansible_release dir created by release to .gitignore 8 years ago
James Cammarata 3cdb9b228a Updating release versions for release playbook 8 years ago
Matt Clay 1238a4c0c9 Run validate-modules with python 2 only.
This allows validate-modules to run in an environment where
python 3 is the default. This will no longer be necessary once
validate-modules is updated to work with both python 2 and 3.
8 years ago
Michael Scherer 57b8acccec Add support for network alias on NetBSD
While testing on netbsd 6.0, ansible setup failed with:

    Traceback (most recent call last):
      File \"/tmp/ansible_m2ieeq/ansible_module_setup.py\", line 134, in <module>
        main()
      File \"/tmp/ansible_m2ieeq/ansible_module_setup.py\", line 126, in main
        data = get_all_facts(module)
      File \"/tmp/ansible_m2ieeq/ansible_modlib.zip/ansible/module_utils/facts.py\", line 3609, in get_all_facts
      File \"/tmp/ansible_m2ieeq/ansible_modlib.zip/ansible/module_utils/facts.py\", line 3552, in ansible_facts
      File \"/tmp/ansible_m2ieeq/ansible_modlib.zip/ansible/module_utils/facts.py\", line 2500, in populate
      File \"/tmp/ansible_m2ieeq/ansible_modlib.zip/ansible/module_utils/facts.py\", line 2584, in get_interfaces_info
      File \"/tmp/ansible_m2ieeq/ansible_modlib.zip/ansible/module_utils/facts.py\", line 2644, in parse_inet_line
    socket.error: illegal IP address string passed to inet_aton

The cause is having aliases on lo like this:

     lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33184
         inet 127.0.0.1 netmask 0xff000000
         inet alias 127.1.1.1 netmask 0xff000000

So if the address is 'alias', we have to skip it.
8 years ago
Jasper Lievisse Adriaanse c17dad0def Rework how OpenBSD processor facts are resolved 8 years ago
scottb 2131eaba0c Merge pull request #18350 from Shaps/ssh_cp_dir_option_docs
Docs for control_path_dir option
8 years ago
Matt Clay bb3801bafd Cleanup and fixes for code smell scripts.
- Fix shellcheck issues.
- Add .tox exclusions.
8 years ago
James Tanner 2d43b20eb9 Update submodule refs 8 years ago
Toshio Kuratomi a3ba96c512 Fix setup.py install.
In setuptools prior to 21.2.1, package_data can't directly reference
a directory.  Modify the entry for galaxy data so that it includes the
files but not the directories

Fixes #18231
8 years ago
Matt Clay 88dbb5a630 Python 3 fixes for ansible-doc. 8 years ago
Andrea Tartaglia b18263cf36 ANSIBLE_SSH_CONTROL_PATH_DIR option added (#18342)
* ANSIBLE_SSH_CONTROL_PATH_DIR option added

This removes the hardcoded value ( $HOME/.ansible/cp ) from ssh.py.
User is able to change the ControlPath directory ( the one that replaces %(directory)s ).

 Fixes #18325

* Added config option in ansible.cfg
8 years ago
Jasper Lievisse Adriaanse 9547d6b422 Detect vmm virtualization for OpenBSD, both host and guest. 8 years ago
Andrea Tartaglia e70561540c Docs for control_path_dir option 8 years ago
Matt Clay 469c4a106b Fix and create code-smell test for line endings. 8 years ago
Matt Clay 66a0b1475f Update submodule refs. 8 years ago
Tony Kinsley 73da2663a3 Resolves #18312 python3 support for ec2.py 8 years ago
Robin Roth 6ca6a9a291 Exclude floppy disks from lsblk call for uuids
Fixes #18326
8 years ago
James Cammarata 7ff9942ec6 Correctly reassign implicit block parents when an include is involved 8 years ago
Brian Coca 32a7b4ce71 only validate extensions when using dir loading
fixes #18223
8 years ago
James Cammarata d12475c98b Correctly assign parent when squashing adjacent implict Blocks
Related to: #18315
Related to: #18206
Related to: #17810
8 years ago
James Cammarata 9646569172 Updating release versions 8 years ago
Matt Clay 368a837481 Update submodule refs. 8 years ago
Toshio Kuratomi b8321c74c8 Fix indentation of multiline descriptions 8 years ago
Toshio Kuratomi 03f85441a1 Add openbsd version-release facts change to changelog 8 years ago
Jasper Lievisse Adriaanse 4c0188a27b On OpenBSD, swap the values for distribution_version and distribution_release 8 years ago
Matt Clay 0d46805979 Clean up shebangs for various files.
- Remove shebangs from:
  - ini files
  - unit tests
  - module_utils
  - plugins
  - module_docs_fragments
  - non-executable Makefiles
- Change non-modules from '/usr/bin/python' to '/usr/bin/env python'.
- Change '/bin/env' to '/usr/bin/env'.

Also removed main functions from unit tests (since they no longer
have a shebang) and fixed a python 3 compatibility issue with
update_bundled.py so it does not need to specify a python 2 shebang.

A script was added to check for unexpected shebangs in files.
This script is run during CI on Shippable.
8 years ago
Gonéri Le Bouder 702ac436dc drop duplicated section from CHANGELOG
This 2.1.2 section from the changelog was duplicated.

78a02555e5 was coming from extra 2.1.2 information but the section
was already here since 94a0d2afb4.
8 years ago
Toshio Kuratomi 1ff92e28f9 Update submodule refs to get accurate archive doc 8 years ago
Patrick Uiterwijk 77af3a68de Fix adding the same trusted certificates multiple times (#18296)
If there is an intermittent network failure, we might be trying to reach
an URL multiple times. Without this patch, we would be re-adding the same
certificate to the OpenSSL default context multiple times.
Normally, this is no big issue, as OpenSSL will just silently ignore them,
after registering the error in its own error stack.
However, when python-cryptography initializes, it verifies that the current
error stack of the default OpenSSL context is empty, which it no longer is
due to us adding the certificates multiple times.
This results in cryptography throwing an Unknown OpenSSL Error with details:

OpenSSLErrorWithText(code=185057381L, lib=11, func=124, reason=101,
reason_text='error:0B07C065:x509 certificate routines:X509_STORE_add_cert:cert already in hash table'),

Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
8 years ago
Sébastien BARTHÉLÉMY a4c11ee231 add missing newline in ansible_play_batch doc 8 years ago
Matt Clay 275d5f85ec Update submodule refs. 8 years ago
jctanner cb872415d1 set galaxy unit test server to None (#18298)
Prevents connections to the internet in isolated environments such as koji+mock

Fixes #18297
8 years ago
Samuel Boucher 911a602c79 Update syslog_json.py
Add SYSLOG_FACILITY environment variable to set syslog facility
8 years ago
Daniel b7e6ace4ee Add timeout option for nxapi (#18074)
* Changes to be committed:
	modified:   lib/ansible/module_utils/nxos.py
    - added configurable timeout to module paramaters
	modified:   lib/ansible/utils/module_docs_fragments/nxos.py
    - added documentation for timeout

* Changes to be committed:
    modified:   ansible/module_utils/nxos.py
    - added timeout option for nxapi transport and added documentation
    - option works with CLI or NXAPI transport

*  Changes to be committed:
	modified:   lib/ansible/utils/module_docs_fragments/nxos.py
    - Changed per comments in PR 18074

*  Changes to be committed:
	modified:   lib/ansible/module_utils/nxos.py
    - added try/except block to test for timeout

* Changes to be committed:
modified:   lib/ansible/module_utils/nxos.py
 - tweaked timeout
8 years ago
Milan Thapa 2de3a5d849 improving readme on dynamic inventory for ec2.ini options
few lines to avoid these noise: https://github.com/ansible/ansible/issues/10840
8 years ago
jctanner 333f6d447b aix network facts: Separate out the uname call to reduce total calls (#18288)
* aix network facts: Separate out the uname call to reduce total calls
* Remove duplicate check

Fixes #11289
8 years ago
Brian Coca c16a88cac4 keep list as list in synopsis 8 years ago
Jasper Lievisse Adriaanse 88970bcfb2 Implement basic DMI facts for OpenBSD 8 years ago
Adrian Likins 309f54b709 Fix 'vault rekey' with vault secret env var
if ANSIBLE_VAULT_PASSWORD_FILE is set, 'ansible-vault rekey myvault.yml'
will fail to prompt for the new vault password file, and will use
None.

Fix is to split out 'ask_vault_passwords' into 'ask_vault_passwords'
and 'ask_new_vault_passwords' to make the logic simpler. And then
make sure new_vault_pass is always set for 'rekey', and if not, then
call ask_new_vault_passwords() to set it.

ask_vault_passwords() would return values for vault_pass and new
vault_pass, and vault cli previously would not prompt for new_vault_pass
if there was a vault_pass set via a vault password file.

Fixes #18247
8 years ago
Toshio Kuratomi 557f46658c Update submodule refs 8 years ago