オープンソースこねこね

Webプログラミングなどについてあれこれ。

systemd-nspawnで/sys/fs/selinuxがマウントできないので警告される件は無視することにした

ただのメモです。

CentOS7でsystemd-nspawnの動作を検証してるなか、SELinuxを無効にした状態でコンテナを起動させると/sys/fs/selinuxがマウントできないと警告がでてきました。

# systemd-nspawn -D /var/tmp/mycontainer 
Spawning container mycontainer on /var/tmp/mycontainer.
Press ^] three times within 1s to kill container.
Failed to create directory /var/tmp/mycontainer//sys/fs/selinux: No such file or directory
Failed to create directory /var/tmp/mycontainer//sys/fs/selinux: No such file or directory
-bash-4.2# 

/sys/fs/selinuxSELinuxを無効にすると存在しないディレクトリ。調べたらsystemd-nspawnはHAVE_SELINUXマクロでこのディレクトリのマウントを制御しています

systemd/nspawn.c at v219 · systemd/systemd · GitHub

そしてログを出力しているところはココ

systemd/nspawn.c at v219 · systemd/systemd · GitHub

ソースを見る限りその後の処理は続行しているし、問題なさそうかな〜と考えていたら、

systemd-nspawn: dont try to mount non existing selinux directories by tblume · Pull Request #4569 · systemd/systemd · GitHub

で、同様の問題の当たっていたヒトがこの警告を消すためにログレベルをLOG_DEBUGからLOG_WARNINGにさげるPRを送っていてmasterにマージされていました。なので、今後CentOS(systemd)のバージョンが上がれば、この警告は消えるので、現状無視することにした、というお話でした。