RoadMap¶
2.0¶
Overall state: ‘Test && polish period’.
Milestones¶
New deb package layout: mini-buildd (the service), mini-buildd-utils (for users), python3-mini-buildd, mini-buildd-doc
Code migration to
python 3
.Update to
django 2.2
(minimal version).Switch to
twisted
as http backend.Support secure data channels (HTTPS && SFTP).
API upgrade to json.
Event message queue.
Periodic task scheduler (cron, internal use).
Automated repository snasphots (weekly, monthly, yearly).
WEB UI rewrite.
2.0 will
be ‘upgrade-compatible’ with 1.0 (especially, there is no SQL scheme change).
not be run-time compatible with 1.0.
Open Issues¶
Attention
2.0: Test and document new setup
feature
Attention
2.0: Test and document new stop/start behaviour on ongoing builds/packaging
Attention
2.0: Last steps && QA
Re-check python37_systemcert_workaround() (see stash [sic])
Check all warnings/errors in daemon.log after bootstrap.
Test mini-buildd-ssh-*-command setup.
General GAU tests.
Test upgrading from 1.0.x.
roadmap.rst: Add hr news for 2.0
- debconf update (as late as possible, merge local branch).
debconf, auto SSL?
Attention
2.0: Bugs (irrelevant for release)
- SSL: Sporadic errors reading event queue
It seems occurrence is reduced when running with debug logs
Locking
render_GET()
does not seem to help
Reproduce:
./devel profile _ssl updatetestall (...) "ValueError: invalid literal for int() with base 16: b''"
Web: While setup is running, web ‘mbd-off’ display does not work (daemon.is_alive() remains true somehow?)
Upgrading from 1.x¶
Attention
WIP, quite raw for now
buster¶
Please rather use bullseye.
Extra APT sources: Debian Backports
(buster-backports) and Hellfield Archive
(buster-ab-stable).
aptitude
is imho the easiest way. Select the suggestion that de-installs py2 variants, and upgrades all the rest:
aptitude install mini-buildd/buster-ab-stable
generic post¶
Update Daemon.Gnupg keyserver: keyserver.ubuntu.com
- Re-check all repositories
will regenrate repositories with new Content support (else you need to wait for internal cron)
2.2 Brainstorm¶
Attention
2.2: new features
Dependency check on package migration
API call: ‘debdiff’
watcher support: Autoport and/or alarm on Debian Package Updates
Automatic SSH upload support, either by scripting the setup or integrating SSH w/ twisted
Make piuparts actually work (non-EXPERIMENTAL)
cron: ccache expire
Attention
2.2: django
- External user management (ldap, sso?) - python3-django-casclient?
Extended User Role Concept, with advanced right management workflows?
SQL schema migration (with django >= 1.7)
Attention
2.2: refactoring
gnupg: Switch completely to ‘python3-gpg’ (NOT ‘python3-gpgme’)
Archive: Rethink Archive::mbd_ping (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740576)
Attention
2.2: repository
Release: Alternatives for NotAutomatic, ButAutomo…)?? Can we use more finegrained PRIOS on archives?
sid-test-wildwest: Add extra suite for arbitrary package (deb+src) installs?
Attention
2.2: setup
admin/model objects: Show “used by count” (so we can see what objects may be obsolete)?
sync config between instances?
Bummers¶
Important
http://tools.ietf.org/html/rfc5147: This, in theory, could be some way to create a TOC for text/plain (buildlogs and such). However
RFC only describes line/char based links, not text matching based (so scanning the text file would be needed still)
- As it seems, main browsers simply don’t support it
Important
twisted:
- ‘apt-get update’@squeeze HTTPS broken; HTTP triggers twisted exception on apt-get update:
RuntimeError: Cannot register producer <twisted.web.static.NoRangeStaticProducer object at 0x7f56a856b8b0>, because producer <twisted.internet._producer_helpers._PullToPush object at 0x7f56a8574040> was never unregistered.