BrewBlox/brewblox-documentation

Implement review notes upgrade guide

Opened this issue · 0 comments

File: system_upgrades.md
Commit: 5be4c2c
Review date: April 16 2021
Tech: Tested on laptop with kubuntu 20.04 LTS and Brewblox with build date: 2021-04-07T14:53:23.863Z. Spark (service: spark-one) with Fermentation Fridge wizard blocks (standard). Spark is powered & connected over USB. Spark simulation (spark-sim) was added as extra service with HERMS setup from wizard (standard).

l3 This is the first time you tell me explicitly ;) After re-read: Maybe repeat the global situation for clarity. Brewblox software runs on a server... usually the RPi, and the server needs an operating system... and the OS determines the dependencies...

l4 what is Docker, what is Python? Maybe nice to explain software packages need to be maintained for compatibility and security. Then the EOL concept is more clear.

l6 Ah compatibility is mentioned here

l8-9 what are dependencies, what is tooling? I know that... a bit.. but I don't think we can expect the average user to know

l11 Hey, now the argument is on the system. Ah the dependencies and EOL status is about the Linux version running on the server.

l14 cool!

l15 what are hosts? Maybe dumb it down, when you move to a new Pi, or reinstall your Pi...

l20 Ah, here the dependency is explained explicitly without using the name of the concept

l29 Kind of a short support cycle isn't it? Don't you support some long-term support version? I am not into Linux upgrade cycles... Can you easily upgrade between stable versions?

l31 Ah the Debian release cycle is longer than one year and does not seem to be fixed. It amounts to about every two years... that's a little different. I was expecting a new version every year

l38 are Python versions really called 'active'? Not 'actively supported'?

Side note: funny you tell me all this software dependency information in the 'System upgrades' chapter. I was expecting different information, based on the title. You encounter problems with these things when NOT upgrading, or upgrading to an unsupported software version. With 'Upgrading your system' I am thinking about hardware too. Maybe rename the title 'Software dependencies' or something along those lines? The title idea might change when I read the rest of the guide. 'Choosing / Changing / Upgrading your OS'?

l50 what are distros?

l58 "the Python version is the most important factor for compatibility to run Brewblox. - How to find your Python version if you have a Mac or Synology?

l67 Nice! This time you tell me to do it in the brewblox directory ;)

l70 works!

l92 brewblox-ctl install requires reboot, maybe better to mention and start a new code block for the update. Can you defer the reboot till after the update?

Testing snapshot:

  1. brewblox-ctl down
    WARNING: Found orphan containers (brewblox_spark-one_1) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
    Removing brewblox_spark-sim-test_1 ... done
    Removing brewblox_influx_1 ... done
    Removing brewblox_spark-sim_1 ... done
    Removing brewblox_history_1 ... done
    Removing brewblox_traefik_1 ... done
    Removing brewblox_ui_1 ... done
    Removing brewblox_eventbus_1 ... done
    Removing brewblox_redis_1 ... done
    Removing network brewblox_default
    ERROR: error while removing network: network brewblox_default id 427ae6d3cce4a72981886c74d9ad13cb5217d4862e07ae3e111987bb4c621971 has active endpoints
    Command 'docker-compose down' returned non-zero exit status 1.
  2. What are those orphans? I re-added my spark when reviewing the previous guide. I expected it to reuse its container since I did not change the spark name. History data is preserved though... curious. Dunno if the network error is serious or hampering the procedure.
  3. closing UI
  4. brewblox-ctl down - doesn't fix
  5. reboot - doesn't fix
  6. Bob - orphans are the problem: docker-compose down --remove-orphans
  7. brewblox-ctl down - works
  8. sudo rm -rf ./brewblox/
  9. brewblox-ctl install --snapshot brewblox.tar.gz - works
  10. reboot
  11. brewblox-ctl update - works
  12. spark-one service not found... was connected all the time through USB. Maybe there was information in the orphans?
  13. spark-one service not listed in docker-compose.yml - why?
  14. brewblox-ctl add-spark --name spark-one - select Spark and all seems fixed. Service page, dashboard, block links all is working