Release 11

Zeitrahmen: 1. September 2008

Shutdown: 1. bis 7. September 2008

Prioritäten:
1 - Muss mit der aktuellen Release fertig werden, da dringend benötigt
2 - Soll mit der aktuellen Release fertig werden, aber (noch) nicht dringend
3 - Wünschenswert, da spürbare Erleichterung für Betrieb / Arbeit der Gruppe
4 - Ganz nett, nice to have
5 - Beruhigt irgendwen irgendwie, stört zumindest nicht
6 - Stört / behindert, besser gar nicht angehen

Beim Implementieren bitte wieder die Merkliste und die Windows-Merkliste beachten!

Umfang

Ein IDEA! bedeutet, dass der Punkt einer klärenden Diskussion bedarf.
Auf ergänzende Bemerkung wird mit MOVED TO... hingewiesen. Das Icon ist klickbar.
Erledigte Punkte sind mit DONE gekennzeichnet.

Nr. Name Prio Tage Projekt MOVED TO... DONE
1       Property-Beschreibung mit XML und Code-Generierung    
1.1 KHoe 2   Dokumentation und Veröffentlichung des APIs der Adapter.   DONE
2       Geräte-Software    
2.1 LH 1   Rahmen KG1CG77_ und KG1CG78_ (nach der letzten Therapistrahlzeit) umstellen auf Release 9. Verschoben auf Okt. MOVED TO...  
2.1.1 LH 1   Kontrollieren, ob für KG1CG01 und KG1CG02 die richtigen MAC-Adressen im DHCP-Server eingetragen sind. MOVED TO... DONE
2.1.2 LH 1   MX- und MD-USRs und -EQMs generieren und releasen für Release 9. Restarbeiten siehe September-Shutdown MOVED TO... DONE
2.1.3 LH 1   SEs in den Rahmen bleiben drin und werden nur mit V09-EQMs geladen. Siehe September-Shutdown    
2.2 Kain 2   ECM auf 1970-Timestamp-Format umstellen.    
2.3 Alle 1   Alle Produktions-PPCs auf Release 11 umstellen. Das sind K4XCG01, KE3CG01, KTRCG01 und KUECG01. Entfällt, bleiben auf Rel.9!   DONE
2.4 Kain 2   SWPZ-USRs testen (ist auf XML generierte Adapter umgestellt)    
2.5 LH 2   Zeitplan für weitere Umstellung von VME-Rahmen und USRs erarbeiten. Wünsche von AP einarbeiten.   DONE
2.5.1 Kain 2   Gerätemodell FG umstellen. MOVED TO...  
2.5.2 SMa 2   Gerätemodell HFU umstellen.   DONE
2.5.3 SMa 2   Gerätemodell DPX/DPB umstellen.    
2.5.4 SMa 2   Gerätemodell DTX umstellen.    
2.5.5 SMa 2   Gerätemodell DX umstellen.    
2.5.6 LH 3   Rahmen K1XCG54_ und K1XCG57_? MOVED TO...  
2.6 Alle 3   Liste der zukünftigen Standard-Properties nochmal mit AP und Kain diskutieren. IDEA! im PPC-Meeting.    
2.7 LH 2   Wie können bzw. sollen Gerätemodell-Varianten unter V09 implementiert werden? IDEA! im PPC-WG-Meeting. MOVED TO...  
2.8 Kain 3   Im Zuge der Einführung der 1970-Timestamp die Alignment-Anpassungen des SE-Thearpiespeichers an V08 wieder rausnehmen.    
2.9 LH 2   Im Kochbuch V08/V09 auf die Problematik Gerätekonstanten im DPR hinweisen. MOVED TO... DONE
2.10 Alle 3   Ersatz für die V08-Funktionen testAndSet() und tm_wkafter() finden. testAndSet() kann "ersezt" werden durch omni_mutex_lock, tm_wkafter() durch usleep()   DONE
4       Nameservice and Access Rights    
4.1 SMa 3   Python-API: Wildcard-Suche nach Nomenklaturen einbauen. MOVED TO... DONE
4.2 NN 3   In Makefile.nightly bzw. nightly-conf.mk das Tool nameservercmd generieren und releasen (in utiasl).    
4.3 NN 1   Produktions-Nameserver mit XML-Rechtedatei starten. (-> Service-Skript/Konfigurationsdatei anpassen)   DONE
4.4 SMa 1   Fehlerbehandlung in Nameserver und Nameservice ueberdenken.   DONE
4.4.1 SMa 3   Fehlerbehandlung in Klasse NsrvException ggfs. ersetzen durch AccDevException? Informationsweitergabe ueberdenken.    
4.4 SMa 2   Log-Ausgaben des Nameservers ueber Demon abwickeln?    
5       Userface    
5.1 GSch 2   UfcServer: Geräteobjektreferenzen cachen, um nicht bei jedem Gerätezugriff den Nameservice zu fragen.    
5.2 GSch 1   Alte UfcServer-Logs sollten regelmäßig automatisch gelöscht werden. Dabei aber berücksichtigen, dass ein Server noch an der Log-Datei hängen könnte.   DONE
5.2.1 GSch 2   Überlegen, ob über mehrere Tage laufende UfcServer nicht für jeden Tag ein neues Log anlegen sollten.   DONE
5.3 KHoe 3   UfcServer auf dediziertem Rechner (asl3xx oder Fileserver) laufen lassen (nicht auf asl7xx). MOVED TO...  
5.4 GSch 4   waitResponse() implementieren    
5.5 GSch 2   UfcServer an geändertes IDL (ab Release 10) anpassen. MOVED TO... DONE
5.5.1 GSch 1   Testumgebung schaffen (vorzugsweise NODAL), die mit dem aktuellen IDL (seit Release 10) umgehen kann, damit schon vor dem nächsten shutdown ernsthaft getestet werden kann. MOVED TO... DONE
5.6 GSch 1   Client und Server tauschen Protokoll bei Initialisierung aus zwecks Überprüfung Version, Nameserver vorhanden, Client User bekanntmachen ...   DONE
5.7 NN 2   Userface für devman-Geräte in allgemeine Kontrollsystem-Library (SISLIB.OLB) aufnehmen    
6       Versionsverwaltung, Releases, Produktionsbibliotheken    
6.1 LH 1   Versionsnummern-Vergabe und Release-Strategie überdenken und beschließen. MOVED TO...  
6.2.1 KHoe 3   svntools.py für V09 anpassen. MOVED TO...  
6.2.2 KHoe 3   vmetools.py für V09 anpassen. MOVED TO... DONE
8       Erweiterungen Device Access Interface    
8.1 KHoe 1   Automatische Konvertierung V08/V09-Daten in AccDevice. IDEA! Nochmal im PPC-WG-Meeting diskutieren.    
8.2 UK 2   In die Makefiles (Makefile.nightly etc.) einbauen, dass für Python devacc die Verzeichnisse und Dateien für Zugriffe auf beide Interfaces (CorbaInterface und CorbaInterface01) generiert werden. MOVED TO...  
8.2.1 KHoe, UK 3   In diesem Zusammenhang devacc objektorientierter implementieren.    
8.3 UK 2   Python devacc Callback für beide CORBA-Interfaces gangbar machen.   DONE
9       Allgemeines & Kleinigkeiten    
9.1 Alle 1   Commit und Tag (libxxx.so.x.11.x) aller Projekte.    
9.2 KHoe 1   Umzug einiger Directories im asl-Cluster im September-Shutdown??? MOVED TO...  
9.3 Kain 1   Alle Produktions-PPCs auf UBoot 1.2.0 umstellen. Entfällt!   DONE
9.3 LH 3   Behandlung der Spezial-Nomenklaturen >> und ?? klären (siehe UKs Email vom 6.2.08). IDEA! im PPC-WG-Meeting. MOVED TO...  
9.4 Alle 3   Eine Liste noch fehlender Features des Device-Accesses im Wiki erstellen.    
9.4.1 LH 3   Erster Punkt: Überwachung konnektierter Aufträge.    
9.5 UK 2   dbsgen soll Output *.dbs auf die passende CPU-Directory legen. Evtl. nur als Option.    
9.6 UK 2   Roland Fischer soll schreibenden Zugriff auf SVN-Projekt dbd haben.    
9.7 KHoe 3   Python soll den Library-Path zum import von devacc automatisch kennen, ohne dass man den LD_LIBRARY_PATH explizit setzen muss.    
9.8 UK 4   Das mit Doxygen generierte Python Reference Manual im Wiki veröffentlichen.    
9.9 NN 3   Alle GuPs auf 19200 Baud umstellen, siehe Boot-Konfiguration der PowerPC-Boards    

Bemerkungen

Ergänzende Bemerkungen, Hinweise usw. zu obiger Liste "Umfang".

Nr. Bemerkung
2.1 PPC-GuPs bei LH auf dem Schreibtisch. KG1CG77_ -> KG1CG01, KG1CG78_ -> KG1CG02. Lose Schildchen KG1CG01 und KG1CG02 aus den GuP-Kisten aufs VME-Crate kleben.
Umstellen auf Rel.9, nicht wie ursprünglich geplant auf Rel.11! Wegen Zeitknappheit (Shutdown) und Personalknappheit (AP) zurückgestellt
2.1.1 Beim printenv darauf achten, dass man die richtige Adresse abliest. Siehe auch Boot-Konfiguration der PowerPC-Boards. Beim K4XCG01 ging das schief. Effekt ist dann, dass das BOOTP nicht tut und der Rechner ständig Retries macht.
2.1.2 Siehe SEs mit V08-EQMs auf V09 bringen, wobei für die Punkte 1 bis 4 der alte M68k-GuP im Rahmen bleibt, Punkt 5 der Wechsel auf den neuen PPC-GuP ist und ab Punkt 6 mit dem neuen GuP gearbeitet wird.
2.5.1 Die SIS-HF soll als erste auf die neuen Funktionsgeneratoren mit Verundung umgestellt werden. Neue FGs sollen nur unter V09 betrieben werden.
2.5.5 Diese Rahmen sind oft stark mit viele Konnektierungen belastet. Aus diesem Grund sind sie dann nur noch sehr schlecht zu erreichen oder stürzen gar ganz ab. Das Operating hat also ein Interesse, dass die Situation bald verbessert wird.
2.7 Beispiel: Gerätemodelle MX und MX0 bzw. MD und MD0. Unter V08 werden für die Degaussingvarianten einfach nicht alle Properties (in createMap()) angemeldet. Unter V09 muss man das irgendwie anders machen. Möglicherweise wird dann auch die XML-Generierung erweitert werden müssen. Bedenken muss man, dass ein Gerät, das in der Datenbank (*.dbd) mit dem Gerätemodell MX0 geführt ist, ein entsprechendes shared object mx0.so benötigt!
Und die auf Basis von STD erstellten Gerätemodelle müssen auch bedacht werden.
2.9 Die USRs vieler Gerätemodelle müssen ihre Konstanten aus der lokalen DB gar nicht ins DPR kopieren. Das ist einfach oft immer noch so, seit man das vor Urzeiten mal aus Performance-Gründen gemacht hat. Der Hinweis soll sein, dass Konstanten nur dann (weiterhin) ins DPR kopiert werden sollen, wenn sie auch von den EQMs benötigt werden.
4.1 Siehe hierzu auch Test-Programm nsrvtests\nadev.cc erhältlich bei SMa und im SVN.
5.3 Was spricht eigentlich dagegen, auf jedem asl3xx und asl7xx einen UfcServer laufen zu lassen? Auf verschiedenen AXP3xx- und AXP7xx-Rechnern könnte man dann unterschiedliche Listen mit anzusprechenden Servern haben, um die Last schön zu verteilen.
5.5 Dieser UfcServer geht aber nicht in Produktion, da die Produktions-VME-Rahmen auf Release 9 bleiben.
5.5.1 KP1CG02 läuft unter Rel.10. Mit sysact hat man eine Rel.10-Entwicklungsumgebung. Zugriff kann zunächst über einen völlig parallele Weg (separates Nodal) abgehandelt werden
6.1 Zum Beispiel würden unter $PROOT/asl/lib/v01 nur Produktions-Shared-Objects liegen, die explizit freigegeben wurden. Programme im täglichen Betrieb würden diese Shared-Objects benutzen und hätten keine (Kompatibilitäts-) Probleme mit upgedateten Shared-Objects auf $DROOT/lib/asl/v01. Aber auch die ...opt/acc/cpu, .../eqp und .../sys Directories bedenken.
6.2 Wo müssen die Dateien *.pyc zu liegen kommen? Zur Zeit findet man sie sowohl unter /usr/local/acc/python/bel als auch unter $utivme. Das muss bereinigt werden.
8.2 Siehe dazu auch Udos Email Python Device Access: Ermöglicht auch Zugriffe auf Geräte mit CorbaInterface01-Schnittstelle vom 26.Jun.08.
9.2 Aus Urlaubsgründen scheint es zur Zeit nicht sinnig, das in diesem Shutdown zu tun. W.Schiebel will in Kürze aber ein Test-Blade zur Verfügung stellen.
9.3 Bisherige Nomenklaturen '>>', '??': Es soll erkennbar sein, dass es Adressen am MIL-Bus gibt, die dort nicht vorgesehen sind (keine Nomenklatur vorhanden). Dabei unterscheiden von Adressen, denen kein nutzbares Gerät entspricht, die aber da sein müssen, (oft bei SD-Geräten, die einen ganzen Adressraum belegen).

Bugs

Nr. Name Prio Tage Beschreibung DONE
1       Allgemein  
1.1 KHoe 1   Die PPC-Boards, zumindest KP1CG01 (auch KE3CG01?), stellen sich mal auf full duplex, mal auf half duplex ein, wenn der Port am Switch auf auto steht. PPC-Boards müssen immer auf full duplex stehen!
Kontakt mit MicroSys bzw. Denx aufnehmen.
 
1.2 Alle 3   Überprüfen, ob alle Quellen die richtige Endung haben. Besonders beim Nameservice und bei den Access-Rights noch mal gucken. Vereinbart ist, dass Quellen, die C++-Elemente enthalten, unter Linux mit .hh bzw. .cc enden. Nur Quellen, die explizit keine C++-Elemente enthalten sollen oder können, enden mit .h bzw. .c.  
2       Devman  
2.1 LH 1   Ein Client (der UfcServer) stürzt ab, wenn ein RequestThread genau in dem Moment antwortet (via readResponse()), wenn das Callback-Objekt des Clients bereits gelöscht ist, das CorbaCallback-Objekt aber das des Clients noch aufrufen will (z.B. via _userCallback->response()). Beim Löschen des Client-Callbacks muss also das CorbaCallback angewiesen werden, diesen Pointer zu löschen. Außerdem muss er immer auf ungleich Null überprüft werden! Muss auch das cancelRequest() implementiert werden?
Das kann so jetzt beim ufcserver nicht mehr pasieren, da jetzt beim Schliessen das Kanals ein cancelRequest() geschickt und auf eine Bestätigung gewartet wird. (GSch).
 
2.2 KHoe 3   Wird der Devman via service gestartet, werden stdout und stderr nach /var/log/equ/devman.console umgeleitet. Bei jedem Neustart wird aber eine neue Datei angelegt. Kann man hier auch sowas machen wie devman.console.1 usw.? DONE
2.3 Kain 2   Warum hat die Größe des Devman-Executables so zugenommen? Rel.7 = 2,xMB, Rel.8 = 6,xMB.
Weil in den Makefiles die GCC-Option -g dazu gekommen ist. Die Debug-Sections sind die größten Sections in den so's und exe's.
DONE
2.4 KHer 1   Im Zusammenhang mit updateDevConst: Angenommen beim Update des dritten von 15 Geräten wirft updateDevConst() eine Exception, dann werden die noch verbleibenden 12 Geräte gar nicht mehr upgedated! DONE
2.5 KHoe 1   Läuft der Devman bereits und man sagt service devman start (nicht restart!) dann ist die Antwort trotzdem Starting devman [ OK ]. Das ist ziemlich irreführend! Zumal im Logfile ...Devman not startet. steht. Hier sollte, wenn irgend möglich, mit Starting devman [ FAILED ] geantwortet werden! DONE
2.6 KHoe 3   Was ist mit der Datei /usr/local/acc/eldk/ppc_6xx/etc/rc.d/init.d/devman? Sie liegt auf der allgemeinen Directory ppc_6xx! Wird die noch gebraucht? DONE
2.7 Kain 2   Auf einer SE gibt es ein Gerät TR1KY1. Im dbs-File wird die Nomenklatur auf TR1KYA geändert bei bleibender IFK-Adresse. Nach dem Restart des Devman steht nach wie vor die alte Nomenklatur im DPR der SE!  
3       Python  
3.1 UK 3   Python scheint noch mit etwas älteren Nameserver-Modulen gelinkt zu sein. Die Logeinträge
Jul 31 09:15:07 asl711 python: in currentuser() at nsrv-common.cc:132:                              Current user is: hechler
Jul 31 09:15:07 asl711 python: in resetTimeout() at timeoutthread.hh:63:                              Resetting timeout value to initial value 5.
kommen nur noch von Python.
 
4       Userface  
4.1       Es gibt (noch) den User SCHWARZ_DEFAULT. Soll das so sein? Hier ein Logauszug:
Aug  1 00:20:29 asl711 gsinameserver[16916]: in printRequest() at accessrequest.cc:86:  Request access: SCHWARZ_DEFAULT / UT2MK2
DONE
5       Nameservice  
5.1 SMa 2   In nameservice-gsi.cc die Message ODA_DISCONNECTED ersetzen. DONE
Topic revision: r54 - 18 Aug 2011, UnknownUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback