Virtlab:Vývojáři
Z VirtlabWiki
(Rozdíly mezi verzemi)
Verze z 17:05, 25. 7. 2007 Gry72 (Diskuse | příspěvky) ← Předchozí porovnání |
Aktuální verze Gry72 (Diskuse | příspěvky) (→Distribuovaný Virtlab) |
||
Řádka 1: | Řádka 1: | ||
- | Zde jsou informace pro SRPV (nepřihlášený uživatel se zde nedostane a přihlásit se mohou jen uživatelé, které vytvoří správce [[Uživatel:Vav166|Vav166]]) | + | Zde jsou informace primárně pro [[Nápověda:SRPV | SRPV ]] |
== Filosofie vývoje == | == Filosofie vývoje == | ||
- | * důraz na spolehlivou základní funkčnost | + | * důraz na '''spolehlivou základní funkčnost''' |
- | ** co nejméně zbytečných omezení pro uživatele a vychytávek speciálních případů (na které stejně v praxi téměř nedojde a jen znepřehledňují kód) | + | ** co '''nejméně zbytečných omezení''' pro uživatele a vychytávek speciálních případů (na které stejně v praxi téměř nedojde a jen znepřehledňují kód) |
- | * důsledné ošetření chybových stavů, zotavení z chyb | + | * důsledné '''ošetření chybových stavů''', zotavení z chyb |
- | ** počítat s výpadkem komunikace mezi distribuovanými komponentami ve kterémkoli okamžiku a zotavit se z něj | + | ** '''počítat s výpadkem komunikace''' mezi distribuovanými komponentami ve kterémkoli okamžiku a zotavit se z něj |
- | * co největší modularita | + | * co '''největší modularita''' |
** na úrovni spustitelných programů i zdrojových kódů | ** na úrovni spustitelných programů i zdrojových kódů | ||
+ | ** důležité pro '''neustále se rozrůstající''' projekt i vývojový tým | ||
* kvalitní a jednotný logging debug informací a informací o běhu | * kvalitní a jednotný logging debug informací a informací o běhu | ||
** mezi servery předávat volitelný parametr hlavičky TransactionID - vymýšlí klient (povětšinou řídící server (PHP), případně aktivátor konfigurací) - server nemění, zopakuje v odpovědi, pokud dotaz rozesílá dále, zopakuje. Loguje se pro snadné sledování akcí vyvolaných konkrétním požadavkem. | ** mezi servery předávat volitelný parametr hlavičky TransactionID - vymýšlí klient (povětšinou řídící server (PHP), případně aktivátor konfigurací) - server nemění, zopakuje v odpovědi, pokud dotaz rozesílá dále, zopakuje. Loguje se pro snadné sledování akcí vyvolaných konkrétním požadavkem. | ||
- | ** debug a log hlášení v angličtině (předpoklad brzkého exportu řešení mimo ČR) | + | ** debug a log '''hlášení v angličtině''' (předpoklad brzkého exportu řešení mimo ČR) |
- | |||
- | == Nedistribuovaný Virtlab == | ||
- | I přes vývoj distribuované verze bude v horizontu 1-2 let udržována i původni verze (http://vl-test.cs.vsb.cz), ze které bude zejména [[Uživatel:kub348|Roman Kubín]] odstraňovat připadné existujicí chyby. Zásadní rozšíření však již nebudou implementována. Na produkčním Virtlabu bude nasazena právě tato verze do té doby, než bude distribuovaná verze plně funkční a kvalitně otestována. | ||
- | |||
- | * [[Virtlab:Testing|Co je třeba testovat]] | ||
- | ** [[Virtlab:Testing-globalTesting-12-2006|Globální otestování 12/2006]] | ||
- | * [[Virtlab:Nondistr-reported-errors|Ohlášené chyby]] | ||
- | |||
- | === Materiály === | ||
- | Materiály zde prezentované mohou být historické a nemusí odpovídat nejnovějšímu stavu. | ||
- | * [[Media:README_virtlab-Nemec.txt|Původní protokol CServer-Applet (od Pavla Němce)]] | ||
== Distribuovaný Virtlab == | == Distribuovaný Virtlab == | ||
'''Testovací prostředí distribuovaného Virtlabu je budováno s podporou grantu-projektu Fondu rozvoje Cesnet č. 213/2006 a za spoluúčasti LCNA při obchodně-podnikatelské fakulty Slezské univerzity v Karviné.''' | '''Testovací prostředí distribuovaného Virtlabu je budováno s podporou grantu-projektu Fondu rozvoje Cesnet č. 213/2006 a za spoluúčasti LCNA při obchodně-podnikatelské fakulty Slezské univerzity v Karviné.''' | ||
- | V repository větev DISTR | + | * Seznam prací a harmonogram pro zprovoznění pilotní konfigurace je v [[Virtlab:VirtIS|VirtISu]]: [http://virtis.viakis.net http://virtis.viakis.net] nebo [https://virtis.viakis.net https://virtis.viakis.net] |
- | + | * V SVN repository větev DISTR | |
- | * [[Virtlab:DistrTerminologie|Terminologie a základní architektura]] | + | * [[Virtlab:Terminologie|Terminologie a základní architektura]] |
- | * Komponenty | + | |
- | ** [[Virtlab:DistrVirtlabServer|řídící server lokality ("Virtlab server")]] | + | |
- | ** [[Virtlab:DistrRezervServer|rezervační server]] | + | |
- | ** [[Virtlab:DistrCServer|konzolový server]] | + | |
- | ** [[Virtlab:Applet|Klientský applet (emulátor terminálu)]] | + | |
- | ** segment virtuálního spojovacího pole | + | |
- | *** n x C3550 (příp. C1900), n x ASSSK1 (a.k.a. Tatabazmek) | + | |
- | *** [[Virtlab:Tunelovací server|Tunelovací server]] | + | |
- | *** [[Virtlab:DistrConfigServer|konfigurační server]] | + | |
- | + | ||
- | * [[Virtlab:DistrProtokoly|Protokoly - obecná pravidla]] | + | |
- | ** [[Virtlab:Rezervační server|Rezervační server]] | + | |
- | ** [[Virtlab:DistrProtokolCServer|Konzolový server ]] | + | |
- | ** [[Virtlab:DistrProtokolConfigServer|Konfigurační server ]] | + | |
- | * [[Virtlab:DistrDatoveStruktury|Datové struktury]] | + | |
* [[Virtlab:DistrMapovani|Mapování logických laboratorních prvků na fyzické]] | * [[Virtlab:DistrMapovani|Mapování logických laboratorních prvků na fyzické]] | ||
- | + | * '''Komunikace mezi lokalitami''' | |
- | * Komunikace mezi lokalitami | + | ** Propojovací tunely - datové toky (enkapsulované rámce) mezi rozhraními laboratorních prvků. Propojovací tunely jsou ukončeny na [[:Kategorie:Tunelovací server | tunelovacích serverech]] jednotlivých lokalit. |
- | ** Propojovací tunely - datové toky (enkapsulované rámce) mezi rozhraními laboratorních prvků. Propojovací tunely jsou ukončeny na tunelovacích serverech jednotlivých lokalit. | + | ** Komunikace mezi [[:Kategorie:Rezervační server | rezervačními servery]] |
- | ** Komunikace mezi rezervačními servery | + | ** Komunikace mezi [[:Kategorie:Konfigurační server | konfiguračními servery]] |
- | ** Komunikace mezi konfiguračními servery (?) | + | |
- | + | ||
* [[Virtlab:LoggingDebugging|Logování a debugging]] | * [[Virtlab:LoggingDebugging|Logování a debugging]] | ||
+ | * [[Virtlab:TimeUsage|Unifikovaná práce s časem]] | ||
- | * [[DistrRozsireni|Navrhované pokročilé vlastnosti a plány do budoucna]] | ||
- | |||
- | * [[Virtlab:DistrTesting|Co je třeba testovat (až bude co...)]] | ||
- | * konfigurace | ||
- | ** [[Virtlab:DistrTestovací-Konfigurace|Konfigurace testovacího distribuovaného Virtlabu]] | ||
- | |||
- | * [[Virtlab:DistrPiloting|Zprovoznění pilotní instalace - červenec 2007]] | ||
- | |||
- | |||
- | === Nejbližší nutné kroky (OLD) === | ||
- | Oddělení logické topologie od fyzické - Honza Vavříček | ||
- | |||
- | * část GUI pro práci se zařízeními buďto zatím odstranit nebo zobecnit, aby uměl generovat konfigurační soubory pro ConServer (mapování globálního jména prvku na znakové zařízení nebo IP adr./port) a rezervační server (parametry prvků k dispozici + časy kdy a komu). Pokud by bylo odstraněno, musel by správce konfigurační soubory psát ručně | ||
- | * nástěnka v současném pojetí s timesloty zmizí | ||
- | * rezervace - předělat, možnost rezervace bez ohledu na timesloty, paralelní a překrývající se rezervace | ||
- | * do úlohy přidat XML s popisem logické topologie | ||
- | * spuštění úlohy - úprava parametrů předávaných appletu (který je předává dále konzolovému serveru) - s ohledem na nový protokol applet-conserver, zaslání globální identifikace cílového laboratorního prvku a reservationID, který snad může nějak posloužit pro autentizaci. | ||
- | Předání IP adresy správného konzolového serveru (proxying přes server lokality). | ||
- | |||
- | Konzolový server - Tomáš Hrabálek | ||
- | |||
- | * Definice portů MOXA (/dev/ttyMx], na kterých jsou připojeny jednotlivé prvky, nezveřejňovat mimo konfigurační soubory Conserveru dané lokality. Navenek v protokolu Applet-Conserver pracovat s globálními jmény prvků. V konfiguračním souboru Conserveru dát možnost definovaat buďto číslo portu na MOXA (jméno souboru znakového zařízení) nebo IP adresu a portu serveru, kam navázat TCP spojení (instance UML a Dynamips) | ||
- | * Conserver musí mít v konfiguraci tabulku adres Conserverů ostatních lokalit, aby z globálního jména prvku, na který se chce uživatel připojit, ze jména lokality poznat, kam protáhnout TCP spojení. | ||
- | |||
- | == Zápisy ze schůzek == | ||
- | * [[Virtlab:Porady|Zápisy z porad]] - provozní záležitosti (produkční i testovací Virtlab), testing | ||
- | Zápisy ze schůzek se nacházejí v kategorii [[:Kategorie:Zápisy schůzí|Zápisy schůzí]] | ||
- | * pro čistě NEdistribuovaný Virtlab je kategorie [[:Kategorie:Zápisy schůzí nedistribuovaného virtlabu|Zápisy schůzí nedistribuovaného virtlabu]] | ||
- | * pro čistě distribuovaný Virtlab je kategorii [[:Kategorie:Zápisy schůzí distribuovaného virtlabu|Zápisy schůzí distribuovaného virtlabu]] | ||
- | |||
- | == Obecné informace == | ||
- | * [[Help:MediaWiki|Věci k zacházení s (touto) Wiki]] | ||
- | * další užitečné informace jsou na stránce [[Nápověda a HOW-TOs]] | ||
- | * [[Virtlab:Kontakty|Podrobné kontakty na člený SRPV s "rozpisem" činností]] | ||
- | * [https://vl-test.cs.vsb.cz/websvn/ Webové rozhraní pro přístup k SVN] ('''nutná autentizace''' univerzálním heslem) | ||
- | |||
- | Testovací Virtlab může být kdykoli upgradován z SVN. '''Do SVN proto dávejte prosím jen konzistentní a rozumně funkční verze''', žádné mezistavy. | ||
- | Pokud tedy na testovacím Virtlabu něco zkoušíte, udělejte si kopii webové struktury u sebe v adresáři, protože '''"oficiální" struktura webu může být kdykoli prepsána upgradem z repository'''. | ||
- | * [[Virtlab:SQL|Požadavky na změnu SQL databáze na produčním Virtlabu]] | + | [[Kategorie:UNCOMPLETE]] |
Aktuální verze
Zde jsou informace primárně pro SRPV
[editovat]
Filosofie vývoje
- důraz na spolehlivou základní funkčnost
- co nejméně zbytečných omezení pro uživatele a vychytávek speciálních případů (na které stejně v praxi téměř nedojde a jen znepřehledňují kód)
- důsledné ošetření chybových stavů, zotavení z chyb
- počítat s výpadkem komunikace mezi distribuovanými komponentami ve kterémkoli okamžiku a zotavit se z něj
- co největší modularita
- na úrovni spustitelných programů i zdrojových kódů
- důležité pro neustále se rozrůstající projekt i vývojový tým
- kvalitní a jednotný logging debug informací a informací o běhu
- mezi servery předávat volitelný parametr hlavičky TransactionID - vymýšlí klient (povětšinou řídící server (PHP), případně aktivátor konfigurací) - server nemění, zopakuje v odpovědi, pokud dotaz rozesílá dále, zopakuje. Loguje se pro snadné sledování akcí vyvolaných konkrétním požadavkem.
- debug a log hlášení v angličtině (předpoklad brzkého exportu řešení mimo ČR)
[editovat]
Distribuovaný Virtlab
Testovací prostředí distribuovaného Virtlabu je budováno s podporou grantu-projektu Fondu rozvoje Cesnet č. 213/2006 a za spoluúčasti LCNA při obchodně-podnikatelské fakulty Slezské univerzity v Karviné.
- Seznam prací a harmonogram pro zprovoznění pilotní konfigurace je v VirtISu: http://virtis.viakis.net nebo https://virtis.viakis.net
- V SVN repository větev DISTR
- Terminologie a základní architektura
- Mapování logických laboratorních prvků na fyzické
- Komunikace mezi lokalitami
- Propojovací tunely - datové toky (enkapsulované rámce) mezi rozhraními laboratorních prvků. Propojovací tunely jsou ukončeny na tunelovacích serverech jednotlivých lokalit.
- Komunikace mezi rezervačními servery
- Komunikace mezi konfiguračními servery
- Logování a debugging
- Unifikovaná práce s časem