Commit Graph

3364 Commits (d2ca8a94239958394363c9faab70c5db99a82cae)
 

Author SHA1 Message Date
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
Stefano Rivera 184ff0f507 Skip test_unwriteable when tests are run as root
Writes by root ignore fs permissions, so this test will fail when run as root.
4 years ago
Steven Robertson 36f3e3b28c
Merge pull request #816 from moreati/issue815
Expand coverage of mitogen/<distro>-test docker images
4 years ago
Alex Willmer 6f28e11618 tests: Add Tox environments for debian 10, 11; centos 8; ubuntu 4 years ago
Alex Willmer ac7505d624 tests: Add centos 8; debian 10, 11; ubuntu 16.04, 18.04, 20.04 test images 4 years ago
Alex Willmer 6bf58c3cfb tests: Don't add local user to Docker containers 4 years ago
Alex Willmer a8e8cf91cb tests: Rebuild Docker containers
A few changes are bundled in this
 - Ansible 2.10.x and Mitogen 0.3.x are used to build nearly all images
   (Ansile 2.3.x is retained for CentOS 5, because it uses Python 2.4).
 - Tox is used to install/run Ansible, replacing build_docker_images.py
 - A static inventory, identifying containers by name rather than ID.
 - debian-test image is renamed to debian9-test
 - debian9-test image is now based on debian:9
 - centos6-test image is now based on moreati/centos6-vault
   following the same scheme as centos5-test.
 - Images are now uploaded to Amazon Elastic Container Registry (ECR).
   See #809.
 - Debian recommended packages aren't installed (e.g. build-essential)
 - Python 2.x and Python 3.x are installed wherever available.
 - Python Virtualenv is installed wherever available.
4 years ago
Alex Willmer 60fbea4b59
Merge pull request #807 from moreati/issue-templates
chore: Add issue templates for 0.2 vs 0.3 releases
4 years ago
Alex Willmer 48e6da4f44 chore: Add issue templates for 0.2 vs 0.3 releases
These should automatically tag bug reports, reducing triage effort.
4 years ago
Alex Willmer ba27bd6445
Merge pull request #810 from moreati/issue809
tests: Fix throttling of Docker pulls
4 years ago