I installed charmed-kubernetes in Openstack and ran in to a problem with the OCCM pods installed by openstack-integrator charm (the cdk-addons module). The OCCM pods are crashing on startup with the message
runtime: mlock of signal stack failed: 12 runtime: increase the mlock limit (ulimit -l) or runtime: update your kernel to 5.3.15+, 5.4.2+, or 5.5+ fatal error: mlock failed
I think this is caused by LimitMEMLOCK in the juju .service files.
$ juju run --application kubernetes-worker -- ulimit -l - Stdout: | 64 UnitId: kubernetes-worker/1 - Stdout: | 64 UnitId: kubernetes-worker/2 - Stdout: | 64 UnitId: kubernetes-worker/0 $ juju run --unit kubernetes-worker/0 -- systemctl show jujud-unit-kubernetes-worker-0.service | grep MEMLOCK LimitMEMLOCK=65536 LimitMEMLOCKSoft=65536
It is set this way on all the juju units in this model. It seems it is a Focal thing. In a different model (a MAAS one) I have;
$ juju run --unit syslog-server/3 -- systemctl show jujud-syslog-server-3.service | grep MEMLOCK LimitMEMLOCK=16777216 LimitMEMLOCKSoft=16777216 $ juju run --unit vault/0 -- systemctl show jujud-unit-vault-0.service | grep MEMLOCK LimitMEMLOCK=65536 LimitMEMLOCKSoft=65536
In this case, syslog-server is on Bionic, vault on Focal.
Can someone help me understand this please?