Commit Graph

7006 Commits (5f29117e5903356b73a0470952f4b4210de9d38b)

Author SHA1 Message Date
Matt Martz c3fb4c837b Fix module validation errors for avi_api_session (#21154) 2017-02-08 10:32:13 -06:00
Marius Gedminas 2efb692cc4 known_hosts: support --diff (#20349)
* known_hosts: support --diff

* known_hosts: support --diff also without --check

* Add unit tests and fix incorrect diff in one corner case

Tests are good!

* Refactor for readability

* Python 3 compat

* More Python 3 compat

* Add an integration test for known_hosts

* Handle ssh-keygen -HF returning non-zero exit code

AFAICT this is a bug in ssh-keygen in some newer OpenSSH versions
(>= 6.4 probably; see commit dd9d5cc670):
when you invoke ssh-keygen with -H and -F <host> options, it always
returns exit code 1.  This is because in ssh-keygen.c there's a function
do_known_hosts() which calls

  exit (find_host && !ctx.found_key);

at the end, and find_host is 1 (because we passed -F on the command line),
but ctx.found_key is always 0.  Why is found_key always 0?  Because the
callback passed to hostkeys_foreach(), which is known_hosts_hash(),
never bothers to set found_key to 1.

* This test does not need root

* Avoid ssh-ed25519 keys in sample known_hosts file

Older versions of OpenSSH do not like them and ssh-keygen -HF
aborts with an error when it sees such keys:

  line 5 invalid key: example.net...
  /root/ansible_testing/known_hosts is not a valid known_hosts file.

* Fix Python 3 errors

Specifically, the default mode of tempfile.NamedTemporaryFile is 'w+b',
which means Python 3 wants us to write bytes objects to it -- but the
keys we have are all unicode strings.
2017-02-08 09:56:03 -05:00
Brian Coca d0bc98bddb added url and metadata 2017-02-08 09:48:59 -05:00
Gaurav Rastogi 798972c72a Avi Networks Ansible modules. (#20415)
* Avi Networks Ansible modules.
Avi Version: 16.3.4

* Fixed Review comments
1. Changed description to be full sentences
2. Fixed Pep8 warnings.
3. Fixed comments and descriptions.

* 1. Fixed descriptions and messages as per review comments.
2. Added descriptions for the missing parameters.

* Fixed the shippable break due to the incorrect description format

* Removed the extra modules so that there is a single module for the first commit

* Updated license to BSD based on review comments

* updated comments based on review feedback

* Refactored code to handle POST and PUT scenarios where playbook does not need to check whether object is present.
Moved ansible helper utilities to module_utils as now roles can be patched with module_utils as well.

* fixed pep8 warnings
2017-02-08 09:47:18 -05:00
Thomas Krahn 9f3870ddcd IPA: Remove duplicated code and fix a bug that occurs if empty lists were passed and IPA didn't know the value before (#19210)
* ipa: Add method get_diff and modify_if_diff to class IPAClient

* ipa_*: Use method get_diff and modify_if_diff from class IPAClient
2017-02-08 14:16:44 +00:00
Kevin Kuhls 534dbb094b adding support for no candidate config (#20821)
commit fails for devices with no candidate config, such as when configuraion is written to running-config store.  Commit is set to True in main's call of netconf_edit_config.  The simple edit is to add the additional logic around sending the commit.  Otherwise you could change commit could be set to (if ":candidate" in m.server_capabilities) in the call of netconf_edit_config.  Either way would work.  I'll defer for the decision of which.
2017-02-08 08:58:23 -05:00
Robert Simmons b7e78656ac [cloud] gce_net fix for unsetting firewall rule properties in the project. (#20483) 2017-02-08 08:49:04 -05:00
Ricardo Carrillo Cruz 64ed9bcfd7 Add unit tests for ios_facts module (#21114) 2017-02-08 12:24:25 +01:00
René Moser a6f887ce6e cloudstack: cs_portforward: implement vpc support (#19044)
* cloudstack: cs_portforward: implement vpc support

* cloudstack: cs_portforward: add vpc and network to returns

* cloudstack: cs_portforward: networkid must not be used for rule listing

* cloudstack: fail for get_network when vpc but no network name

This seem to be a global pattern for get_network, we want to enforce a
network name to be set if a vpn param is given.

This is used for cs_portforward.

* cloudstack: cs_portforward: doc: fix defaults for vpc, network
2017-02-08 07:57:36 +01:00
Marius Gedminas 577d0e43ba apt_repository: check for enabled repositories correctly
Fixes #20754.

Details: UbuntuSourcesList.add_source() had a quick check for PPAs being
already present in the source lists.  The check was looking for the PPAs
URL to be present in self.repo_urls, which should contain all valid and
enabled repositories.

The enabled check in repo_urls was incorrect.  It was checking the tuple's
2nd item (which means "valid") and ignoring the 3rd item (which means
"enabled").

self.files contains tuples (line_number, valid, enabled, source_line,
comment_text).  Ideally it would be using named tuples instead of
indexing, to avoid bugs like that, but Python 2.4 didn't have named
tuples, so we can't do that (yet).
2017-02-07 18:42:57 -08:00
René Moser c00604210c cs_instance: fix ssh keys not found in projects (#21104)
Follow up of 5475f3ee64
2017-02-07 22:14:43 +01:00
Adrian Likins 7278308ca2 Redhat subscription (#20729)
* Make unused redhat_subscriptions do something

rhsm_baseurl/server_insecure were module params that were
never used previously. Hook them up for register options.

* pep8/style cleanups
* Set a module scope SUBMAN_CMD before we ref it as a global
* move ansible imports to top, remove '*' imports
* remove redhat_subscriptions from pep8 legacy
2017-02-07 12:07:01 -05:00
Nathaniel Case 530701b398 Vyos system module (#21060)
* vyos_system tests

* Merge vyos_system fixture with vyos_config fixture
2017-02-07 12:04:14 -05:00
Abdul Anshad A b30942787b Add guest shutdown/reboot (#20564) 2017-02-07 10:33:13 -05:00
Craig Francis 3e003b10fa Reminder that lookup(‘file’) can be used (#20649)
* Reminder that lookup(‘file’) can be used

Sometimes the block of text does not easily fit into a playbook, so this acts as a reminder (or a prompt for anyone who hasn't used this before) that the content could be stored in an separate file.

I've also included `backup: yes` as I think this is a good example of where a backup might be needed.

* Correct the not so "smart quotes"

* Update blockinfile.py

Replace – with an an ASCII -
2017-02-07 13:57:49 +00:00
Brian Coca c86a17b7a0 refactoring async
- centralized skipping
- also fixed module name broken by previous refactor
- let action modules handle async processing
- moved async into base action class's module exec
- action plugins can now run final action as async
- actually skip copy if base skips
- fixed normal for new paths
- ensure internal stat is never async
- default poll to 10 as per docs
- added hint for callback fix on poll
- restructured late tmp, now a pipeline query
- moving action handler to connection as networking does
- fixed network assumption invocation is always passed
- centralized key cleanup, normalized internal var
- _supress_tmpdir_delete now in _ansible_xxx and gets removed from results
- delay internal key removal till after we use em
- nicer tmp removing, using existing methods
- moved cleanup tmp flag to mking tmp func
2017-02-06 19:32:00 -05:00
Mike Rostermund c6a5d9c8bf Fix indentation to match other examples (#21080) 2017-02-06 17:19:35 -05:00
Vincent Bernat d94f9bdd8d cloudstack: ensure we select a template compatible with disksize (#21058)
When the user specify a root disk size, the template image must be
smaller than the specified root disk size.
2017-02-06 23:14:31 +01:00
Ricardo Carrillo Cruz 375846d764 Refactor iosxr_facts to use network_cli plugin (#20857) 2017-02-06 22:23:17 +01:00
Toshio Kuratomi 5c56e79a8f Cleanup imports 2017-02-06 13:04:54 -08:00
Eugene Krokhalev d67cbaa274 fix urlparse usage in cloud.amazon module to be compatible with python3 (#20917)
* fix urlparse usage in cloud.amazon module to be compatible with python3

* make imports style compatible with six documentation
2017-02-06 12:55:11 -08:00
Brian Coca 8d17055831 error out if systemctl isn't present 2017-02-06 14:52:24 -05:00
Davis Phillips 65e55d47b1 fixes 20904 (#21068) 2017-02-06 14:37:42 -05:00
Evgeni Golov 827723db90 use require_if to check for username or AK instead of custom code (#20937)
the logical or parameter to require_if was introduced in #20220
2017-02-06 13:53:12 -05:00
Brian Coca 770fb03157 minor fixes to template docs 2017-02-06 13:05:18 -05:00
Imran Hussain d7bf3749b7 Add Check Mode capability to kernel_blacklist module (#21007)
* Add Check Mode capability to kernel_blacklist module
* Add suggested changes from @tmshn
* Pass a bool into `Blacklist` that'll just be `module.check_mode`
* Move detection and creation of a file to a separate function within `Blacklist`
* If there's no file on the system and we are running under `Check Mode`, set `self.filename` to `os.devnull` AND mark a change, as the module would have created an empty file.
* Whenever a `self.filename` is being opened in a mode where changes can be made, replace with an if statement that checks `self.checkmode` and if true then open up `os.devnull` instead
2017-02-06 13:00:31 -05:00
Loïc Blot b55d039f67 New modules: vmware_guest_facts & vmware_guest_snapshot (#20971)
* Move gather_facts action outside of vmware_guest module
* Move facts gathering method to vmware.py library
* vmware_guest use some vmware.py library methods
* vmware.py lib: fix some PEP 8 issues
* Move snapshot actions to vmware_guest_snapshot
* Move common snapshot facts to vmware.py library
2017-02-06 11:52:17 -05:00
Daniel Andrei Mincă 62434d9955 update vague description of only_upgrade (#21050)
* the `only_update` param description was kinda vague:
  * either install if not installed
  * or upgrade if installed
  * or both!?
    * as a result, remove the "install" statement from this sentence

Resolves:
Related:
Signed-off-by: Daniel Andrei Minca <mandrei17@gmail.com>
2017-02-06 09:50:43 +00:00
Ganesh Nalawade 95a75e7c3a Fixes #20412 junos_config delete command fix (#20450)
If same config hierarchy is set and deleted in one playbook
for delete statement add support to check if the config is present
on device or in the playbook. If it is present add delete statement in
updated config list.
2017-02-04 09:16:16 -05:00
JimFicarra 46503c6d1f win_msi:Fixing Issue #20315 - shows changed even when msi not found (#20358)
* win_msi #20315 - shows changed even when msi not found

* make brace placement consistent
2017-02-04 09:32:06 +01:00
Scott Peshak 467fde5644 Correct typo in net_command docs (#20976) 2017-02-04 08:53:11 +01:00
Toshio Kuratomi f75ffe46db Make configparser imports python3 ready
the ConfigParser module was renamed to configparser in Python3.  Use
six.moves to import it so that the modules will function on Python3.
2017-02-03 21:15:34 -08:00
Ryan S. Brown bb9ee0cf6f [cloud][aws] Make `s3_object_version` truly optional in lambda module 2017-02-03 16:22:54 -05:00
Davis Phillips 00fdec1d60 closes #21011 (#21015) 2017-02-03 13:57:19 -05:00
jhawkesworth 2c70450e23 Fix 'touch' mode so it creates zero size files. (#20876) 2017-02-03 13:36:47 +01:00
Peter Sprygada d226f31a0f fixes ios and eos command modules (#20989)
* returns support for prompt/response over cli
* now sends native dict instead of str command
* fixes issue with run_commands() in ios to jsonify request
* updates unit test cases
2017-02-02 22:10:14 -05:00
Ondra Machacek de2b6469e9 [cloud][ovirt] new module ovirt_snapshots & ovirt_snapshots_facts (#20936)
* cloud: ovirt: add snapshots module

* Move imports in ovirt_snapshots module to match style & pass CI

* Move ovirt_snapshot_facts imports to comply w/ CI
2017-02-02 16:34:54 -05:00
Ondra Machacek 684c766e20 cloud: ovirt: add host engine options to ovirt_hosts (#20967) 2017-02-02 16:24:24 -05:00
Matt Martz 829c0b8f62 Update validate-modules (#20932)
* Update validate-modules

* Validates ANSIBLE_METADATA
* Ensures imports happen after documentation vars
* Some pep8 cleanup

* Clean up some left over unneeded code

* Update modules for new module guidelines and validate-modules checks

* Update imports for ec2_vpc_route_table and ec2_vpc_nat_gateway
2017-02-02 11:45:22 -08:00
Nathaniel Case 1718719d77 vyos_facts 2.3 (#20939)
* Update vyos_facts documentation

* Replace runner for run_commands

* vyos_facts tests

* Update documentation

* vyos_facts is supported by core
2017-02-02 14:45:06 -05:00
Tobias Rüetschi 4f117df6ec univention udm_user: add parameter to control password update (#20699)
* univention udm_user: added support to set the password always

* module udm_user: added version 2.3 to update_password
2017-02-02 14:10:32 -05:00
Ondra Machacek 4269b12c9d Ovirt vms improve (#20882)
* cloud: ovirt: add function to get id by name

* cloud: ovirt: add instance type parameter

* cloud: ovirt: use param method instead of module.params

* cloud: ovirt: use 'and' at begging of next line

* cloud: ovirt: add description parameter to vms module

* cloud: ovirt: add comment parameter to vms module

* cloud: ovirt: add timezone parameter to vms module

* cloud: ovirt: add serial_policy parameter to vms module
2017-02-02 13:51:26 -05:00
Ondra Machacek ee7f1cde0e ovirt: Add support to diff (#20698)
* cloud: ovirt: Add diff support to

* cloud: ovirt: Add ability to print nested list of objects

* cloud: ovirt: Fix waiting while reinstalling host

* cloud: ovirt: fix ovirt_vms 404 error

* cloud: ovirt: add check_mode support to ovirt_auth module
2017-02-02 13:50:52 -05:00
Nathaniel Case d87fc9605f vyos_config 2.3 (#20577)
* Rename vyos2 over vyos

* Update vyos_config to LocalAnsibleModule

Change result key 'updates' -> 'commands'

vyos_config is supported by core

* vyos_config tests

* Enable bracket config use

* Sanitize config before use
2017-02-02 13:12:26 -05:00
Peter Sprygada 1e2afd57ae fix up eos doc frags (#20981)
* fix modules with invalid doc frags
* remove unneeded doc frags
2017-02-02 12:15:23 -05:00
s-hertel 0ed1e6a1f3 [cloud] rds module: handle parameters that are False, but also not the default value. Fixes #20370 (#20646)
Boolean options that default as `None` but are set to `False` by the user were ignored on update. This change checks to distinguish None & False so that options like multi_az can be turned off during an update. 

* Modifying how optional parameters are handled in rds.py. Fixes #20370

Allowing options to be set to false/no. Previously ignored unless set to true/yes.

Added a conditional for invalid parameters since the default is false instead of null for some options (e.g. force_failover, apply_immediately, upgrade).

* Making requested revision.
2017-02-02 09:49:19 -05:00
Dag Wieers 3dbce15ccb win_shortcut: Add missing $check_mode definition + bugfix + tests (#20911)
* win_shortcut: Add missing $check_mode definition

For some reason this entry was missing, possible a merge-conflict gone
wrong :-(

* Added integration tests and bugfix

Add missing changes.
2017-02-02 10:29:56 +01:00
Peter Sprygada e19c2f6a6d adds the cli transport back to the ios modules (#20949)
the cli transport was initially removed to aid in the transition to
network_cli.  This adds the function back to the provider can be
specified.
2017-02-01 23:06:42 -05:00
Peter Sprygada d8d0b007e3 adds support for eos_local connections to eos modules (#20961)
* updates modules to use eos_local
2017-02-01 22:37:57 -05:00
Will Thames da1c13705d Disassociate EC2 VPC subnets from route tables before deletion (#20114)
* Disassociate subnets from route tables before deletion

If a route table still has subnets associated with it, it will fail
to delete:

```
"msg": "The routeTable 'rtb-abcd1234' has dependencies and cannot be deleted."
```

Avoid this by disassociating subnets before route table deletion

* Fix ec2_vpc_route_table flake8 complaints
2017-02-01 15:36:51 -05:00