Virtlab:Konfigurační server
Z VirtlabWiki
Obsah |
Funkce a konfigurace
Konfigurační server přijme přes TCP spojení nejprve jméno spojovacího prvku, do kterého se má uploadovat v TCP spojení následně předaný obsah. Obsah uloží do pomocného souboru a podle své konfigurace ze jména spojovacího prvku zjistí device (/dev/ttyX) nebo IP adresu a port, kam se má konfigurace poslat. Pak spustí pomocný externí uploadovací program upload-conndevice-cfg, kterému předá jméno pomocného souboru s obsahem a jméno device, resp. IP adresu a port, přes které se konfigurace do příslušného spojovacího prvku uploaduje.
Syntaxe parametrů příkazové řádky upload-conndevice-cfg:
upload_conndevice_cfg <jmeno_souboru_ovladace_com_portu>|<ip_addr>:<port> <jmeno_souboru_pro_upload> <ms_mezi_znaky>
Protože požadavky na úpravy konfigurace spojovacích prvků (spojení/rozpojení topologie) lokality obsluhované konfiguračním serverem mohou přicházet z mnoha lokalit asynchronně, musí je konfigurační server serializovat. Je tedy pouze 1-vláknový a obsluhuje naráz jen jediného klienta (upload skripty spuštěné CRONem). Upload skripty proto musí být napsány tak, aby při navazování spojení s konfiguračními servery byly schopny pár desítek sekund počkat, je-li obsazeno. Reálně by upload konfigurací neměl trvat déle než desítky sekund (přenos do tunelovacího serveru jde přes TCP a měl by být prakticky okamžitý, přenos do ASSSK vyžaduje z implementačních důvodů ASSSK 100ms pauzy mezi znaky, avšak konfigurace jsou krátké, typicky ne více než 8 řádků (pro 16-portový ASSSK) po cca 10 znacích).
Na dokončení uploadu souboru do spojovacího prvku (ukončení běhu upload-conndevice-cfg z forkovaného procesu Konfigurační server čeká (waitpid()).
Konfigurace
Server se souští s parametrem IP adresy rozhraní, na které má poslouchat (veřejná adresa dostupná ostatním lokalitám). Konfigurační soubor - společný s Mazacím serverem.
Protokol konfiguračního serveru
Virtlab:Protokoly/Konfigurační server
Non-urgent TODO
- Do protokolu doplnit autentizaci klienta (nemá smysl aktuálně řešit s ohledem na plánované přepracování při přechodu na Spojovač verze 3).