Is cockpit supposed to run on plain CentOS hosts?
I didn't have it installed: possibly because it started as a hypervisor host in version 3.x when cockpit not available.
During updates it has not put in as a requirement package.

I manually installed it and then enabled/started the cockpit.socket systemd unit.
It seems started and I can correctly connect to https at tcp port 9090, but when doing a status of the cockpit.socket unit I see 
Oct 09 15:59:01 ov300 update-motd[22990]: /usr/share/cockpit/motd/update-motd: line 24: /run/cockpit/active.motd: No such file or directory
Oct 09 15:59:01 ov300 ln[22998]: /bin/ln: failed to create symbolic link ‘/run/cockpit/motd’: No such file or directory
Oct 09 15:59:01 ov300 systemd[1]: Listening on Cockpit Web Service Socket.

Line 24 of /usr/share/cockpit/motd/update-motd :
printf 'Web console: %s%s\n\n' "${hostname_url}" "${ip_url}"  > /run/cockpit/active.motd

and on the host 
[root@ov300 ~]# ll -d /run/c*
drwxr-x---. 2 chrony chrony 60 May 24 16:18 /run/chrony
-rw-r--r--. 1 root   root    5 May 24 16:18 /run/chronyd.pid
drwxr-xr-x. 2 root   root   40 May 24 16:18 /run/console
-rw-r--r--. 1 root   root    5 May 24 16:18 /run/crond.pid
----------. 1 root   root    0 May 24 16:18 /run/cron.reboot
[root@ov300 ~]# 

Is this a bug? Can I manually create the " /run/cockpit" directory?

Thanks,
Gianluca