David Wilson
9ad022107e
issue #414 : disable test until rest of CI is healthy
6 years ago
David Wilson
f87553b165
tests: must set ansible_become_pass in synchronize.yml.
6 years ago
David Wilson
574fc27a9c
issue #414 : import test / reproduction.
6 years ago
David Wilson
c286f4f107
Add tests/ansible/requirements.txt to Tox.
6 years ago
David Wilson
5eff8ea4fb
tests: make result_shell_echo_hi compare less of the timedelta; closes #361
...
Assuming less than one second is too much to ask from Travis.
6 years ago
David Wilson
c148c869e6
issue #76 , #370 : add disconnect cleanup test
6 years ago
David Wilson
fd326f5ad7
tests: stub tests for doas/mitogen_doas
6 years ago
David Wilson
cbd4129cb9
tests: fix paramiko_unblemished.yml
6 years ago
David Wilson
e8fc9e490f
tests: update osa_delegate_to_self to match connection parameters
6 years ago
David Wilson
6c71c5bfef
issue #369 : disable reset_connection on Ansible<2.5.6
...
https://github.com/ansible/ansible/issues/27520
6 years ago
David Wilson
8ed72e7e7b
issue #369 : avoid Ansible 2.5 bug (cond_reset_warn missing method)
6 years ago
David Wilson
ab4ccc6b92
issue #369 : don't mass-kill all SSH clients in reconnection.yml
...
It breaks my new development environment :)
6 years ago
David Wilson
a6dd8bb2d0
issue #409 : stub test for mitogen_sudo method.
6 years ago
David Wilson
144685a327
issue #409 : more lxc/lxd stub tests, let tests run on vanilla.
6 years ago
David Wilson
0e8f451190
issue #409 : add stub LXC test, refactor playbooks.
6 years ago
David Wilson
e832ddec13
issue #409 : mark sudo test noninteractive
6 years ago
David Wilson
a77f07659e
issue #409 : make setns test to work anywhere sudo works.
6 years ago
David Wilson
f2294c1678
issue #409 : add new stub_connections/ test type.
6 years ago
David Wilson
c51b67b863
issue #409 : add test stubs to the PATH in run_ansible_playbook.py
6 years ago
David Wilson
5b916fc556
issue #409 : Pythonize run_ansible_playbook.sh
...
And add git_basedir extra variable.
6 years ago
David Wilson
96f000c5ea
ansible: tilde-expand SSH key before passing to SSH; closes #334 .
6 years ago
David Wilson
519faa3b3b
issue #369 : add Connection.reset() test.
6 years ago
David Wilson
89852db163
issue #370 : add 'disconnect resets connection' test
6 years ago
David Wilson
c510e58f9b
issue #352 : add test for disconnect message.
6 years ago
David Wilson
3429e57825
tests: fix target_test 3.x compat.
6 years ago
David Wilson
3585ee74f7
tests: split out ansible_tests requirements
...
Also remove hard-coded Ansible version, the tests don't need it, nor
does local testing most of the time
6 years ago
David Wilson
a7d635dff8
tests: import ara_env helper script.
6 years ago
David Wilson
918f709420
tests: import a bunch more random unchecked in pieces.
6 years ago
David Wilson
0d70fc1324
tests: import z hostfile
6 years ago
David Wilson
fd5066d671
tests: teach various tests to cleanup /tmp when they're done.
6 years ago
David Wilson
7fd9fb0014
issue #397 : fix another case where stray tmpdirs can be left behind.
...
Newer Ansibles use atexit.register() to invoke cleanup, so we need to
run those registrations after each run.
6 years ago
David Wilson
1b17aa1d1a
ansible: fix temp cleanup regression and add test; closes #397 .
6 years ago
David Wilson
9d070541d9
ansible: try to create tempdir if missing.
...
Closes #358 .
6 years ago
David Wilson
6dd1001d7a
tests: move kubectl into new subdir
...
Fixes tab completion with tests/ dir :)
CC @yannig
6 years ago
David Wilson
130e42a932
tests: prevent compare_output_test running on import.
6 years ago
David Wilson
4c81eba599
Merge commit 'refs/pull/377/head' of github.com:dw/mitogen into dmw
...
(Pull #377 )
Changes:
- additional_parameters -> extra_args
- Merge with kubectl changes from dmw branch
- Update docs
- Remove unused username class member
- Avoid mutable kubectl_args class member
- Use six.iteritems
6 years ago
David Wilson
2eb3ea78d6
tests: remove a bunch of stray debug
6 years ago
David Wilson
21a7aac220
tests: import custom binaries for tests
...
Same for async tests.
6 years ago
David Wilson
dfb4930fce
tests: import custom binaries for tests
...
It means Linux<->OS X runs work fine without manual hackery.
6 years ago
David Wilson
564113874b
tests: explicitly define localhost in common-hosts
6 years ago
David Wilson
5521945bd2
ansible: temporary files take 5.
6 years ago
David Wilson
f6b74992e1
tests: fix apparently erroneous localhost delegation.
...
The stack delegates to localhost, which has ansible_python_interpreter
set.
6 years ago
David Wilson
e85760477b
tests: fix connection/_put_file.yml
...
Was statting wrong destination path, and comparing floats that don't
roundtrip serialization reliably.
6 years ago
David Wilson
638e473ff1
tests: hacksmash synchronize test to work
...
Avoid password typing idiocy.
6 years ago
Yannig Perré
17548d1e49
[Enhancement] handle kubectl vars from Ansible connector.
...
This change allows the kubectl connector to support the same options as
Ansible's original connector.
The playbook sample comes with an example of a pod containing two containers
and checking that moving from one container to another, the version of Python
changes as expected.
6 years ago
Yannig Perré
6828926a36
Kubernetes connection support for mitogen.
6 years ago
David Wilson
638b196a45
ansible: fix put_file() for large temporary files.
...
Reverts 49736b3a
, large file copies can't avoid the RTT.
The parent stack must be blocked while FileService progresses, as unlike
the small file path, it does not make a snapshot of the (possibly
temporary) file passed by the action plug-in. So we need to keep that
file alive while the service runs.
Add a new integration test and a new soak test to cover both.
6 years ago
David Wilson
001b63074c
tests: fix another typo.
6 years ago
David Wilson
d5524178bf
tests: fix bonehead syntax error.
6 years ago
David Wilson
65f03e03f5
tests: remote_tmp test fixes.
6 years ago
David Wilson
5eb41751f5
tests: import missing connection_passthrough
6 years ago
David Wilson
90f89f95fb
ansible: fix exec_command() regression.
6 years ago
David Wilson
24a44499ca
tests: verify Connection.put_file() for small/large files.
6 years ago
David Wilson
705d77a9be
ansible: remove a bunch more aliasing from connection.py.
6 years ago
David Wilson
66142e7d75
ansible: fork isolated tasks from correct parent.
...
Closes #355 .
6 years ago
David Wilson
e5d421e5f4
Update k3 inventory.
6 years ago
David Wilson
426cffd9f5
tests: set no_target_syslog
6 years ago
David Wilson
acf7fe56ee
tests: a few more inventory helpers.
6 years ago
David Wilson
b0ffc4e209
Copy random test setup changes out of linear2 branch.
6 years ago
David Wilson
e52684c186
tests: enable display_args_to_stdout
6 years ago
David Wilson
0a2ae4d597
tests: tidy up issue_140.yml
6 years ago
David Wilson
72fa129f8a
tests: fix clash when localhost is test-target
6 years ago
David Wilson
5bac246676
tests: make nice_stdout print failing task line number
6 years ago
David Wilson
9792b8b54f
ansible: use template-expanded delegate_to hostname in one more location.
6 years ago
David Wilson
3b012e5bce
tests: allow plugging in pprint/pprintpp via env.
6 years ago
David Wilson
90c2ed03d0
ansible: fix synchronize module
...
Broken by recent connection delegation fixes.
6 years ago
David Wilson
8e9b5ad576
tests: import template benchmark script.
6 years ago
David Wilson
084c0ac065
ansible: avoid roundtrip in copy action due to fixup_perms2().
...
On top of existing temporary files work, this reduces the number of
roundtrips required for "copy" and "template" actions from 6 to 3.
6 years ago
David Wilson
4098d45dac
tests: disable delegation tests on vanilla.
6 years ago
David Wilson
50e285f7ba
tests: update for identities_only change.
6 years ago
David Wilson
a4ed27fa63
tests: add playbook step to ensure key file perms.
6 years ago
David Wilson
ac9b84d237
issue #321 : 2.4+ compatibility fixes, disable test on Vanilla.
6 years ago
David Wilson
f24f02ba06
issue #321 : take remote_tmp and system_tmpdirs into account.
...
Can't simply ignore these settings as some users may have weird noexec
filesystems.
6 years ago
David Wilson
a2686b1a2c
issue #321 : simplify temp directory handling.
6 years ago
David Wilson
3d588323ff
issue #340 : use expanded delegate_to hostname, not template.
...
PlayContext.delegate_to is the unexpanded template, Ansible doesn't keep
a copy of it around anywhere convenient. We either need to re-expand it
or take the expanded version that was stored on the Task, which is what
is done here.
6 years ago
David Wilson
154dc2e119
tests: fix integration/runner/missing_module.yml on Travis.
6 years ago
David Wilson
a6995a5288
issue #338 : refactor env handling into class and fix tests.
6 years ago
David Wilson
06ae59702c
tests: rationalize matrix and rewrite ansible_tests
...
Now all distros run in parallel.
6 years ago
David Wilson
da391f0542
tests: fix host limit.
6 years ago
David Wilson
ce058eb8bd
Add 'clean' target to makefile.
6 years ago
David Wilson
8eb288856c
issue #338 : run /etc/environment test with become:true.
6 years ago
David Wilson
ad365dad56
issue #340 : one more test, update Changelog.
6 years ago
David Wilson
916e46621b
issue #340 : add connection delegation tests.
6 years ago
David Wilson
aed8fb531b
tests: unused imports
6 years ago
David Wilson
df112be704
tests: teach controller.yml to configure git too
6 years ago
David Wilson
49c804937d
tests: import 2 more simple benchmarks.
6 years ago
David Wilson
b521f215fd
ansible: handle >2.6 magic exceptions + sys.excepthook damage
...
Closes #332 .
6 years ago
David Wilson
a192935daf
tests: merge build_docker_images.py with osx_setup.yml
...
Hooray!
6 years ago
David Wilson
2c2fc73b0a
tests: whups, s/ansible_hostname/ansible_host/
6 years ago
David Wilson
6c4b01642c
ansible: don't crash when adhoc tries to run a missing module.
...
ansible-playbook prints a separate error during parsing stage, adhoc
performs no such check.
6 years ago
David Wilson
b964e647d2
tests: split inventory up slightly.
...
This makes it easier to run connection delegation tests against either
the local machine or a container.
6 years ago
David Wilson
1473f49505
ansible: emulate /etc/environment reloading behaviour of vanilla.
...
This change is relatively incomplete -- ideally we could snapshot
os.environ and /etc/environment at startup and respect key deletions
too, but that's a lot more work. Wait for a bug report instead.
Closes #338 .
6 years ago
David Wilson
3e0de9790c
issue #324 : fix Python 3 fallout for custom module_utils.
...
Also enable at last one of its tests.
6 years ago
David Wilson
1008cda93b
tests: add missing debops installs tep
6 years ago
David Wilson
b44b823c4a
ansible: make _remote_expand_user() pay attention to sudoable=..
6 years ago
David Wilson
a8e4dcc98d
issue #301 : correct remote_tmp evaluation context.
...
Vanilla Ansible expands remote_tmp variables in the context of the login
account, not any become_user account.
6 years ago
David Wilson
9410903f20
issue #301 : add related test.
6 years ago
David Wilson
b6d6468c92
issue #301 : support expandvars() for remote_tmp only.
...
Vanilla Ansible support expandvars-like expansions widely in a variety
of places. Prefer to whitelist those we need, rather than sprinkling
hellish semantics everywhere.
6 years ago
David Wilson
e39c602fd3
issue #291 : support UNIX hashbang syntax for ansible_*_interpreter.
...
Closes #291 .
6 years ago
David Wilson
15d68b3c32
issue #309 : fix environment cleanup regression.
...
Closes #309 .
6 years ago
David Wilson
0b1f92b59f
issue #297 : test fixes to match fixed CWD.
6 years ago
David Wilson
d8e0c9e12c
issue #297 : local commands must execute with WorkerProcess environment.
6 years ago
David Wilson
012745efea
issue #297 : local actions must execute with fixed directory.
...
Local actions must execute in the the parent directory of the playbook
that defines the action.
6 years ago
David Wilson
26ba3e4d83
issue #294 : stronger integration test
...
Run the tests in a brand new ansible-playbook invocation, and try both
linear->mitogen->linear and mitogen->linear->mitogen.
6 years ago
David Wilson
5b03e06457
issue #294 : ansible: fix mixed vanilla/Mitogen runs.
...
Don't bother trying to understand what damage PluginLoader has done to
ansible.plugins.* namespace, just ask it for the base class instead.
6 years ago
David Wilson
5668267f47
tests: import debug_ansible_playbook.sh.
6 years ago
David Wilson
8a2e8964a9
tests: import gce.yml
6 years ago
David Wilson
079dc95aef
tests: use nice_stdout in gcloud/ too
6 years ago
David Wilson
b21d51be47
ansible: fix test for 3.x.
6 years ago
David Wilson
410016ff47
Initial Python 3.x port work.
...
* ansible: use unicode_literals everywhere since it only needs to be
compatible back to 2.6.
* compat/collections.py: delete this entirely and rip out the parts of
functools that require it.
* Introduce serializable Kwargs dict subclass that translates keys to
Unicode on instantiation.
* enable_debug_logging() must set _v/_vv globals.
* cStringIO does not exist in 3.x.
* Treat IOLogger and LogForwarder input as latin-1.
* Avoid ResourceWarnings in first stage by explicitly closing fps.
* Fix preamble_size.py syntax errors.
6 years ago
David Wilson
4f57c59b7e
issue #275 : Don't run virtualnv test on 2.6.
7 years ago
David Wilson
9617f4d7bf
Revert "try to catch EINTR on travis"
...
This reverts commit 42797d5cff
.
7 years ago
David Wilson
fbb67e837e
tests: import nice_stdout plugin
7 years ago
David Wilson
42797d5cff
try to catch EINTR on travis
7 years ago
David Wilson
ffc7306cf8
tests: better runner_two_simultaneous_jobs.yml.
7 years ago
David Wilson
1d96d80e8d
tests: osx_setup.yml missing line
7 years ago
David Wilson
3994f1b30a
ansible: implment async job time limit.
7 years ago
David Wilson
df8fe59eda
tests: replace hard-coded sleep with a polling loop
7 years ago
David Wilson
64b60be50c
tests: split runner_new_process out of runner_one_job
7 years ago
David Wilson
cee76ee7b9
tests: gcloud setup fixes.
7 years ago
David Wilson
3b0addcfb0
service: v2. Closes #213
7 years ago
David Wilson
eac4cc7afe
tests: speed things up
7 years ago
David Wilson
b0aa413173
tests: import benchmark reproduction setup playbook
...
Incomplete, also needs to mess around with Gcloud routing and handle box
setup/teardown, because that's another "well engineered" waste of time.
7 years ago
David Wilson
a99c7a12f9
tests: output split groups in gcloud.py
7 years ago
David Wilson
dbcee4041a
tests: refactor gcloud.py to be dynamic inventory.
7 years ago
David Wilson
a3995f8e5f
ansible: remove hard-coded dw username.
7 years ago
David Wilson
2c58591129
Bump Ansible version in dev_requirements.txt
7 years ago
David Wilson
faaac43a78
Disable SSH variables test on vanilla Ansible.
7 years ago
David Wilson
68d6e6bf34
ansible: tests for all SSH variables.
...
Closes #184 .
7 years ago
David Wilson
2ad0d0521d
ansible: reload /etc/resolv.conf for each task.
...
The OpenShift installer modifies /etc/resolv.conf then tests the new
resolver configuration, however, there was no mechanism to reload
resolv.conf in our reuseable interpreter.
https://github.com/openshift/openshift-ansible/blob/release-3.9/roles/openshift_web_console/tasks/install.yml#L137
This inserts an explicit call to res_init() for every new style
invocation, with an approximate cost of ~1usec on Linux since glibc
verifies resolv.conf has changed before reloading it.
There is little to be done for users of the thread-safe resolver APIs,
their state is hidden from us. If bugs like that manifest, whack-a-mole
style 'del sys.modules[thatmod]' patches may suffice.
7 years ago
David Wilson
60781ecab6
tests: fix test for vanilla Ansible.
7 years ago
David Wilson
eb56a8f98d
tests: add debug
7 years ago
David Wilson
267f787d20
issue #217 : tests: import (unused) module_utils tests.
7 years ago
David Wilson
ee741da2b3
tests: reenable remaining Ansible tests.
7 years ago
David Wilson
be5c03c152
tests: many test fixes. Travis broken for >1 week.
7 years ago
David Wilson
69f58875c8
tests: more ansible fixes from recent brakage.
7 years ago
David Wilson
b20174729d
issue #199 : fix readonly_homedir test.
7 years ago
David Wilson
f98279fc95
tests: fix LRU test after splitting up Connection class.
...
The module the connection class is now loaded as is
"ansible.plugins.connection.mitogen_ssh", etc., which breaks the test.
Instead, check if the connection is an instance of the base Connection
class.
7 years ago
David Wilson
f9e1905ec6
issue #199 : ansible: stop writing temp files for new style modules
...
While adding support for non-new style module types, NewStyleRunner
began writing modules to a temporary file, and sys.argv was patched to
actually include the script filename. The argv change was never required
to fix any particular bug, and a search of the standard modules reveals
no argv users. Update argv[0] to be '', like an interactive interpreter
would have.
While fixing #210 , new style runner began setting __file__ to the
temporary file path in order to allow apt.py to discover the Ansiballz
temporary directory. 5 out of 1,516 standard modules follow this
pattern, but in each case, none actually attempt to access __file__,
they just call dirname on it. Therefore do not write the contents of
file, simply set it to the path as it would exist, within a real
temporary directory.
Finally move temporary directory creation out of runner and into target.
Now a single directory exists for the duration of a run, and is emptied
by runner.py as necessary after each task invocation.
This could be further extended to stop rewriting non-new-style modules
in a with_items loop, but that's another step.
Finally the last bullet point in the documentation almost isn't a lie
again.
7 years ago
David Wilson
6109de51a0
tests: Ansible SSH timeout test
...
Also change Docker image to new 'mitogen' organization.
7 years ago
David Wilson
b7fe0e09f4
tests: su integration test.
7 years ago
David Wilson
3203846708
issue #239 : ansible: ignore remote_tmp in new style runner.
7 years ago
David Wilson
baa4e75526
tests: tidy up thread_pileup for use as a toy benchmark.
7 years ago
David Wilson
fa4746f656
ansible: add connection delegation test targets.
...
For command line use only, no integration tests yet.
7 years ago
David Wilson
962ba862e9
tests: use test-targets group, not all group
7 years ago
David Wilson
86c9978e09
Ensure mod.__file__ is set; closes #210 .
7 years ago
David Wilson
6541779dd6
tests: import Ansible file transfer benchmark
7 years ago
David Wilson
8c3b1fcf15
ansible: disable script interpreter processing for new-style
...
Re: #199
7 years ago
David Wilson
2f02b5c0b1
ansible: prevent Unicode strings leaking into sys.argv
...
The module name comes from YAML via Jinja2.. it's always Unicode. Mixing
it into a temporary directory name produces a Unicode tempdir name,
which ends up in sys.argv via TemporaryArgv.
7 years ago
David Wilson
dc4433ace6
issue #202 : ansible: forget all dependent contexts on Stream disconnect
...
This is a partial fix, there are still at least 2 cases needing covered:
- In-progress connections must have CallError or similar sent to any
waiters
- Once connection delegation exists, it is possible for other worker
processes to be active (and in any step in the process), trying to
communicate with a context that we know can no longer be communicated
with. The solution to that isn't clear yet.
Additionally ensure root has /bin/bash shell in both Docker images.
7 years ago