David Wilson
90f89f95fb
ansible: fix exec_command() regression.
6 years ago
David Wilson
7cd4d0828d
tests: data/fakessh.py 3.x fixes.
6 years ago
David Wilson
24a44499ca
tests: verify Connection.put_file() for small/large files.
6 years ago
David Wilson
4d3873c784
core: call chains v3: abstract it into a new CallChain class.
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
a3957d6aaf
parent: add Context.forget_chain().
6 years ago
David Wilson
42b1b3d286
core: support mitogen_chain dispatcher option.
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
7d62a53264
issue #337 : ssh: disabling PTYs round 2: make it automatic.
6 years ago
David Wilson
5004207705
issue #337 : ssh: support disabling PTY allocation
...
`.ssh(batch_mode=True)`
6 years ago
David Wilson
c4c6ae88a4
parent: raise a descriptive error when openpty fails.
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
Jesse London
3453d4d7d0
Python 3 support for classmethod call targets
...
There were two problems with detection and handling of class methods as call targets in Python 3:
* Methods no longer define `im_self` -- this is now only `__self__`
* The `types` module no longer defines a `ClassType`
The universally-compatible (v2.6+) solution was to switch to using the `inspect` module -- whose interface has been stable -- and to checking the method attribute `__self__`.
(It doesn't hurt that `inspect` checks are more brief and we now no longer need the `types` module here.)
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
06e2e846c5
parent: don't generate illegal default remote names.
...
getpass.getuser() output may contain slashes, which must be avoided as
they break virtualenv when present in argv[0].
Closes #344 .
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
3113bf6228
tests: fix debops tests (py-apt broken if /var/lbi/apt missing)
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
d39efd9f54
tests: add new users for conndel tests.
6 years ago
David Wilson
e48e32cd0c
tests: image_prep fixes.
6 years ago
David Wilson
e1306bb03d
tests: build Docker images in parallel
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
6f524d3ff8
issue #339 : minimal tests for lxc/lxd modules.
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
a05835c46e
tests: more stable roundtrip.py.
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
1a74938ee0
issue #291 : missing env_wrapper.sh test script.
6 years ago
David Wilson
e39c602fd3
issue #291 : support UNIX hashbang syntax for ansible_*_interpreter.
...
Closes #291 .
6 years ago
David Wilson
f977be2868
issue #291 : permit supplying a full Python argv.
6 years ago
David Wilson
15d68b3c32
issue #309 : fix environment cleanup regression.
...
Closes #309 .
6 years ago
David Wilson
830a133ad6
issue #307 : require partial line when matching interactive prompt.
...
This is a best-effort attempt to avoid SSHd banner spam from breaking
our password entry loop.
Closes #307 .
6 years ago
David Wilson
8ce51ec96c
issue #307 : add SSH login banner to Docker containers
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
e1402b2214
tests: import various bench/ scripts.
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
04e138e060
core: fix serialization of empty bytes() on 3.x.
6 years ago
David Wilson
b4f4b66679
tests: make cpu_load.py more random.
6 years ago
David Wilson
46ec0ffcaf
tests: log original traceback in assertRaises().
6 years ago
David Wilson
3e48f95439
tests: import cpu_load.py.
6 years ago
David Wilson
7ff9d573b6
tests: remove stray enable_debug()
6 years ago
David Wilson
4ff47d6a93
parent: more 2/3x format fixes
6 years ago
David Wilson
90f2f823db
tests: remove stray hard-coded interpreter.
6 years ago
David Wilson
6b4e047017
tests: 3.x parent_test fixes.
6 years ago
David Wilson
6cbf34d5fe
tests: another smattering of 3.x type/API fixes.
6 years ago
David Wilson
7697861011
tests: skip one test that triggers bug in ancient vendered six.py
6 years ago
David Wilson
c141dd10ec
master: fix resolve_relpath()
...
looks like this was just as broken on 2.x, and suddenly we're
finding a bunch more legit Django deps. It seems anywhere
absolute_import appeared in 2.x, we skipped some imports.
6 years ago
David Wilson
b0404bef40
tests: fix get_module_via_* encoding issues
6 years ago
David Wilson
9903692811
master: update scan_code_imports to cope with wordcode
...
Constant-sized opcodes were introduced as an optimization in Python 3.6.
See https://bugs.python.org/issue26647
6 years ago
David Wilson
826c477061
tests: built-in exceptions live in a different module in 3.x
6 years ago
David Wilson
cbcd8267d1
tests: must decode() zlib result for 3.x.
6 years ago
David Wilson
ec176bf1f8
tests: unittest2 import behaviour appears to differ between 2/3.
...
In 2 the module is loaded as __main__
In 3 it has its actual name.
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.
6 years ago
David Wilson
cec564654e
issue #275 : tests: fix module_finder_test for 2.6.
6 years ago
David Wilson
4be8afa3d3
issue #275 : tests: fix test_simple for 2.6.
6 years ago
David Wilson
7b84a2c2e4
issue #275 : tests: use same EC0_MARKER as parent.py
6 years ago
David Wilson
6e0883f369
issue #275 : tests: fix bug in 2.6 compat check_output(), ignore it for >2.6.
6 years ago
David Wilson
3b1cc3676c
issue #275 : ssh_debug_level=3 for tests
6 years ago
David Wilson
6d618593f3
issue #275 : Python 2.6 reports linux as 'linux3'.
6 years ago
David Wilson
1d04a99adb
issue #275 : missing check_output() call
6 years ago
David Wilson
38d69a6ecd
issue #275 : tests: drop docker client dep, doesn't run on 2.6.
7 years ago
David Wilson
b38318dfec
issue #275 : build for centos 6 too (python2.6)
7 years ago
dw
27ab051289
Merge pull request #282 from dw/issue278
...
Issue278
7 years ago
David Wilson
6d14652077
issue #278 : tests: fix fakessh.
...
See source comment. This behaviour always existed, but it now seems to
be triggered since we started draining the master side input buffer,
which someone was prolonging the life of the PTY.
7 years ago
Alex Willmer
21199f290e
Fix bash loop when add users to docker images
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
f7d2eace08
tests: importer fixes
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
633585524f
tests: don't need separate module for id_allocation_test any more
...
This used to be because everything would explode while importing
__main__ under py.test, but that was fixed months ago.
7 years ago
David Wilson
ddf28987a0
master: split Select() into new module to reduce wire size.
...
service.py currently imports master.py(+parent.py) just to get Select().
7 years ago
David Wilson
b0ce6eecd7
fork: support on_start= argument.
7 years ago
David Wilson
00edf0d66d
core: have ExternalContext accept a config dict rather than kwargs.
...
The parameter lists had gotten out of control.
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
78d375e0c5
core: CallError should handle any exception type.
...
Previously SystemExit would be pickled.
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
356647bef4
issue #132 : initial unidirectional routing mode.
7 years ago
David Wilson
2a4157723a
tests: fix breakage from moving is_stdlib_name()
7 years ago
David Wilson
7d9b7eec0c
tests: must wrap log_to_file() in is_master
...
Without it, end up with a billion loggers attached in some tests
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
cecef992b0
issue #218 : core: add Secret and Blob types.
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
d4d4f46006
tests: update check_host_keys parameter style in testlib.
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