Merge ubuntu-debuginfod:overhaul into ubuntu-debuginfod:master
Status: | Superseded |
---|---|
Proposed branch: | ubuntu-debuginfod:overhaul |
Merge into: | ubuntu-debuginfod:master |
Diff against target: | 0 lines |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Athos Ribeiro | Pending | ||
Canonical Server Reporter | Pending | ||
Review via email: mp+441905@code.launchpad.net |
Description of the change
This MP is the big overhaul/rewrite of ubuntu-debuginfod that we talked about.
There are many new things being done here, but most of the diff is basically code reorganization to make better use of Python's capabilities.
I'll try to make a list of important things to consider when reviewing this code:
1) I'm make heavy use of base classes for pollers and getters. Using pollers and as example:
- You will see that there is the most basic class, Poller, which implements only the necessary/common bits for a generic poller to operate.
- On top of it, there is a CommonLaunchpad
- On top of CommonLaunchpad
- PPAs are kind of a special beast, so they have their own base class (CommonPPAPoller) which is actually crafted to be used specifically in multiple-
The design of getters follows exactly the same rationale.
2) You will find that I broke down the "poll_lp.py" service in two:
- The first one, "launchpad-
- There is a second service now, called "launchpad-
Currently, the dispatcher is a single service that runs sequentially over the table. Until now I haven't found any issues with this approach, but eventually I intend to transform "launchpad-
3) This is now a Python package. You should be able to use virtualenv and pip to install it locally. I also revamped the README file and included instructions on how to set things up locally.
4) I disabled a bunch of pylint warnings that were, IMO, false positives in my case. pylint is happy with the code, as well as flake8 and mypy. But I'm open to suggestions/
5) The package now has a testsuite. It is aimed at unittesting so far, but it did help me catch a few silly mistakes when I was developing things. I consider the testsuite to be a WIP; I still want to add more tests and, eventually, work towards having a proper CI/CD setup (thanks for the idea, Athos!).
I think that's it. I'm not in a big hurry to get this approved/deployed, so I'm fine to wait if you would like to talk in person about the MP during the upcoming sprint.
Unmerged commits
- 85dab1c... by Sergio Durigan Junior
- b228018... by Sergio Durigan Junior
- aefcba6... by Sergio Durigan Junior
- db24512... by Sergio Durigan Junior
- b645d48... by Sergio Durigan Junior
- 29ef448... by Sergio Durigan Junior
- cee2269... by Sergio Durigan Junior
- beb2da2... by Sergio Durigan Junior
- 8e8e91d... by Sergio Durigan Junior
- b73d02b... by Sergio Durigan Junior