Commit Graph

3523 Commits (863f923f1410c7fa34dc8a7cd0f8e0f695a7b5a4)
 

Author SHA1 Message Date
Alex Willmer 7bdec56a70 ci: One Tox environment per Azure job
Should result in
- better isolation of faults
- easier retries of failed jobs
- quicker test completion, to to more efficient queueing.

This does not expand test coverage, merely rearranges the tests already run.
3 years ago
Alex Willmer 65e343afc0
Merge pull request #873 from moreati/first-stage-wo-platform
mitogen.parent: Eliminate use of platform module in first stage
3 years ago
Alex Willmer dd6d73db37 mitogen.parent: Eliminate use of platform module in first stage
This reduces the size of the initial SSH command by 204 bytes, & may fix errors
running Mitogen on  macOS. AFAICT platform was used but not imported.

Before
```
$ python ./preamble_size.py
SSH command size: 833
Bootstrap (mitogen.core) size: 17007 (16.61KiB)

                              Original          Minimized           Compressed
mitogen.parent            97565 95.3KiB  50427 49.2KiB 51.7%  12689 12.4KiB 13.0%
mitogen.fork               8436  8.2KiB   4130  4.0KiB 49.0%   1648  1.6KiB 19.5%
mitogen.ssh               10892 10.6KiB   6952  6.8KiB 63.8%   2113  2.1KiB 19.4%
mitogen.sudo              12089 11.8KiB   5924  5.8KiB 49.0%   2249  2.2KiB 18.6%
mitogen.select            12325 12.0KiB   2929  2.9KiB 23.8%    964  0.9KiB 7.8%
mitogen.service           41644 40.7KiB  22431 21.9KiB 53.9%   5886  5.7KiB 14.1%
mitogen.fakessh           15599 15.2KiB   8011  7.8KiB 51.4%   2624  2.6KiB 16.8%
mitogen.master            48732 47.6KiB  24569 24.0KiB 50.4%   6768  6.6KiB 13.9%
```

After
```
$ python preamble_size.py
SSH command size: 629
Bootstrap (mitogen.core) size: 17007 (16.61KiB)

                              Original          Minimized           Compressed
mitogen.parent            97543 95.3KiB  50357 49.2KiB 51.6%  12665 12.4KiB 13.0%
mitogen.fork               8436  8.2KiB   4130  4.0KiB 49.0%   1648  1.6KiB 19.5%
mitogen.ssh               10892 10.6KiB   6952  6.8KiB 63.8%   2113  2.1KiB 19.4%
mitogen.sudo              12089 11.8KiB   5924  5.8KiB 49.0%   2249  2.2KiB 18.6%
mitogen.select            12325 12.0KiB   2929  2.9KiB 23.8%    964  0.9KiB 7.8%
mitogen.service           41644 40.7KiB  22431 21.9KiB 53.9%   5886  5.7KiB 14.1%
mitogen.fakessh           15599 15.2KiB   8011  7.8KiB 51.4%   2624  2.6KiB 16.8%
mitogen.master            48732 47.6KiB  24569 24.0KiB 50.4%   6768  6.6KiB 13.9%
```
3 years ago
Alex Willmer 59e6fe5289
Merge pull request #870 from moreati/ansible4
Support for Ansible 3 & 4
3 years ago
Alex Willmer c61c063b4f Support for Ansible 3 & 4
fixes #834

Co-authored-by: Claude Becker (@upekkha)
Co-authored-by: Dolph Mathews (@dolph)
3 years ago
Alex Willmer b5353aa6e0
Merge pull request #860 from deztructor/dez-podman
Add support for podman connection
3 years ago
Denis Zalevskiy 84c567e265
Add podman connection support
Shameless copy of buildah connection with modifications of invocation to
fit podman CLI.

Signed-off-by: Denis Zalevskiy <dez@aiven.io>
3 years ago
Denis Zalevskiy 10caa4a104
Fix typo in buildah context creation docs
Signed-off-by: Denis Zalevskiy <dez@aiven.io>
3 years ago
Alex Willmer 2885f62c45
Merge pull request #869 from moreati/azure-tox
ci: Switch Continuous Integration to Tox
3 years ago
Alex Willmer c5c65ab0d2 ci: Switch Continuous Integration to Tox
Also
 - Simplifies adding support for additional Ansible versions
 - Unifies Python package versioning in CI and local test environments
 - Matches Python versions tested, with those declared in setup.py
 - Expands targets covered by automated Ansible tests to
    - centos6, centos8
    - debian9, debian11
    - ubuntu1604, ubuntu2004
3 years ago
Alex Willmer 7e2f92191a
Merge pull request #868 from moreati/cleanup
Bump version, streamline output from tests, misc cleanups
3 years ago
Alex Willmer e76eefb8be Fix miscellaneous spelling/formatting 3 years ago
Alex Willmer da0262cc18 ci: Upgrade faulthandler to non-yanked release 3 years ago
Alex Willmer 1bdf6294e4 ci: Print playbook role execution times 3 years ago
Alex Willmer 9201761348 ci: Format ansible-playbook output as yaml 3 years ago
Alex Willmer da536e8ae1 Fix stdlib typos that would cause NameError or AttributeError exceptions 3 years ago
Alex Willmer 39d02e9d59 ci: Don't install pycparser and idna seperately
AFAICT no longer necessary. These install fine as part of requirements.txt.
3 years ago
Alex Willmer 3ba1625a99 ci: Reduce verbosity of Ansible integration tests 3 years ago
Alex Willmer da3772cbff Increment version to 0.3.1.dev0 3 years ago
Alex Willmer 680fa81b22
Merge pull request #867 from moreati/tests-tag
tests: Tag Ansible tests
3 years ago
Alex Willmer 3c58215a91 tests: Tag Ansible tests
This makes it easier to run subsets using ANSIBLE_RUN_TAGS=...
3 years ago
Alex Willmer f202ba9320
Merge pull request #859 from moreati/travis-no-more
Abandon Travis CI
3 years ago
Alex Willmer 9e9161cbb9 CI: Clamp ansible-base to < 2.10.14
refs #861
3 years ago
Alex Willmer a990eb3d77 CI: Remove obsolete reverse shell historically used to debug CI
This reverse shell was historically used to debug CI jobs interactively.
It is not used anymore, and may be causing jobs to hang, then timeout.
There is no reason to keep it, and removing it simplifies CI jobs.

Additionally it has been reported as flagged by security scanners, so
removing it makes Mitogen easier to package/adopt.

fixes #847
3 years ago
Alex Willmer 147a716b28 CI: Handle NameError traceback on stdout in Ansible 2.10+ 3 years ago
Alex Willmer 2b27384a93 CI: Handle variant of unknown user error message seen on MacOS 3 years ago
Alex Willmer 5fc7fcd112 CI: Skip unprivileged become tests on MacOS with Ansible < 2.11
Ansible 2.10 and earlier try to use setfacl, which is not present on
MacOS. Ansible 2.11 and later use chmod +a instead.
3 years ago
Dolph Mathews bd086fd519 fix mac build failure
(cherry picked from commit 40b603e098)
3 years ago
Alex Willmer 042e46682e Abandon Travis CI We have no credits, and its a PITA to maintain two CI platforms. The tests running on Travis provide very little extra coverage vs Azure Pipelines alone 3 years ago
Alex Willmer f5683ae767
Merge pull request #854 from moreati/issue809
tests: Authenticate to AWS Elastic Container Registry for `docker pull`

fixes #789
3 years ago
Alex Willmer 0db7467e4a tests: Authenticate to AWS Elastic Container Registry for `docker pull`
This should increase the rate limit from 1/s to 10/s. AWS
credentials are obtained from environment variables in Azure
pipelines, or the default AWS CLI profile.

https://docs.aws.amazon.com/AmazonECR/latest/public/public-service-quotas.html
https://docs.aws.amazon.com/AmazonECR/latest/public/public-registries.html#public-registry-auth
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html
3 years ago
Alex Willmer 2f56b16795
Merge pull request #830 from stefanor/multi-word-mask
tests: Support multi-word cpusets
3 years ago
Alex Willmer b65b6ae88f
Merge branch 'master' into multi-word-mask 3 years ago
Alex Willmer 068a904cb3
Merge pull request #853 from moreati/issue852
tests: Print variables on failure of assert tasks
3 years ago
Alex Willmer eae6bdd1de
Merge branch 'master' into issue852 3 years ago
Alex Willmer f5eb19ed6f
Merge pull request #844 from philfry/issue_827_collections
Fix issue 827 (collections import)
3 years ago
Alex Willmer cfa5888547 tests: Print variables on failure of assert tasks
Fixes #852
3 years ago
Alex Willmer 2382d8dab5
Merge branch 'master' into issue_827_collections 3 years ago
Alex Willmer bd94c570a6
Merge pull request #845 from annttu/issue_776
Fix for load_plugins() called twice error with dnf
3 years ago
Alex Willmer 89bfb32384
Merge branch 'master' into issue_776 3 years ago
Alex Willmer fe48fde656
Merge pull request #851 from moreati/issue850
testlib: Don't assume `docker port` output matches regex
3 years ago
Alex Willmer 3d350643a9 tests: Tighten requirements.txt, due to new package releases
Attempt to fix

Collecting hdrhistogram==0.6.1 (from -r tests/ansible/requirements.txt
(line 2))
Downloading
2422ad2ad90047d3b9f73061e8696f/hdrhistogram-0.6.1.tar.gz
(61kB)
    Complete output from command python setup.py egg_info:
    Couldn't find index page for 'pbr' (maybe misspelled?)
        sources=['src/python-codec.c'])]
      File "/usr/lib/python3.5/distutils/core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
File "/tmp/venv/lib/python3.5/site-packages/setuptools/dist.py",
line 315, in __init__
        self.fetch_build_eggs(attrs['setup_requires'])
File "/tmp/venv/lib/python3.5/site-packages/setuptools/dist.py",
line 361, in fetch_build_eggs
        replace_conflicting=True,
File
"/tmp/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line
850, in resolve
        dist = best[req.key] = env.best_match(req, ws, installer)
File
"/tmp/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line
1122, in best_match
        return self.obtain(req, installer)
File
"/tmp/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line
1134, in obtain
        return installer(requirement)
File "/tmp/venv/lib/python3.5/site-packages/setuptools/dist.py",
line 429, in fetch_build_egg
        return cmd.easy_install(req)
File
"/tmp/venv/lib/python3.5/site-packages/setuptools/command/easy_install.py",
line 659, in easy_install
        raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable
distribution for Requirement.parse('pbr')
3 years ago
Alex Willmer 8cbbfaf3c1 testlib: Don't assume `docker port` output matches regex 3 years ago
Alex Willmer 241d276958
Merge branch 'master' into issue_776 3 years ago
Alex Willmer e4450faa8a
Merge branch 'master' into issue_827_collections 3 years ago
Alex Willmer 580c9d5eb8
Merge pull request #829 from stefanor/check-euid
Skip test_unwriteable when tests are run as root
3 years ago
Antti Jaakkola ee6f2b09b9 Fix for load_plugins() called twice error with dnf 3 years ago
Philippe Kueck bdbc9fe827
changelog entry for #827 3 years ago
Philippe Kueck a2dcedabda
fixes #827
some ansible collections write their own module classes derived from
ansible.module_utils.basic.AnsibleModule, thus lacking that import
in the plugin file. NewStylePlanner was unable to detect these plugins
as Ansiballz.

This commit extends the search pattern for NewStylePlanner to also
detect ansible_collections imports.
3 years ago
Stefano Rivera b672eafcb0 Support multi-word cpusets
From cpuset(7):

> For masks longer than one word, a comma separator is used between
> words. Words are displayed in big-endian order, which has the most
> significant bit first. The hex digits within a word are also in
> big-endian order.
4 years ago