Commit Graph

366 Commits (4900201c5bbe63b1c0e2d8315862420aa031ec18)

Author SHA1 Message Date
Dag Wieers f824b2ce8d Avoid having module documentation links to itself (#21329)
* Avoid having module documentation links to itself

A lot of modules use M(own_module) in their documentation causing a link
in the documentation to itself.

* Make note more clear now
2017-02-13 14:02:34 +00:00
Brian Coca fa93bf7096 allow more than .service, onus on user 2017-02-10 18:12:02 -05:00
Brian Coca 2f0070639f attempt to fix systemd in chroot env
fixes #21026
2017-02-10 18:12:02 -05:00
Brian Coca 74e8aa22af no log passwords (#21229)
* no log passwords

* removed unneeded no_log
2017-02-10 15:13:59 -05:00
Brian Coca 300718e811 use new 'warn' method
this also prevents warnings from being lost
2017-02-08 15:53:58 -05: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 8d17055831 error out if systemctl isn't present 2017-02-06 14:52:24 -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
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
Brian Coca 91b363ea9e allow device to be list for multidev fs (#20655)
* allow device to be list for multidev fs

fixes #20551

* reverted command to string
2017-02-01 13:13:12 -05:00
Matt Clay cb76200c7d PEP 8 E111 & E114 cleanup. (#20838) 2017-01-30 15:01:47 -08:00
Toshio Kuratomi 61ccc847d7 Fix service's exec_command() for python3 (#20826)
* Fix service's exec_command() for python3

exec_command() was mixing text and bytes in several places on python3.
Made changes so that we explicitly convert between the two.

Fixes #20818

* Also handle basestring and shlex.split in a python2/python3 compatible fashion
2017-01-30 13:08:31 -05:00
Brian Coca 294a23d7f6 renamed sv to runit, avoid svc confusion 2017-01-30 10:24:43 -05:00
James Sumners 693c176f43 Add sv module to manage runit services #20181 (#20471)
* Add sv module to manage runit services

* Add mission `restarted` method
2017-01-30 10:22:54 -05:00
Matt Clay 10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay e2c0b375d3 PEP 8 cleanup. (#20790)
* PEP 8 E115 cleanup.
* PEP 8 E131 cleanup.
2017-01-28 01:39:40 -08:00
Matt Clay d0d1158c5e PEP 8 cleanup. (#20789)
* PEP 8 E703 cleanup.
* PEP 8 E701 cleanup.
* PEP 8 E711 cleanup.
* PEP 8 W191 and E101 cleanup.
2017-01-28 00:12:11 -08:00
Matt Clay d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
Matt Clay 95789f3949 PEP 8 whitespace cleanup. (#20783)
* PEP 8 E271 whitespace cleanup.
* PEP 8 W293 whitespace cleanup.
* Fix whitespace issue from recent PR.
2017-01-27 15:45:23 -08:00
Matt Clay 63b1e0c277 Fix infrequent PEP 8 issues. 2017-01-27 14:06:21 -08:00
Jasper Lievisse Adriaanse 4a594b3702 Synchronous actions were introduced in Solaris 11.2 to be precise. 2017-01-25 14:51:55 -05:00
Jasper Lievisse Adriaanse a412be32b5 The '-s' option for restart/refresh is only supported on Oracle Solaris >= 11
Closes #20102
2017-01-25 13:57:40 -05:00
Brian Coca f8f0c4abc8 added formatting 2017-01-23 13:29:14 -05:00
Brian Coca f00490007c actually fix tickets in previous commit
both modules had similar issues and i conflated them
2017-01-23 13:28:34 -05:00
Brian Coca f86e6a2152 updated timezone docs to avoid repainting bikeshed
fixes #19272
fixes #20570
2017-01-23 13:24:06 -05:00
Brian Coca 19496b5b73 fix service status setting
fixes #18687 as 'disabled' can be at the end of the output
fixes #20228 by not falling back to init scripts when it is a user service
2017-01-19 18:57:47 -05:00
Fabio Alessandro Locati 7a275f61de system/beadm: improve examples (#20461) 2017-01-19 17:14:01 +00:00
Toshio Kuratomi 09ceaafd42 Removal wildcard import and unnecessary exception retrieval 2017-01-16 12:12:00 -08:00
Brian Coca 32b7f85f6c clarified docs on timezone module 2017-01-16 11:05:36 -05:00
Jasper Lievisse Adriaanse b0e23049a0 Timezone: Support for FreeBSD/NetBSD and improve SmartOS handling (#20268)
* Tweaks for SmartOS:

- prevent attempting from changing timezone in the global zone (read-only)
- provide meaningful error message in the unlikely case smtools isn't present

* Add support for FreeBSD and NetBSD to timezone module
2017-01-16 10:54:39 -05:00
Tobias Wolf f1ae2eb4f1 systemd: Add boolean option to enable --no-block
In our environment we have custom services that need to be stopped and
restarted very gracefully to not interrupt active sessions.

A stop job, depending on the state, can take up to 20 minutes until the
process exits. It simply reacts to SIGTERM with a graceful shutdown.

By default, systemctl blocks until the job has completed, which leads to
Ansible hanging on this task for up to 20 minutes.

Thankfully systemctl supports the `--no-block` flag which lets the job
continue in the background.

This PR adds support for that flag as the `no_block` boolean option.

From the man page:

   --no-block
       Do not synchronously wait for the requested operation to
       finish. If this is not specified, the job will be
       verified, enqueued and systemctl will wait until the
       unit's start-up is completed. By passing this argument,
       it is only verified and enqueued. This option may not be
       combined with --wait.
2017-01-13 16:26:06 -05:00
Dag Wieers 1ad55ec9de Consistent path attribute for file-related modules
Not all file-related modules consistently use "path" as the attribute to specify a single filename, some use "dest", others use "name". Most do have aliases for either "name" or "destfile".

This change makes "path" the default attribute for (single) file-related modules, but also adds "dest" and "name" as aliases, so that people can use a consistent way of attributing paths, but also to ensure backward compatibility with existing playbooks.

NOTE: The reason for changing this, is that it makes Ansible needlessly harder to use if you have to remember that e.g. the xattr module requires the name attribute, the lineinfile module requires a dest attribute, and the stat module requires a path attribute.
2017-01-13 15:49:42 -05:00
Jasper Lievisse Adriaanse e9038d8dc1 Add support for OpenBSD and SmartOS to timezone module 2017-01-13 14:45:54 -05:00
Jasper Lievisse Adriaanse 0988de8c4c Remove outdated requirements and add a note trying to reflect reality. 2017-01-13 12:16:23 -05:00
Jasper Lievisse Adriaanse 2ea5bb8dbb Fix required_one_of in timezone module (#20185) 2017-01-12 16:35:14 +00:00
Michael Kwardakov 0183a148c5 Update cronvar.py (#19227) 2017-01-11 18:56:34 -05:00
Jasper Lievisse Adriaanse b384a0f795 timezone: Tidy up docs and arg parsing (#20133)
* Small tweaks for timezone module:

- small textual fixes
- ensure the generated docs list either hwclock or name as required
  by using a non-generated value for required_one_of

* Update docs with the DOCUMENTATION block about either name/hwclock being required
2017-01-11 15:22:27 +00:00
Brian Coca afbe3bd63f corrected service condition 2017-01-09 15:44:53 -05:00
James Cooke fafe5bba59 Fix authorized_key crash in Python3 with remote key file (#20037)
* Decode downloaded keys bytes if Python3
* Fixes #20007
* Thanks @georgepsarakis
2017-01-09 12:21:51 -08:00
Evan Kaufman ad9c25a54f Apply SELinux context only if cron_file param exists
Use selinux calls in module_utils/basic instead of native selinux bindings

Fixes #18768
2017-01-09 14:02:05 -05:00
Valentín Gutiérrez 6c448d3673 Fix pamd module (#20048)
* Fix string_types usage

* Fix adding arguments for argument=value arguments

* Remove unnecesary check on module_args

* Fix argument requirements

* Proper handling of parameter=value arguments
2017-01-09 09:30:32 -08:00
Brian Coca 0ef60aeacb improved negative service status handling
This is still far from optimal but the nature of the initscripts does not really allow for much better.
fixes #20028
2017-01-09 11:09:11 -05:00
Adam Števko d9ced3f4d1 Modules for gathering facts about ZFS datasets and pools (#19181)
* Add modules for gathering facts about ZFS datasets and pools

* Move zfs module to storage/zfs subcategory

* Replace dict.iteritems() with iteritems(dict)

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
Use native YAML syntax in EXAMPLES

* Add zfs_facts and zpool_facts modules to CHANGELOG.md

* Add facts to return values
2017-01-09 07:53:42 +00:00
Adam Števko 3744764fae Add module for managing boot environments on FreeBSD/Solaris/illumos … (#19180)
* Add module for managing boot environments on FreeBSD/Solaris/illumos systems

* Add ANSIBLE_METADATA
Document return values
Make imports explicit
Use native YAML syntax in EXAMPLES

* Add beadm module to CHANGELOG.md

* Update version to 2.3
2017-01-09 07:52:06 +00:00
Toshio Kuratomi 08d6990e67 Fix code-blocks to use correct syntax highlighting 2017-01-08 09:18:45 -08:00
Fabio Alessandro Locati 2790999ee9 Add output (#19212) 2017-01-08 15:33:05 +00:00
Fabio Alessandro Locati 85f7d2b97a authorized_key: doc: Improve example description (#19209) 2017-01-08 12:28:29 +01:00
Ken Evensen 99e19ad617 Minor rework of pamd module. Fixed some documentation. (#19758)
* Minor rework.  Fixed some documentation.

* Requested changes in the case the arg is unicode
2017-01-05 15:48:24 -08:00
Toshio Kuratomi 5536ffe978 Fix OSX defaults for lists
In modern ansible, parameters default to string type.  This causes
issues for polymorphic parameters like this module's value param.  note
that this fix restores ansible-2.0 and previous behaviour but it is not
perfect.  If a parameter is specified via key=value or given on the
commandline then it will be a string before it reaches the module code.
There's nothing we can do about that.

Fixes #19585
2017-01-05 15:45:26 -08:00
Fabrizio Colonna b6f9b0be1f Added arbiter support to gluster_volume module. 2017-01-04 17:09:24 -08:00