subiquity/subiquitycore
Michael Hudson-Doyle 132440451d more reliably restart client when server restarts
Splitting subiquity into server and client means that in general
old versions of the client can still be running when the server is
updated (the client running on tty1 will be restarted by snapd/systemd
when the snap is updated but clients running via e.g. ssh will not). I
implemented a way for the client to detect this and restart itself: the
server sets a header in all responses that indicates if it has been
updated. So far so good. But the way it knows that it has been updated
is to check the presence of a file that is only created when subiquity
itself triggers the refresh, so it's not there in the case of manual
refresh, and as reported in https://bugs.launchpad.net/bugs/1921820 this
can lead to the client crashing because it cannot parse the new server's
response. This simply changes to creating the marker file in the snap
post-refresh hook, which will be executed for manual snap refreshes as
well.

While I'm at it, remove the rest of the post-install hook that restarted
subiquity clients running on the serial line as the generic machinery
will work for these too.
2021-03-31 13:15:06 +13:00
..
controllers tidy up answers handling a bit and fix a race 2020-12-16 10:21:32 +13:00
models make NetDevInfo.is_connected a bool, as it is supposed to be 2020-09-25 14:33:53 +12:00
testing support for editing existing partitions 2019-05-30 15:10:54 +12:00
tests remove mistakenly added backup files 2020-05-01 13:45:59 +12:00
ui fix crash when trying to view nic info 2021-01-27 09:35:09 +13:00
__init__.py pyflakes3 fixes for subiquitycore/__init__.py 2018-05-24 16:59:31 -05:00
async_helpers.py translate concurrent.futures.CancelledError to asyncio.CancelledError 2020-04-02 12:15:06 +13:00
context.py give contexts an id and have progressview track them by id not identity 2020-09-21 14:01:40 +12:00
contextlib38.py steal contextlib from Python 3.8 2020-09-11 16:55:26 +12:00
controller.py make the base controller have no ui, add subclass for one that has ui 2020-08-23 23:18:28 +12:00
controllerset.py fixes for how install failures are presented 2020-09-21 14:01:23 +12:00
core.py split subiquity.core into subiquity.client.client and subiquity.server.server 2020-11-04 10:57:22 +13:00
file_util.py Fix writing of netplan configs 2018-06-07 11:46:34 -04:00
gettext38.py copy gettext.py from python 3.8 and use it 2020-05-08 15:09:46 +12:00
i18n.py fix lint 2020-05-08 15:44:07 +12:00
log.py append, do not overwrite logs 2020-12-18 12:18:40 +13:00
lsb_release.py tox: Support running tests and flake8 in tox. 2018-06-05 17:59:46 -04:00
netplan.py do not log wifi passwords from existing configs 2020-05-19 07:47:33 +12:00
palette.py Move the code for setting up the screen to its own file 2020-07-27 23:40:17 +12:00
prober.py push debug_flag block probe crashing into Prober 2019-12-16 23:15:48 +13:00
screen.py Move the code for setting up the screen to its own file 2020-07-27 23:40:17 +12:00
signals.py a bit too much effort making one particular log statement look nice 2019-09-09 15:32:49 +12:00
snapd.py more reliably restart client when server restarts 2021-03-31 13:15:06 +13:00
ssh.py do not set installer user password if it has password or authorized keys 2021-03-25 14:26:49 +13:00
tui.py fix crash when trying to view nic info 2021-01-27 09:35:09 +13:00
tuicontroller.py asyncioify "fine grained action" handling a bit 2020-10-12 11:16:38 +13:00
utils.py asyncioify run_command_in_foreground 2019-12-15 08:53:36 +13:00
view.py add the ability to remove a particular overlay, not just the top one 2020-05-01 12:46:45 +12:00