| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| infrastructure [2021/11/04 23:30] – [Internally-managed services] wigyori | infrastructure [2024/06/01 08:40] – [Buildbot workers] update with latest state ynezz |
|---|
| | [[https://downloads.openwrt.org/|Downloads]] | | Hosts all current and released images, SDK, Imagebuilder | Hetzner | [[https://downloads.openwrt.org/stats/|awstats]] | [[developers:jow|jow]], [[developers:thess|thess]] | | | [[https://downloads.openwrt.org/|Downloads]] | | Hosts all current and released images, SDK, Imagebuilder | Hetzner | [[https://downloads.openwrt.org/stats/|awstats]] | [[developers:jow|jow]], [[developers:thess|thess]] | |
| | [[https://archive.openwrt.org|Downloads archive]] | | Hosts old OpenWrt images and releases | private co-lo | | [[developers:wigyori|wigyori]] | | | [[https://archive.openwrt.org|Downloads archive]] | | Hosts old OpenWrt images and releases | private co-lo | | [[developers:wigyori|wigyori]] | |
| | [[https://oldwiki.archive.openwrt.org|Old wiki archive]] | | Old OpenWrt wiki with legacy content | private co-lo | | [[developers:wigyori|wigyori]] | | | [[https://oldwiki.archive.openwrt.org|Old wiki archive]] | | Old OpenWrt wiki with legacy / non-migrated content | private co-lo | | [[developers:wigyori|wigyori]] | |
| | [[https://sources.openwrt.org/|Sources archive]] | | Hosts a copy of sources of all software used in OpenWrt | Hetzner | | [[developers:jow|jow]], [[developers:thess|thess]] | | | [[https://sources.openwrt.org/|Sources archive]] | | Hosts a copy of sources of all software used in OpenWrt | Hetzner | | [[developers:jow|jow]], [[developers:thess|thess]] | |
| | [[https://freescout.openwrt.org|Freescout]] | [[https://freescout.net|Freescout]] | Facilitates handling of shared mailboxes (testing) | DigitalOcean droplet | | [[developers:stintel|stintel]] | | | [[https://freescout.openwrt.org|Freescout]] | [[https://freescout.net|Freescout]] | Facilitates handling of shared mailboxes (testing) | DigitalOcean droplet | | [[developers:stintel|stintel]] | |
| We also rely on the following services that are run by external entities: | We also rely on the following services that are run by external entities: |
| |
| ^ Service ^ Technology ^ Description ^ Host ^ Liaison ^ | ^ Service ^ Technology ^ Description ^ Host ^ Liaison ^ |
| | [[https://patchwork.ozlabs.org/project/openwrt/list/|Patch tracking]] | [[http://jk.ozlabs.org/projects/patchwork/|Patchwork]] | Used to track patches sent to the openwrt-devel mailing list | Ozlab | | | | [[https://patchwork.ozlabs.org/project/openwrt/list/|Patch tracking]] | [[http://jk.ozlabs.org/projects/patchwork/|Patchwork]] | Used to track patches sent to the openwrt-devel mailing list | Ozlab | | |
| | [[https://github.com/openwrt/openwrt|Github mirror]] | Github | Mirror of OpenWrt repository. Pull-requests are accepted. | Github | | | | [[https://github.com/openwrt/openwrt|Github mirror]] | Github | Mirror of OpenWrt repository. Pull-requests are accepted. | Github | | |
| | | CDN | Fastly | Content delivery network | {{:fastlylogo-red-png.png?200&nolink}} | aparcar | |
| |
| ===== Hosting infrastructure and costs ===== | ===== Hosting infrastructure and costs ===== |
| All services that are managed internally are run on servers devoted to the OpenWrt project, except for mailing lists which run on Infradead servers. | All services that are managed internally are run on servers devoted to the OpenWrt project, except for mailing lists which run on Infradead servers. |
| |
| ^ Host ^ Servers ^ Services ^ Admin(s) ^ Expected cost ^ Actual cost ^ Comment ^ | ^ Host ^ Servers ^ Services ^ Admin(s) ^ Expected cost ^ Actual cost ^ Comment ^ |
| | Hetzner | [[https://www.hetzner.com/dedicated-rootserver/matrix-ex|ex40]] | Buildbot master | [[developers:nbd|nbd]], ? | 50 € / month | 50 € / month | Paid privately | | | {{:netcup_logo_rgb_color_vorschau.png?400|}} | [[https://www.netcup.de/bestellen/produkt.php?produkt=2898|RS 8000 G9.5 a1 12M]] + 6TB storage | Downloads | [[developers:aparcar|aparcar]] | 100€ / month | Free | Open source project support | |
| | Hetzner | [[https://www.hetzner.com/sb/|sb59]] | Archive | [[developers:blogic|blogic]] | 49.50 € / month | 49.50 € / month | Paid privately | | | [[https://www.digitalocean.com/?utm_medium=opensource&utm_source=OpenWrt|{{:do_powered_by_badge_blue.png?400|}}]] | 7 droplets (prod) | wiki, forum, git, mails... | [[developers:jow|jow]], [[developers:ynezz|ynezz]], [[developers:stintel|stintel]] | 344.00 $ / month | Free | Open source project support | |
| | Hetzner | [[https://www.hetzner.com/dedicated-rootserver/matrix-ax|ax61-nvme]] + 2x 1.92 TB SSD | Downloads | [[developers:jow|jow]] | 158.27 € / month | 158.27 € / month | Paid privately | | | Microsoft | 2 VMs | Buildbot workers | [[developers:ynezz|ynezz]] | 10.000 $ / year | Free | Open source project support | |
| | [[https://www.digitalocean.com/?utm_medium=opensource&utm_source=OpenWrt|{{ https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.png }}]] | 7 droplets (prod) | wiki, forum, git, mails... | [[developers:jow|jow]], [[developers:ynezz|ynezz]] | 237.00 $ / month | Free | Open source project support | | | Hetzner | [[https://www.hetzner.com/dedicated-rootserver/matrix-ex|ex40]] | Buildbot master | [[developers:nbd|nbd]], ? | 50 € / month | 50 € / month | Paid privately | |
| | | Hetzner | [[https://www.hetzner.com/sb/|sb59]] | Archive | [[developers:blogic|blogic]] | 49.50 € / month | 49.50 € / month | Paid privately | |
| | | Hetzner | [[https://www.hetzner.com/dedicated-rootserver/matrix-ax|ax61-nvme]] + 2x 1.92 TB SSD | Downloads | [[developers:jow|jow]] | 158.27 € / month | 158.27 € / month | Paid privately | |
| |
| ==== Buildbot workers ==== | ==== Buildbot workers ==== |
| Buildbot workers detect updates to the source and kick off the build process for each supported device. | Buildbot workers detect updates to the source and kick off the build process for each supported device. |
| |
| ^ Host ^ Name ^ Server spec ^ Nb servers ^ Admin(s) ^ Expected cost ^ Actual cost ^ Comment ^ | ^ Host ^ Name ^ Server spec ^ Nb servers ^ Admin(s) ^ Cost ^ Comment ^ |
| | Hetzner | truecz-dock-0[12] | Xeon E3/32GB/2TB | 2 | [[developers:ynezz|ynezz]] | ? | 2x26€ / month | Paid privately | | | Hetzner | truecz-dock-01 | Xeon E3/32GB/2TB | 1 | [[developers:ynezz|ynezz]] | 32€ / month | Paid privately | |
| | OSUOSL | osuosl-vm-* | [[infrastructure:openstack|OpenStack VM]] (4 cores, 8 GB RAM, 60 GB disk) | 4 | [[developers:zorun|zorun]], [[developers:ynezz|ynezz]], [[developers:jow|jow]] | ~4x80$ / month (AWS or DigitalOcean) | Free | Open source project support | | | OSUOSL | osuosl-vm-* | [[infrastructure:openstack|OpenStack VM]] (12 cores, 32 GB RAM, 320 GB disk) | 4 | [[developers:zorun|zorun]], [[developers:ynezz|ynezz]], [[developers:jow|jow]] | Free | Open source project support | |
| | OSUOSL | fsf-dock-* | 16C, 32T, 192 GB RAM (2x Xeon E5-2660 2.2 GHz) | 4 | [[developers:zorun|zorun]] | ? | Free | Open source project support | | | OSUOSL | osuosl-dock-* | 12C, 24T, 64 GB RAM (2x Xeon X5680 3.33 GHz) | 2 | OpenWrt sysadmins | Free | Open source project support | |
| | ? | sunshine-* | 16C, 64 GB RAM | 2 | [[developers:aparcar|aparcar]] | ? | ? | | | | VZFFNRMO | vzffnrmo-dock-* | Xeon E31230/16GB/100GB | 1 | OpenWrt sysadmins | ? | Provided by the [[https://karlsruhe.freifunk.net|Freifunk Karlsruhe Project / VZFFNRMO e.V.]] | |
| | | FFFFM | ffffm-dock-* | 28C, 56T, 448GB RAM, 1.8TB (2x Xeon E5-2680v4 2.4GHz) | 1 | OpenWrt sysadmins | Free | Provided by [[https://ffm.freifunk.net/|Freifunk Frankfurt am Main e.V.]] | |
| |
| Workers need a minimum of 1 GB of RAM for each hardware thread, 2 GB / thread is preferred. For example, a 16 cores / 32 threads machine needs between 32 GB and 64 GB of RAM. | === Worker hardware requirements === |
| | |
| | * **CPU**: a good worker needs 4-8 CPU cores for phase1/images, and 8-16 CPU cores for phase2/packages. Larger machines are split into several workers using Docker. |
| | * **Memory**: each worker needs a minimum of 1 GB of RAM for each CPU hardware thread, 2 GB / thread is preferred. For example, a 16 cores / 32 threads machine needs between 32 GB and 64 GB of RAM in total. |
| | * **Disk:** each worker needs 50 GB of disk space (phase1/images) or 100 GB of disk space (phase2/packages). |
| ==== Other costs ==== | ==== Other costs ==== |
| ^ What ^ Provider ^ Admin(s) ^ Expected cost ^ Actual cost ^ Comment ^ | ^ What ^ Provider ^ Admin(s) ^ Expected cost ^ Actual cost ^ Comment ^ |
| |
| ===== Buildbot build matrix ===== | ===== Buildbot build matrix ===== |
| There are several buildbot instances: one for master, and one for each release. In addition, there is phase1 to build images, and phase2 to build packages. | There are several buildbot instances, phase1 to build images, and phase2 to build packages. |
| |
| ^ Version ^ Phase 1 - Images ^ Phase 2 - Packages ^ Fail logs ^ Image downloads ^ | ^ Version ^ Phase 1 - Images ^ Phase 2 - Packages ^ Fail logs ^ Image downloads ^ |
| | master | [[https://buildbot.openwrt.org/master/images/|Phase 1 - Images]] | [[https://buildbot.openwrt.org/master/packages/|Phase 2 - Packages]] | [[https://downloads.openwrt.org/snapshots/faillogs/|Fail logs]] | [[https://downloads.openwrt.org/snapshots/targets/|images]] | | | master | [[https://buildbot.openwrt.org/images/|Phase 1 - Images]] | [[https://buildbot.openwrt.org/master/packages/|Phase 2 - Packages]] | [[https://downloads.openwrt.org/snapshots/faillogs/|Fail logs]] | [[https://downloads.openwrt.org/snapshots/targets/|images]] | |
| | 21.02 | [[https://buildbot.openwrt.org/openwrt-21.02/images/|21.02 Images]] | [[https://buildbot.openwrt.org/openwrt-21.02/packages/|21.02 Packages]] | [[https://downloads.openwrt.org/releases/faillogs-21.02/|Fail logs]] | [[https://downloads.openwrt.org/releases/21.02-SNAPSHOT/targets/|images]] | | | 23.05 | [[https://buildbot.openwrt.org/images/#/waterfall?tags=openwrt-23.05|23.05 Images]] | [[https://buildbot.openwrt.org/openwrt-23.05/packages/|23.05 Packages]] | [[https://downloads.openwrt.org/releases/faillogs-23.05/|Fail logs]] | [[https://downloads.openwrt.org/releases/23.05-SNAPSHOT/targets/|images]] | |
| | 19.07 | [[https://buildbot.openwrt.org/openwrt-19.07/images/|19.07 Images]] | [[https://buildbot.openwrt.org/openwrt-19.07/packages/|19.07 Packages]] | [[https://downloads.openwrt.org/releases/faillogs-19.07/|Fail logs]] | [[https://downloads.openwrt.org/releases/19.07-SNAPSHOT/targets/|images]] | | | 22.03 | [[https://buildbot.openwrt.org/images/#/waterfall?tags=openwrt-22.03|22.03 Images]] | [[https://buildbot.openwrt.org/openwrt-22.03/packages/|22.03 Packages]] | [[https://downloads.openwrt.org/releases/faillogs-22.03/|Fail logs]] | [[https://downloads.openwrt.org/releases/22.03-SNAPSHOT/targets/|images]] | |
| | 18.06 | [[https://buildbot.openwrt.org/openwrt-18.06/images/|18.06 Images]] | [[https://buildbot.openwrt.org/openwrt-18.06/packages/|18.06 Packages]] | [[https://downloads.openwrt.org/releases/faillogs-18.06/|Fail logs]] | [[https://downloads.openwrt.org/releases/18.06-SNAPSHOT/targets/|images]] | | |
| |
| ===== Finances ===== | ===== Finances ===== |