mirror of
https://github.com/linux-system-roles/network.git
synced 2026-01-23 02:15:17 +00:00
add initial steps
parent
9fb59b25dd
commit
073c5b35db
2 changed files with 57 additions and 42 deletions
|
|
@ -1,42 +0,0 @@
|
|||
## Improve Network Linux System Role 2020 GSoC project
|
||||
|
||||
- Difficulty: Intermediate
|
||||
- Technology: Python, Ansible
|
||||
- Mentor: Till Maas, Thomas Haller
|
||||
- GitHub: @tyll, @thom311
|
||||
- Project URL: https://github.com/linux-system-roles/network/
|
||||
|
||||
### Description
|
||||
|
||||
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:
|
||||
|
||||
#### Add support for more interfaces/options, this includes the following tasks
|
||||
* 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
|
||||
|
||||
#### Improve the testing framework
|
||||
* 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
|
||||
|
||||
|
||||
#### Network state management (most difficult)
|
||||
* Support to update only partial settings
|
||||
* Return the current network configuration
|
||||
* Initially only the configuration files
|
||||
* Maybe also the runtime state
|
||||
|
||||
|
||||
|
||||
### What are we looking for
|
||||
* 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
|
||||
|
||||
57
Home.md
Normal file
57
Home.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
## Improve Network Linux System Role 2020 GSoC project
|
||||
|
||||
- Difficulty: Intermediate
|
||||
- Technology: Python, Ansible
|
||||
- Mentor: Till Maas, Thomas Haller
|
||||
- GitHub: @tyll, @thom311
|
||||
- Project URL: https://github.com/linux-system-roles/network/
|
||||
|
||||
### Description
|
||||
|
||||
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:
|
||||
|
||||
#### Add support for more interfaces/options, this includes the following tasks
|
||||
* 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
|
||||
|
||||
#### Improve the testing framework
|
||||
* 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
|
||||
|
||||
|
||||
#### Network state management (most difficult)
|
||||
* Support to update only partial settings
|
||||
* Return the current network configuration
|
||||
* Initially only the configuration files
|
||||
* Maybe also the runtime state
|
||||
|
||||
|
||||
|
||||
### What are we looking for
|
||||
* 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
|
||||
|
||||
### First Steps
|
||||
|
||||
* Subscribe to the system roles [mailing list](https://lists.fedorahosted.org/admin/lists/systemroles.lists.fedorahosted.org/) 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](https://freenode.net/kb/answer/chat) and say Hi (it is rather new, therefore there is not much going on, yet)
|
||||
* Take a look at the [integration tests](https://github.com/linux-system-roles/network/tree/master/tests) and try to get them running. The are run by a [custom CI tool](https://github.com/linux-system-roles/test-harness/blob/master/test/run-tests#L399) and are inspired by the [Standard Test Interface](https://docs.fedoraproject.org/en-US/ci/standard-test-interface/)
|
||||
* Get the unit and linting tests running using [tox](https://tox.readthedocs.io/en/latest/)
|
||||
* 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](https://github.com/linux-system-roles/network/blob/master/tests/tests_ethtool_features_nm.yml) and [tests_ethtool_features_initscripts.yml](https://github.com/linux-system-roles/network/blob/master/tests/tests_ethtool_features_nm.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
|
||||
* Watch this wiki page for updates
|
||||
Loading…
Add table
Add a link
Reference in a new issue