Archive for the ‘Indianer, Kater und andere Serverbewohner’ Category

Das Miststück lebt

Dienstag, März 29th, 2011

Ich habe hier zwei Citrix-XenApp-Farmen, die beide über einen SSL-Gateway im Netz verfügbar sind. Bei der einen ging das Veröffentlichen über das Frontend der Appliance problemlos, die andere spackte mit wirren JavaScript-Fehlern beim Öffnen des Citrix-Web-Interfaces rum.

Ausgeliefert werden soll die harmlose Zeile
  document.body.style.behavior = ‘url(#default#clientCaps)’;
(das ist irgendein seltsamer Hack für den Internet Explorer)
einer der beiden IIS spuckte jedoch
  document.body.style.behavior = ‘url(‘#default#clientCaps’)’;
aus (ein Paar Apostrophe zu viel eben).

Wenn gleich konfigurierte IIS eine vollkommen identische (in dem Fall sogar statische Seite) ausliefern sollen – warum zum Geier mogelt einer davon Zeichen mit in den Reply? Drecksmüllsoftware. In meinem nächsten Leben* mache ich was ohne Computer.

*) welches (hoffentlich) nicht kommt…

There’s no place like 127.0.0.1

Dienstag, Februar 22nd, 2011

Außer natürlich, das Proxyautokonfigurationsskript* ist im Arsch und definiert 127.0.0.1 um als localhost auf dem Proxy. Grummel.

*) was für ein Wort…

?

Samstag, Januar 29th, 2011

* identische Hardware
* identisches Betriebssystem
* identische Anwendungssoftware
* identisches Verhalten NICHT

eigentlich mag ich gar keine Computer…

additiv

Mittwoch, November 3rd, 2010

Ziel meines Kollegen war es, ein Programm mit einer Laufzeit von knapp 24 Stunden jeden ersten Samstag im Monat zu starten.

Lachen musste ich, als ich den cron-Eintrag sah:

0 20 1-7 * 6

Und da wundern sich die Leute, dass der Server alle paar Wochen mal einige mit sich selbst beschäftigt war :)

warum?

Freitag, September 24th, 2010

die hier schon erwähnte Groupware (also, nicht die aus Freiburg/Sofia, sondern aus *kotz* Nürnberg) hatte kürzlich ein unangenehmes Wiedererstehen in Form eines neuen Releases.

nicht nur, dass das dekompilierte (raubmörderkopierte?) Import-Tool nicht mehr lief war auch der Updatepfad selbst eher undurchsichtig. das Softwarehaus stellt zwar ein Debian-Repository zur Verfügung, dieses liefert allerdings keine lauffähige Software aus, sondern erfordert noch das Starten diverser Shell-Skripte und die manuelle Konfiguration des Apache-Servers. so weit so schlecht.

Schlecht wurde mir dann beim letzten Versionssprung (6.16 auf 6.18, sooo krass klang das nicht), bei dem sich der Hersteller etwas *ganz* besonderes ausdachte – an sich lief die Weboberfläche nach einem apt-get upgrade nicht mehr, es kam nur die nichtsagende Meldung, dass Javascript für den Betrieb notwendig sei. Erst nach langem rumstöbern fand ich dann im Apache-Log (was ich eigentlich ignorierte, da von dort nur statische Seiten kommen, der Rest wird per proxy_mod über ajp an den Java-Daemon weitergereicht) lauter 404-Fehler, auf kryptische Verzeichnisse mit Namen wie “v=Md2C7Aq”.

Ursache des Problems war dann etwas ganz abgefucktes – während des Build-Prozesses mit ant* wird ganz unscheinbar eine js.jar mit dem Argument timestamp.js aufgerufen (was ich beim Fehlersuchen so nicht bemerkte), die eben solche wirren Namen erzeugt wie “v=Md2FA1X” oder “v=Md2FJJ6” (gerade zwei Mal kurz hintereinander aufgerufen). Diese erzeugten Namen werden während des Paketbauens mit einem “replacefilter token=”#build.version#” value=”${build.version}””** in alle erzeugten (statischen!) html-Files geworfen, um dann, was _sehr_versteckt in der Doku steht, mit der RewriteEngine des Apaches zur Laufzeit mit “RewriteRule v=\w+/(.+) $1 [L]” wieder rausgestript zu werden.

Warum macht man so was? Gibt es irgendeinen sinnvollen Grund, recht aufwändig*** beim Paketbauen alle Links zu verändern, um diese dann noch aufwändiger und prozessorzyklenfressender _zur Laufzeit_ wieder rauszuwerfen? und wenn schon so etwas kreuzdämliches gemacht werden muss – warum wird dann nicht mit dem Debian-Paket eine deutliche Warnung verteilt (im Stil der abzunickenden Sun-Lizenz aus dem Java-Paket), dass eine Apache-Umkonfiguration zwingend erforderlich ist?

*) aus dem auch die deb-Dateien des Repositories rausfallen
**) da gehören spitze Klammern außenrum, aber weil WordPress so benutzerfreundlich ist kann ich diese Zeichen augenscheinlich nicht verwenden (hab aber auch zugegebenermaßen nur 10 Sek rumgespielt)
***) ich glaube so wird das heutzutage geschrieben, sieht aber irgendwie komisch aus…

Geschichte

Donnerstag, September 2nd, 2010

…wiederholt sich, das erste mal als Tragödie, beim zweiten mal als Farce (ich glaube Marx sagte das – aber ob Karl oder Groucho vergesse ich immer; passen würde es zu beiden)

Heute war ich erstmals gezwungen, sehr lange im Büro zu bleiben – und was war die Ursache? Mit Xen* virtualisierte Windows**-Terminal***-Server. Das ganze Zeug ist so grottig, dagegen ist unlesbarer Code immer noch sehr entspanntes Arbeiten im Vergleich.

Wenn wenigstens die Hersteller von Close-Source-Software anfangen würden, ein brauchbares Logging zu implementieren – aber nein, selbst eine an sich solide Softwareschmiede wie Citrix nutzt ausgerechnet den Log-Daemon von Windows**** und dort landet im großen und ganzen nichts. Und die Fehlermeldung ist bisher im vom Google abgegrasten Bereich nicht verfügbar****.

Aber in Augsburg kann ich mich kaum alle vier Wochen einmal richtig über die Arbeit aufregen, in Freiburg war das gegen Ende eher andersrum. Alles ist gut.

*) statt Xen 3.3 XenServer 5.6
**) 2008R2 statt 2003
***) statt MS Terminal Services XenApp 6
****) eventvwr.exe. ARGH! ARGH!
*****) also, die deutsche Übersetzung. Unter anderer Sprache anmelden und dann den genauen Text in Englisch zu haben ist ja in der MS-Welt auch nicht gewollt

Code lesen hilft

Dienstag, Juni 29th, 2010

im Heiseforum gibt es ja immer mal wieder Trolle*, die als Gegenargument von Open Source nennen, dass niemand diesen Code jemals lesen würde – besonders verbreitet ist dies dann, wenn mal wieder eine Sicherheitslücke in irgendeinem namhaften Projekt gefunden wurde. Nun, ich kompiliere nun weder mein Linux selbst noch lese ich den Code vor dem Nutzen einer Software; doch die Möglichkeit dazu ist Gold wert.

Folgendes spontan gewähltes Beispiel: Ich bin in einem Projekt bei $AG involviert, in dem die Groupware** aktualisiert werden soll – die Datenmigration von Postgres/Tomcat zu Mysql/eigene Serveranwendung läuft dabei über ein Tool, welches – im Unterschied zur Groupware selbst – nicht im Code vorliegt. Wie erwartet (und ob der Komplexität solcher Migrationen auch wahrscheinlich kaum anders möglich) spackt das Tool nun rum; bei den Versuchen brach mal der Export mit kaum aussagekräftigen Fehlermeldungen ab, der Import ist vollkommen inkonsistent – die selben Daten an unterschiedlichen Tagen eingespielt brechen mal inkonsequent ab, mal läuft es augenscheinlich größtenteils fehlerfrei durch; konstant ist nur, dass weder Kalendereinträge noch abgelegte Dateien beim Import mitgenommen werden.

Und ja – jetzt wäre es einfach nur genial, den Code einfach nachlesen zu können. Ich bin kein Programmierer (und will es auch nie werden), aber wenn ich in Freiburg bei der zurückgesourcten*** Qualitätssicherung der hauseigenen Software etwas gelernt habe ist es das Schätzen der Möglichkeit, einfach mal anzuschauen, was denn da die Coder dem Admin wieder auf den Tisch gelegt haben. Für mich wird Closed Source nie wieder eine Alternative sein, keine Doku kann im Falle des Falles mit dem stöbern im Quelltext mithalten.

Völlig themenfremde Nebenfrage (weil ich den Umschlag gerade aufmachte): Ist es normal, dass Headhunter-Unternehmen einem nach einer erfolgreichen Vermittlung handgeschriebene Geburtstagskarten schicken? Als (glücklicherweise nicht mehr) IT-Einkäufer kenne ich ja das Weihnachtskartendrama – aber auch bei sehr engen Lieferanten waren im Höchstfall nur die Unterschriften noch manuell erstellt.

*) nicht, dass nicht alle anderen auch Trolle sind…
**) der Laden sitzt auch in Nürnberg. diese Stadt wird irgendwann brennen.
***) an mich :) Geo: Schöne Grüße an Ivo :)

geht, geht nicht, geht gar nicht

Donnerstag, Juni 10th, 2010

Kein Problem habe ich damit, dass jemand sein iPhone jailbreakt und eine WLAN/UMTS-Router-Software drauf installiert. In Ordnung ist es auch, sein gejailbreaktes iPhone mit einer anderen MAC-Adresse zu versehen, um das Firmennetzwerk zu nutzen.

Die Kombination geht nicht – es ist recht desaströs, wenn das iPhone im Firmennetzwerk hängt und der DHCP-Server der Routersoftware den stabilen Netzwerkbetrieb beeinträchtigt.

Gar nicht geht ist leugnen, so eine Software habe ich nicht oder auch die Geschäftsführung verwendet iPhones sowie auch wintest6* ist ein virtueller Rechner, der hat keine MAC ist eine ganz schlechte Tour. Aber alle Vorurteile wieder bestätigt: Ein Windows-Admin, der auch Apple-Produkte verwendet kann einfach nur unbedarft sein.

*) der zur MAC-Adresse hinterlegte Rechnername im Netz

wirr.

Montag, Mai 17th, 2010

ich frickel zur Zeit etwas am Monitoring* und habe da von einer USV ein *sehr* seltsames Verhalten.

Die Netzstruktur sieht ungefähr so aus

[LAN1 mit Monitoringserver] – [Router] – [LAN2 mit USV]

und das Gesamtsystem verhält sich – komisch.

Vom LAN2 aus kann ich alle Dienste (http, snmp, telnet) der USV problemlos erreichen, von LAN1 aus ist es, ähm, anders.

telnet geht, snmp nicht – so weit so einfach. bei http lädt (reproduzierbar von verschiedenen Rechnern aus) nur die index.html mit der Frameset-Definition, alle anderen Objekte (HTML-Seiten wie auch beispielsweise die Grafiken) laden nicht (bzw nur der HTTP-Header).

Mir sind die Ideen ausgegangen, der Router blockiert angeblich gar nichts, die Netzwerkeinstellungen auf der USV sind korrekt. Kennt irgendjemand ein Routingproblem, welches nur UDP/161 und TCP/80 (hier aber nur bei Ressourcen != index.html…) betrifft? ich scheue noch etwas davor zurück, der Technik-Abteilung zu sagen, dass sie im Standort von LAN2 mal alles runterfahren müssen um ein power cycle auf der USV zu fahren…

*) in gewisser Hinsicht fühlt sich das hier wie das Gegenteil von dem an. Kaum denke ich mal einen guten Überblick zu haben ploppen irgendwoher weitere Server in mein Gesichtsfeld…

Brenne Nürnberg, brenne

Mittwoch, März 10th, 2010

Was für eine beschissene Software. Wer Volldepp kommt auf die Idee, einen Deinstaller so zu programmieren, dass auch mit deaktivierter “Sicherheitsüberprüfung” (die Deppenarschlöcher meinen damit wohl so etwas wie einen Dependency-Check) ein nicht funktionierendes Modul nicht einfach dateimäßig aus dem System gekickt werden kann?

Die Servermigration haben wir von einem Berater durchführen lassen, hätte ich doch mal drauf bestanden, auch die Workstation-Neuinstallationen durch diesen machen zu lassen: Ich weiß jetzt schon, dass ich den letzten Bus verpasse.

Diesen Dreck nie wieder anfassen zu müssen ist einer der größten Vorteile meines Arbeitgeberwechsels.