Virtlab:Komponenty/Virtuální spojovací pole

Z VirtlabWiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Verze z 12:28, 18. 8. 2007
Gry72 (Diskuse | příspěvky)

← Předchozí porovnání
Verze z 13:57, 18. 8. 2007
Gry72 (Diskuse | příspěvky)

Následující porovnání →
Řádka 14: Řádka 14:
 +Pozor, v act_server muze z volani wait() na dokonceni aktivacniho skriptu vyhodit i signal (alarm nebo USR1) !
'''V BUDOUCNU NUTNO PREDELAT GENERATOR A UPLOADER TAK, ABY BYLO REENTRANTNI.'''. '''V BUDOUCNU NUTNO PREDELAT GENERATOR A UPLOADER TAK, ABY BYLO REENTRANTNI.'''.

Verze z 13:57, 18. 8. 2007


Obsah

Generování a upload konfigurací spojovacích prvků distribuovaného spojovacího pole

Obstarava Aktivacni server. V case nejblizsi rezervace (zjisti z DB nebo je informovan o nove rezervaci rezervacnim serverem pomoci TCP) spusti skript podle polozky conf-activator v souboru act-server.conf (implicitne activator-script/activate.sh). V nem se nejprve spusti skript generatoru konfiguraci pro spojovaci prvky, nasledne skript pro generovani konfiguraci tunelovacich serveru vsech lokalit a nakonec se vsechny vygenerovane konfigurace zaslou konfiguracnim serverum prislusnych lokalit, ktere je nahraji do zadanych spojovacich prvku. Z aktivačního skriptu se rovněž spouští skript pro výmaz konfigurací prvků použitých v dané rezervaci.

Pozor, generátor make-conn-configs přepisuje novými výstupy případné konfigurace z předchozího běhu a také VLANstore se nesmí spustit současně vícekrát. Aktivační server by měl tedy volání skriptu activate.sh serializovat (nesmí se spustit podruhé, než poprvé skončí).. Což dělá pomocí waitpid(). Musí se jen zajistit sériovost provádění všech dalších skriptů z activate.sh, V serializaci je potenciální problém, může se zadrhnout i na dost dlouho (navazování spojení netcatem) nebo možná i nekonečně, čímž se aktivační server zablokuje. NUTNO OŠETŘIT. Test ukonční předchozího běhu se dá dělat přes soubor, který aktivační server vytvoří a skript generátoru (/uploaderu) na konci smaže.


Pozor, v act_server muze z volani wait() na dokonceni aktivacniho skriptu vyhodit i signal (alarm nebo USR1) !

V BUDOUCNU NUTNO PREDELAT GENERATOR A UPLOADER TAK, ABY BYLO REENTRANTNI.. Pro synchronizaci čekáním na neběžící vlanstore v bashi potřebujeme mutex. Šlo by také řešit zamykáním named pipes pro komunikaci s vlanstorem vhodným systémovým voláním, pokteré ale musíme zpřístupnit shellu.

Návaznosti

Rezervační server přijme popis požadované topologie (a.k.a. "topologie.conf") přiřazený ke konkrétní rezervaci příkazem ATTACH. Uloží si jej do souboru <RESID>.dat (z historických důvodů). Soubor rovnou přepošle dále aktivačními serveru, ten ji ukládá do svého souboru <RESID>.dat.

Skript spouštěný v době spuštění úlohy (začátku jejího timeslotu) aktivačním serverem se určuje v souboru /etc/virtlab/act-server.conf položkou conf-activator (implicitně /opt/virtlab/act-server/activator-script/activate.sh)

Obě kopie pomocného souboru <RESID>.dat maže

  • aktivační skript po provedení aktivace
  • při CANCEL rezervace rezervační i aktivační server (každý u sebe, rezervační příkaz CANCEL přepošle aktivačnímu).

Aktivačnímu skriptu activate.sh předává aktivační server tyto parametry:

  • čas konce timeslotu rezervace (v jednotkách funkce time() ) - přeposílá se při žádosti o číslo VLAN na vlanstore.
  • jméno souboru s rezervací (bez cesty - aktivační server vytváří ve svém current adresáři)


Komunikace mezi generátorem konfigurací a vlanstore

Vlanstore dočasně zapůjčuje čísla VLAN z rozsahu přiděleného lokalitě (skript activate.sh, proměnné VLANS_FROM a VLANS_TO).

Komunikace probíhá pomocí named pipes:

  • /opt/virtlab/vlanstore/npToVlanStore - žádosti o čísla VLAN (vždy s určením konce timeslotu rezervace)
  • /opt/virtlab/vlanstore/npFromVlanStore - odpovědi, přidělená čísla VLAN.

Konfigurace

  • activate.sh: Upravit VLANS_FROM a VLANS_TO, aby určovaly dolní a horní mez rozsahu čísel VLAN přidělených pro účely spojování prvků místní lokalitě
Osobní nástroje