Hi,
I have Docker installed in an LXC/LXD container and I’m trying to start Solace PubSub with the latest image (9.8.0.12). Unfortunately, I keep running into the Unable to raise event; rc(would block)
error:
Host Boot ID: cdbf8a80-964d-4368-9174-90d6a004189d
Starting VMR Docker Container: Fri Jan 15 15:59:41 UTC 2021
Setting umask to 077
SolOS Version: soltr_9.8.0.12
2021-01-15T15:59:43.006+00:00 <syslog.info> a99e745b4c44 rsyslogd: [origin software="rsyslogd" swVersion="8.2012.0" x-pid="102" x-info="https://www.rsyslog.com"] start
2021-01-15T15:59:44.013+00:00 <local6.info> a99e745b4c44 appuser[100]: rsyslog startup
2021-01-15T15:59:45.037+00:00 <local0.info> a99e745b4c44 appuser: EXTERN_SCRIPT INFO: Log redirection enabled, beginning playback of startup log buffer
2021-01-15T15:59:45.056+00:00 <local0.info> a99e745b4c44 appuser: EXTERN_SCRIPT INFO: /usr/sw/var/soltr_9.8.0.12/db/dbBaseline does not exist, generating from confd template
2021-01-15T15:59:45.099+00:00 <local0.info> a99e745b4c44 appuser: EXTERN_SCRIPT INFO: repairDatabase.py: no database to process
2021-01-15T15:59:45.116+00:00 <local0.info> a99e745b4c44 appuser: EXTERN_SCRIPT INFO: Finished playback of log buffer
2021-01-15T15:59:45.136+00:00 <local0.info> a99e745b4c44 appuser: EXTERN_SCRIPT INFO: Updating dbBaseline with dynamic instance metadata
2021-01-15T15:59:45.392+00:00 <local0.info> a99e745b4c44 appuser: EXTERN_SCRIPT INFO: Generating SSH key
ssh-keygen: generating new host keys: RSA1 RSA DSA ECDSA ED25519
2021-01-15T15:59:45.848+00:00 <local0.info> a99e745b4c44 appuser: EXTERN_SCRIPT INFO: Starting solace process
2021-01-15T15:59:47.604+00:00 <local0.info> a99e745b4c44 appuser: EXTERN_SCRIPT INFO: Launching solacedaemon: /usr/sw/loads/soltr_9.8.0.12/bin/solacedaemon --vmr -z -f /var/lib/solace/config/SolaceStartup.txt -r -1
2021-01-15T15:59:52.411+00:00 <local0.info> a99e745b4c44 appuser[186]: /usr/sw/loads/soltr_9.8.0.12/scripts/post:69 WARN Unable to read /sys/fs/cgroup/blkio/blkio.weight
2021-01-15T15:59:52.414+00:00 <local0.info> a99e745b4c44 appuser[186]: /usr/sw/loads/soltr_9.8.0.12/scripts/post:69 WARN Unable to read /sys/fs/cgroup/blkio/blkio.weight_device
2021-01-15T16:00:00.752+00:00 <local0.warning> a99e745b4c44 appuser[1]: /usr/sw main.cpp:754 (SOLDAEMON - 0x00000000) main(0)@solacedaemon WARN Determining platform type: [ OK ]
2021-01-15T16:00:00.966+00:00 <local0.warning> a99e745b4c44 appuser[1]: /usr/sw main.cpp:754 (SOLDAEMON - 0x00000000) main(0)@solacedaemon WARN Running pre-startup checks: [ OK ]
Unable to raise event; rc(would block)
The command I’m using to run the Docker image is:
docker run -it --shm-size 1073741824 --expose 8080 --expose 55555 -P -e "username_admin_globalaccesslevel=admin" -e "username_admin_password=admin" --security-opt apparmor:unconfined solace/solace-pubsub-standard:9.8.0.12
I saw the --security-opt apparmor:unconfined
part from this thread, but it doesn’t seem to do anything in my case.
The error is relatively easy to reproduce:
- Start on a machine with Ubuntu 20.04 installed.
- Install LXC/LXD:
apt install lxd lxd-client
- Configure LXC/LXD (I used the default values for everything):
lxd init
- Launch an LXC container with Ubuntu on it:
lxc launch ubuntu:20.04 ubuntuone
- Stop it, so that we can perform some additional configurations that allow Docker to run inside it:
lxc stop ubuntuone
- Run the following commands:
lxc config set ubuntuone security.nesting true
lxc config set ubuntuone security.privileged true
lxc config set ubuntuone raw.lxc "lxc.apparmor.profile=unconfined"
- Start the LXC container:
lxc start ubuntuone
- Connect to it:
lxc exec ubuntuone -- /bin/bash
- Install Docker by following the instructions here: Ubuntu | Docker Docs
- Try to start Solace with the command I listed above.
Other Docker images like PostgreSQL seem to run just fine in that LXC container, but Solace doesn’t for some reason.
Can you please help me with debugging this issue? I’ve been at it for a couple of days and I’ve barely had any progress on it. I can download any logs that you may want to take a look at. Just let me know what you need.