Alex Willmer
1bc32adad4
Issue #160 : Cache minimize_source()
...
Before
```
python tests/bench/local.py
0 120.245933533
1 119.300842285
2 118.355035782
3 123.839855194
```
After
```
python tests/bench/local.py
0 66.3640499115
1 65.9508705139
2 72.4799633026
3 65.7958984375
```
7 years ago
Alex Willmer
0b46b90c62
Issue #160 : Apply 2.x workarounds to lru_cache backport
...
all() was introduced in Python 2.5
with: blocks arrived in Python 2.6
nonlocal and default utf-8 source encoding were added in Python 3.x
7 years ago
Alex Willmer
fc0fb732a3
Issue #160 : Vendorize namedtuple and lru_cache
...
namedtuple from
https://hg.python.org/cpython/file/3f79ecab5e52/Lib/collections.py
(Python 2.6)
lru_cache from
937ac1fe06/Lib/functools.py
Python 3.5
7 years ago
Alex Willmer
dc3f5730a2
Merge branch 'master' into eye-of-the-token-its-the-thrill-of-the-light
7 years ago
David Wilson
d9e4781d11
ansible: rename helpers.py to target.py, to reflect its purpose
7 years ago
David Wilson
a643f13ebe
issue #106 : docs: tidyup.
7 years ago
David Wilson
432ebbca89
issue #106 : docs: initial docs for how modules execute.
7 years ago
David Wilson
b595314619
docs: fix intensely annoying _prefix, 2 years later.
7 years ago
David Wilson
b247c320d2
issue #164 : rename tests for clarity
7 years ago
David Wilson
f655be1455
ssh: fix password prompt check when running with -vvv
...
Can only happen by hacking -vvv into ssh.py at present, but that will
probably be exposed via a constructor parameter in future.
7 years ago
David Wilson
bc4a6b39bf
issue #164 : teach debops_tests.sh to use SSH
...
Login with a non-privileged account over SSH rather than just jumping
straight in as root via Docker.
7 years ago
David Wilson
cd098ef158
issue #183 : re-raise StreamError in calling context.
...
This allows catching just StreamError regardless of via=None or
via=<context>. Deserves a more general solution, but it's easy to fix up
later.
7 years ago
David Wilson
998a1209cc
issue #183 : make PasswordErrors subclass of StreamError.
7 years ago
David Wilson
35fdd97f9a
issue #164 : utility to print Docker hostname for use from shell scripts.
7 years ago
David Wilson
7fd88868a6
ansible: raise AnsibleConnectionFailure on connection failure; closes #183
...
Before:
$ ANSIBLE_STRATEGY=mitogen ansible -i derp, derp -m setup
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: (''.join(bits)[-300:],)
derp | FAILED! => {
"msg": "Unexpected failure during module execution.",
"stdout": ""
}
After:
$ ANSIBLE_STRATEGY=mitogen ansible -i derp, derp -m setup
derp | UNREACHABLE! => {
"changed": false,
"msg": "EOF on stream; last 300 bytes received: 'ssh: Could not resolve hostname derp: nodename nor servname provided, or not known\\r\\n'",
"unreachable": true
}
7 years ago
David Wilson
b9d4ec57b3
issue #164 : some more ActionMixin tests.
7 years ago
David Wilson
4a823c7a27
issue #164 : missing cast() for _remote_file_exists().
7 years ago
David Wilson
29288b236b
issue #164 : import run_ansible_playbook.sh.
7 years ago
David Wilson
db894478f8
issue #164 : make become_flags work without FOO=2 env var.
7 years ago
David Wilson
e4b49997d6
issue #164 : whups, delete checked in binaries.
7 years ago
David Wilson
d068a36c1e
issue #164 : more dir layout contortions.
...
all.yml slurps in tests from each file/subdir in the CWD.
7 years ago
David Wilson
680dc1bf68
issue #164 : basic connection loader tests.
7 years ago
David Wilson
20ecd0af02
issue #164 : fix makefile
7 years ago
David Wilson
48a0938d04
issue #164 : add action module to return active strategy.
7 years ago
David Wilson
0247561fc7
issue #164 : rename lib/modules
7 years ago
David Wilson
d503956493
ansible: Remove duplicate casts already done in Connection
7 years ago
David Wilson
6aeb4e9f05
issue #164 : precisely emulate Ansible's stdio behaviour.
...
* Use identical logic to select when stdout/stderr are merged, so
'stdout', 'stdout_lines', 'stderr', 'stderr_lines' contain the same
output before/after the extension.
* When stdout/stderr are merged, synthesize carriage returns just like
the TTY layer.
* Mimic the SSH connection multiplexing message on stderr. Not really
for user code, but so compare_output_test.sh needs fewer fixups.
7 years ago
David Wilson
c5ca2e87ea
issue #164 : stop tests on first failure
7 years ago
David Wilson
26cc0f2724
issue #164 : fix remote_tmp handling on <2.5
7 years ago
David Wilson
3ebe600389
issue #164 : convert "examples" into actual tests
...
- Add new Travis mode, "ansible_tests.sh" that runs
integrations/all.yml. Slowly build this up over time to cover more of
the existing junk.
- Add basic assertions on the output of the existing runner__* files.
- Wire up 2.4.3/2.5.0 jobs in Travis.
7 years ago
David Wilson
ae75a0ca8c
issue #164 : rearrange playbooks a little more
7 years ago
David Wilson
563639961d
issue #164 : dir structure is gross, but at least tab completion works :>
7 years ago
David Wilson
475d459185
issue #164 : rename 'test' to 'run_tests' to avoid tab complete conflict
7 years ago
David Wilson
49aa8834b0
issue #164 : split "examples" out into regression/integration tests.
7 years ago
David Wilson
aa8d7a0250
issue #164 : verify remote_tmp respected by code running remotely.
7 years ago
David Wilson
e0381606af
Ensure remote_tmp is respected everywhere.
...
Logic is still somewhat different from Ansible: we don't have to care
about sudo/non-sudo cases, etc.
7 years ago
David Wilson
4805f3cf36
issue #164 : slightly flatten docker image layers
7 years ago
David Wilson
8249fa2019
issue #164 : typo x2.
7 years ago
David Wilson
b9afde0e61
issue #164 : typo.
7 years ago
David Wilson
058ddeee58
issue #164 : run against 4 targets.
7 years ago
David Wilson
4c842751d0
issue #164 : run twice to make timing comparable to old reports
7 years ago
David Wilson
2128ffafce
issue #164 : cure type error.
7 years ago
David Wilson
5bf5664667
issue #164 : speed up DH generation step
7 years ago
David Wilson
de5028ac18
issue #164 : arrange for DebOps common.yml to run under Travis.
7 years ago
David Wilson
38311336e1
docs: link to Ansible video demo
7 years ago
David Wilson
0e648dbd53
ansible: tidy up planner.py.
7 years ago
David Wilson
a731be32a2
ansible: use _ansible_shell_executable in ScriptRunner.
...
Now we match Ansible error output and exit status. Ansible:
$ ansible localhost -e end=2 -m custom_binary_single_null
localhost | FAILED! => {
"changed": false,
"module_stderr": "Shared connection to localhost closed.\r\n",
"module_stdout": "/bin/sh: /Users/dmw/.ansible/tmp/ansible-tmp-1522661797.42-158833651208060/custom_binary_single_null: cannot execute binary file\r\n",
"msg": "MODULE FAILURE",
"rc": 126
}
Mitogen now:
localhost | FAILED! => {
"changed": false,
"module_stderr": "/bin/sh: /var/folders/gw/f6w3dgy16fsg5y4kdthbqycw0000gn/T/ansible_mitogenAYF8LM-binary: cannot execute binary file\n",
"module_stdout": "",
"msg": "MODULE FAILURE",
"rc": 126
}
Previously:
localhost | FAILED! => {
"changed": false,
"module_stderr": "<type 'exceptions.OSError'>: [Errno 8] Exec format error",
"module_stdout": "",
"msg": "MODULE FAILURE",
"rc": 1
}
7 years ago
David Wilson
e2542c1683
"examples": add perl script regression tests.
7 years ago
David Wilson
20044ba956
"examples": import all.yml
7 years ago
David Wilson
293567e9d5
ansible: fix low_level_execute_command regression.
7 years ago