Commit Graph

954 Commits (bad293ae3537a9d951636b571c8b74df6d8a12b0)

Author SHA1 Message Date
Toshio Kuratomi aad9f43dda Make load_params into a function that custom modules can access (#15913) 2016-05-18 10:50:55 -07:00
Peter Sprygada d197407306 Merge pull request #15743 from mattchilders/multi-parent-netcfg-difference
Fixed issue with parents havings depth of 3+ on add method of Network…
2016-05-18 09:30:57 -04:00
Toshio Kuratomi 61f2147385 Rename pycompat to pycompat24
This change makes it so we know when it is safe to get rid of the module
(when we stop supporting python2.4) and makes it easier for us to find
code that is using the functions in there to update.

If needed, we'll create a pycompat26 and pycompat27 as well.  These
files are for functions that are needed on that python version to write
portable code.  So python-2.4 compatible modules may need code in
pycompat24, python26+ modules may need code in pycompat26, etc.  If
a function is needed in multiple python versions, we should implement it
in an internal common file and use import to put it in the namespace for
each pycompatXY module.
2016-05-18 06:18:01 -07:00
Peter Sprygada 48aa9153f2 Merge pull request #15755 from ocadotechnology/fix-junos-netconf-ssh-agent
Allow ssh agent usage for junos_netconf
2016-05-18 07:54:59 -04:00
Peter Sprygada 9553dfdbab Merge pull request #15911 from keinohguchi/ops_rest_auth_fix
openswitch.py: Fix the OpenSwitch REST authentication
2016-05-18 07:40:15 -04:00
Peter Sprygada 114a0596aa Merge pull request #15727 from privateip/shell_module
handle name resolution errors more gracefully from shell.py
2016-05-18 06:53:06 -04:00
Kei Nohguchi 2043c32551 openswitch.py: Fix the OpenSwitch REST authentication
It's a cookie based authentication, that we get it
through /login endpoint, called by connect() method
and save the cookie for the rest of the call.
2016-05-18 00:17:32 -07:00
Peter Sprygada 7cb7132b24 Merge pull request #15891 from privateip/fixes-ansible-modules-core-3502
bugfix for issue with trying to eval contains with non-string
2016-05-17 06:43:42 -04:00
Michael Scherer fb2355e47d Port rax.py to python3 compatible syntax (#15875)
Since the pyrax website say that only python 2.7 is tested,
I do not think it is worth to aim for python 2.4 compatibility
for the various rackspace modules.
2016-05-16 17:30:25 -07:00
Peter Sprygada 83d0a15588 bugfix for issue with trying to eval contains with non-string
fixes ansible/ansible-modules-core#3502
2016-05-16 14:54:26 -04:00
Peter Sprygada 8f7c879574 Merge pull request #15629 from privateip/fix-15496
make netcfg preserve command order
2016-05-16 13:59:46 -04:00
Rob ba63ccb880 Handle case of both Key and key (#15468) 2016-05-16 12:19:41 -04:00
Michael Scherer 8680cc7156 Fix pkgin detection on NetBSD 6 and 7 (#15834)
Since this is now the default package manager, it got moved
to another location on Netbsd :

  netbsd# type pkgin
  pkgin is a tracked alias for /usr/pkg/bin/pkgin
  netbsd# uname -a
  NetBSD netbsd.example.org 6.1.4 NetBSD 6.1.4 (GENERIC) amd64

But since the package manager is also used outside of NetBSD, we
have to keep the /opt/local path too.
2016-05-16 10:13:49 -04:00
Michael Scherer 10edaabed5 Port module_utils/ec2.py to python 3 syntax (#15879)
Since boto is considered as python 2.6 only (cf
https://github.com/ansible/ansible/blob/devel/test/utils/run_tests.sh#L15 ),
no need to use the 2.4 compatible syntax.
2016-05-16 08:44:51 -04:00
Michael Scherer eb52dc9af0 Port azure_rm_common.py to py3 syntax (#15880)
Since the rest of the file already use a non 2.4 syntax
(such as format), I didn't bother using the 2.4 syntax for
exceptions.
2016-05-16 08:42:28 -04:00
Michael Scherer cdef2f5db6 Port the gce snippet to a python 2.6 to 3 compatible syntax (#15872)
Since it depend on libcloud and libcloud requirements include python 2.6
since libcloud 0.4.0 (https://libcloud.apache.org/about.html), which
was released in 2011 Q2, and GCE drivers were added in 2013,
we can't run a libcloud version with GCE support on 2.4.
2016-05-16 08:11:31 -04:00
Michael Scherer fae492324e Port the rest of the file to the 2.4/3 compatible syntax (#15873)
Since the modules can use a paramiko transport (ergo
python 2.4 syntax), we need to keep compat with 2.4 and python 3,
so we need to use the get_exception trick, even if the various juniper
libraries are not compatible with 2.4.
2016-05-16 08:11:15 -04:00
Michael Scherer a4f6fc0dc2 Port docker_common.py to py3 compatible syntax (#15877)
Since docker-py depend on python 2.6 (cf their tox.ini),
we do not need to make it python 2.4 compatible.
2016-05-16 08:10:35 -04:00
Michael Scherer 97f16b7700 Port shell snippet to python3/2.4 compatible syntax (#15874) 2016-05-16 08:10:07 -04:00
Michael Scherer 127a37f67c Port the module snippet to python3 (#15870)
vca depend on pyvcloud, who depend on PyYAML 3.10, which
support python 2.5 as a minimum, cf https://github.com/vmware/pyvcloud/blob/master/requirements.txt
and http://pyyaml.org/wiki/PyYAML

vmware.py depend on PyVIM, who depend on python 2.6.

So we can use the modern syntax for both of them.
2016-05-16 08:04:43 -04:00
Michael Scherer e539b2003d Make the facts module run on netbsd (#15833)
It currently fail with

 ansible/module_utils/facts.py\", line 357, in get_service_mgr_facts\r\nKeyError: 'distribution'\r\n"

Since self.facts['distribution'] is used after, we need to make sure
this is set by default and if needed, corrected somewhere for Linux.
2016-05-16 08:02:38 -04:00
Toshio Kuratomi 0cb05d8ac9 Some Python-3 module_utils support 2016-05-14 07:51:13 -07:00
camradal 4bb4c7e68e vCloud module utils error handling bug fixes (#15859)
* Fix AttributeError that hides login errors

* Typo fixes for vca error messages
2016-05-13 23:57:08 -07:00
Thomas Quinot a2c905c32e Fix uninitialized distribution fact on FreeBSD (#15842)
Initialize facts['distribution'] with self.system so that this fact does
not remain uninitialized on systems_platform_working platforms (FreeBSD,
OpenBSD).

Fixes #15841
2016-05-13 16:57:17 -04:00
Nathaniel Case 043e910652 Check for jxmlease when using netconf on JUNOS. (#15835) 2016-05-13 16:26:07 -04:00
Toshio Kuratomi c1cc9f1f23 Merge pull request #15845 from abadger/ziploader-constants
Ship constants to the modules via internal module params rather than a secondary dict
2016-05-13 10:03:16 -07:00
Matt Martz 878b0dca68 Use .code instead of .getcode() as py24 does not have .getcode(). Fixes https://github.com/ansible/ansible-modules-core/issues/3608 2016-05-13 09:44:00 -05:00
Toshio Kuratomi 186337db28 Ship constants to the modules via internal module params rather than a secondary dict. 2016-05-12 20:30:05 -07:00
Matt Martz 1cee3f35b1 Guard against a shell profile printing extraneous data 2016-05-12 11:43:37 -05:00
Toshio Kuratomi 4d59779e0a Fixed importing the libcloud modules to give a nice error rather than a traceback. 2016-05-12 09:13:46 -07:00
Vic Iglesias dac356466c Update GCE module to use JSON credentials (#13623)
* Update GCE module to use JSON credentials

* Ensure minimum libcloud version when using JSON crednetials for GCE

* Relax langauge around libcloud requirements
2016-05-12 08:57:26 -07:00
Toshio Kuratomi 99e3880181 small python3 fix so that ping will run on python3 2016-05-10 21:59:42 -07:00
Tim Rupp a685fa5543 Add port argument for bigsuds (#15434)
This patch adds the port argument as a valid parameter to the f5_spec.

This argument is supported in bigsuds version 1.0.4 and greater, so
this patch uses the __version__ variable of the bigsuds module to
determine when the port value should be honored by the module.
2016-05-10 16:07:01 -04:00
Mike Bryant 68795d8128 Allow ssh agent usage for junos_netconf
By default the `Shell` class disables ssh agents. The `junos_netconf`
module uses this class, but doesn't re-enable agents.
Here it's explicitly enabled again, so an ssh agent can be used to
connect to and configure Junos devices.
2016-05-09 17:54:53 +01:00
Toshio Kuratomi 409bfe4d0f Strip leading and trailing whitespace for json arg types 2016-05-09 08:14:50 -07:00
Robin Roth 30e5999812 Fix distribution_facts missing on BSD (#15780)
The previous fix in #15773 only solved MacOSX, but left other BSDs broken

fixes #15768
2016-05-09 10:55:28 -04:00
Pomin Wu 78808fc4cc Fixed `ansible_os_family` variable on OS X (#15768) (#15773)
Fixed `ansible_os_family` variable on OS X
2016-05-09 09:59:26 -04:00
camradal be87cd8c26 Fix logging into vCloud Director and expose verify_certs argument (#15533) 2016-05-05 09:48:54 -04:00
machilde 97c6389d62 Fixed issue with parents havings depth of 3+ on add method of NetworkConfig 2016-05-05 00:36:22 -05:00
Robin Roth 56ba10365c better fix for arch version detection (#15705)
* better fix for arch version detection

fixes  #15696

* be extra safe about tracebacks in facts.py

* add comments to explain the setup
* make allowempty more conservative, ignore file content
* wrap function call in try/except
  * should never happen, but if it happens the bug should be distribtion=N/A and not a traceback
2016-05-04 12:32:08 -07:00
Peter Sprygada 91f67ac37a handle name resolution errors more gracefully from shell.py
This change will catch socket.gaierror exceptions from shell.py and
return a more friendly message to the user
2016-05-04 11:12:26 -04:00
James Pic d72a03deae Add get_distribution_Archlinux (#15696) 2016-05-03 08:20:08 -07:00
Toshio Kuratomi 3f104dcee9 Add a jsonarg type to arg spec (#15701)
This makes sure that if we get a list or dict that it is turned into
a jsonified string.
2016-05-03 10:21:00 -04:00
jctanner eb31faa7f5 Remove the ziploader provided pythonpaths from the env inside run_com… (#15674)
Remove the ziploader provided pythonpaths from the env inside run_command.

Fixes #15655
2016-05-02 11:29:35 -04:00
Robin Roth 1d6608e84f Dist version fix for Red Hat and more tests (#15663)
* add tests for centos6, rhel6 and rhel7

* gen_distribution_version_testcase with python2.6

* remove unused imports

* fix redhat/vmware/... parsing

* add centos7 test case
2016-04-29 13:18:50 -07:00
Toshio Kuratomi 487e6562ca Fix ziploader for the cornercase of ansible invoking ansible.
* Make ziploader's ansible and ansible.module_utils libraries into
  namespace packages.
* Move __version__ and __author__ from ansible/__init__ to
  ansible/release.py.  This is because namespace packages only load one
  __init__.py.  If that is not the __init__.py with the author and
  version info then those won't be available.
* In ziplaoder, move the version ito ANSIBLE_CONSTANTS.
* Change PluginLoader to properly construct the path to the plugins even
  when namespace packages are present.
2016-04-29 08:47:49 -07:00
Peter Sprygada c43ea83275 fixes #15496
changed to using OrderedDict to preserve order of lines
2016-04-27 14:41:00 -04:00
Toshio Kuratomi 2583f2774d Some beginning python3 porting for urls.py 2016-04-27 07:15:51 -07:00
Toshio Kuratomi a0f397eb6c Fix traceback in fetch_urls when status code is in info as well as the error. 2016-04-27 06:49:12 -07:00
Robin Roth b861083dfb move machine_id back to Facts class 2016-04-27 09:29:39 +02:00