Pomaly modem [unreachable: https://repo.turris.cz/omnia/lists/base.lua: Couldn't resolve host 'repo.turris.cz']


#1

Zdavim,

Po kazdom zapnuti UPC Routeru dostanem od Turisu Omnia Emailovu notifikaciu:
“unreachable: https://repo.turris.cz/omnia/lists/base.lua: Couldn’t resolve host ‘repo.turris.cz’”

Situacia je nasledovna.

  • Turis pouzivam ako NAS a je zapnuty takmer stale
  • Modem od UPC na noc vypinam
  • Po zapnuti modemu mi pride chybova hlaska
  • Samotny updater funguje

Udajne je pricina v UPC Modemu, ktoremu dlho trva kym sa realne pripoji na internet (ca. 5 min), ale na rozhrani sa uz tvari je pripojenie existuje, priradi WAN IP.

Je mozne nastavit Turis updater tak, aby zacal kontrolovat aktualizacie s urcitym oneskorenim po tom ako zisti, ze ma pripojenie na WAN?
Nastavenie oneskorenia na 10 min. by malo stacit.

Pripadne je mozne nastavit filter tak, aby tuto chybu neposielal emailom?

Pre info:

  • Medzicasom mi UPC nutene vymenilo monem Cisco za Compal, ale nic sa nezmenilo.
  • Vypinanie a zapinanie modemu spolu s Turisom nepomoze, lebo Turis je rychlejsi :slight_smile:

#2

:wink:

Takže router běží a nemá internet? Podívejte se na časy vytvoření těch notifikací. Bude to v době kdy máte vypnutý modem. Takže příčina není v UPC modemu, ale v tom že ho vypínáte.

Pokud nechcete aby Vás updater upozorňoval, že se nezdařila kontrola aktualizací, protože jste neměl připojení k internetu, tak můžete spolu s internetem vypínat i updater. :wink:


#3

Chapem, som sa nechal zmiast tym, ze rovnaky problem bol aj ked som modem vypinal spolu s routerom.

Je mozne presvedcit updater, aby kontroloval aktualizacie, len ked ma funkcne pripojenie na internet?
Napr. po uspesom pingu na zvolenu adresu.


#4

Nic takového možné není. Je možné update pozdržet o daný čas (ve výchozím stavu 10 vteřin), ale nic jiného aktuálně není možné. (viz. updater-supervisor --help)

Nevidím v tom aktuálně prioritu, ale jestli umíte Python3 a pošlete patche tak se takové funkcionalitě rozhodně bránit nebudu.


#5

Zaujimave, je dake obmedzenie na --timeout a --wait-for-network cas?
Mozem napr. nastavit 20 hodin (72000 sek.)?

Ak tomu dobre rozumiem mozem spravanie updateru upravit v /etc/cron.d/updater, ci?

Python3 poznam tak namatkovo, nie so programator, ale par skriptov som si uz robil. Dake rady, kde zacat, aby bol taky patch akceptovatelny?


#6

Technicky je to možné. Žádné limity tam nastavené nejsou. Jen editovat cron job není asi správná cesta. Update updateru Vám ten soubor přepíše. Nejedná se o konfiguraci.

Dále nevím jestli je vlastně dobré tohle používat, protože to co to dělá je, že to to každou sekundu pingá repo.turris.cz. Je to jen pseudotest na oddálení rozhodně nefungující přípojky, ale je možné, že ping s timeoutem jedné sekundy a bez opakování ve skutečnosti vůbec neprojde a tedy update se Vám spustí jen po těch dvaceti hodinách kdy už pravděpodobně zase nebudete mít připojení k internetu. Dále se vám tam těch updaterů čekajících na spuštění potenciálně navrší více a pak se naráz pustí. V zásadě by se měli všichni zastavit na zámku, ale i tak to není hezké. A v neposlední řadě pokud Vám nefunguje připojení k internetu tak ten ping se bude neustále spawnovat, protože okamžitě selže. Tedy budete mít router zatížený po tu dobu na 100% jen tím, že se spouští ping. Není to hezké. Chtělo by to upravit minimálně aby ten ping to spawnovalo jenom jednou za tu sekundu a nezkoušelo to hned jak to skončí, ale opět pro mne nízká priorita, promiňte.


#7

Dakujem za info.

Kde okrem priamej upravy cron job je mozne urobit konfiguraciu korektne?
Napr. spustenie len raz za den v urcity cas + konfiguracne parametre.

Ak by som to nastavil na cas, kedy bude pravdepodobne inet zapnuty, tak by mi to aspon nespamovalo email.

Rozumiem tomu spravne? Nie som si 100% isty:
--timeout TIMEOUT - ukonci updater po plynuti danej doby
--timeout-kill TIMEOUT_KILL - ak sa to nepodari ukoncit, tak po dodatocnej dobe ho zabije
--wait-for-network [WAIT_FOR_NETWORK] - pocas danej doby pinguje ako zmyslov zbaveny, kym nie je ping ok?


#8

Problém je, že žádný z těch souborů není konfigurační a tedy při updatu updateru bude přepsán. Tedy neexistuje místo kam prodloužený argument pro čekání na připojení k internetu dát. (nebo mě nenapadá)

Obecně si myslím, že je lepší updater prostě vypnout po dobu co nemáte připojení. Otázka je jak tohle budete dělat, ale celkem bezpečně můžete volat uci set updater.override.disable=1. Obecně to není bezpečné pokud budete v daný moment něco konfigurovat z Forisu, ale jinak tímto způsobem můžete updater dočasně deaktivovat. Nastavením na 0 se změny vrátí do původního stavu a protože neděláte commit tak se ani neprovede zápis. Tohle následně můžete mít v cronu a dle času updater vždy deaktivovat a následně znovu aktivovat.