Project

General

Profile

Schůzka projektu Warden ze 7. 2. 2013

Přítomni: Kuba, ph, Suki, Tom

Vydání 2.1 (nejvyšší priorita)

  • Radek otestoval, díky němu sanitizace a logování.
  • Kostěj otestoval, výkonově si můžeme dovolit logovat všechny zprávy.
  • Máme kousek nedobře otestovaného kódu, můžeme si dovolit? Shoda, že ano, změny jsou v užším plénu otestované a dobře ohraničené.
  • vydání ostrých balíků
    • ! Suki - AUTHORS vzít ze serveru, u klienta neodpovídají
    • ! Tom, Suki - vydat, ftp, konfera, Suki a já napíšeme průvodní dopis
    • ! Tom - nové datum + changelog - 5. 2.
  • ! Tom <= 15. 2. - příprava druhého serveru na warden.cesnet.cz bez validace, otestování na jiném portu
    • ostré nasazení v týdnu od 18. 2.
  • bude následovat postupné nasazení validace
    • Kubův wardenWatchdog s vlastní konfigurací, viz one-shot níže
    • po odchytání problémů klientů nasazení

Server, 2.2

  • zrušení SOAPu u serveru
    • zrušeno generování a update warden-client.conf při upgrade #789, #788
    • zatím nemá smysl společnou knihovnu pro čtení konfigurace pro klient/server - výkon, čte se příliš často
    • ! Tom má v plánu vydělit čtení configu do modulu stejně jako v klientovi
  • validita
    • bude potřeba dát pozor na upgrade path (schéma db)
    • pole validita - používáno jen jako bool T, F; použití pro chytání marťanů (viz zápis ze semináře v Hluboké) možné, ale sporné, ještě prodiskutujeme
    • ! argumenty z mailu by bylo vhodné k taskům, Tom přidává postupně
  • inteligentní nastavení cest ke knihovnám
    • řádkové skripty používají FindBin
    • nelze použít u Apache/mod_perl, běžíme v jeho kontextu, není jak automaticky zjistit, kde warden sídlí
      • ! Tom: možnosti mod_perl pro warden-apache.conf: PerlSetVar, PerlSetEnv, PerlRequire
    • klientské knihovny také běží v kontextu jiné aplikace, ale cestu zadává volající, tj. bez problému
  • bin/get*
    • getClients vrací info o klientech, getStatus jejich statistiku
    • ! Tom: kontroly na roota jsou zbytečné, správce serveru by si měl chránit právy k databázi a k souborům

Klient, 2.2

  • vize klientů - Kuba: rozesílač na MUNI, Kostěj: základ blacklisteru, Suki: moduly pro blacklister
  • ! Suki: api pro informace o zaregistrovaných klientech - upravit na hashové, ne listové, pro rozšiřitelnost poskytovaných informací o serverech, potom informovat Kubu
  • ! Suki: do doc další skript/příklad pro tahání informací o serverech
  • ! Suki: bin/{receiver,sender}.pl - zvážit zakomponování do examplů

Jednotkové testy

  • Kuba přišel s rm -rf warden-dev o kus kódu kolem db, možná varianta je kromě Mock::DB také Mock::Object, nejspíš se budou ale hodit oba přístupy

wardenWatchdog

  • plán: součást distribuce 2.2 (bude v tom případě potřeba doplnit dokumentaci - ! Kuba)
  • externí konfigurace, volání s jinou konfigurací dotazů - tj. one-shot
    • můžeme pak adaptovat validační regexpy, které chceme použít, na SQL dotazy, a nějakou dobu zjišťovat, koho můžou ohrozit
    • ! Kuba (vysoká priorita, rádi bychom za 14 dní interně použili): konfigurace kontrolních dotazů do separátního souboru subject, before, queries, after, sendmail; server_name/domain pravděpodobně nebude potřeba, pokud subject bude v konfiguraci
  • ! Kuba: použít čtení serverové konfigurace (nastavení db, etc.)
  • ! Kuba: api pro informace o zaregistrovaných klientech - pro 2.2 lze použít na získání správců (Suki předá Kubovi)
  • ! Kuba: při vydání pozor na import jen toho, co se skutečně používá (i.e. Data::Dumper?)
  • ! Kuba: buďme konzistentní v návratových hodnotách, chyba - vrací (0, popis), true - vrací (1)
  • ! Kuba: není třeba připojovat a odpojovat db při každém dotazu, jen pro celý běh skriptu

Jiné

  • ! Suki: příprava warden-sandbox, <=15. 2.
  • ! Suki, Tom: update.sh používají rsync, ten nemusí být nainstalován
  • ! Suki, Tom: update.sh a uninstall.sh by neměly smahnout to, co si správce přidal (např. vlastní obslužné skripty)
  • štábní: u tasku uvádět související čísla commitů, v commit hláškách uvádět čísla tasků (#123)