Commit Graph

3878 Commits (dad28e8b4a1436b09a2ae7e0a8cc12a4490f495c)
 

Author SHA1 Message Date
Alex Willmer d033f7b057 ansible_mitogen: Restore dummy objects in Connection.reset()
The previous commit (53b4881628 in PR 1200) was
not intended to change these values, but some WIP slipped through. This
partially reverts that commit so the two changes (moving the monkey patch,
making the monkey patch more capable) exist in distinct commits.
12 months ago
Alex Willmer 7a828e7510
Merge pull request #1200 from moreati/issue1079-templated-python-interpreter
ansible_mitogen: Fix timeout in wait_for_connection with templated ansible_python_interpreter
12 months ago
Alex Willmer 53b4881628 ansible_mitogen: Fix wait_for_connection + templated ansible_python_interpreter
This tightens up our monkey patching `Connection._action` so it's only applied
during `meta: reset_connection` & promptly removed. This fixes "'int' object
has no attribute 'template'" when `ansible.plugins.action.wait_for_connection`
or other code calls `ansible.plugins.connection.ConnectionBase.reset()`.

This could also have switched to `templar=templar` on the temporary action,
rather than `templar=0`, but it's not strictly necessary to fix this bug. I
anticipate other changes doing so soon, to improve interpreter discovery &
templated python interpreter path support.
12 months ago
Alex Willmer 288b0051d2
Merge pull request #1198 from moreati/prep-v0.3.19
Prepare v0.3.19
1 year ago
Alex Willmer ffb1709630 Begin v0.3.20dev 1 year ago
Alex Willmer 24ba734ff9 Prepare v0.3.19 1 year ago
Alex Willmer d68368e549
Merge pull request #1177 from moreati/issue1129
Ansible 11 (ansible-core 2.18)
1 year ago
Alex Willmer 0b99169f42 Support Ansible 11 (ansible-core 2.18) 1 year ago
Alex Willmer b36806ab7f
Merge pull request #1194 from moreati/prepare-v0.3.18
Prepare v0.3.18
1 year ago
Alex Willmer 1cd7ea18d3 Begin v0.3.19dev 1 year ago
Alex Willmer d85d9a25ee Prepare v0.3.18 1 year ago
Alex Willmer 4a2ba525a7
Merge pull request #1193 from moreati/issue1083-become
ansible_mitogen: Templated become flag
1 year ago
Alex Willmer dd41ddf89b ansible_mitogen: Templated become flag
The code change to support this was already made in transport_config.py, as
part of templated become_user support (commit bf6607e27e, PR #1148). This
commit adds tests to confirm the functionality.
1 year ago
Alex Willmer 8e64459bbf
Merge pull request #1192 from moreati/issue-1083-become_method
ansible_mitogen: Templated become method
1 year ago
Alex Willmer e120cd2cae ansible_mitogen: Templated become method 1 year ago
Alex Willmer 61c8267605
Merge pull request #1190 from moreati/test-port-keyword
Prepare v0.3.17 and some washup tests
1 year ago
Alex Willmer d2db3c3840 Begin v0.3.18dev 1 year ago
Alex Willmer 6cf6f69751 Prepare v0.3.17 1 year ago
Alex Willmer 905b87b71a tests: Test templated ansible_host_key_checking provided by task vars
missed by #1184
1 year ago
Alex Willmer 5ae5bb94ac docs: Changelog entry for templated ansible_host 1 year ago
Alex Willmer 6da2c6a80f
Merge pull request #1189 from moreati/issue1083-host
ansible_mitogen: Templated target host
1 year ago
Alex Willmer f50a61f981 ansible_mitogen: Templated host option (e.g. ansible_host, ansible_ssh_host)
A twist - for the connection option "host" the corresponding legacy
PlayContext attribute is PlayContext.remote_addr. This may be the only case
where a connection option name and the PlayContext attribute name differ.
1 year ago
Alex Willmer 6d9f2e12d9 tests: Switch remaining tt_targets_inventory group vars to host vars
This is ground work for adding/testing templated hostnames and python
interpreters. The extreme wideness will hopefully be temporary, e.g. by
switching to YAML inventories. The INI inventory plugin doesn't support
multiline host entries.

> 640 K(olumns) should be enough for anyone
> -- Apocryphal, not Bill Gates
1 year ago
Alex Willmer 0d09174031
Merge pull request #1184 from moreati/issue1083-host_key_checking
ansible_mitogen: Templated SSH host key checking
1 year ago
Alex Willmer 3a1b5ec620 CI: Increase sshd MaxAuthRetries to 50 on macOS runners
refs #1186
1 year ago
Alex Willmer 8cfcb66cda CI: Refactor sshd configuration into a role
Prep for applying it to macOS 13 GitHub runners.

refs #1186
1 year ago
Alex Willmer 9e0dad2a1a ansible_mitogen: Templated SSH host key checking
refs #1083
1 year ago
Alex Willmer 9189c01c16
Merge pull request #1181 from moreati/issue1083-private_key_file
ansible_mitogen: Templated SSH private key file
1 year ago
Alex Willmer c7df5c97c1 ansible_mitogen: Templated SSH private key file 1 year ago
Alex Willmer 5895ccadd2
Merge pull request #1183 from moreati/issue1182
CI: Fix incorrect u=r,g=r,o=rw file permissions on mitogen__has_sudo_pubkey.key
1 year ago
Alex Willmer 43cc937bc6 CI: Fix incorrect u=r,g=r,o=rw file permissions on mitogen__has_sudo_pubkey.key
The wrong base was used when calculating the mode. So the file became world
readable and writable on a CI runner, until
ansible/integration/ssh/variables.yml happened to correct it near the end of
the integration tests.

I believe this was the only instance.

```console
mitogen git:(issue1182) ✗ ag --python 'int\(.+7\)' . .ci | wc -l
       0
```

fixes #1182
1 year ago
Alex Willmer a35b208acd
Merge pull request #1179 from moreati/prep-v0.3.16
Prepare v0.3.16
1 year ago
Alex Willmer 757527635d Begin v0.3.17dev 1 year ago
Alex Willmer d28dd09e23 Prepare v0.3.16 1 year ago
Alex Willmer df8f11d731
Merge pull request #1176 from moreati/issue1133
CI: Migrate to from macOS 12 to 13 test runners
1 year ago
Alex Willmer 06df62c8b8 CI: Migrated macOS 12 runners to macOS 13, due to EOL.
macOS Python 2.7 jobs have been removed because the macOS 13 image doesn't
include CPython 2.7.
1 year ago
Alex Willmer 88e7c568d2
Merge pull request #1175 from moreati/issue1083-ssh_executable
ansible_mitogen: Templated ssh executable
1 year ago
Alex Willmer 833e2845e9 ansible_mitogen: Templated ssh executable, templated reset_connection fix
Adding a the tt-ssh-executable test target uncovered an Ansible bug during
`meta: reset_connection` tasks. So this commit includes a workaround for
affected versions of Ansible.
1 year ago
Alex Willmer 89244703ff
Merge pull request #1174 from moreati/issue1083-become_flags
ansible_mitogen: Template become command arguments (become_flags)
1 year ago
Alex Willmer 66ea10d577 ansible_mitogen: Template become command arguments (become_flags)
Uses the same fallback for (mitogen_sudo et al) as become_exe (see #1173).

The new `Spec.become_flags()` is not yet explicitly tested. Note that it
returns a string (matching the Ansible option of the same name), whereas
`Spec.sudo_args()` returns a list.

refs #1083
1 year ago
Alex Willmer 04f7b7a282
Merge pull request #1172 from moreati/issue1083-become_exe
ansible_mitogen: Support templated become_exe option
1 year ago
Alex Willmer ec9b3e5c5d ansible_mitogen: Support templated become_exe option
Some ansible_mitogen connection plugins look more like become plugins (e.g.
mitogen_sudo) & use become plugin options. For now there's special handling in
PlayContextSpec._become_option(). Further design/discussion can go in #1173.

Refs #1087.
1 year ago
Alex Willmer 06a82d3944
Merge pull request #1170 from moreati/prep-v0.3.15
Prep v0.3.15
1 year ago
Alex Willmer 26c4c33ad3 Begin 0.3.16dev 1 year ago
Alex Willmer 7634e2c469 Prepare v0.3.15 1 year ago
Alex Willmer 0526f8e167
Merge pull request #1169 from moreati/issue1083-become_pass
ansible_mitogen: Support templated become passwords
1 year ago
Alex Willmer 7e5b064139 ansible_mitogen: Support templated become passwords 1 year ago
Alex Willmer 21e002af2d
Merge pull request #1168 from moreati/issue1083-become_pass
tests: Re-enable become/sudo tests, fix them on macOS runners
1 year ago
Alex Willmer 8a34b925a4 tests: Re-enable become/sudo tests, fix them on macOS runners
The tasks in tests/imageprep/_user_accounts.yml that create users did not
specify a primary group for those users - this left the decision to Ansible's
user module, and/or the underlying OS. In Ansible 9+ (ansible-core 2.16+ the
user module defaults to primary group "staff." Earlier don't supply a default,
which releases probably results in a primary group nameed "None" (due to
stringifying the Python singleton of the same name), or whatever the macOS
Directory Services has for no data/NULL.

The invalid GID 4294967295 (MAX_UINT32 == 2**32-1) in the sudo error probably
enters the mix via something similar to sudo CVE-2019-14287.

Fixes #692

See
- https://github.com/ansible/ansible/pull/79999
- https://github.com/ansible/ansible/commit/c69c83c962f987c78af98da0746527df
- https://www.sudo.ws/security/advisories/minus_1_uid/

> Bruce Wayne : [confused]  Am I meant to understand any of that?
> Lucius Fox : Not at all, I just wanted you to know how hard it was.
> -- Batman Begins
1 year ago
Alex Willmer 257d602a11
Merge pull request #1167 from moreati/issue905
ansible_mitogen: Template `ssh_args`, `ssh_common_args`, `ssh_extra_args`
1 year ago