-
Notifications
You must be signed in to change notification settings - Fork 107
Home
Till Maas edited this page Mar 10, 2020
·
6 revisions
- Difficulty: Intermediate
- Technology: Python, Ansible
- Mentor: Till Maas, Thomas Haller
- GitHub: @tyll, @thom311
- Project URL: https://github.com/linux-system-roles/network/
The Network Linux System Role provides a uniform configuration interface for network-scripts and NetworkManager. In this project, the role would be improved. There are several areas that could be selected by an intern depending on their interest:
- Write missing tests/documentation for open PRs to finalize them
- Add support for wake-on-lan options: https://github.com/linux-system-roles/network/issues/150
- Add proper support for team and make the configuration more uniform with bonding
- Write an integration test to become familiar with the role, for example for https://github.com/linux-system-roles/network/issues/124
- Make the tests more uniform (they developed over the time. Adjust old tests to use the conventions of newer tests)
- Add support to test the ansible module directly via pytest instead of only via ansible-playbook
- Simplify test playbooks by writing custom Ansible modules that simplify test setup/preparation and assertions
- Support to update only partial settings
- Return the current network configuration
- Initially only the configuration files
- Maybe also the runtime state
- Interest in writing high-quality code in Python for Ansible
- Personal accountability with regular, clear and open communication
- Ability to independently transfer feedback into code
- Support for more features or a better test framework
- Effective collaboration via GitHub, IRC and video conferences
- Subscribe to the system roles mailing list and send an introduction message. Tell us which area interests you and why you would like to participate
- If you are using IRC, join the
#systemroles
IRC channel on freenode and say Hi (it is rather new, therefore there is not much going on, yet) - Take a look at the integration tests and try to get them running. The are run by a custom CI tool and are inspired by the Standard Test Interface
- Get the unit and linting tests running using tox
- Optional: Get the molecule tests running by running
tox -e molecule
(this requires being able to run docker as the current user) - Study the recently added integration tests: tests_ethtool_features_nm.yml and tests_ethtool_features_initscripts.yml
- Possible initial tasks:
- Port one of the old tests to use the same format as the new tests:
- Pick one of tests_bridge.yml, tests_default.yml, tests_ethernet.yml and create a new issue in the issue tracker to indicate that you plan to work on it and submit a PR with the new test that references the issue
- Once you did it, create a new PR that references your issue and request a review from @tyll
- Create a new test using the example files from https://github.com/linux-system-roles/network/issues/124#issuecomment-572250996
- Look through the README for examples and write a simple test for them if there is none already
- Port one of the old tests to use the same format as the new tests:
- Watch this wiki page for updates