So sorry..I hope I'm not doing this to myself

So I’ve been posting a lot lately and I apologize if I’m doing this to myself but I have reached another impasse…and for sure I’m just trying to get to a stable position here. Update pi…update brewblox…rinse, repeat.

I am running raspberry Pi “buster”…everything was working semi-ok. I’m between brews and I decide I am going to update my pi and then update my brewblox. Here’s what I did:

(assume sudo everywhere):
apt update
apt dist-upgrade
raspi-update (firmware)
rebooted
brewblox-ctl update
received error:
pcuser@brewblox : ~/brewblox $ brewblox-ctl update
Do you want to remove old docker images to free disk space? [Y/n]: y
INFO Updating brewblox-ctl…
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: brewblox-ctl in /usr/local/lib/python3.7/dist-packages (0.21.0)
Requirement already satisfied, skipping upgrade: click<8.0.0,>=7.1.1 in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (7.1.1)
Requirement already satisfied, skipping upgrade: pprint<0.2,>=0.1 in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (0.1)
Requirement already satisfied, skipping upgrade: pyyaml<6.0.0,>=5.3.1 in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (5.3.1)
Requirement already satisfied, skipping upgrade: python-dotenv[cli]<0.13.0,>=0.12.0 in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (0.12.0)
Requirement already satisfied, skipping upgrade: requests<3.0.0,>=2.23.0 in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (2.23.0)
Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /usr/lib/python3/dist-packages (from requests<3.0.0,>=2.23.0->brewblox-ctl) (3.0.4)
Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /usr/lib/python3/dist-packages (from requests<3.0.0,>=2.23.0->brewblox-ctl) (2.6)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests<3.0.0,>=2.23.0->brewblox-ctl) (2018.8.24)
Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/lib/python3/dist-packages (from requests<3.0.0,>=2.23.0->brewblox-ctl) (1.24.1)
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Command ‘docker pull brewblox/brewblox-ctl-lib:edge’ returned non-zero exit status 1.

Is this a docker thing? I will rebuild from scratch if it’s faster/easier, I’m getting good at that now but I’m trying not to “nuke and pave” it every time I run into an error of some kind that might be fixed by something I’m just not aware of…

Any help is appreciated. Thanks!

It’s possible the dpcker daemon didn’t restart after updates.

You can try running

systemctl restart docker
docker run --rm hello-world

If that doesn’t work, reboot the pi and check the hello-world container again.

I’m going to try and reinstall docker:

pcuser@brewblox : ~ $ sudo systemctl restart docker
[sudo] password for pcuser:
Job for docker.service failed because the control process exited with error code.
See “systemctl status docker.service” and “journalctl -xe” for details.

(reboot)

pcuser@brewblox : ~ $ docker run --rm hello-world
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See ‘docker run --help’.

You can, but I’m also curious to see what the output is of systemctl status docker.service.

pcuser@brewblox : ~ $ systemctl status docker.service.
Unit docker.service…service could not be found.

And from?

sudo systemctl restart docker
sudo systemctl status docker.service

pcuser@brewblox : ~ $ sudo systemctl restart docker
Job for docker.service failed because the control process exited with error code.
See “systemctl status docker.service” and “journalctl -xe” for details.

pcuser@brewblox:~ $ sudo systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2020-05-03 12:19:18 PDT; 33s ago
Docs: https://docs.docker.com
Process: 1293 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
Main PID: 1293 (code=exited, status=1/FAILURE)
May 03 12:19:18 brewblox systemd[1]: docker.service: Service RestartSec=2s expired, scheduling restart.
May 03 12:19:18 brewblox systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
May 03 12:19:18 brewblox systemd[1]: Stopped Docker Application Container Engine.
May 03 12:19:18 brewblox systemd[1]: docker.service: Start request repeated too quickly.
May 03 12:19:18 brewblox systemd[1]: docker.service: Failed with result ‘exit-code’.
May 03 12:19:18 brewblox systemd[1]: Failed to start Docker Application Container Engine.

Once I get a stable installation going again, I am going to use DD and make an image of it in it’s working state before I go messing around with it.

You can zip the brewblox dir, and nuke and reinstall. Then skip setup, and just extract the brewblox dir.

I have a long and proud history of completely screwing over systems while tinkering, so made sure to design brewblox install files accordingly.

Thanks Bob for once again trying to help a brotha out. I’m off to rebuild…haha

And…we’re back…

2 Likes

Just a couple small things to note by way of feedback (and this could be something I’ve done on my end of course); when I re-installed from scratch I could not move the installer forward until I set the permissions on the /brewblox folder for everyone to have full rights to it. Ignore my last file permissions command in the screen shot, that one wasn’t right either but I fixed it.:

And now we’re all back up, I clicked the “fridge constant” under ferment actions and it looks like it’s running but the play button next to the action isn’t green. Does that mean it’s not running or is it just not telling me it’s running?

You installed in /brewblox instead of ~/brewblox. You indeed don’t have permission as user in /.

If you hover over (longpress on mobile) the action, it’ll tell you the delta with desired state. It’s green if actual == desired.

Ah…got it - thanks, I’m learning! I also zipped the /brewblox directory as you suggested so when I kill it again I can be up faster.

If I kill it again, I’ll reinstall it in ~/brewblox to keep it in spec…

1 Like

So if I understand that part correctly, the play button only goes green if you reach the desired state?
If so, I’d approach it from the opposite direction, you click on it, it’s set…yes you did an action…then you give the deltas as feedback on the status of the action. “I got it…you want this…here’s where we are with your request”…my Amazon Alexa does it like that…I say “play songs like” and she says “got it, playing songs like…”

The Spark doesn’t really have a “now performing action”. It has settable settings, and readonly state.

This way it can easily resume work when you reboot, but it also means “current action” isn’t a thing. You can apply a Quick Action and then manually override every setting.

Well ok then, in that case don’t change a thing… :stuck_out_tongue_winking_eye: