supervisor merge requestshttps://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests2023-09-15T08:42:30+02:00https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/28svupdater: add --reinstall-all option2023-09-15T08:42:30+02:00Richard Muziksvupdater: add --reinstall-all optionAdd possibility to run pkgupdate with option --reinstall-all in the
supervisor.Add possibility to run pkgupdate with option --reinstall-all in the
supervisor.Richard MuzikRichard Muzikhttps://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/27notifier: Do not send stacktrace for handled errors2022-11-04T17:02:28+01:00Michal Hruseckynotifier: Do not send stacktrace for handled errorsCurrently the supervisor sends out the stacktrace whenever it encounters
any known error. Much better outcome would be to send the actual error,
same as the output in console. Especially if we know that updater
handled the error. Typical...Currently the supervisor sends out the stacktrace whenever it encounters
any known error. Much better outcome would be to send the actual error,
same as the output in console. Especially if we know that updater
handled the error. Typically the missing package.
This is PoC fix right now, could use some smoothing of the rough edges -
better formatting.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/25approvals: Fix case when updates were incorrectly auto-approved2022-07-27T14:39:58+02:00Martin Matějekapprovals: Fix case when updates were incorrectly auto-approvedRewrite and fix condition that decides, whether auto-approval is used.
Previously it unfortunatelly allowed case when updates were
auto-approved, even though manual confirmation was required.
Relevant snippet from README regarding the ...Rewrite and fix condition that decides, whether auto-approval is used.
Previously it unfortunatelly allowed case when updates were
auto-approved, even though manual confirmation was required.
Relevant snippet from README regarding the approve logic:
> auto_approve_time() and set_auto_approve_time(approve_time) are getter and setter for updater.autorun.auto_approve_time. This is number of hours
> before approval is automatically granted. This implements update delay.
> auto_approve_window() and set_auto_approve_window(window) is getter and setter for updater.autorun.auto_approve_start and
> updater.autorun.auto_approve_end. They serve to define the window when updates are automatically approved. There can be multiple starts and ends set
> (it can be a list in UCI). The values them self are crontab like period specifier. If window is defined toggether with auto_approve_time then that
> time has to elapse before auto approve window is considered.
Closes: #32https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/24approvals: fix typo and correctly mark delayed reboot2022-07-27T14:46:34+02:00Martin Matějekapprovals: fix typo and correctly mark delayed rebootFix typo `delayd` -> `delayed`, which in turn should fix detection of
delayed reboot.
It should fix following issues:
* (1) Treat delayed reboot as "reboot is required".
* (2) Create correct notification.Fix typo `delayd` -> `delayed`, which in turn should fix detection of
delayed reboot.
It should fix following issues:
* (1) Treat delayed reboot as "reboot is required".
* (2) Create correct notification.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/23approvals: replace Foris by reForis and fix naming of menu2022-03-18T14:09:14+01:00Josef Schlehoferapprovals: replace Foris by reForis and fix naming of menuhttps://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/22svupdater: fix case when auto-approve-window is not set2022-03-17T09:02:04+01:00Karel Kocisvupdater: fix case when auto-approve-window is not setThis fixes case when there is no window specified in configuration (the
default behavior).
I somehow optimized out that branch out of the code during the review
process.
Fixes turris/updater/supervisor#31.This fixes case when there is no window specified in configuration (the
default behavior).
I somehow optimized out that branch out of the code during the review
process.
Fixes turris/updater/supervisor#31.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/21files/immediate_reboot: fix block on package removal2022-02-24T15:31:01+01:00Karel Kocifiles/immediate_reboot: fix block on package removalThis makes sure that init script is not executed when we are installing
or removing package. The important problem this covers is the block of
execution on package removal as immediate_reboot init script waits for
termination of opkg or ...This makes sure that init script is not executed when we are installing
or removing package. The important problem this covers is the block of
execution on package removal as immediate_reboot init script waits for
termination of opkg or updater while at the same time opkg waits for
postinstall script termination and thus termination of the initial wait.
This creates deadlock.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/20svupdater: add ability to set auto-approve window2022-02-16T09:38:49+01:00Karel Kocisvupdater: add ability to set auto-approve windowThe idea here is that user can set when exactly updater can update
system by setting start and end periodic times. We use cron syntax for
that.
There are few hacks that we had to implement to ensure that it is not
fragile. The first iss...The idea here is that user can set when exactly updater can update
system by setting start and end periodic times. We use cron syntax for
that.
There are few hacks that we had to implement to ensure that it is not
fragile. The first issue is combination with execution and random delay.
We want to always hit the allowed window so we can install any possible
update so we need to tweak the random delay to fix that. Also we had to
make sure that updater considers all hours of the day. We run updater by
cron every two hours now with still the same two hours random delay.
This way updater can hit every possible allowed window.
The combination of delayed approvals and approval window results in wait
for delay first and only after that installation in allowed window. Thus
both of them apply.
Implements turris/updater/supervisor#17.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/19Switch from state-log to changelog2022-02-15T16:05:59+01:00Karel KociSwitch from state-log to changelogThe changelog is unconditional log tracked by new versions of updater.
We can use that for notifications.
Implements turris/updater/supervisor#27 and turris/updater/supervisor#26The changelog is unconditional log tracked by new versions of updater.
We can use that for notifications.
Implements turris/updater/supervisor#27 and turris/updater/supervisor#26https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/18Replace ping with curl for network check2021-04-13T21:17:43+02:00Karel KociReplace ping with curl for network checkIn reality we need to download files from repo.turris.cz so it makes
sense to try perform real download rather than just ping.
This also changes when we check for network. We check every time that is
enabled. It makes sense as that way ...In reality we need to download files from repo.turris.cz so it makes
sense to try perform real download rather than just ping.
This also changes when we check for network. We check every time that is
enabled. It makes sense as that way we can cover some temporally service
dropouts even when not running from cron.
There are other tiny tweaks such as that we no longer use name of
package in package itself and rather import relatively.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/17Fix check for installed packages and removed package2020-12-04T10:16:25+01:00Karel KociFix check for installed packages and removed packageUpdater preserves removed packages in index if they at time of removal
had some modified configuration files. Such packages are removed and
should be reported as such. There is also no control file on filesystem.
This fixes missing cont...Updater preserves removed packages in index if they at time of removal
had some modified configuration files. Such packages are removed and
should be reported as such. There is also no control file on filesystem.
This fixes missing control file error by just not reading control file
if it is not present. This has no impact as info is not available about
that package and should not be required anyway.
This also fixes installed method by properly checking status fields.
Reference for opkg status: https://gitlab.nic.cz/turris/updater/updater/-/blob/master/docs/opkg.adocTurris OS 5.2.0https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/16fix deprecated import from collections2020-11-27T10:17:16+01:00Martin Matějekfix deprecated import from collectionscloses #22closes #22https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/15Draft: Api changes2020-11-06T15:22:34+01:00Karel KociDraft: Api changesThis is load of changes but primarily this provides interface to query installed packages and to follow updater execution.
Implements #13, #5, #19, #15, #18, #2, #20, #16This is load of changes but primarily this provides interface to query installed packages and to follow updater execution.
Implements #13, #5, #19, #15, #18, #2, #20, #16Turris OS 5.2.0https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/13setup.py: add pyuci dependency2020-04-09T13:13:43+02:00Štěpán Heneksetup.py: add pyuci dependencyforis-controller can be installed e.g. via `pip install foris-controller`.
This should install all required dependencies (transitively).
However if I try to run it I've got supervisor complaining about missing pyuci module.
After this ...foris-controller can be installed e.g. via `pip install foris-controller`.
This should install all required dependencies (transitively).
However if I try to run it I've got supervisor complaining about missing pyuci module.
After this MR foris-controller is supposed to work well without manually installing pyuci.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/12WIP: svupdater/lists: add support for labels2020-04-09T13:09:20+02:00Karel KociWIP: svupdater/lists: add support for labelsLabels are new generic approach to existing official boolean option.
This removes that option and instead introduces flags that can symbol
anything.
This implementation is just extension of existing one so everything is
till return...Labels are new generic approach to existing official boolean option.
This removes that option and instead introduces flags that can symbol
anything.
This implementation is just extension of existing one so everything is
till returned all at once. Labels can be matched by name between various
pkglists but that has to be done by user. Here info for labels is
duplicated to every occurrence of that label.
Implements https://gitlab.labs.nic.cz/turris/turris-os-packages/issues/557
This references changes in https://gitlab.labs.nic.cz/turris/turris-os-packages/merge_requests/151Turris OS 5.1https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/11lists: use explicit type when storing pkglists2020-03-09T16:01:43+01:00Martin Matějeklists: use explicit type when storing pkglistsDon't rely on type autodetection and use explicit types to ensure that data will by written as intended.
For example
```
lists = {'3g': {}, 'dvb': {}}
```
will raise an Exception:
```
File "/usr/lib/python3.7/site-packag...Don't rely on type autodetection and use explicit types to ensure that data will by written as intended.
For example
```
lists = {'3g': {}, 'dvb': {}}
```
will raise an Exception:
```
File "/usr/lib/python3.7/site-packages/svupdater/lists.py", line 108, in update_pkglists
uci.set('pkglists', 'pkglists', 'pkglist', lists.keys())
File "/__init__.py", line 132, in set
TypeError: 'dict_keys' object is not subscriptable
Internal error 'dict_keys' object is not subscriptable('<class 'TypeError'>')
```https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/10lists: fix default value of hidden flag2020-01-20T17:23:06+01:00Martin Matějeklists: fix default value of hidden flagHidden flag is rarely used so False should be safe default.
When previously set to True, foris wouldn't show any user lists.Hidden flag is rarely used so False should be safe default.
When previously set to True, foris wouldn't show any user lists.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/9Fix handling of pkglist options2020-01-16T15:06:49+01:00Martin MatějekFix handling of pkglist optionsFix returning of correct values in pkglist options.Fix returning of correct values in pkglist options.https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/8Options in pkglist2020-01-16T11:32:14+01:00Martin MatějekOptions in pkglistNote: This MR should be rebasable on top of MR !7 with minimal conflicts, so it would be good to merge !7 first.
closes #9 Note: This MR should be rebasable on top of MR !7 with minimal conflicts, so it would be good to merge !7 first.
closes #9 Turris OS 5.1https://gitlab.nic.cz/turris/updater/supervisor/-/merge_requests/7WIP: Refactor euci usage2019-12-12T16:33:15+01:00Martin MatějekWIP: Refactor euci usageUse generic get/set euci functions.
closes #10 Use generic get/set euci functions.
closes #10