Commit Graph

8418 Commits (8b60fb71810f7545316b7cbbf7753e9f598f41d2)

Author SHA1 Message Date
Brian Coca 5d16410518 corrected comparisson which had accidentally chaned in previous fixes 8 years ago
Brian Coca 9de01b8e10 better handling of deprecated aliases 8 years ago
Brian Coca f91859c817 make sure 'present' is fully equivalente of 'installed' and remove installed from feedback in favoer of 'present' 8 years ago
James Martin dd46f7275f asg will now be terminated if state=absent.
adds mutually exclusive options
8 years ago
James Cammarata e9fbb5f1b6 Serialize tag attributes to ASG properties in ec2_asg
Fixes #108
8 years ago
James Martin f59a1348ad Removes orphaned code. 8 years ago
James Martin 17cd9d18b0 fixes #240, #274, #108 8 years ago
Brian Coca ba040784b8 let implied type do the spliting 8 years ago
Brian Coca 7d577e4447 minor fixes to wait_for to avoid tracebacks as per ansible core issue #9244 8 years ago
Jeff Geerling 5d103793ee Add mention of fetch module to the copy module docs. 8 years ago
Brian Coca c071d6a85c switched to iterator as per comments 8 years ago
James Cammarata a32a50568e Use new prompt detection in run_command to detect aptitude prompts
Also adds flags to aptitude command when force=yes is used, in order
to bypass the prompts given for untrusted packages.

Fixes #31
8 years ago
Martijn P. Rijkeboer fcf527557d Fix whitespace around '=' in sysctl.conf. 8 years ago
José Moreira 82450c6811 Fixed small typo on ec2 task name 8 years ago
Francois Deppierraz 9620346c36 Fix a typo in nova_compute documentation string
Without this patch, ansible-doc was failing this way:

$ ansible-doc nova_compute
Traceback (most recent call last):
  File "/home/francois/WORK/dev/ansible/bin/ansible-doc", line 324, in <module>
    main()
  File "/home/francois/WORK/dev/ansible/bin/ansible-doc", line 316, in main
    text += get_man_text(doc)
  File "/home/francois/WORK/dev/ansible/bin/ansible-doc", line 112, in get_man_text
    desc = " ".join(opt['description'])
KeyError: 'description'
8 years ago
Brian Coca a91b5fc170 made hostname work with python 2.4 8 years ago
Fwiffo 64e07acb19 typo in comments: of -> or 8 years ago
Toshio Kuratomi 34d65647bf Move from md5 to sha1 to work on FIPS-140 enabled systems 8 years ago
Michael DeHaan 98fdc389d0 Deprecate docker_image, use the docker module to deploy docker images, or shell out to docker to call docker build if you want from a playbook. 8 years ago
Brian Coca a091d8c59a added missing init.py for utilities modules 8 years ago
Brian Coca 5a467bc72c added __init__.py to new cloud subcategories so builds work again 8 years ago
Michael DeHaan d31ac79269 Move internal category to utilities to remove one more category from the left hand menu, keeping it concise. 8 years ago
Michael DeHaan 677ed39cb4 Renames. 8 years ago
Michael DeHaan 5d814d9fb2 Some more module categorization. 8 years ago
Brian Coca 32e85c0944 made subcategories for cloud modules for better organization 8 years ago
James Cammarata bb9433f198 Fail in ec2 if exact_count is specified without using count_tag
Fixes ansible/ansible#9431
8 years ago
Toshio Kuratomi dfd4433fba Fix git module handling of the recursive flag
Fixes: #169
8 years ago
Toshio Kuratomi 5fc463eee7 Update desctiprion, parameter name, and default value as discussed in #55 8 years ago
Lorin Hochstein 5c06bb6dca ec2_snapshot: document wait, wait_timeout params
Document the wait and wait_timeout params for ec2_snapshot.

This is important because snapshots can take a long time to complete,
and the module defaults to wait=yes.
8 years ago
Ashish Ranjan 57ce7b1ea1 fields in /proc/net/tcp* are not always delimited by single space 8 years ago
Adam Chainz dddc5ffd2c Update syntax for cloudformation example 8 years ago
Jaanus Torp 7be83dc844 Fixed really annoying omission in the example without the task would complete without errors or warnings but delete all egress rules 8 years ago
Toshio Kuratomi 1429507489 Fix for systemd service scripts with newlines
Fixes #127
8 years ago
CptLausebaer a572f85d43 correct requirement of parameter dest
The parameter "dest:" is required, but it is documented as "required: false".
8 years ago
Toshio Kuratomi bcc058249c Use original_basename to set the dest path even if src is not set 8 years ago
Tim Gerla 26698246c3 Fix a typo of a function call 8 years ago
Richard Glew dac24deeb4 Fixed bug #193 where parameter name was set incorrectly 8 years ago
Jorge Bastida d82bfcb75f Initialize create_changed and replace_changed 8 years ago
Sapan Bhatia d492544714 Added user, tenant and password to module parameters declaration -- these parameters are already handled by the implementation 8 years ago
Ted Timmons 6e900744f2 fix spelling 8 years ago
James Cammarata dd2807ef3c Strip newlines off k=v pairs in command/shell argument parsing
Fixes ansible/ansible#9272
8 years ago
Lorin Hochstein 06218fe7d2 apt_key: add keyserver example to docs 8 years ago
Jon Hadfield f63ad7894e Remove redundant check for creates argument. 8 years ago
Tadej Janež 9a845a03f4 Simplified condition in a stat module example testing if path is a directory. 8 years ago
James Cammarata 429ab56e14 Adding file doc fragment to those modules in files/ missing it 8 years ago
Joe Adams 6eda3cbee7 Added note to files/synchronize module about synchronizing two directories on the same host 8 years ago
Tongliang Liu 59477d2e9a Added support of returning owner's group name in stat module 8 years ago
anatoly techtonik 90091b1277 files.stat: Expose path in returned result
This is needed to apply subsequent operation on tested path
8 years ago
Matt Martz cce5b600c0 Don't count DELETED servers when adding new servers 8 years ago
Matt Martz 6a6faeb506 Fix determination if a few configurations change in the launch config 8 years ago
Matt Martz e905162571 Ensure that files is the right type, and that we send the formatted personality var 8 years ago
Matt Martz 591ba934c3 Support config_drive and user_data in rax_scaling_group 8 years ago
Eric Hanchrow e4ac716663 Tweak docs to mention `replace` 8 years ago
Major Hayden e3449b6691 Updating SELinux example doc in lininefile module
Encouraging users to use this Ansible module to enable SELinux seems
like a better idea. It also warms Dan Walsh's heart.

Signed-off-by: Major Hayden <major@mhtx.net>
8 years ago
Chad Nelson 20706f5f4d Chnge option name to track_submodule_branches.
Update documentation to reflect what the actual effect of the option.
8 years ago
Chad Nelson 5f30157a05 Give option on how git tracks submodules.
Allows user to decide if git submodule should track branches/tags or track commit hashes defined in the superproject.

Add track_branches parameter to the git module.

Defaults to track branches behavior.
8 years ago
Michael DeHaan 11b0ce5c32 Update README.md 8 years ago
Michael DeHaan c7e9139a1b Fix filename error. 8 years ago
Michael DeHaan ef2a2b9093 package files 8 years ago
Michael DeHaan 213e518165 file extensions! 8 years ago
Michael DeHaan c7eec45b73 Restructuring. 8 years ago
Michael DeHaan 87a9034751 Core/extras split WIP. 8 years ago
Michael DeHaan e5b3cb3b02 Core/Extras splitting WIP. 8 years ago
Michael DeHaan b2bf4b9bf7 Not core. 8 years ago
Michael DeHaan 42ab1eab36 Fix typo in README filename 8 years ago
James Cammarata cd42f73662 Moving snapshot of modules back from core 8 years ago
James Cammarata 9c67f6dcdc removed core and extras submodules 8 years ago
James Cammarata 1a4484be61 Submodule ref update 8 years ago
Toshio Kuratomi 36f29148a3 Update submodule refs 8 years ago
Matt Clay 6611845716 Update submodule refs. 8 years ago
Peter Sprygada dc23667cc2 add back reverted change to network_cli (#18761)
This adds back the change to the network_cli plugin.  Ths change adds
the ensure_connect decorator to the open_shell() method to make sure
the connection is valid before trying to open a shell.

The issue was due to the addition of the decorator that will call
_connect() when there is no connection.  The _connect() method should
have been mocked in the test case.  This commit fixes the test
case as well

Change was originally reverted in c414ded69a
8 years ago
Toshio Kuratomi 117b88cd38 smart quotes, die die die. 8 years ago
Toshio Kuratomi 9f94414095 Fix indentation 8 years ago
Toshio Kuratomi 32ffa87732 Add docstring explaining whatw Attribute does 8 years ago
Toshio Kuratomi 868b20d982 Document the get_config function 8 years ago
Ondra Machacek f1812b0f15 module_utils: ovirt: Add support to fetch nested object's attributes (#18666)
* module_utils: ovirt: Add support to fetch nested object's attributes

This patch fixes issue #3555

* Update documentation
8 years ago
Toshio Kuratomi c414ded69a Revert "minor updates to network_cli connection plugin (#18742)"
This reverts commit 8e375913b0.

This breaks testing as the PlayContext is not mocked out for the test.
Temporarily reverting.
8 years ago
Toshio Kuratomi 5f5ea06ca4 make hash_params more robust in the face of many corner cases (#18701)
* make hash_params more robust in the face of many corner cases

Fixes #18680
Alternative fix to #18681

* add test case for role.hash_params

* Add role.hash_params test for more types

A set, a generator/iterable, and a Container that
is not Iterable.
8 years ago
Peter Sprygada 8e375913b0 minor updates to network_cli connection plugin (#18742)
* removes superfluous timeout kwargs from open_shell()
* cleans up play_context become check
* adds check for ssh session and calls _connect() if needed
8 years ago
Ruslan Tumarkin 9d8fc7afce Fux bug 18584 (#18718) 8 years ago
Matthew Krupcale cb4153c285 FreeIPA module polymorphic restructuring, Python 3 support, and small fixes. (#18542)
* Moved JSON-RPC client IPAClient class to ansible.module_utils.ipa, which is extended by all ipa modules
* IPAClient: Changed to 2-clause BSD license
* IPAClient (lines 37-39): Added some additional imports for use with Python 3
* IPAClient (line 41): Explicitly extend Python base object
* IPAClient (line 57): Properly URL quoted the username/password form data as per https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
* IPAClient (line 62): Data should be bytes or bytearray in Python 3 (still str in Python 2)
* IPAClient (line 65): Print error message, not returned body
* IPAClient (line 70): getheader() is not present in Python 3 version of HTTPMessage; get() is present in both Python 2/3
* IPAClient (line 88): Convert form data to bytes for Python 3 again
* IPAClient (line 91): Print error message, not returned body
* IPAClient (line 96-104): json.loads() requires a string; HTTPResponse.read() returns bytes in Python 3 and str in Python 2, so decode the bytes/string using the HTTPResponse returned charset (default to 'latin-1')
* Add author/copyright notice
8 years ago
Peter Sprygada 8e562018ed adds py3 compat changes to network_cli plugin (#18735)
now calculates StringIO receive buffer and if received data is less than
buffer size, resets offset to 0
8 years ago
Dag Wieers b52159163b Add RHEV host detection support (#17177)
* Add RHEV host detection support

This adds RHEV host detection support based on a running 'vdsm' process and the existence of _/rhev/_ (which are both part of the vdsm RPM package in a RHEV installation). Without this change, a RHEV host would be reported as a kvm host (which is also true, but often not specific enough).

This closes #17058

* Only scan the process list when we determined /rhev/ exists

Small performance improvement, so we do not have to scan the process list if /rhev/ does not exist.
8 years ago
gl0bus d5eff47fcc Extend OpenStack related hypervisor detection (#15166)
* fixed detection of ansible_virtualization_(role|path) facts for VM's running in
OpenStack Instances

* NOTE: this will break detection of ansible_virtualization_(role|path) facts
        if you are using Openstack Instaces with nested virtualization

* fixed detection of ansible_virtualization_(role|path) facts for VM's running in
OpenStack Instances

Fixes #15165

* NOTE: this will break detection of ansible_virtualization_(role|path) facts
        if you are using Openstack Instaces with nested virtualization
8 years ago
Michael Scherer 435dfc2b9c Add a bit more information for network facts on BSD
This was tested on FreeBSD 11, NetBSD 7 and OpenBSD 6.0
This currently detect ether, loopback and tunnel.
8 years ago
Yann Autissier c048198567 fix setup module on Fedora Core 5 (#17175)
setup module fails with AttributeError: 'module' object has no attribute
'selinux_getpolicytype' in get_selinux_facts on Fedora Core 5
8 years ago
Jesse Keating 8e38f7475f Do not set docker use to None. (#18706)
The user variable defaults to None, and was being passed in as a user
named None. This was breaking rsync unless a specific user was set.

Fixes 16306
8 years ago
Chris Houseknecht 599e016315 For container enabled role, display warning only when not ANSIBLE_CONTAINER (#18717) 8 years ago
Toshio Kuratomi 8c03fec67a Remove method that isn't used here. (#18713)
We have two copies of this function and only the one in cli is used.
8 years ago
Toshio Kuratomi 74a10d7ca2 Transform vault_pass into text when we read it in from the user or a file. (#18699)
Fixes #18684
8 years ago
Toshio Kuratomi 0d9afa84d5 ssh-keyscan can fail to find keys for a host.
When it does, we need to fail otherwise other code will fail later.

Fixes #18676
8 years ago
Benoît Allard 56dcf2cc04 with_sequence: pass AnsibleError through
The parsing methods try as hard as possible to generate meaningful error messages that are all ignored and immediately overwritten by a new AnsibleError instance. Better use the original one instead.
8 years ago
Benoît Allard 7db4ed02ee with_sequence: Fix indentation
This doesn't need to run for every parameters. Once is enough.
8 years ago
Alberto Murillo 7542dae26b Fix fetching files with scp (#18673)
Commit ec2521f intended to fix the scp command to fetch files
from a remote machine but it has src and dest swapped.

This change correctly treats src as the location in the remote machine
and dest as the location in the local machine.

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
8 years ago
Peter Sprygada 8137c7207d adds feature to try to auto determine network_os (#18674)
This updates the network_cli connection plugin to attempt to automatically
determine the remote device os.  The device network os discovery can
be overridden by setting the ansible_network_os value.
8 years ago
Peter Sprygada 6fe9a5e40c functional updates to ansible-connection (#18574)
* sends the serialized play_context into an already established connection
* hooks the alarm_handler() method in the connection plugin if it exists
* added configuration options for connect interval and retries
* adds syslog logging to Server() instance

This update will send the updated play_context back into an already
established connection in case privilege escalation / descalation activities
need to be performed.  This change will also hook the alarm_handler() method
in the connection instance (if available) and call it in case of a
sigalarm raised.

This update adds two new configuration options

* PERSISTENT_CONNECT_INTERVAL - time to wait in between connection attempts
* PERSISTENT_CONNECT_RETRIES - max number of retries
8 years ago
Yannig 900b3ffcba Implement docker support for synchronize module. (#18145)
* Implement docker support for synchronize module.

Note : you need rsync installation on your docker container.
Have a look at https://github.com/ansible/ansible/issues/16306 for more details.
Support Ansible options for remote access.

* Give user name to docker command.
8 years ago
Matt Davis d95eac16eb bump submodule refs 8 years ago
Brian Coca 461dcf8ce3 log on target based on nolog, not verbosity (#18570)
* log on target based on nolog, not verbosity

fies #18569

* initialize module name

removing verbosity exposed missing name at certain stages, initialize to file name
and update later once module args are parsed
8 years ago
Virgil Dupras bf48383610 Fix regression in jinja2 include search path (#18617)
* Fix regression in jinja2 include search path

Since commit 3c39bb5, the 'ansible_search_path' variable is used to set
jinja2's search path for {% include %} directives. However, this path is
the the proper one because our templates live in 'templates' subdirs in
our search path.

This is a regression because previously, our include search path would
include the dirname of the currently interpreted file, which worked most
of the time.

fixes #18526

* Fix template lookup search path

Improve fix in commit c96c853 so that the search path contain both
template-suffixed paths as well as original paths.

ref PR #18617

* Add integration test for template lookups

Tests regression at #18526

This test fails on current devel branch and succeeds on PR #18617
8 years ago
James Cammarata 786ac0ea3d Submodule update 8 years ago
Brian Coca ca1514cf2a unified boolean function
optimized boolean function
fixes #17815
8 years ago
Adrian Likins 83676e9b40 Fix 'cancled' misspelling in --step debug 8 years ago
Toshio Kuratomi 3c6d71522e Fix for AnsiballZ when the remote clock is behind (#18660)
Some machines have system clocks which can fall behind (for instance,
a host without a CMOS battery like Raspberry Pi).  When managing those
machines we have to workaround the fact that the zip format does not
handle file timestamps before 1980.  The workaround is to substitute in
the timestamp from the controller instead of from the managed machine.

Fixes #18640
8 years ago
Daniel Miranda 57f4a9885e Make sure include_role inherit variables from parent role (#18627)
* Make sure include_role inherit variables from parent role

Setting the parent of task blocks generated by include_role after they
have been produced is not sufficient - it means the tasks don't have the
correct dependency chain set afterwards, and therefore, don't properly
inherit variables from outer roles.

In addition to manually setting the parents, pass the dep_chain when
compiling the role, such that variables are correctly imported.

Fixes #18540.

* Add tests for include_role

* Fix include_role variable inheritance for multiple parent levels
8 years ago
Matt Clay 00f8945159 Update submodule refs. 8 years ago
Adrian Likins dbbd2d79ff Fix traceback in atomic_move (#18649)
Commit 8b08a28c89 removed a
call to get_exception() that was needed. Without it, the fail_json
references an undefined variable ('exception') and throws an exception.

Add the get_exception() back in where needed and update references.

Now the proper module failure is returned.

Fixes #18628
8 years ago
Matt Clay 6169d2d49f Update submodule refs. 8 years ago
John R Barker 02842767c6 Remove duplicated 'timeout' doc (#18657) 8 years ago
Peter Sprygada 9aa8547016 adds two new plugins that use ansible-connection for persistence (#18572)
* adds new connection plugin `network_cli` which builds on paramiko
* adds new plugin `terminal` used for manipulating network_cli terminals
* adds new field to play_context `network_os` settable as ansible_network_os

This commit adds the plugins necesary to establish a persistent cli connection
to network devices of ssh.  It builds on the paramiko connection plugin
to create a shell environment that will persistent through ansible-connection.
The `newtork_cli` plugin then uses the network_os in the instance of
PlayContext to load the appropriate network OS environment plugin for
handling opening and closing of shells as well as privilege escalation.
8 years ago
Peter Sprygada 7df5a0abd0 adds config option to auto add keys when using paramiko (#18598)
* updates paramiko_ssh to auto add keys
* updates constants with new config options

This commit adds a new feature that will allow paramiko to automatically
accept and save a host ssh key.  This feature is controlled by the
`host_key_auto_add` config setting in the paramiko section.  The default
is False to maintain current functionality.  It also includes a new
setting `look_for_keys` with the default to False for maintaining current the
current setting.
8 years ago
Peter Sprygada a87d30f72f fixes exception raised when extracting timeout value from ModuleStub in eapi (#18651) 8 years ago
Peter Sprygada 9cb0e771d2 expose timeout param to socket (#18632)
The timeout param was exposed to the socket connection but was not
enforced for commands.  This update will now cause a command to timeout
based on the module parameter.
8 years ago
Peter Sprygada 69fb310878 updates the network shared docs to include the timeout parameter (#18635)
The network shared doc fragment was missing the timeout parameter from
the docstring.  This commit adds the timeout parameter back to the
doc fragment
8 years ago
Peter Sprygada a757a77159 fixes timeout param in netconf provider for junos (#18634)
This change will now cause the netconf provider to honor the module
timeout value when making calls to pyez.
8 years ago
Peter Sprygada eec6980f3e pass module timeout value to fetch_url in eapi connection (#18633)
This change causes the eapi connection to honor the module timeout
value when calling fetch_url
8 years ago
Alberto Murillo ec2521f6af Fix ssh plugin to correctly fetch files when using scp (#18614)
Fetch module uses fetch_file() from plugin/connection/ssh.py to
retrieve files from the remote hosts which in turns uses
_file_transport_command(self, in_path, out_path, sftp_action) being
sftp_action = 'get'

When using scp rather than sftp, sftp_action variable is not used
and the scp command is formed in a way that the file is always
sent to the remote machine

This patch fixes _file_transport_command() to correctly form the scp
swaping src and dest if sftp_action is 'get'

Bug introduced at 8e47b9b
Fixes #18603

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
8 years ago
Matt Clay 43714f859a Update submodule refs. 8 years ago
Ondra Machacek b606078d69 Add param method to oVirt helper module (#18605)
This patch add new param method to fetch parameters
from the Ansible module, so modules don't have to use
the long name `self._module.params.get()`.
8 years ago
Brian Coca fbe5878919 only access match if we actually match fact
fixes #18601
8 years ago
Brian Coca 778c983ef9 ansible_playbook_python (#18530)
* ansible_playbook_python

fixes #18471

* fix tests

* removed dupe
8 years ago
James Cammarata 4859e0a419 Look for _get_parent_attribute method in both src and dst dict
When determining which getter style to use for the object in question,
the BaseMeta class should look at both dict's to try and locate the method.

Fixes #18522
8 years ago
Brian Coca 4a325b5ea2 fixed issue with when/with error deferment
now it issues correct error (loop) when conditional depends on loop
compliment fixes #16222
8 years ago
Eric Chou 9d0b8c8545 modified POST body in axapi_authenticate_v3() and axapi_call_v3() (#18104) 8 years ago
Toshio Kuratomi 03dd186c63 Update submodule refs 8 years ago
Matt Clay d61b2ed0a3 Support script interpreters for async_wrapper. (#18592) 8 years ago
Matt Clay 387fca28ab Update submodule refs. 8 years ago
Brian Coca a715d03a83 dont fail on missing service during check mode 8 years ago
Toshio Kuratomi 255a5b5d75 Fix the Solaris POSIX acl fix
For setfacl on Solaris we need to specify permissions like r-x.
For chmod, we need to specify them as rx (r-x means to make the file
readable and *not* executable)
8 years ago
fallencliff d5910ebdae update facts.py for solaris and hp-ux
for solaris,  add get_dmi_facts to get product_name fact, and update memtotal_mb to integer for consistency.

for hp-ux,  user machinfo to get product_serial fact
8 years ago
Toshio Kuratomi bacdbc5f27 Update submodule refs 8 years ago
koralsky 4e194d71bd import reduce from six label:python3 (#18561)
* import 'reduce' from six
* import reduce in facts fix
8 years ago
Michael Noseworthy bb5d8fb476 Fix unicode handling in fixup_perms2 errorhandling (#18565)
The _fixup_perms2 method checks to see if the user that is being sudo'd
is an unprivileged user or root. If it is an unprivileged user, some
checks are done to see if becoming this user would lock the ssh user out
of temp files, among other things. If this check fails, an error prints
telling the user to check the documentation for becoming an unprivileged
user.

On some systems, the stderr prints out the unprivileged user the ssh
user was trying to become contained in smartquotes. These quotes aren't
in the ASCII range, and so when we're trying to call `str.format()` to
combine the stderr message with the error text we get a
UnicodeEncodeError as python can't coerce the smartquotes using the
system default encoding. By calling `to_native()` on the error message
we can ensure that the error message is a native string for the
`Exception` handling, as `Exception` messages need to be native strings
to avoid errors (byte strings in python2, and text strings in python3)

Fixes: #18444
8 years ago
Nathaniel Case 8d0418f7c1 net_template doesn't need BOOLEANS
Note #17815
8 years ago
Nathaniel Case 3f4ac0b9f7 Fix for whitespace padding on JSON responses
Fixes #17825, closes #17829
8 years ago
James Cammarata 81aa12eb1b Rework how the Conditional class deals with undefined vars
Previously, the Conditional class did a simple check when an
AnsibleUndefinedVariable error was raised to see if certain strings were
present. This patch tries to be smarter by evaluating the variable contained
in the error string and compared to the defined/not defined conditionals in
the conditional string.

This also modifies the UndefinedError message from HostVars slightly to
match the format returned jinja2 in general, making it easier to match the
error message in the Conditional code.

Fixes #18514
8 years ago
Toshio Kuratomi d90638ad40 Fix setfacl for Solaris with POSIX acl support.
Tested on Linux and freebsd.

Fixes #17919
8 years ago
James Cammarata 7e2305f953 Cache dynamically included blocks for later lookup via uuid
Fixes #18357
8 years ago
James Cammarata 26ec2ecfce Adding a persistent connection utility 8 years ago
Toshio Kuratomi 0b96d61162 Convert playbook basedir into unicode at the borders 8 years ago
James Cammarata 8ee3ef587a Check for negative defined logic in conditionals 8 years ago
James Cammarata 0df3767d4d When iterating over hostvars yield the hostname not the host object
Also fixes HostVars to raise the correct jinja2 error type.

Fixes #16836
8 years ago
Peter Sprygada 69649358b1 fixes issue with setting the terminal length (pager) in vyos (#18546)
`set terminal length 0` actually sets `VYATTA_PAGER=cat`
`set terminal length [some number]` actually sets `stty length [some number]`
8 years ago
Brian Coca 6dece90a57 change to ~ instead of $HOME to avoid undefined (#18551)
fixes #16032
8 years ago
Andrea Tartaglia 62697ad77f Replaced iterkeys with 'for key in dict' for #18507 (#18538) 8 years ago
John R Barker d27e007fb1 Network docs fragments: fix copy paste errors (#18564) 8 years ago
René Moser 72f75fd9e0 cloudstack: add helpers to distinguish VMs not in VPC (#18560)
VMs in VPC and not in VPC can have an identical name. As a result VMs in a VPC must be sorted out if no VPC is given.
Due the API limitation, the only way is to check if the network of the VM is in a VPC.
8 years ago
Toshio Kuratomi 783a185f1c Update submodule ref for mount fixes 8 years ago
René Moser ff7051bab4 cloudstack: fix distinguish VPC and other networks (#18515) 8 years ago
James Cammarata a83b00bbc0 Properly sort groups by name as well as depth when getting vars
Fixes #17243
8 years ago
James Cammarata f36926f8d3 With role params also keep special params in the ds as well as params
With 2.0, we decided to create a special list of param names which were
taken out of the role data structure and stored as params instead (connection,
port, and remote_user). This causes problems with inheritance of these params,
so we are now deprecating that while also keeping those keys in the ds so they
are brought in as attributes on the Role correctly.

Fixes #17395
8 years ago
Toshio Kuratomi 5984e3ee9b Update submodule refs 8 years ago
Ben Cordero a9a2f12adb openstack: iterate through nova addresses with six (#18408) 8 years ago
jamessewell b91d4d884d Moved the _inventory.clear_group_dict_cache() from creating a group w… (#17766)
* Moved the _inventory.clear_group_dict_cache() from creating a group which doesn't exist, to adding members to the group.

* Update __init__.py

Update to use changed: block to catch all changes for cache clear as suggested
8 years ago
Matt Davis d78ec1e760 bump submodule refs 8 years ago
Andrew Haines 200d6bdb23 Default include_role results to empty list in linear strategy plugin
Fixes #18544.

When a loop is over an empty list, the result is set to

    {'skipped_reason': u'No items in the list', 'skipped': True, 'changed': False}

which means that accessing `hr._result['results']` throws a `KeyError`.
8 years ago
Brian Coca aff5d9160a disable 'dense' callback in py26 8 years ago
James Cammarata 937d872f4b Return failed instead of raising an error when an include_vars file is missing
Fixes #18508
8 years ago
Dag Wieers b7425b59ee Adapt callback functions to changes in 13f3cbaf3b 8 years ago
Dag Wieers 0036108c59 Implement destructor to ensure newline and terminal attributes
Also fixed a typo
8 years ago
Dag Wieers 2a8914e496 Reset VT100 attributes in case we get unexpected output 8 years ago
Dag Wieers cd6f577d91 Rename ansi to the more correct name vt100 8 years ago
Dag Wieers 893dc81b5e Implement our own detailed task output
Also:
- Streamline ANSI calls
- Implement v2_playbook_on_include
8 years ago
Dag Wieers 221a4e7014 Ensure we end with a newline in normal mode 8 years ago
Dag Wieers 7148023f59 Small fix so diff output starts on a new line 8 years ago
Dag Wieers 9a507b1f07 Don't try to be smart with cmd output ! 8 years ago
Dag Wieers 84e0420389 Make everything work magically !
- Support item-loops correctly
- Support notification handlers
8 years ago
Dag Wieers 589953c79b Assorted improvements
- Better switch between *dense* and *default*
- Reimplement C.COLOR* out of necessity (help!)
- Make verbose output more dense (clean up result)
- Implement our own dumper
- Improve delegation support
8 years ago
Dag Wieers 223c0011e0 Assorted fixes
- Implement delegate support
- Implement preliminary handler support
- Implement our own recap/summary (still fails)
8 years ago
Dag Wieers 1bf7e22756 Implement support for itemized tasks 8 years ago
Dag Wieers 14cfb2b230 Preliminary support for items, WIP 8 years ago
Dag Wieers 67c57a9b6b Improve readability 8 years ago
Dag Wieers 326bb24a89 Various improvements, now supports different verbosity levels 8 years ago
Dag Wieers fe6e4f8286 New "dense" callback plugin
The goal for the "dense" output is to only show changes and failures on-screen (the Unix-way).
However, since we still want to have a sense of progress, we use terminal capabilities to display progress.

 - On screen there should only be relevant stuff
    - How far are we ? (during run, last line)
    - What issues occured
    - What changes occured
    - Diff output

 - If verbosity increases, act as default output
   So that users can easily switch to default for troubleshooting

 - Leave previous task output on screen
   - If we would clear the line at the start of a task, there would often
     be no information at all
   - We use the cursor to indicate where in the task we are.
     Output after the prompt is the output of the previous task
   - Use the same color-conventions of Ansible

This is still a work in progress.
It was released to give a glimpse of what would be possible.

The Ansible callback mechanism currently does not have all the functionality we need to do this efficiently.
8 years ago
Brano Zarnovican 96ddd29c7e random filter: added optional 'seed' parameter
implements #15621
8 years ago
Toshio Kuratomi ed00741a01 Mcsalgado's change to use shlex.quote instead of pipes.quote (#18534)
* Replace pipes.quote for shlex_quote

* More migration of pipes.quote to shlex_quote

Note that we cannot yet move module code over.  Modules have six-1.4
bundled which does not have shlex_quote.  This shouldn't be a problem as
the function is still importable from pipes.quote.  It's just that this
has become an implementation detail that makes us want to import from
shlex instead.

Once we get rid of the python2.4 dependency we can update to a newer
version of bundled six module-side and then we're free to use
shlex_quote everywhere.
8 years ago
Brian Coca 5d043b65d3 fix for filter fix 8 years ago
Brian Coca 7c960d440f remove rsync path from returned facts 8 years ago
James Cammarata f7fe6dc19c Don't fail on missing vars files for delegated hosts
Fixes #17965
8 years ago
Dag Wieers 1ca4add91c Performance improvement using in-operator on dicts
Just a small cleanup for the existing occurrences.

Using the in-operator for hash lookups is faster than using .keys()
http://stackoverflow.com/questions/29314269/why-do-key-in-dict-and-key-in-dict-keys-have-the-same-output
8 years ago
Brian Coca bb41a005b3 updated to add tailing msg to missing error 8 years ago
Brian Coca 5129e2fe16 added fail_if_missing shared service function 8 years ago
Adrian Likins c09060e8ff Fix 'ansible-vault edit' crash on changed nonascii
ansible-vault edit was attempting to decode the file contents
and failing.

Fixes #18428
8 years ago
James Cammarata ca5b361ad8 Reworking iterator logic regarding failed states during always
Previous changes addressed a corner case, which unfortunately introduced
another bug. This patch adds a new flag to the host state (did_rescue) which
is set to true when the rescue portion of a block completes. This flag is
then checked in _check_failed_state() when the fail_state != FAILED_NONE.

This lead to the discovery of another bug - current strategies are not advancing
hosts to ITERATING_COMPLETE after doing a peek at the next task, leaving the
host state in the run_state of the final task. To address this, before gathering
the list of failed hosts in StrategyBase.run(), a final pass through the iterator
for all hosts is done to ensure each host is in its final state. This way, no
strategy derived from StrategyBase has to worry about it and it's handled.

Fixes #17983
8 years ago
Brian Coca afaec3da82 corrected service filtered option to singular 8 years ago
Gael Pasgrimaud f94100aa87 make default strategy configurable (#18394) 8 years ago
Brian Coca bd70397e24 always template when called from template (#18490)
* Have template action plugin call do_template

Avoids all the magic done for 'inline templating' for ansible plays.
renamed _do_template to do_template in templar to make externally accessible.
fixes #18192

* added backwards compat as per feedback
8 years ago
James Cammarata fcb033b9e4 Add `name` field for Blocks
Fixes #18420
8 years ago
James Cammarata 57cf5e431c Catch loop eval errors and only raise them again if the task is not skipped
This should help on issues like #16222.
8 years ago
Matt Clay 4981feee99 Update submodule refs. 8 years ago
Brian Coca c005ae3cd9 removed package from squash actions
fixes https://github.com/ansible/ansible-modules-core/issues/5595
8 years ago
James Cammarata 435ca620b2 Add option to prepend inherited attributes when extending values
Fixes #18483
8 years ago
Brian Coca 11465134fa added alias to argumetns 'args' to blacklist (#18485)
this should fix https://github.com/ansible/ansible-modules-core/issues/5584
8 years ago
Brian Coca f4391d34e4 added alias to argumetns 'args' to blacklist
this should fix https://github.com/ansible/ansible-modules-core/issues/5584
8 years ago
Adrian Likins 0690a67926 Include missing _text.to_text import
Fixes "global name 'to_text' is not defined" error on
openbsd clients.

Fixes #18473
8 years ago
René Moser b08ef44da0 cloudstack: extend support for VPC (#18434) 8 years ago
Chris Church 534bd12ae9 Increment changed stat for a failed task if changed. (#18014) 8 years ago
James Cammarata 4f06a86161 Alternately track listening handlers by uuid if no name is set
Fixes #17846
8 years ago
Trond Hindenes 8874c1dc39 Improved Get-PendingRebootStatus 8 years ago
Matt Davis 39dcafe23f bump submodule refs 8 years ago
Brian Coca 3fd03b764b removed core import template 8 years ago
James Cammarata 5b87951d6c Don't copy the parent block of TaskIncludes when loading statically
When loading an include statically, we previously were simply doing a
copy() of the TaskInclude object, which recurses up the parents creating
a new lineage of objects. This caused problems when used inside load_list_of_blocks
as the new parent Block of the new TaskInclude was not actually in the list
of blocks being operated on. In most circumstances, this did not cause a
problem as the new parent block was a proper copy, however when used in
combination with PlaybookInclude (which copies conditionals to the list of
blocks loaded) this untracked parent was not being properly updated, leading
to tasks being run improperly.

Fixes #18206
8 years ago
René Moser 80af461178 cloudstack: add additional CLOUDSTACK_VPC env var (#18467) 8 years ago
Brian Coca c880c1a78d added sysv functions 8 years ago
Matt Clay 2ab2e709b0 Update submodule refs. 8 years ago
Adrian Likins 51e3ef89a9 Add error info if tabs are found in the yaml (#18343)
If a yaml file fails to load because of tabs being used
for formatting, detect that and show a error message
with more details.
8 years ago
Ievgen Khmelenko 619f2fd210 ansible-logstash-callback (#18282)
* ansible-logstash-callback

* GPL v3 license preamble, ImportError

* Update logstash.py
8 years ago
James Tanner 20fb74b1b1 ini lookup: add 'default' to the list of parsed keys
Fixes #18369
8 years ago
Brian Coca 5dd195b52f restore play_hosts variables to not show removed
Also adds ansible_play_hosts_all with original list of hosts the play targeted
8 years ago
James Cammarata 4794b5da45 Merge class dict with parent dict when creating meta attributes
In some situations, where the Base class defines an Attribute, the
BaseMeta class doesn't properly see the _get_parent_attribute or
_get_attr_<whatever> methods because of multiple layers of subclasses
(ie. Handler, which subclasses Task). This addresses that by merging
the __dict__ of the parent with the current classes __dict__ meaning
all future iterations see available special methods.

Fixes #18378
8 years ago
Matt Clay 8c270ac75f Add empty-init code-smell script. (#18406)
Also removed boilerplate from otherwise empty __init__.py files
which should not contain any code (checked by empty-init script).
8 years ago
Toshio Kuratomi 6a3893c518 Remove direct calls to print and cleanup imports
All display of information should go through display instead of through print.
8 years ago
Brian Coca a0f27d552c File attributes (#18213)
* added attributes to base file params

* dont change attributes when none

* fixed test to deal with new attributes
8 years ago
Brian Coca 7a33c14782 added 'friendly' name to fact gathering
fixes #18198
8 years ago
Michael Scherer 37de9031c6 Detect virtualisation on netbsd (#18381)
* Refactor OpenBSD sysctl based detection in a separate class

The idea is later to reuse this code for NetBSD and FreeBSD, who
use a different sysctl key for vendor and product.

* Add detection of virtualisation on NetBSD

* Add support to detect running as a Xen guest

tested on NetBSD 7 on Rackspace.
8 years ago
Michael Scherer ccecbdd78d Add DMI facts on NetBSD and refactor code (#18388)
* Add support for OpenBSD dmi fact gathering

* Refactor get_sysctl in the Hardware class

Due to difference between Darwin/NetBSD and OpenBSD, we
have to change the regexp used split the key/value

* Add support for dmi facts on NetBSD
8 years ago
Toshio Kuratomi ee14e0cc2a Text's .translate() is easier to use than bytes
Text strings and byte strings both have a translate method but the byte
string version is harder to use.  It requires a mapping of all 256 bytes
to a translation value.  Text strings only require a mapping from the
characters that are changing to the new string.  Switching to text
strings on both py2 and py3 allows us to state what we're getting rid of
simply without having to rely on the maketrans() helper function.
8 years ago
Michael Scherer fd44917561 Remove duplicate declaration of human_to_bytes
This is already declared in basic.py, in a more complete way.
8 years ago
Michael Scherer 150ea49d8a Add tunnel linux (#18118)
* Refactor the type selection of network device under linux

* Add the tunnel type to the type of net interface under Linux
8 years ago
Michael Scherer df145df962 Make facts detection work on OpenBSD with Python3
The traceback is the following:

    Traceback (most recent call last):
      File \"/tmp/ansible_8s0bj604/ansible_module_setup.py\", line 134, in <module>
        main()
      File \"/tmp/ansible_8s0bj604/ansible_module_setup.py\", line 126, in main
        data = get_all_facts(module)
      File \"/tmp/ansible_8s0bj604/ansible_modlib.zip/ansible/module_utils/facts.py\", line 3641, in get_all_facts
      File \"/tmp/ansible_8s0bj604/ansible_modlib.zip/ansible/module_utils/facts.py\", line 3584, in ansible_facts
      File \"/tmp/ansible_8s0bj604/ansible_modlib.zip/ansible/module_utils/facts.py\", line 1600, in populate
      File \"/tmp/ansible_8s0bj604/ansible_modlib.zip/ansible/module_utils/facts.py\", line 1649, in get_memory_facts
    TypeError: translate() takes exactly one argument (2 given)

And the swapctl output is this:

    # /sbin/swapctl -sk
    total: 83090 1K-blocks allocated, 0 used, 83090 available

The only use of the code is to remove prefix in case they are present, so just
replacing them with empty space is sufficient.
8 years ago
Michael Scherer bd6ac784bb Add support for KVM in the Solaris virt detection
smbios -i 256 return:

    # smbios -i 256
    ID    SIZE TYPE
    256   77   SMB_TYPE_SYSTEM (system information)

      Manufacturer: Red Hat
      Product: KVM
      Version: RHEL 6.4.0 PC

      UUID: 8a3b8b1a-ba59-1a4b-5f85-ab53a5a885a9
      Wake-Up Event: 0x6 (power switch)
      SKU Number:
      Family: Red Hat Enterprise Linux
8 years ago
Michael Scherer 12354869b9 Add xen guest detection on FreeBSD 8 years ago
Michael Scherer bc6c1afb1e Fix media_type detection on NetBSD
On NetBSD 7.0.1, ifconfig return this:
    $ ifconfig
    ne0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
            ec_capabilities=1<VLAN_MTU>
            ec_enabled=0
            address: 00:20:91:45:00:78
            media: Ethernet 10baseT full-duplex
            inet 192.168.156.29 netmask 0xffffff00 broadcast 192.168.156.255

Which result into setup returning this:
    "media_type": "ull-duplex",

So we have to specialise that method, since FreeBSD ifconfig return
something like this:

    ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80009<RXCSUM,VLAN_MTU,LINKSTATE>
        ether 00:20:91:a7:48:45
        inet 192.168.156.11 netmask 0xffffff00 broadcast 192.168.156.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
8 years ago
Michael Scherer d393409fed Fix type detection on OpenSolaris for loopback interface
Extract of ifconfig output:

    # ifconfig  -a
    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000
    rtls0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 3
            inet 192.168.125.125 netmask ffffff00 broadcast 192.168.125.255
            ether 0:20:91:83:45:82
8 years ago
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
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
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
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
James Tanner 2d43b20eb9 Update submodule refs 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
Matt Clay 66a0b1475f Update submodule refs. 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
Matt Clay 368a837481 Update submodule refs. 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
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
Matt Clay 275d5f85ec Update submodule refs. 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
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
Jasper Lievisse Adriaanse 88970bcfb2 Implement basic DMI facts for OpenBSD 8 years ago