Commit graph

16476 commits

Author SHA1 Message Date
Peter Oliver
ea56d18c99 Support check mode in pkg5 module. (#23008) 2017-06-01 23:59:07 +02:00
Thomas Krahn
f8a99fd745 ipa_role: Add support for privileges (#21149)
* ipa_role: Add support for privileges

* ipa_role: Add default vaule to module documentation
2017-06-01 23:51:23 +02:00
Trond Hindenes
055fd6f5f5 New module: win dsc (#24872)
* Added win_dsc module file

* mute output and track reboot requirements

* added tests

* proper conditionals for test

* Added moar conditionals for test

* ci fixes

* Added metadata

* fixed integration test yaml

* ci fix

* ci fix

* added module_version param and output, no longer chokes on multiple versions found.

* ci fix

* code review improvements, make return vars more pythonic, cleanup
removed reference to handles in commit message

* Fixed tests, clearer documentation

* fixed trailing whitespace
2017-06-01 14:50:12 -07:00
James Labocki
055cc32830 Fix indentation for register module in example (#25274) 2017-06-01 14:22:22 -07:00
Tim Rupp
eb83c6f4e7 Fixes documentation (#25273)
This plugin was released with 2.4 but mentions it supports 2.3.
This patch fixes that.
2017-06-01 21:01:01 +01:00
Fabrizio Colonna
f364d7af8e Fixes parted i18n issues (#24991)
* Fixed issue 24969

* Used C locale and global env update.
2017-06-01 15:27:27 -04:00
mechaxl
3c3e9c3b36 Fixing policy sorting for Python 3 2017-06-01 11:28:43 -07:00
MechaXL
c1f0260ae3 Convert basestring to string_types (#25228) 2017-06-01 10:24:33 -07:00
evancarter-iex
3a2699f1bf gce_instance_template: Fix subnetwork not working (#25231)
* Fix problem with subnetwork not working

It is broken in the current master branch. This fixes it.

* Fix missing version_added
2017-06-01 10:19:19 -07:00
Adrian Likins
45a9f96774 Facts Refresh (2.4 roadmap) (#23012)
Facts Refresh (2.4 roadmap)

This commit implements most of the 2.4 roadmap 'Facts Refresh'
- move facts.py to facts/__init__.py
- move facts Distribution() to its own class
- add a facts/utils.py
- move get_file_content and get_uname_version to facts/utils.py
- move Facts() class from facts/__init__ to facts/facts.py
- mv get_file_lines to facts/utils.py
- mv Ohai()/Facter() class to facts/ohai.py and facter.py
- Start moving fact Hardware() classes to facts/hardware/*.py
- mv HPUX() hardware class to facts/hardware/hpux.py
- move SunOSHardware() fact class to facts/hardware/sunos.py
- move OpenBSDHardware() class to facts/hardware/openbsd.py
- mv FreeBsdHardware() and DragonFlyHardware() to facts/hardware/
- mv NetBSDHardware() to facts/hardware/netbsd.py
- mv Darwin() hardware class to facts/hardware/darwin.py
- pep8/etc cleanups on facts/hardware/*.py
- Mv network facts classes to facts/network/*.py
- mv Virtual fact classes to facts/virtual
- mv Hardware.get_sysctl to facts/sysctl.py:get_sysctl

- Also mv get_uname_version from facts/utils.py -> distribution.py
  since distribution.py is the only thing using it.

- add collector.py with new BaseFactCollector
- add a subclass for AnsibleFactCollector
- hook up dict key munging FactNamespaces
- add some test cases for testing the names of facts
- mv timeout stuff to facts.timeout

- rm ansible_facts()/get_all_facts() etc

- Instead of calling facts.ansible_facts(), fact collection
  api used by setup.py is now to create an AnsibleFactCollector()
  and call it's collect method.

- replace Facts.get_user_facts with UserFactCollector
- add a 'systems' facts package, mv UserFactCollector there
- mv get_dns_facts to DnsFactCollector
- mv get_env_facts to EnvFactCollector
- include the timeout length in exception message

- modules and module_utils that use AnsibleFactCollector
  can now theoretically set the 'valid_subsets'

  May be useful for network facts module that currently have
  to reimplement a good chunk of facts.py to get gather_subsets
  to work.

- get_local_facts -> system/LocalFactCollector
- get_date_time -> system/date_time.py
- get_fips_facts -> system/fips.py
- get_caps_facts() -> system/caps.py
- get_apparmor_facts -> system/apparmor.py
- get_selinux_facts -> system/selinux.py
- get_lsb_facts -> system/lsb.py
- get_service_mgr_facts -> system/service_mgr.py
- Facts.is_systemd_managed ->  system/service_mgr.py
- get_pkg_mgr_facts -> system/pkg_mgr.py
- Facts()._get_mount_size_facts() -> facts.utils.get_mount_size()

- add unit test for EnvFactCollector
- add a test case for minimal gather_subsets
- add test case for collect_ids
- Make gather_subset match existing behavior or '!all'

    If 'gather_subset' is provided as '!all', the existing behavior
    (in 2.2/2.3) is that means 'dont collect any facts except those
    from the Facts() class'. So 'skip everything except
    'apparmor', 'caps', 'date_time', 'env', 'fips', 'local', 'lsb',
    'pkg_mgr', 'python', 'selinux', 'service_mgr', 'user', 'platform', etc.

    The new facts setup was making '!all' mean no facts at all, since
    it can add/exclude at a finer granularity. Since that makes more
    sense for the ansible collector, and the set of minimal facts to
    collect is really more up to setup.py to decide we do just that.

    So if setup.py needs to always collect some gather_subset, even
    on !all, setup.py needs to have the that subset added to the
    list it passes as minimal_gather_subset.

    This should fix some intg tests that assume '!all' means that
    some facts are still collected (user info and env for example).

    If we want to make setup.py collect a more minimal set, we can do that.

- force facts_dicts.keys() to a list so py3 works
- split fact collector tests to test_collectors.py

- convert Facter(Facts) -> other/facter.py:FacterFactCollector

- add FactCollector.collect_with_namespace()

    regular .collect() will return a dict with the key names
    using the base names ('ip_address', 'service_mgr' etc)

    .collect_with_namespace() will return a dict where the key names
    have been transformed with the collectors namespace, if there is
    one. For most, this means a namespace that adds 'ansible_' to the
    start of the key name.

    For 'FacterFactCollector', the namespace transforms the key to
    'facter_*'.

- add test cases for collect_with_namespace

- move all the concrete 'which facts does setup.py' stuff to setup.py

    The caller of AnsibleFactCollector.from_gather_subset() needs to
    pass in the list of collector classes now.

- update system/setup.py to import all of the fact classes and pass
  in that list.
- split the Distribution fact class up a bit

    extracted the 'distro release' file handling (ie, linux
    boxes with /etc/release, /etc/os-release etc) into its
    own class.
- extract get_cmdline_facts -> cmdline.py
- extract get_public_ssh_host_keys -> system/ssh_pub_keys.py
- extract get_platform_facts -> system/platform.py

  platform.py may be a good candidate for further splitting.

- rm test for plain Facts() base class
- let the base class for Collector unit tests provide collected_facts

    some Collectors and/or their migrated Facts() subsclasses need
    to look at facts collected by other modules ('ansible_architecture'
    the main one...).

    Collector.collect() has the collected_facts arg for this, so add
    a class variable to BaseFactsTest so we can specify it.

- mv Ohai to other/ohai.py and convert to Collector
- update hardware/*.py to return facts (no side effects)

- mv AnsibleFactCollector to setup.py
- extra collector class gathering to module method in
  facts/__init__.py (collector_classes_from_gather_subset)
- add a CollectorMetaDataCollector collector used to provide
  the 'gather_setup' fact
- add unit test module for 'setup' module
  (test/units/modules/system/setup.py)

- Collector init now doesnt need a module, but collect does

    An instance of a FactCollector() isnt tied to a AnsibleModule
    instance, but the collect() method can be, so optionally pass
    in module to FactCollector.collect() (everywhere)

- add a default_collectors for list of default collectors

  import and use it from setup.py module

  eventually, would like to replace this with a plugin loader
  style class finder/loader

- unit tests for module_utils/facts/__init__.py
- add unit tests for ohai facts collector
- remove self.facts side effect on populate() in hardware/sunos.py
- convert OpenBSDHardware() to rm side effects on self.facts
- try to rm some self.facts side effects in Network()

    plumb in collected_facts from populate() where it is needed.

    stop passing collected_facts into Network() [via cached_facts=,
    where it eventually becomes self.facts]

- nothing provides Fact() cached_facts arg now, rm it

    Facts() should be internal only implementation so nothing
    should be using it.

    Of course, now someone will.

- add a Collector.name attr to build a map of name->_fact_ids

    To properly exclude a gather_subset spec like '!hardware', we
    need to know that 'hardware' also means 'devices', 'dmi', etc.
    Before, '!hardware' would remove the 'hardware' collector name
    but not 'devices'. Since both would end up in id_collector_map,
    we would still end up with the HardwareCollector in the collector
    list. End result being that '!hardware' wouldn't stop hardware
    from being collected.

    So we need to be able to build that map, so add the Collector.name
    attribute that is the primary name (like 'hardware') and let
    Collector._fact_ids be the other fact ids that a collector is
    responsible for.

    Construct the aliases_map of Collector.name -> set of _fact_ids
    in fact/__init__.py get_collector_names, and use it when we are
    populating the exclude set.

- refactor of distribution.py

    make the big OS_FAMILY literal a little easier to read
    Also keys can now be any string instead of python literals

    99% sure the test for 'KDE Neon' was wrong
    I don't see how/where it should or could get 'Neon' instead
    of 'KDE Neon' as provided in os-release NAME=

    Use 'distribution' string for key to OS_MAP

    ie, we dont need to make it a valid python label anymore so dont.

    move _has_dist_file to module as _file_exists
    easier to mock without mucking with os.path

    mv platform.system() calls to within get_distribution_facts() instead
    of Distribution() init.

- remove _json compat module

    The code in here was to support:

      -a 'json' python module that was not the standard one included
      with python since 2.6.

      - potentially fallback to simplejson if 'json' was not available.

    'json' is available for all supported python versions now so
    no longer needed.

- mv get_collector_names -> facts.collector
- mv collector_classes_from_gather_subset -> facts.collector
- mv collector tests from test_facts -> test_collector

- Use six's reduce() in sunos/netbsd hardware facts

- rm extraneous get_uname_version in utils

  only system/distribution.py uses it

- Remove Facts() subclass metaclass usage

  - using fact_id and a platform id for matching collectors

    gut most of Facts() subclasses

    rm Facts() subclasses with weird metaclass

    only add collectors that match the fact_ids and the platform_info
    to the list of collectors used.

    atm, a collectors platform_id will default to 'Generic', and
    any platform matches 'Generic'

    goal is to select collector classes including matching the
    systems platform in collector.py, instead of relying on
    metaclasses in hardware/*. To finish this, the various
    Facts() subclasses will need to be replaced entirely with
    Collector() subclasses.

    use collector classmethod platform_match() to match the platform

    This lets the particular class decide if it is compatible with
    a given platform_info. platform_info is a dict like obj, so it could be
    expanded in the future.

    Add a default platform_match to BaseFactCollector that matches
    platform_info['system'] == cls._platform

    They were needed previously to trigger a module
    load on all the collector classes when we import
    facts/hardare so that the Hardware() and related
    classes that used __new__ and find_all_subclasses()
    would work.

    Now that is done in collectors based on platform matching
    at runtime we dont need to do it py module import/parse
    time. So the non empty __init__.pys are no longer needed
    and their is a more flexible mechanism for selection
    platform specific stuff.

    facts/facts.py is no longer used, rm'ed

- if we dont find an implement class for gather spec.. just ignore it.

  Would be useful to add a warn to warn about this case.

- Fix SD-UX typo (should be HP-UX)

- Port fix for #21893 (0 sockets) to this branch

    This readds the change from 8ad182059d
    that got lost in merge/rebase

    Fixes #21893

- port sunos fact locale fix for #24542 to this branch

    based on e558ec19cd

    Fixes #24542

    Solaris fact fix (#24793)

    ensure locale for solaris fact gathering

    fixes issue with locale interfering with proper reading of decimals

- raise exceptions in the air like we just dont care.

    Pretty much ignore any not exit exception in facts
    collection. And add some test cases.

- added new selinux fact to clarify python lib

    the selinux fact is boolean false when the library is not installed,
    a dictionary/hash otherwise, but this is ambigous
    added new fact so we can eventually remove the type dichtomy and normalize it as a dict

    Re-add of devel commit 85c7a7b844 to
    the new code layout, since it got removed in merge/rebase
2017-06-01 11:17:49 -04:00
Will Thames
3ca006ecbb Allow removal of target groups from ASGs (#25126)
An empty `target_group_arns` list represents no target groups.
This is different to not passing a `target_group_arns` list at all
which can signify no change.

Remove unnecessary empty list construction, as it must already be
an empty list to get to that point.
2017-06-01 08:53:31 -04:00
Abhijeet Kasurde
07be5f2b67 spelling fixes (non-trivial, changing messages) (#25094)
Multiple spell fixes in single commit.
Taking over existing PR as per comment -
https://github.com/ansible/ansible/pull/23645#issuecomment-304312275

Original Author: klemens <ka7@github.com>

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-01 10:45:19 +01:00
Trishna Guha
343b83041e nxos_feature fix and unit test (#25200)
* nxos_feature fix

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* nxos_feature unit test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* remove from pep8/legacy-file

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-06-01 08:58:35 +05:30
Trishna Guha
fb87680046 fix state present nxos_evpn_vni (#25212)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-06-01 08:57:17 +05:30
Brian Coca
ea8c9a9b73 minor doc update 2017-05-31 19:39:30 -04:00
Brian Coca
16cc07a016 made doc more tolerant and recursive for spec 2017-05-31 19:38:20 -04:00
Chen Zhiwei
a44d57bf91 Allow customize fail message of wait_for module 2017-05-31 19:38:44 -04:00
Łukasz Jendrysik
bdd5adf21e Fix module name in example
'sv' module name in example refers to non-existent module.
2017-05-31 17:53:58 -04:00
Aurimas Lapiene
10167d83ee Add Cloudlinux support for hostname.py
**SUMMARY**

Add Cloudlinux 6 and Cloudlinux 7 support

**ISSUE TYPE**

Feature Pull Request

**COMPONENT NAME**

lib/ansible/modules/system/hostname.py

**ANSIBLE VERSION**
```
2.4
```
2017-05-31 17:01:22 -04:00
Esteban Echeverry
b7662f7e5b Import from urllib and not url (#25102)
* Import from urllib and not url

In Python 3, the correct way to import
urlparse is through urllib.parse.

* Use six module to import urlparse

Import urlparse from ansible.module_utils.six.
This way, the import statement is compatible both
with Python 3 and Python 2.

* Fix urlparse import using six module

The correct import is:
from six.moves.urllib.parse import urlparse

* Import six from ansible.compat

* Import from six.moves. Don't make six global.

Prevent code smell by not making six available
in the global namespace and instead importing from
one of its subpackages.
2017-05-31 15:27:22 -04:00
piotrsmolinski
c3ffc49914 reset_connection fixes: #23621 (#25211)
* moved the logging statement

moved the logging statement before the actual action

* added status code check

In the existing implementation when the ssh command fails the command
result is silently discarded. It hides the fact that the disconnection
did not go as expected. Effectively the intended action was not
successful, but the play continues.

* Revert "added status code check"

This reverts commit fe2eb2ae4a.

* added command status code check

In the existing implementation the command is checked for the success.
As a result failed execution is silently discarded. The change tests for
return code and fails if it did not work.
2017-05-31 13:40:57 -04:00
Dag Wieers
c13b1a718a plugins/terminal/: PEP8 compliancy (#25207)
- Make PEP8 compliant
2017-05-31 18:28:03 +01:00
Brian Coca
caf5868ec9 removed debugging prints 2017-05-31 13:08:50 -04:00
Brian Coca
798d05ea41 corrected object with columns 2017-05-31 13:03:10 -04:00
Brian Coca
5667603a27 fixed format 2017-05-31 12:52:44 -04:00
Brian Coca
05caa3654c fix to alwasy use param in case subpec is used 2017-05-31 12:39:47 -04:00
Philippe Dellaert
3ae69302a2 Fixes ansible/ansible#25096 (#25098) 2017-05-31 12:37:12 -04:00
Senthil Kumar Ganesan
e0db5d23cc Update facts module to support the new OS10 10.3 release (#25090)
* Update facts module to support the new OS10 10.3 release

* Address PEP8 issues reported by ansibot
2017-05-31 17:09:10 +01:00
Brian Coca
62a434141e ensure display is terminal sensistive
fixes #18248 by using display width intead of hardcoded length
2017-05-31 11:15:45 -04:00
Yap Sok Ann
24cfb10ce9 gce_net: change default to match with b7e78656 for idempotency (#23555)
After b7e78656, if `src_range`, `src_tags` or `target_tags` is left as
null, the firewall rule would always be recreated.
2017-05-31 11:02:22 -04:00
Yury V. Zaytsev
c559567f16 [cloud] s3_bucket: fix connections for buckets with dots in names (#24720)
Refer to 689f135 for similar fix in s3 module. This change makes `OrdinaryCallingFormat` default for handling S3 connections. 

Signed-off-by: Yury V. Zaytsev <yury.zaytsev@moneymeets.com>
2017-05-31 10:36:17 -04:00
Will Thames
bc24ae88a8 Allow iam_role to work with friendly policy names (#22630)
Basically obtain all the policies and create a mapping
from friendly name to ARN

Tidy up module argument specification to remove unneeded
settings.
2017-05-31 10:15:13 -04:00
Rob
2f0ce790d1 [cloud] New module to support ALB/ELBv2 elb_target_group (#19492)
* New module = elb_target_group

* Update elb_target_group.py

Adds support for adding and removing targets from a target group

* Better error handling

* Bump version_added

* Minor fixes

* Scope ec2 imports, add better doco, fix up examples, allow for both upper and lower case in protocol

* Yaml fixes

* ci fix

* Added targets parameter to doc and added new modify_targets flag to prevent runs from modifying targets

* Update to metadata_version

* Update to metadata support

* Remove defaults for some params. Add tags parameter

* Use paginator to get target groups

* Add tag support

* Add tg attributes to module

* Quote multilines

* Remove unnecessary defaults. Fix multiline

* Fix line ending
2017-05-31 10:09:20 -04:00
Rob
76e56bf48e [cloud] New module = elb_application_lb (#19491)
* New module = elb_application_lb

* Update elb_application_lb.py

Adds support for rules, adds wait option for ALB creation, adds support for using target group names instead of ARNs when referencing target groups in rules. All additional features should be idempotent.

* Better exception error messages. Bump version_added. Pep8 fixes

* Add missing full stop to description

* Review changes and fixes

* Fix pep issues

* Fix up examples

* Fix pep8

* half way through sorting elb attributes

* Add access logs enabled param

* Finish implementing elb attributes

* Use paginator to get elbs

* Dont snake_case the tags

* Add listeners to return output and fixed up examples

* review changes

* fix line lengths

* pep8 fixes
2017-05-31 09:29:49 -04:00
Sloane Hertel
b04cf04f59 Prior to 2.4 only one source is permitted for ec2_group rules/rules_egress. 2.4 and after a list of sources is accepted. (#25165) 2017-05-31 08:51:33 -04:00
Will Thames
5c1a914002 Fix ec2_asg exception handling (#25121)
`e.message` is a string, and `camel_dict_to_snake_dict` fails when
given a string. The intended code is to run `camel_dict_to_snake_dict`
on `e.response`, the result of which includes a `message` key.

Make exception handling lines more consistent and wrap for slightly
shorter lines.
2017-05-31 08:50:32 -04:00
Dag Wieers
d958440bcb win_firewall_rule: Implement idempotency, check-mode and diff support (#23162)
* win_firewall_rule: Small idempotency fix

This PR includes the following changes:
- an idempotency fix when `profile: any`
- better difference output to debug idempotency issues
- documentation fixes (remove `required: false`)
- Parameter handling fixes
- RDP example that matches default RDP rule
- Renamed parameter 'enable' to 'enabled' (kept alias)
- Renamed parameter 'profile' to 'profiles' (kept alias)

* Rewrite module completely

The logic is still intact, but various changes with a single goal:

- Make the module idempotent
- Implement check-mode
- Implement diff-mode
- Adapted integration tests

This fixes #18807 and #23455.

* Change casing to lowercase

* Improve the logic wrt. diff
2017-05-30 16:10:33 -07:00
Dag Wieers
0e160d5c7e Ensure exit_json returns failed = False
This is required for modules that may return a non-zero `rc` value for a
successful run, similar to #24865 for Windows fixing **win_chocolatey**.

We also disable the dependency on `rc` value only, even if `failed` was
set.

Adapted unit and integration tests to the new scheme.
Updated raw, shell, script, expect to take `rc` into account.
2017-05-30 14:56:31 -07:00
Evgeni Golov
1f78715848 apt: include arch in check for installed packages on multi-arch systems (#24846)
* apt: include arch in check for installed packages on multi-arch systems

Thanks: Stefan Löwen <stefan.loewen@gmail.com>

Fixes: #24673

* add an integration test for apt's multi-arch handling
2017-05-30 16:09:43 -04:00
Benjamin Curtis
16c2207d21 Fix return code (#23592)
The Honeybadger API returns 201 for success, not 200.
2017-05-30 22:01:42 +02:00
Will Thames
23324bdda0 Ensure when warning is checked before expanding (#25092)
The `when` condition templating warning should only happen
if the condition itself contains templating, not if variables
in the condition are themselves composed through templating

Before

```
vars:
  x: hello
  y: "{{ x }}"

tasks:
- debug: msg=hello
  when: y
```

would fire a warning because `y` would get expanded to `{{ x }}`.
This checks whether a warning is required prior to expansion.
2017-05-30 15:48:45 -04:00
Nathaniel Case
53837c2ab0 Assorted nxos_bgp_* fixes (#25080)
* Simplify apply_key_map

* Fix nxapi

* Clean up get_value

* Fix missing non-values

* Add test for existing bgp_af case

* Fix small issues with bgp_neighbor_af
2017-05-30 14:11:15 -04:00
Pierre-Louis Bonicoli
69edd9e0bb Avoid useless queries: use standard module hashlib
When an unchanged MD5-hashed password was used and passlib was
unavailable, an useless 'ALTER USER' query was executed.

Once this useless query avoided, the last 'SELECT' query becomes
useless too.
2017-05-30 10:55:49 -07:00
Pierre-Louis Bonicoli
f59f042bb0 postgresql_user: fix doc
See: https://www.postgresql.org/docs/current/static/sql-createrole.html
2017-05-30 10:55:49 -07:00
Dag Wieers
09ba70f7c4 stat: PEP8, imports, cosmetics (#24653)
- Make PEP8 compliant
- Ensure imports are specific
- Few cosmetic changes (sort lists, casing, punctuation)
2017-05-30 18:31:56 +01:00
Dag Wieers
8d962209f4 mod_utils/cloudengine: PEP8 compliancy (#24659)
- Make PEP8 compliant
2017-05-30 18:28:02 +01:00
Dag Wieers
b3b11fbce2 get_url: PEP8, imports, cosmetics (#24676)
- Make PEP8 compliant
- Ensure imports are specific
- Few cosmetic changes (sort lists, casing, punctuation)
2017-05-30 18:24:07 +01:00
Dag Wieers
630185cb20 ansible/executor: PEP8 compliancy (#24695)
- Make PEP8 compliant
2017-05-30 18:13:53 +01:00
Dag Wieers
51b595992b ansible/utils/: PEP8 compliancy (#24686)
- Make PEP8 compliant
2017-05-30 18:09:44 +01:00
Ganesh Nalawade
d5ad3093d6 Add config_format note in junos_facts docs (#25125)
Fixes #24610

Add note to mention config_format value
dependency.
2017-05-30 22:39:09 +05:30
Ganesh Nalawade
44121352fe Update requirements in junos module docs (#25154)
Fixes #24975

Update requirements section in junos
module docs
2017-05-30 22:37:48 +05:30
Trishna Guha
31c59ad5f9 nxos_portchannel fix and unit test (#25019)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-05-30 21:22:24 +05:30
John R Barker
24fb567c40 MAX_FILE_SIZE_FOR_DIFF (#25170) 2017-05-30 16:18:13 +01:00
Brian Coca
5d572055b3 fixed script plugin
fixes #25130
2017-05-30 11:10:43 -04:00
Brian Coca
bc403934ef properlly report plugin name 2017-05-30 11:10:43 -04:00
Sander Steffann
06f76a2741 Fix IndexError when junos_config contains multiple delete lines (#25139)
* Prevent IndexError when deleting multiple lines

The old code will raise `IndexError: list assignment index out of range` when deleting multiple lines because the indexes of the original and the copy get out of sync. Solved by deleting from the high indexes first so the lower ones remain stable.

* Don't load configuration if nothing to load

Instead of sending an empty candidate config (for example because the candidate only consisted of `delete` lines, and all of them were filtered out by `filter_delete_statements`) just return. JunOS seems to get confused by empty changes, and if the candidate config is empty then it's a no-op anyway.
2017-05-30 11:55:25 +05:30
Kei Nohguchi
6dd8a4cf78 openvswitch_bridge.py: Avoid runtime error with no external_ids (#25128)
This happens when there is external_ids configured on the existing
OvS bridge, though playbook doesn't.
2017-05-29 14:44:17 +02:00
Rene Moser
9cbae80c3b cloudstack: fix pep8 cs_pod 2017-05-29 01:28:19 +02:00
Rene Moser
3ef37e88fe cloudstack: fix pep8 cs_facts 2017-05-29 01:28:19 +02:00
Rene Moser
439f0beca5 cloudstack: fix pep8 cs_domain 2017-05-29 01:28:19 +02:00
Rene Moser
1778e23fad cloudstack: fix pep8 cs_account 2017-05-29 01:28:19 +02:00
Rene Moser
e3f75227bc cloudstack: fix pep8 cs_affinitygroup 2017-05-29 01:28:19 +02:00
Rene Moser
9fe3891d65 cloudstack: fix pep8 cs_cluster 2017-05-29 01:28:19 +02:00
Brian Coca
fd6302bcb8 only set ansible_host if i have data 2017-05-28 11:19:44 -04:00
Brian Coca
68936d0530 updated vbox docs 2017-05-28 11:14:03 -04:00
Brian Coca
21da284f5d added ability to create vars from vbox properties 2017-05-28 10:55:50 -04:00
Brian Coca
5cd0074831 fixed virtualbox plugins, expanded docs 2017-05-28 10:37:18 -04:00
Brian Coca
46a3e6088b fixed shared 'compose' method for inventory plugins 2017-05-28 10:37:06 -04:00
Brian Coca
e19109fb3d made inventory plugins list to keep config order 2017-05-28 10:36:36 -04:00
Abhijeet Kasurde
757758cd1a Remove redundant find_content_view method (#24851)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-26 20:06:02 +01:00
Reilly Herrewig-Pope
723c8f06ab Allow setting/unsetting BYPASSRLS Postgres role attribute (#24625)
* Allow setting/unsetting BYPASSRLS role attr

* Build valid role attrs against version

* Add integration tests
2017-05-26 12:56:42 -04:00
Esa Varemo
603366863f Correct nmcli dns example and documentation. Fix example indent (#20203)
Fixes https://github.com/ansible/ansible-modules-extras/issues/1910
and https://github.com/ansible/ansible-modules-extras/issues/1843
2017-05-26 15:58:00 +01:00
Eric Workman
797259f757 Add monitor and failover support to DNSMadeEasy module (#23434)
* Add monitor and failover support to DNSMadeEasy module

* Fix pep8 and add version_added to new parameters

* Change versions and improve descriptions
2017-05-26 15:22:46 +01:00
John R Barker
3740ad2828 Minor fixes (#25059)
1) Examples: Remove double space between "option:" and "value"
2) Documentation: Fix rendering usses
3) Documentation: Remove `required: true` to match argspec
2017-05-26 15:17:08 +01:00
Evan Kaufman
ce584571e8 Fixed backup file behavior in check mode (#24899)
Fixes ansible/ansible#21523
2017-05-26 16:16:15 +02:00
Michael Eaton
8bfa19c4af New module: Add module to manage Windows Firewall (windows/win_firewall) (#23224)
* added win_firewall module and updated to use list for profiles

* removed unnecessary cast and bug/typo in ForEach block
2017-05-26 09:26:48 -04:00
Damien
6dd1fc6f34 aos_login change default port and add version check (#24752)
* Change default port for aos_login and force type to Integer

* Add check to make sure aos-pyez is present and has the right version

* Update min version requirement in doc

* Change default port in documentation as well
2017-05-26 11:59:51 +01:00
tdtrask
8c50105a6c New module: awall: add new module for alpine wall (#24748)
* awall: add new module for alpine wall

* awall: Fix is_policy_enabled bug when policy has description
2017-05-26 11:54:02 +01:00
Steven Bambling
330ad92425 New module: Add Sensu Silence module (monitoring/sensu_silence.py) (#24332)
* adding module to control management of sensu silence entries

* adding doc stanza

* fixing some issues

* more cleanup

* fixing defaults

* fixing more doc issues

* fixing examples

* more fixes
2017-05-26 11:49:52 +01:00
René Moser
d5b04aa1f1 cloudstack: add check mode tests (#24908)
* cloudstack: test: cs_network_acl: add check_mode tests

* cloudstack: test: cs_pod: add check_mode tests

* cloudstack: test: cs_user: add check_mode tests

* cloudstack: test: cs_sshkeypair: add check_mode tests

* cloudstack: test: cs_project: add check_mode tests

* cloudstack: test: cs_vpc: add check_mode tests

* cloudstack: test: cs_vpn_gateway: add check_mode tests

* cloudstack: test: cs_volume: add check_mode tests

* cloudstack: test: cs_vmsnapshot: add check_mode tests

* cloudstack: test: cs_account: add check_mode tests

* cloudstack: test: cs_affinitygroup: add check_mode tests

* cloudstack: test: cs_cluster: add check_mode tests

* cloudstack: test: cs_domain: add check_mode tests

* cloudstack: test: cs_instancegroup: add check_mode tests

* cloudstack: test: cs_iso: add check_mode tests

* cloudstack: test: cs_loadbalancer_rule: add check_mode tests

* cloudstack: test: cs_portforward: add check_mode tests

* cloudstack: test: cs_resourcelimit: add check_mode tests

* cloudstack: test: cs_securitygroup: add check_mode tests

* cloudstack: test: cs_securitygroup_rule: add check_mode tests

* cloudstack: test: cs_configuration: add check_mode tests

* cloudstack: test: cs_firewall: add check_mode tests

* cloudstack: test: cs_instance: add check_mode tests

* cloudstack: query current tags from API

Fixes unexpected tags returned in check mode.
2017-05-26 12:19:47 +02:00
Brendan Almonte
2af5556901 Added autoclean/autoremove for the apt module
- Removed alias autoclean from autoremove.
- Added independent execution of apt-get autoclean/autoremove
- Continued to support --auto-remove as a flag to install/remove

Fixes #22222 #24718
2017-05-25 14:18:20 -07:00
Robin Roth
8fca263560 Refactor zypper version parsing and handling (#24056)
Fixes #23516
2017-05-25 17:05:25 -04:00
Brian Coca
110fd917d6 adding caching to script plugin 2017-05-25 15:37:39 -04:00
Brian Coca
b8448fdb90 path cli options now resolve relative paths to cli 2017-05-25 14:29:27 -04:00
QijunPan
93ddfeb98a Contributing lib/ansible/modules/network/cloudengine/ce_bgp_af.py module to manage HUAWEI data center CloudEngine (#22031)
* add cd_bgp_af module

add cd_bgp_af module

* fix review issues
2017-05-25 17:35:12 +01:00
QijunPan
e86279cee4 Contributing new /lib/ansible/plugins/action/ce.py module to manage HUAWEI data center CloudEngine switch (#21645)
* commit plugins action ce module

commit plugins action ce module

* update plugins/action/ce.py

update plugins/action/ce.py

* update action ce.py

update action ce.py

* fix CI issues

* update ce.py

* add ce action
2017-05-25 17:33:57 +01:00
QijunPan
e9f2c080f4 Contributing lib/ansible/modules/network/cloudengine/ce_mlag_config.py module to manage HUAWEI data center CloudEngine (#22054)
* add ce_mlag_config

add ce_mlag_config

* update ce_mlag_config

update ce_mlag_config

* fix CI issues
2017-05-25 17:31:53 +01:00
QijunPan
f89d12f26e Contributing lib/ansible/modules/network/cloudengine/ce_link_status.py module to manage HUAWEI data center CloudEngine (#22053)
* add ce_link_status

add ce_link_status

* upgrade ce LinkStatus

* fix CI issues
2017-05-25 17:31:17 +01:00
QijunPan
1359d39f9a Contributing lib/ansible/modules/network/cloudengine/ce_ip_interface.py module to manage HUAWEI data center CloudEngine (#22052)
* add ce_ip_interface

add ce_ip_interface

* fix CI issues
2017-05-25 17:30:42 +01:00
QijunPan
16bea773b8 Contributing lib/ansible/modules/network/cloudengine/ce_interface_ospf.py module to manage HUAWEI data center CloudEngine (#22051)
* add ce_interface_ospf

add ce_interface_ospf

* upgrade Interface OSPF

* fix CI issues
2017-05-25 17:30:10 +01:00
QijunPan
7c78a86338 Contributing lib/ansible/modules/network/cloudengine/ce_interface.py module to manage HUAWEI data center CloudEngine (#22050)
* add ce_interface

add ce_interface

* fix review issue
2017-05-25 17:28:54 +01:00
QijunPan
9aa58dd4ca Contributing lib/ansible/modules/network/cloudengine/ce_info_center_log.py module to manage HUAWEI data center CloudEngine (#22048)
* add ce_info_center_log

add ce_info_center_log

* fix review issues
2017-05-25 17:28:05 +01:00
QijunPan
2e126edb91 Contributing lib/ansible/modules/network/cloudengine/ce_info_center_global.py module to manage HUAWEI data center CloudEngine (#22047)
* add ce_info_center_global

add ce_info_center_global

* fix review issue
2017-05-25 17:27:24 +01:00
QijunPan
2b9ac69692 Contributing lib/ansible/modules/network/cloudengine/ce_info_center_debug.py module to manage HUAWEI data center CloudEngine (#22046)
* add ce_info_center_debug

add ce_info_center_debug

* fix review issues
2017-05-25 17:26:52 +01:00
QijunPan
a137349522 Contributing lib/ansible/modules/network/cloudengine/ce_file_copy.py module to manage HUAWEI data center CloudEngine (#22045)
* add ce_file_copy

add ce_file_copy

* fix review issue
2017-05-25 17:26:11 +01:00
QijunPan
182d65d519 Contributing lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py module to manage HUAWEI data center CloudEngine (#22038)
* add ce_evpn_bd_vni

add ce_evpn_bd_vni

* upgrade evpn bd vni

upgrade evpn bd vni

* fix review issue
2017-05-25 17:25:47 +01:00
Nathaniel Case
8985f7c930 nxos_static_route updates (#24992)
* Add static_route tests
* Add VRF tests
2017-05-25 12:19:04 -04:00
Abhijeet Kasurde
650b5fedb1 Handle None and Blank value for sysctl module (#24871)
Fix adds check for values provided by user for
name and value in sysctl module.
While providing name and value as in-line params,
check for blank values

Fixes #20176

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-25 11:49:20 -04:00
Brian Coca
7c325470e2 Pepe Ate 2017-05-25 11:38:53 -04:00
Brian Coca
f23920aa5e optimize file finding 2017-05-25 11:38:53 -04:00
QijunPan
deeffc61d7 Contributing lib/ansible/modules/network/cloudengine/ce_dldp_interface.py module to manage HUAWEI data center CloudEngine (#22036)
* add ce_dldp_interface

add ce_dldp_interface

* fix review issues
2017-05-25 16:08:43 +01:00
QijunPan
645eb03eeb Contributing lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py module to manage HUAWEI data center CloudEngine (#22033)
* add ce_bgp_neighbor_af

add ce_bgp_neighbor_af

* upgrade bgp neighbor af

upgrade bgp neighbor af

* fix review issues
2017-05-25 16:03:33 +01:00
QijunPan
d43fb67583 Contributing lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py module to manage HUAWEI data center CloudEngine (#22032)
* add ce_bgp_neighbor

add ce_bgp_neighbor

* fix review issues
2017-05-25 16:02:54 +01:00
Brian Coca
85c7a7b844 added new selinux fact to clarify python lib
the selinux fact is boolean false when the library is not installed,
a dictionary/hash otherwise, but this is ambigous
added new fact so we can eventually remove the type dichtomy and normalize it as a dict
2017-05-25 10:37:52 -04:00
Abhijeet Kasurde
211d0656f8 Misc Typo correction (#25025)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-25 16:14:39 +02:00
Fabrizio Colonna
78fff751ab Fixed issue idempotence issue on label an name. (#23411) 2017-05-25 16:12:25 +02:00
QijunPan
7df246cebb Contributing lib/ansible/modules/network/cloudengine/ce_bgp.py module to manage HUAWEI data center CloudEngine (#22030)
* add ce_bgp module

add ce_bgp module

* upgrade ce bgp

upgrade ce bgp

* fix review issues
2017-05-25 14:51:26 +01:00
QijunPan
079590b589 Contributing lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py module to manage HUAWEI data center CloudEngine (#21881)
* add ce_ospf_vrf module

add ce_ospf_vrf module

* update ce_ospf_vrf

update ce_ospf_vrf

* upgrade ospf vrf

* fix review issues

* fix CI issues
2017-05-25 14:49:29 +01:00
QijunPan
eaf23d2ec4 Contributing lib/ansible/modules/network/cloudengine/ce_mtu.py module to manage HUAWEI data center CloudEngine (#21879)
* add ce_mtu module

add ce_mtu module

* update ce_mtu

update ce_mtu

* fix review issues
2017-05-25 14:36:11 +01:00
QijunPan
a1578cc01a Contributing lib/ansible/modules/network/cloudengine/ce_acl_advance.py module to manage HUAWEI data center CloudEngine (#21877)
* add ce_acl_advance module

add ce_acl_advance module

* update ce_acl_advance.py

* fix review issues
2017-05-25 14:33:59 +01:00
QijunPan
c0ef52cf40 Contributing lib/ansible/modules/network/cloudengine/ce_netstream_template.py module to manage HUAWEI data center CloudEngine (#21818)
* add ce_netstream_template

add ce_netstream_template

* update

* fix review issues
2017-05-25 14:29:19 +01:00
QijunPan
76b9c84cac Contributing new lib/ansible/modules/network/cloudengine/ce_config.py module to manage HUAWEI data center CloudEngine switch (#21667)
* commit ce_config

commit ce_config

* update ce_config

update ce_config

* add module ce_config

add module ce_config

* update ce_config module

update ce_config module

* update ce_config

update ce_config

* fix CI issues

* fix review issues

* fix review issues
2017-05-25 14:01:50 +01:00
Trishna Guha
307fd1b3dc nxos_vlan fix (#24973) 2017-05-25 09:45:43 +05:30
Will Thames
30fec68931 Expose variable_manager to PlayIterator
`variable_manager` is passed to the constructor of `PlayIterator`,
and then used to access the fact cache when fact gathering.
Make `_variable_manager` an attribute of the `PlayIterator` class
2017-05-24 21:59:13 -04:00
Benjamin Schwarze
5668c97850 enable su support for docker connection 2017-05-24 16:53:08 -07:00
louis
7363776174 fixes #19550 (docker_container with empty links list always restarts) 2017-05-24 16:14:10 -07:00
Konrad Klimaszewski
5f3c887c38 Docker does not output Status after pull anymore.
- Docker 1.12 on CemtoOS7 does not output status line anymore.
- Do not rely on Docker output to verify if the image was the latest.
2017-05-24 16:07:17 -07:00
Brendan Almonte
b820d024fc Add alternative syntax for upgrading all installed packages via apt (#25007)
syntax: 'apt: name=* state=latest'

feature #24189
2017-05-24 16:04:38 -07:00
kkjang
5c43bd3bae Cmp python3 compat (#25008)
* Use double-quotes for expect integration tests

* Cast user input to string for expect integration tests

* Remove usage of cmp() for python3 compatibility

- Add code smell test to look for cmp usage

- Fixes #24756
2017-05-24 15:59:59 -07:00
Konrad Klimaszewski
64f63a3cac Properly handle Docker image comparison for published_ports defined as IP::PORT
- Published port defined as IP::PORT where parsed in expected.parameters
  as 0.0.0.0::PORT leading to changed==True on every playbook run.
2017-05-24 15:55:30 -07:00
bengerman
5b39368108 use two-tuples rather than dicts to allow multiple aliases for the same target 2017-05-24 15:48:12 -07:00
Nikolay Murga
3610a2457f Fixed #21464 - docker_network: TypeError with existing network (#24266)
Fixed #22530 - docker_network Failed but Overlay network created successfully on Docker swarm mode
2017-05-24 14:21:24 -07:00
bengerman
cb3026f769 rebuild docker containers if there are less ports exposed 2017-05-24 12:37:29 -07:00
Guillaume Coré
a5c70dc672 os_user: fix module undefined
module variable in the function is undefined. Pass it.

fix "NameError: name 'module' is not defined"
2017-05-24 12:26:53 -07:00
Brian Coca
a86878c425 fixes for insserv on SLES11
fixes #23700, seems SLES11 has diff behaviour of insserv
these changes are compatible with debian/ubuntu.
2017-05-24 15:19:23 -04:00
bengerman
fab2dfd1c6 typo in security opts 2017-05-24 12:16:31 -07:00
Adrian Likins
ea3914f438 Show the ansible version if invoked with more than one -v (#22091)
* Show the ansible version if invoked with more than one -v

* use display.vv directly
2017-05-24 14:45:35 -04:00
Michael Sheinberg
272125023f Add working_dir to docker_container (#20044) (#24977)
* docker_container: add working_dir (fixes #20044)

Added a working directory option that will get passed with the other
docker container parameters. This is optional and addresses feature
request #20044.
2017-05-24 11:41:54 -07:00
Brian Coca
e558ec19cd Solaris fact fix (#24793)
* ensure locale for solaris fact gathering

fixes issue with locale interfering with proper reading of decimals
fixes #24542

* fixed typoe
2017-05-24 14:31:38 -04:00
Brian Coca
1e1caaad06 docs update, use connection: local vs local_action 2017-05-24 14:09:25 -04:00
Tim Rupp
6ef022b034 Adds the bigip_snmp_trap module to Ansible (#24848)
This patch adds the bigip_snmp_trap module to Ansible to support managing
SNMP trap destinations on an F5 BIG-IP.
2017-05-24 12:57:30 -04:00
Brian Coca
40b222867f ensure fullpaths on vars files (#24990)
fixes #24970
now correctly picks up group/host vars inside group/host named directories
2017-05-24 12:50:05 -04:00
tdtrask
0d761e4568 Add apk available and repository (#24146)
* apk: Allow update and upgrade in same task

* apk: Add repository option

* apk: Add available option

* apk: Add stdout and stderr output where possible

* apk: Add packages return with list of changed packages
2017-05-24 12:28:41 -04:00
Abhijeet Kasurde
625ee36e06 Make os_volume idempotent (#24881)
Fix adds idempotency while deleting volume in os_volume
module

Fixes #19619

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-24 18:16:23 +02:00
Damien
a611449cad eos_user Add documentation and example to change password (#24750)
* Add doc for password

* Add example to change user password

* Add dot at the end of the doc for password

* Add disclaimer in documentation for password

* Correct provider option name in description
2017-05-24 21:27:50 +05:30
Brian Coca
0cde9489fb removed unused import 2017-05-24 11:55:56 -04:00
Brian Coca
f2e4a90c93 clarified error messages 2017-05-24 11:55:56 -04:00
John R Barker
c158705c48 Fix pep8 issue
lib/ansible/plugins/vars/host_group_vars.py:74:41: E261 at least two spaces before inline comment
Caused by daef6f0911
2017-05-24 16:53:02 +01:00
Jiri Tyr
09e80a1306 Removing unecessary exception in jenkins_plugin (#24968) 2017-05-24 07:15:05 -07:00
Ganesh Nalawade
825d9df5ea Add eos changes for Python3 (#24600)
* eos python3 changes

* changes to convert response from byte to text

* Add dellos6 python3 changes
Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431

* Fix py3 prompt issue for invalid show command
* Fix review comments
* Add generic fix for error prompt in py3
* Fix CI issue
* Fix network_cli unit test failure
2017-05-24 19:40:38 +05:30
Brian Coca
daef6f0911 allow empty files in host/group_vars
also remove unused import
fixes #24963
2017-05-24 09:32:34 -04:00
Alexander Teves
d2032116cd Added timeout to jenkins_script POST request (#24924)
* Added timeout to jenkins_script POST request

The timeout value is passed to fetch_url to allow a custom timeout
bigger than the predefined 10 seconds.

* Added version, removed no_log
2017-05-24 11:16:05 +01:00
Ricardo Carrillo Cruz
cd13b70903 Add name_servers alias to name_server vyos_system parameter (#24972)
Other modules use name_servers, we need to have a consistent interface
for the platform agnostic modules work.
2017-05-24 12:15:51 +02:00
Abhijeet Kasurde
2039abbbfa Fix typos in eos module_utils (#24966)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-24 15:22:09 +05:30
Brian Coca
6dc2a6ce8b fixed docs for host list examples 2017-05-23 22:53:12 -04:00
Joseph Callen
8ca836ad14 Fix script inventory plugin 2017-05-23 22:25:10 -04:00
Nathaniel Case
9737c6b90d Python3 chokes on casting int to bytes (#24952)
But if we tell the formatter that the var is a number, it works
2017-05-23 15:58:37 -07:00
kkjang
daada2000c Fix expect for python 3 (#24912)
* Fix expect for python 3

- Change generator next to python 3 compatible
- Added tests for expect

* Add pexpect to integration.txt

- add pexpect library to requirements for integration tests

* Use ansible_python_interpreter in integration tests for expect

* Use double-quotes for expect integration tests

* Cast user input to string for expect integration tests

* Cast user input to string earlier in expect integration tests

* Use ansible.module_utils.six.moves input for expect integration tests

* Fix yamllint errors in the expect test

* Use cat to trigger timeout for expect integration tests

* Use realpath filter in expect integration tests
2017-05-23 15:51:46 -07:00
Dag Wieers
66355df917 module_utils/six: PEP8 compliancy
- Make PEP8 compliant
2017-05-23 15:43:52 -07:00
Brian Coca
8f97aef1a3 Transition inventory into plugins (#23001)
* draft new inventory plugin arch, yaml sample

 - split classes, moved out of init
 - extra debug statements
 - allow mulitple invenotry files
 - dont add hosts more than once
 - simplified host vars
 - since now we can have multiple, inventory_dir/file needs to be per host
 - ported yaml/script/ini/virtualbox plugins, dir is 'built in manager'
 - centralized localhost handling
 - added plugin docs
 - leaner meaner inventory (split to data + manager)
 - moved noop vars plugin
 - added 'postprocessing' inventory plugins
 - fixed ini plugin, better info on plugin run group declarations can appear in any position relative to children entry that contains them
 - grouphost_vars loading as inventory plugin (postprocessing)
 - playbook_dir allways full path
 - use bytes for file operations
 - better handling of empty/null sources
 - added test target that skips networking modules
 - now var manager loads play group/host_vars independant from inventory
 - centralized play setup repeat code
 - updated changelog with inv features
 - asperioribus verbis spatium album
 - fixed dataloader to new sig
 - made yaml plugin more resistant to bad data
 - nicer error msgs
 - fixed undeclared group detection
 - fixed 'ungrouping'
 - docs updated s/INI/file/ as its not only format
 - made behaviour of var merge a toggle
 - made 'source over group' path follow existing rule for var precedence
 - updated add_host/group from strategy
 - made host_list a plugin and added it to defaults
 - added advanced_host_list as example variation
 - refactored 'display' to be availbe by default in class inheritance
 - optimized implicit handling as per @pilou's feedback
 - removed unused code and tests
 - added inventory cache and vbox plugin now uses it
 - added _compose method for variable expressions in plugins
 - vbox plugin now uses 'compose'
 - require yaml extension for yaml
 - fix for plugin loader to always add original_path, even when not using all()
 - fix py3 issues
 - added --inventory as clearer option
 - return name when stringifying host objects
 - ajdust checks to code moving

* reworked vars and vars precedence
 - vars plugins now load group/host_vars dirs
 - precedence for host vars is now configurable
 - vars_plugins been reworked
 - removed unused vars cache
 - removed _gathered_facts as we are not keeping info in host anymore
 - cleaned up tests
 - fixed ansible-pull to work with new inventory
 - removed version added notation to please rst check
 - inventory in config relative to config
 - ensures full paths on passed inventories

* implicit localhost connection local
2017-05-23 17:16:49 -04:00
Abhijeet Kasurde
91a72ce7da Remove redundant return statement from a10_ser* (#24930)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-23 16:45:24 -04:00
Brian Coca
77be724913 fixed extension matching
and name is valid for all
2017-05-23 15:50:35 -04:00
Brian Coca
6fa5dbdb5c fixed pep8 issues 2017-05-23 15:39:22 -04:00
Brendan Almonte
8d8cfb5fcd Read directory_mode as 'raw' type
Reads the directory_mode param as 'raw' type to mirror the same behavior as mode.
This'll cause non-quoted values to be represented as an int, rather than a str.

Covered by 'assert recursive copied directories mode' test.

Fixes #24202
2017-05-23 11:33:19 -07:00
cheko
0dc5e8bf71 Bugfix: Directories in /etc/skel will get users ownership when home dir is created (#24943)
* Bugfix: Directories in /etc/skel will get users ownership when home dir is created
* Bugfix: Chmod works now recursive for the home dir
2017-05-23 11:31:28 -07:00
kgottholm
5240e5a230 Vertica schema fix (#24915)
* replace deprecated cmp() with custom conditional
cmp is not present in Python3 but several modules use it
Reference 24756
2017-05-23 10:49:54 -07:00
Dag Wieers
9cd6f1bf91 win_copy: Fix recursive copy (#23581)
This fixes #23559.

This should be backported to v2.3 branch too.
2017-05-23 10:46:13 -07:00
Nathaniel Case
dd4a79d7d3 Clean up nxos_bgp_neighbor_af (#24890)
* Fix pep8 in bgp_neighbor_af
* Remove WARNINGS
* Rewrite command detection
* Add bgp_neighbor_af test
* Finally kill invoke
2017-05-23 12:43:55 -04:00
kgottholm
1e4b227e6f Os port fix (#24913)
* replace deprecated cmp() with custom conditional
cmp is not present in Python3 but several modules use it
Reference 24756
2017-05-23 09:40:56 -07:00
Brian Coca
e0e94a4d02 reinstated to legacy
(cherry picked from commit a6484da0f11d03056b446526ef1cf78f968ae3ee)
(cherry picked from commit f23e766efa859b25557537d5098de557e85120cf)
2017-05-23 10:40:44 -04:00
Kevin Clark
04073dfa9b adds privilege escalation method for pmrun(Unix Privilege Manager 6.0) 2017-05-23 10:39:48 -04:00
Abhijeet Kasurde
f9b836a901 Include error exception in AnsibleError
- Use to_native instead of str

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-23 10:19:14 -04:00
Trishna Guha
4066b03a4c nxos_evpn_global refactor (#24919)
* nxos_evpn_global refactor

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* ansibot told me to do this

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-05-23 14:54:54 +05:30
Matt Martz
4ac135c1b5 Fix logic surrounding copy and remote_src, remote_src is preferred, make copy action plugin only. Fixes #23591 (#24732) 2017-05-22 17:19:56 -07:00
Andrew Shewmaker
f5fd32eae6 docker_container: do not split command on commas (#24900)
* docker_container: do not split command on commas

Fix issue #24430

* docker_container: document command parameter

Prior behavior was strange, splitting strings on commas
only to join them again ... replacing commas with spaces.

FYI, docker-py accepts strings or lists, using shlex.split
on strings ... splitting on spaces while respecting things
like quotes.

https://github.com/docker/docker-py/blob/master/docker/api/container.py
https://github.com/docker/docker-py/blob/master/docker/types/containers.py
https://github.com/docker/docker-py/blob/master/docker/utils/utils.py

More info regarding Dockerfile syntax for CMD strings and lists
can be found at https://docs.docker.com/engine/reference/builder/#cmd
2017-05-22 15:39:57 -07:00
pdasilva
f8e47e2204 Changed assemble_from_fragments to use os.path.join (#24909)
Fixes #19437
2017-05-22 15:38:11 -07:00
Anton Kasimov
2e392f47c8 Bugfix for setting user groups on OpenBSD 2017-05-22 18:16:28 -04:00
Brian Coca
e506b5da14 only set executable from shell if not set already 2017-05-22 18:06:55 -04:00
Brian Coca
55135c0825 enable run_command to use non /bin/sh shells
fixes #24169
2017-05-22 18:06:55 -04:00
kgottholm
16d522cf2c Letsencrypt fix (#24906)
* Replaced deprecated cmp with custom condition

References  #24756

* Fix PEP 08 indention
2017-05-22 14:41:47 -07:00
Rob
43fc97cad3 [cloud] Fix iam_role to compare trust policies accurately (#22936)
* Fix iam_role to compare trust policies accurately

* Better exception handling and better handling of detaching all managed policies
2017-05-22 15:13:35 -04:00
Tim Rupp
4fc40304d5 Adds the bigip_command module to Ansible (#24850)
This patch adds the bigip_command module to Ansible to support arbitrary
tmsh command to a F5 BIG-IP.
2017-05-22 20:11:34 +01:00
pdasilva
45e4b8f97a Converted the response from _get_url_data using to_native (#24901)
Updated the exception message to no longer use e.message.
Fixes #24526
2017-05-22 12:09:51 -07:00
Ricardo Carrillo Cruz
b12beca3ed Refactos nxos_ip_interface module (#24885) 2017-05-22 19:48:59 +02:00
Abhijeet Kasurde
7fba31677e Remove redeclared module variable
Fix removes redeclared module variable defined
previously without any usage.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-22 12:22:54 -04:00
Trishna Guha
9fb9c00092 Remove deprecation for username/password eos_user, nxos_user and Doc update (#24880)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-05-22 20:02:36 +05:30
glassresistor
4a718645e8 fixed minor py3 compliance issue in ec2_vpn_nacl (#24758)
wrapped a dict.items() with list
2017-05-19 13:58:48 -07:00
Ganesh Nalawade
7563d93901 Add nxos changes for Python3 (#24602)
* Add nxos changes for Python3

Make `execute_command` arguments and its
return value complaint to PY3 changes
made in PR #24431

* Fix CI issues

* Fix review comment

Replace surrogate_or_strict with
surrogate_then_replace as per review
comment os PR #24601
2017-05-20 01:45:53 +05:30
Michael
b65ebf3519 Fixed import of urlencode and pathname2url from urllib for python3 (#24424) 2017-05-19 12:22:16 -05:00
Phil Huang
98a8b967d2 Fixed wrong variable in cumulus network module (#23950)
Signed-off-by: Phil Huang <phil_huang@edge-core.com>
2017-05-19 12:49:07 -04:00
Trishna Guha
1e5a0982b9 Fix nxos_hsrp and add unit test (#24770)
* nxos_hsrp fix

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* unit test nxos_hsrp

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* ansibot told me to do this

* revert apply_key_map and simplify method
2017-05-19 10:40:42 -06:00
Trishna Guha
4782a4e62f Make host required field and minor refactor (#24534)
* Make host required field and minor refactor

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* ansibot pep8 legacy file

* example doc update
2017-05-19 10:37:01 -06:00
QijunPan
68f38c5e9d Contributing lib/ansible/modules/network/cloudengine/ce_info_center_trap.py module to manage HUAWEI data center CloudEngine (#22049)
* add ce_info_center_trap

add ce_info_center_trap

* upgrade Info Center Trap

* fix CI issues
2017-05-19 17:01:52 +01:00
QijunPan
8086f12ddb Contributing lib/ansible/modules/network/cloudengine/ce_facts.py module to manage HUAWEI data center CloudEngine (#22044)
* add ce_facts

add ce_facts

* fix CI issues
2017-05-19 16:59:36 +01:00
QijunPan
35bc99156a Contributing lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py module to manage HUAWEI data center CloudEngine (#22043)
* add ce_evpn_bgp_rr

add ce_evpn_bgp_rr

* fix CI issues
2017-05-19 16:58:55 +01:00
QijunPan
4961778732 Contributing lib/ansible/modules/network/cloudengine/ce_eth_trunk.py module to manage HUAWEI data center CloudEngine (#22037)
* add ce_eth_trunk

add ce_eth_trunk

* fix CI issues
2017-05-19 16:58:21 +01:00
QijunPan
a54c3398e1 Contributing lib/ansible/modules/network/cloudengine/ce_dldp.py module to manage HUAWEI data center CloudEngine (#22035)
* add ce_dldp module

add ce_dldp module

* fix CI issues
2017-05-19 16:57:25 +01:00
QijunPan
9f297ff0c6 Contributing lib/ansible/modules/network/cloudengine/ce_acl_interface.py module to manage HUAWEI data center CloudEngine (#21878)
* add ce_acl_interface module

add ce_acl_interface module

* update ce_acl_interface.py

* fix CI issues
2017-05-19 16:55:41 +01:00
QijunPan
b5805d5aa3 Contributing lib/ansible/modules/network/cloudengine/ce_aaa_server.py module to manage HUAWEI data center CloudEngine (#21757)
* commit ce_aaa_server module

commit ce_aaa_server module

* update ce_aaa_server.py

update ce_aaa_server.py

* update ce_aaa_server module

* upgrade ce aaa server

upgrade ce aaa server

* fix CI issues
2017-05-19 16:53:59 +01:00
QijunPan
365f816e46 Contributing lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py module to manage HUAWEI data center CloudEngine (#21759)
* commit ce_evpn_bgp.py

commit ce_evpn_bgp.py

* update ce_evpn_bgp

update ce_evpn_bgp

* fix CI issues
2017-05-19 16:51:51 +01:00
QijunPan
ea0060ba64 Contributing lib/ansible/modules/network/cloudengine/ce_netstream_global.py module to manage HUAWEI data center CloudEngine (#21817)
* add ce_netstream_global module

add ce_netstream_global module

* update ce_netstream_global

update ce_netstream_global

* fix CI issues

* fix pep8 error
2017-05-19 16:50:53 +01:00
QijunPan
4ef5177e62 Contributing lib/ansible/modules/network/cloudengine/ce_netstream_export.py module to manage HUAWEI data center CloudEngine (#21816)
* add ce_netstrem_export module

add ce_netstrem_export module

* update ce_netstream_export

update ce_netstream_export

* fix CI issues
2017-05-19 16:50:01 +01:00
QijunPan
c291e5d895 Contributing lib/ansible/modules/network/cloudengine/ce_acl.py module to manage HUAWEI data center CloudEngine (#21815)
* add ce_acl module

add ce_acl module

* update ce_acl.py

update ce_acl.py

* fix CI issues
2017-05-19 16:49:31 +01:00
QijunPan
e2cd0ee18b Contributing lib/ansible/modules/network/cloudengine/ce_netstream_aging.py module to manage HUAWEI data center CloudEngine (#21761)
* commit ce_netstream_aging

commit ce_netstream_aging

* update ce_netstream_aging

update ce_netstream_aging

* update ce_netstream_aging

update ce_netstream_aging

* fix CI issues
2017-05-19 16:48:43 +01:00
QijunPan
594dcbcaa2 Contributing lib/ansible/modules/network/cloudengine/ce_evpn_global.py module to manage HUAWEI data center CloudEngine (#21760)
* commit ce_evpn_global

commit ce_evpn_global

* update ce_evpn_global

update ce_evpn_global

* fix CI issues
2017-05-19 16:47:36 +01:00
QijunPan
04d5a80f96 Contributing lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py module to manage HUAWEI data center CloudEngine (#21758)
* commit ce_aaa_server_host.py

commit ce_aaa_server_host.py

* update ce_aaa_server_host.py

* fix CI issues
2017-05-19 16:27:47 +01:00
QijunPan
0fe0538a43 Contributing lib/ansible/modules/network/cloudengine/ce_command.py module to manage HUAWEI data center CloudEngine (#21669)
* update ce_command.py

update ce_command.py

* update ce_command

update ce_command

* update ce_command.py

update ce_command.py

* update ce_command module

update ce_command module

* update ce_command module

update ce_command module
2017-05-19 16:22:20 +01:00
Sergey Bondarev
f39fa7fd22 fix from https://github.com/ansible/ansible/pull/23001 2017-05-19 09:41:09 -04:00
Sergey Bondarev
72fc9f5cbe fix deprecation import ansible.vars.unsafe_proxy to ansible.utils.unsafe_proxy 2017-05-19 09:41:09 -04:00
Niall Donegan
29fb573fd6 Tiny Typo Fix (#24828) 2017-05-19 14:31:02 +01:00