I hope I'm terribly confused:
moblab runs mysqld via the moblab-database-init upstart job.
This upstart job actually tries to:
pre-start: setup some logs, install mysql db
exec: run mysqld
post-start: Drop all tables, recreate db from scratch.
So, if this job were to succeed, moblab would lose its entire AFE DB on every reboot.
But, wait, one step in pre-start is "expected to fail" once the setup is complete, as a comment there indicates.
But that also means that:
- pre-start fails
- myslqd is never started
- the job never reaches the "started" state -- this has downstream effect (moblab-external-storage-init doesn't run, nothing else moblab specific runs)
So, by my reading, once you reboot a moblab device, essential moblab services fail to come up.
We wouldn't notice this in the CQ since we only run a handful of tests after each provision, and don't reboot moblab between them.
But wouldn't partners notice this? Do they **never** restart moblabs between updates? OMG!
Pri 1: because this makes debugging moblab-pre-cq failures difficult. I package the VM images for debugging, but you can't even boot the moblab VM completely.
Comment 1 by pprabhu@chromium.org
, Dec 7 2017