Commit graph

390 commits

Author SHA1 Message Date
Rich Megginson
dec163940e support testing/linting module_utils code
This does not directly affect network because network has its own
solution for dealing with testing/linting module_utils code, but
it gets network to feature/code parity with the template and
other repos.

Defines a shell function in utils.sh - lsr_setup_module_utils -
that allows configuring a tox venv installed ansible to have
the repo module_utils code in the default pythonpath for the
venv, which allows testing and linting the module_utils code
without having to otherwise munge or mock the pythonpath.

Projects needing this functionality can set in `.travis/config.sh`
the variable `RUN_PYTEST_SETUP_MODULE_UTILS` to setup
module_utils/ for pytest, and `RUN_PYLINT_SETUP_MODULE_UTILS`
to setup module_utils/ for pylint.
2020-04-06 19:14:42 +02:00
a-mere-peasant
11a03f0ceb Add documentation for existing team type support
Add no other configurability available
2020-04-06 15:23:58 +02:00
Rich Megginson
7863e08e9b allow more overrides of template code
NOTE: I don't think this commit directly affects network, since
network doesn't use any of these - this PR is more for parity
with template and other repos.

Centralize the setting of `ME` and `TOPDIR` in utils.sh

Add support for `RUN_FLAKE8_EXTRA_ARGS` and `RUN_BLACK_EXTRA_ARGS`
2020-04-06 15:17:14 +02:00
Rich Megginson
23937b6360 use python instead of envpython
Many of the tests and tasks invoked from `tox` would try to use
the path to the `python` executable in the tox virtualenv, and
in some cases, would try to follow the symlink if the `python`
command were a symlink, in some cases, following the symlink to
the system python, and trying to use the absolute path.  This
would fail in some cases because when using the system python
with the absolute path, the python modules installed in the
tox venv could not be found.  So instead, just use the `python`
command from the venv with no path.

also enable travis 3.8-dev testing, since this fix allows that
platform to work correctly.
2020-04-01 20:57:09 +02:00
Rich Megginson
d6196106a8 Yamllint: Allow to customize settings
Move default settings from template to .yamllint_defaults.yml and allow
customizations in .yamllint.yml.
2020-04-01 09:33:54 +02:00
Till Maas
b5ae5380ad Travis: Update Ansible versions 2020-03-30 15:25:29 +02:00
Jack Adolph
4af8f23955 Add support for 802.1x wired connections (EAP-TLS only)
Only EAP-TLS method is supported. Must use NetworkManager as the network_provider.
Also fixed bug in do_connections_validate_nm() function.
2020-03-25 10:49:10 +01:00
Till Maas
d32f4e5a7b molecule/tox: Support yamllint without molecule
With molecule v3, the linter config needs to be changed. To prepare for
this, run yamllint with tox as molecule would do it for V3.
2020-03-24 13:55:27 +01:00
Till Maas
8cd37ac873 tests: Fix yamllint issues
Fix as many issues as feasible. Ignore the errors in generated
"other_provider" tests since they are going to be removed, soon.
2020-03-24 13:55:27 +01:00
a-mere-peasant
1a81c3d2da Update tests_default to have explicit providers
The network providers for tests_default are to be selected explicitly
Add tests_default_nm.yml
Add tests_default_initscripts.yml

Since the providers are listed explicitly ,there is no need for a other_provider playbook
Remove tests_default_other_provider.yml

Add tests_default and tests_default(nm/initscripts).yml to ingnore list for ensure_other_provider script
2020-03-23 14:42:31 +01:00
a-mere-peasant
14d3f56887 fixed typo
just fixing a small typo
2020-03-16 14:40:09 +01:00
Till Maas
51fa1146b4 README: Mention mtu option 2020-03-13 11:02:21 +01:00
Till Maas
19414b5db1
Merge pull request #153 from linux-system-roles/lsr-template-sync
Synchronize files from linux-system-roles/template
2020-02-26 15:02:10 +01:00
systemroller
5a5ae4b662 Synchronize files from linux-system-roles/template 2020-02-25 22:09:32 +01:00
Till Maas
83703b0184 README: Update Travis URL 2020-02-25 22:07:38 +01:00
Till Maas
fcae2dee61
Merge pull request #156 from tyll/py38-dev
Travis: Disable Python 3.8-dev
2020-02-25 20:23:05 +01:00
Till Maas
ffc0c89e23 Travis: Disable Python 3.8-dev
Python 3.8-dev seems to be broken on Travis, disable it for now.
2020-02-25 19:23:03 +01:00
Till Maas
8077521882
Merge pull request #155 from tyll/molecule_ci
Tox: Pin molecule to version 2
2020-02-24 21:23:51 +01:00
Till Maas
446d78d373 Tox: Pin molecule to version 2
Molecule version 3 and later needs a different configuration file for
linters. This breaks the CI. Pin molecule to version 2 for now to
fix the CI until we have a proper fix.
2020-02-24 18:53:34 +01:00
Till Maas
d36a393313
Merge pull request #151 from i386x/lsr-template-refactored--part-8
Onboard refactored tox & Travis CI setup and configuration vol. 8
2020-02-03 17:02:52 +01:00
Jiri Kucera
4b05c201db Support more Ansible versions
Support running the molecule tests against more versions of Ansible.
By typing

  LSR_ANSIBLE_DEP=<ansible> LSR_MSCENARIO=<scenario> tox -e molecule

one can run molecule inside tox with <ansible> version installed
under <scenario> scenario. For example

  LSR_ANSIBLE_DEP='ansible==2.7.*' LSR_MSCENARIO=foo tox -e molecule

will run molecule under scenario 'foo' and the recent Ansible 2.7
installed. `tox -e molecule` run molecule under default scenario
with the latest Ansible (from pypi) installed.

Travis runs molecule tests for Ansible 2.6, 2.7, and 2.8 installed
and under default scenario (can be overriden by user in config.sh).

Additional changes: Remove useless comment from custom.sh.
2020-02-03 12:41:30 +01:00
Jiří Kučera
d7905c1790
Merge pull request #149 from i386x/lsr-template-refactored--part-7
Onboard refactored tox & Travis CI setup and configuration vol. 7
2020-01-30 21:40:28 +01:00
Jiri Kucera
cb518856c4 Run molecule via runsyspycmd.sh
runsyspycmd.sh script runs a given command only if venv Python
matches the system Python (this prevents failing when some command
depends on binary libraries).

Also put `molecule --version` and `ansible --version` to a standalone
testenv ([testenv:molecule_version]) so a user can display molecule
and ansible version by typing `tox -e molecule_version` without
running `molecule lint`.
2020-01-30 10:11:42 +01:00
Till Maas
09be8c407e
Merge pull request #148 from i386x/lsr-template-refactored--part-6
Onboard refactored tox & Travis CI setup and configuration vol. 6
2020-01-21 14:23:37 +01:00
Jiri Kucera
ad6cffe19d tox: molecule extra requirements
Pass extra molecule dependencies via file and not via environment
variable. Also add selinux as a permanent molecule dependency
(molecule needs it on selinux enabled systems to setup containers).
2020-01-20 13:23:38 +01:00
Till Maas
8c5baff2a6
Merge pull request #147 from i386x/lsr-template-refactored--part-5
Onboard refactored tox & Travis CI setup and configuration vol. 5
2020-01-20 12:07:36 +01:00
Jiri Kucera
fc0c37efc1 Wrap flake8
Wrapping flake8 give a possibility to a user to dissable flake8 via
setting environment variable in config.sh.
2020-01-20 10:10:14 +01:00
Till Maas
7007a0ec1f
Merge pull request #146 from i386x/lsr-template-refactored--part-4
Onboard refactored tox & Travis CI setup and configuration vol. 4
2020-01-16 17:19:28 +01:00
Jiri Kucera
677f7b8918 Wrap pylint runner
Prior this change, RUN_PYLINT_* environment variables set by config.sh
have effect only while running in Travis (because runtox script sets
them by including config.sh). By wrapping pylint runner with shell
script, RUN_PYLINT_* environment variables have effect also while
running tox locally.
2020-01-16 16:19:50 +01:00
Till Maas
595a212620
Merge pull request #145 from i386x/lsr-template-refactored--part-3
Onboard refactored tox & Travis CI setup and configuration vol. 3
2020-01-13 13:04:55 +01:00
Jiri Kucera
2c79fad96f Add black wrapper
Some system roles want not to run black on their code. This wrapper
decides whether to run black or not depending on content of config.sh.
This wrapper also allows to set patterns of files and directories via
config.sh to be processed or skipped by black.
2020-01-13 11:57:13 +01:00
Till Maas
984eb0d60e
Merge pull request #144 from i386x/lsr-template-refactored--part-2
Onboard refactored tox & Travis CI setup and configuration vol. 2
2020-01-13 11:23:32 +01:00
Jiri Kucera
e026322cde Add pytest wrapper
Not every system role contains parts written in Python, which
confuses pytest. With a shell wrapper around pytest, pytest
can be skipped or run with adjusted parameters depending on the
content or presence of system role's specific directories.
2020-01-13 10:23:39 +01:00
Till Maas
7b5a06c90c
Merge pull request #142 from i386x/lsr-template-refactored--part-1
Onboard refactored tox & Travis CI setup and configuration vol. 1
2020-01-09 21:16:35 +01:00
Jiri Kucera
b563a09cb4 .travis/preinstall: Add python3-selinux
Add python3-selinux to the packages-to-be-installed list if
venv python matches system python.
2020-01-09 19:51:16 +01:00
Till Maas
c94fea7617
Merge pull request #143 from i386x/fix-custom-requirements
custom_requirements.txt: Add environment marker
2020-01-09 19:38:30 +01:00
Jiri Kucera
668e5fb700 custom_requirements.txt: Add environment marker
Specify on which environments PyYAML should be installed to prevent
failing pip install.
2020-01-09 16:09:31 +01:00
Till Maas
cbe1e1ee52
Merge pull request #137 from tyll/travis_38
Travis: Add stable Python 3.8, remove 3.7-dev
2019-12-05 14:26:20 +01:00
Till Maas
be2182a06c Travis: Add stable Python 3.8, remove 3.7-dev
Python 3.8 was released and will be used in Fedora Rawhide/Fedora 32.
2019-12-05 11:42:57 +01:00
Till Maas
0efe09d6fd
Merge pull request #136 from tyll/partial_sync
Sync some changes from the templates repo
2019-11-27 20:56:32 +01:00
Till Maas
6cf9124ce2 tox: Rename extra to custom 2019-11-27 19:19:42 +01:00
Till Maas
213bd36bf3 Travis: Add shell library 2019-11-27 19:19:42 +01:00
Till Maas
7145d894a4 tox: Support pylint extra requirements 2019-11-27 18:36:45 +01:00
Jiri Kucera
6b241e707a molecule/yamllint: Enable line-length check 2019-11-27 18:22:57 +01:00
Jiri Kucera
198c21681c molecule: Add SPDX identifier 2019-11-27 18:22:18 +01:00
Till Maas
aa17fbd080
Merge pull request #135 from tyll/linelength
Break long lines in defaults and remove deprecated checks
2019-11-27 18:04:28 +01:00
Till Maas
6cfcfc430c Defaults: Remove conditions for unsupported Fedora releases 2019-11-27 16:54:22 +01:00
Till Maas
85f16ddf6f Defaults: Break long lines 2019-11-27 16:49:40 +01:00
Till Maas
4fb9eb3dcc README: Update Travis URL 2019-11-27 16:28:33 +01:00
Till Maas
a46729bdce
Merge pull request #134 from tyll/lgtmpy2
Add LGTM configuration
2019-11-27 14:45:42 +01:00