1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-03-22 05:09:12 +00:00
Commit graph

41 commits

Author SHA1 Message Date
Mike Aldred
0abb9a557e Address review feedback from russoz
Remove redundant 'should generally be left enabled' description line
and simplify become command return by removing unnecessary flags
conditional.
2026-03-20 17:52:41 +08:00
Mike Aldred
7eaf551b24 pfexec become plugin: fix broken defaults for illumos/SmartOS
The pfexec become plugin has had incorrect defaults since it was
migrated from Ansible core, making it unusable on illumos without
manual workarounds:

1. become_flags defaulted to '-H -S -n' which are sudo flags.
   pfexec does not accept any of these options, causing:
   'exec: illegal option -- H'

2. wrap_exe defaulted to false. Unlike sudo, pfexec does not
   interpret shell constructs internally. Since Ansible generates
   compound commands (echo BECOME-SUCCESS-xxx ; python3), these
   must be wrapped in /bin/sh -c for pfexec to execute them.

These issues were originally reported in 2016 (ansible/ansible#15642),
migrated to community.general as #3671, and partially fixed by PR #3889
in 2022 (which corrected quoting but not the defaults). Users have had
to work around this with explicit inventory settings ever since.

Changes:
- become_flags default: '-H -S -n' -> '' (empty)
- wrap_exe default: false -> true
- build_become_command: handle empty flags cleanly
- Updated tests to match corrected defaults
- Added test for custom flags
- Improved wrap_exe description to explain why it should be enabled
2026-03-19 23:21:12 +08:00
Felix Fontein
55dae7c2a6
doas: allow to explicitly enable pipelining (#11481)
* Allow to explicitly enable pipelining.

* Add markup.
2026-03-12 21:13:02 +01:00
Felix Fontein
236b9c0e04
Sort imports with ruff check --fix (#11400)
Sort imports with ruff check --fix.
2026-01-09 07:40:58 +01:00
Felix Fontein
340ff8586d Reformat everything. 2025-11-01 13:46:53 +01:00
Felix Fontein
74c2c804e5
Cleanup: use super() instead of super(__class__, self) (#11016)
* Address UP008: Use super() instead of super(__class__, self).

* Linting.
2025-10-30 20:17:26 +01:00
Felix Fontein
8f8a0e1d7c
Fix __future__ imports, __metaclass__ = type, and remove explicit UTF-8 encoding statement for Python files (#10886)
* Adjust all __future__ imports:

for i in $(grep -REl "__future__.*absolute_import" plugins/ tests/); do
  sed -e 's/from __future__ import .*/from __future__ import annotations/g' -i $i;
done

* Remove all UTF-8 encoding specifications for Python source files:

for i in $(grep -REl '[-][*]- coding: utf-8 -[*]-' plugins/ tests/); do
  sed -e '/^# -\*- coding: utf-8 -\*-/d' -i $i;
done

* Remove __metaclass__ = type:

for i in $(grep -REl '__metaclass__ = type' plugins/ tests/); do
  sed -e '/^__metaclass__ = type/d' -i $i;
done
2025-10-10 19:52:04 +02:00
Felix Fontein
6cd4665412
Avoid six in plugin code (#10873)
Avoid six in plugin code.
2025-10-05 06:56:32 +02:00
Felix Fontein
47e8a3c193
ansible-core 2.20: avoid deprecated functionality (#10687)
Avoid deprecated functionality.
2025-08-18 06:25:23 +02:00
Felix Fontein
9a29622584
Disable pipelining for doas and machinectl on ansible-core 2.19+ (#10537)
Disable pipelining for doas and machinectl.
2025-08-02 16:41:58 +02:00
Alexei Znamensky
580ac1e30d
fix style in plugins (#10302)
Co-authored-by: Felix Fontein <felix@fontein.de>
2025-07-02 01:15:50 +12:00
Alexei Znamensky
e37cd1a015
fix YAML docs in multiple plugins (#10286)
* fix YAML docs in multiple plugins

* pfexec: fix short description

* adjust callback plugins

* fix wsl connection

* fix filter plugins

* fix inventory plugins

* minor adjustments in diy, print_task, xen_orchestra
2025-06-24 06:23:46 +02:00
Alexei Znamensky
81e22180d1
action/become/cache/callback: adjust import __future__ for Python3 (#9583)
* action/become/cache/callback: adjust import __future__ for Python3

* add changelog frag

* remove metaclass

* adjust chglog

* adjust chglog
2025-01-20 19:36:21 +01:00
Alexei Znamensky
3af793c2c1
plugins (become, callback, filter): style adjustments (#9535)
* plugins (become, callback, filter, inventory): style adjustments

* remove inventory plugins from PR

* adjustments from review

* typo
2025-01-07 06:33:28 +01:00
Alexei Znamensky
29e3226718
normalize docs in become plugins (#9452)
* normalize docs in become plugins

Normalize doc blocks for plugins

* adjustments
2024-12-29 20:23:59 +01:00
Felix Fontein
ec585392e5
Docs: fix its vs. it's (#9442)
* Fix its vs. it's.

* Improvements from review.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Improve formulations.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 13:29:58 +01:00
Alexei Znamensky
c7edf0a87b
become plugins: use f-strings (#9319)
* become plugins: use f-strings

* add changelog frag
2024-12-23 10:02:12 +01:00
Felix Fontein
a24ee93f23
Type options of become plugins (#8623)
Type options of become plugins.
2024-07-21 21:02:49 +02:00
leko
83318c36aa
fix: sudosu not working on some BSD machines (#8214)
* fix: sudosu not working on some BSD machines

* fix: sudosu: added a flag (`alt_method`) to enhance compatibility with more versions of `su`

* Update changelogs/fragments/8214-sudosu-not-working-on-some-BSD-machines.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/become/sudosu.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/become/sudosu.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/become/sudosu.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/become/sudosu.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* fix: sudosu: lint

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-07-14 14:00:00 +02:00
Thomas Sjögren
f82e7a7b83
lint and fix polkit examples (#8381)
* lint and fix polkit examples

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add changelog fragment

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* remove changelog fragment

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

---------

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2024-05-19 20:50:41 +02:00
Thomas Sjögren
d347bf5fa0
add systemd run0 as a become method (#8306)
* add systemd run0 as a become method

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add fragment

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* remove space after hyphen

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* replace ansible with collection version

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* update version_added and remove changelog fragment

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* update formating

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add types

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* slim super()

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* imports must appear below docs

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add initial unit test

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* update unit tests

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

---------

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2024-05-11 16:53:44 +02:00
Felix Fontein
24feb1dd10
machinectl become plugin: mark as require_tty (#6935)
Mark machinectl become plugin as require_tty.
2023-07-15 12:53:59 +02:00
Felix Fontein
011b2f8bdc
Start using semantic markup (#6627)
* Start using semantic markup.

* Forgot some places.

* Fix typo.

* Use 'ignore:' prefix until https://github.com/ansible-community/antsibull-docs/pull/155 is out.

* Break too long line.
2023-06-10 09:28:40 +02:00
manschwetusCS
dc2d3c24fa
Make pfexec become usable for illumos (#3889)
* Experimental change from OpenIndiana

* resolve pfexec problem, by removing superfluous quotes

* reimplement "wrap_exe"

* remove spaces arround keyword argument assignment

* adapted pfexec unit test

* Try to fix quoting of test expression

* Fix quoting of test expression by replacing ' with "

* Add changelog fragment
2022-10-05 08:26:40 +02:00
Ben Brown
f3bcfa5a75
machinectl: include the success command (#5287)
Combines the success command when building the become command. This is
consistent with other become plugins.
2022-09-25 21:09:08 +02:00
Felix Fontein
015566fb06
Normalize more booleans. (#5247) 2022-09-06 20:42:17 +02:00
Felix Fontein
123c7efe5e
Move licenses to LICENSES/, run add-license.py, add LICENSES/MIT.txt (#5065)
* Move licenses to LICENSES/, run add-license.py, add LICENSES/MIT.txt.

* Replace 'Copyright:' with 'Copyright'

sed -i 's|Copyright:\(.*\)|Copyright\1|' $(rg -l 'Copyright:')

Co-authored-by: Maxwell G <gotmax@e.email>
2022-08-05 12:28:29 +02:00
Thomas
037c75db4f
fixing minor documentation flaws (#5000)
Co-authored-by: Thomas Blaesing <thomas.blaesing@erwinhymergroup.com>
2022-07-26 08:01:43 +02:00
Louis Seubert
35ddf31b5f
added password prompt support for machinectl (#4849)
* added password prompt support for machinectl

* include review comments

This includes the review comments as well as changelog fragment. This also gives more information about the polkit rule.

* fix yaml doc with leftover bracket

* include review comments 2

* move regex compile to global scope
2022-07-08 23:11:14 +02:00
Felix Fontein
4982eaf935
Update BOTMETA, fix some plugin authors, improve BOTMETA extra sanity test (#3069)
* Update BOTMETA, fix some plugin authors, improve BOTMETA extra sanity test.

* Linting.
2021-07-26 11:44:41 +02:00
Felix Fontein
fafabed9e6
Replace ansible.module_utils._text by ansible.module_utils.common.text.converters (#2877)
* Replace ansible.module_utils._text by ansible.module_utils.common.text.converters.

* Also adjust tests.
2021-06-26 23:59:11 +02:00
Felix Fontein
7cd96d963e
meta/runtime.yml and __init__.py cleanup (#2632)
* Remove superfluous __init__.py files.

* Reformat and sort meta/runtime.yml.

* The ovirt modules have been removed.

* Add changelog entry.
2021-05-27 18:49:26 +02:00
Felix Fontein
6a72c3b338
Make plugins pass validation. (#2414) 2021-05-03 13:22:11 +02:00
Dag Wieers
db26514bf1
Add support for sudo su - using password auth (#2054)
* Add support for `sudo su -` using password auth

Allow users to run Ansible tasks through `sudo su -` using password auth

- Feature Pull Request

sudosu

So I have been using this at various customers for bootstrapping Ansible mostly.

Often you have an existing setup where there is a user that has root-access enabled through sudo, but only to run `su` to log using the user's password.
In these specific cases the root password is unique to the system and therefore not an easy way to automate bootstrapping.

Having a `sudo su -` become option **with password prompt** is not possible with the existing become methods (neither sudo nor su can be used) by abusing `become_exe` or `become_flags`.

This fixes ansible/ansible#12686

* Fix all reported issues

* Add unit tests

* Apply suggestions from code review

* Update plugins/become/sudosu.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update tests/unit/plugins/become/test_sudosu.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update tests/unit/plugins/become/test_sudosu.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-03-24 17:20:26 +01:00
Felix Fontein
99cfb993d5
<plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
Felix Fontein
7cf472855c
Fix various sanity errors in plugins (#881)
* Fix deprecation of callables.

* Fix various sanity errors.

* Revert callback_type -> type transform.

* Fix stat_result times: these are float according to https://github.com/python/typeshed/blob/master/stdlib/3/os/__init__.pyi

* Apply suggestions from code review

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-09-16 11:06:45 +02:00
Felix Fontein
08f10d5758
Fix more become plugins (#708)
* Fix more become plugins.

* Don't re-use var.

* Other way around.
2020-07-29 20:27:16 +02:00
Gonéri Le Bouder
15e9f04f86
doas: properly set the default values (#704)
* doas: properly set the default values

The module expects by default:

- `become_user` to be `None` or a string,
- `become_flags` to by an empty string.

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-07-29 07:55:01 +02:00
lospatchos
7c6d22efba
Update sesu.py: use defined prompt (#227)
* Update sesu.py: use defined prompt

* add changelog

Co-authored-by: Alexandros Zachos <alexandros.zachos@cz.ibm.com>
2020-05-28 23:09:11 +01:00
Felix Fontein
0026c9f5b2
Fix become plugins (#50)
* Fix become plugins.

* Fix become unit tests to avoid play_context.make_become_cmd.

* Remove hack.

* Remove explicit defaults. Adjust tests to be more like Ansible itself.

* Forgot two lines.

* Rewrite tests (again).

* Rename play_context -> task, add possibility to pass var_options.

* Add var_options variants.

* Properly test overwriting.
2020-03-30 19:09:45 +02:00
Ansible Core Team
aebc1b03fd Initial commit 2020-03-09 09:11:07 +00:00