Bug 56404 - Detect non-default MTU settings and possibly apply them to docker interface as needed
Detect non-default MTU settings and possibly apply them to docker interface a...
Status: NEW
Product: UCS
Classification: Unclassified
Component: Docker
UCS 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: App Center maintainers
App Center maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2023-08-04 17:30 CEST by Jan-Luca Kiok
Modified: 2023-08-04 17:57 CEST (History)
1 user (show)

See Also:
What kind of report is it?: Feature Request
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Workaround is available
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan-Luca Kiok univentionstaff 2023-08-04 17:30:15 CEST
UCS sets the MTU for the docker interface and it's virtual interfaces to a default value of 1500 regardless of the MTU of the interface used to connect UCS to the outside.

During an OpenStack deployment with a non-default MTU of 1420 I noticed that the NextCloud app installation could not finish it's installation process because it was unable to fetch data from Nextcloud's own appcenter because the corresponding HTTPS packages were bigger than 1420, changing the MTU of Docker and restarting the service fixed this.

They same was reported in our forum some weeks ago: https://help.univention.com/t/fast-keine-apps-in-nextcloud-nach-neu-installation-von-ucs-5-0-2/21009/6

Maybe we can add a system diagnosis check that ensures that the docker interface MTU is less or equal to the one of the default interface or configure docker accordingly on installation?


As a workaround the MTU can be adapted via creating a systemd overwrite either with 'systemctl edit docker.service' or by creating a file named "/etc/systemd/system/docker.service.d/fixmtu.conf" with the contents:

```
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// --mtu=<NEW-MTU> --containerd=/run/containerd/containerd.sock
```

and reloading/restarting via 'systemctl daemon-reload && systemctl restart docker'.

However if the default parameters to start the dockerd in UCS change after this workaround was applied those changed will not be picked up!