24/09/2012

Lotus Domino “CD to MIME error”

Nei giorni scorsi ho avuto i miei bei grattacapi per venire a capo di un problema di conversione MIME su Lotus Domino 8.5.x (sperimentato su Domino 8.5.2FP2 e rilevato anche post upgrade a Domino 8.5.3FP2 Interim Fix 1).
Il problema si presenta ogni qualvolta un task del server effettua la conversione dal formato Notes Rich Text a MIME, nel mio caso durante il download dei documenti tramite task IMAP oppure l’invio di nuove mail tramite Lotus Traveler, da quanto ho trovato online però sembra che le casistiche siano molteplici a seconda della configurazione del proprio server.

Per rilevare correttamente il problema suggerisco di attivare i seguenti parametri di debug nel file notes.ini del server (presente nella directory dei binari di Domino se usate Windows, oppure nella Domino data directory se usate Linux).

debugmimeconversion=1
converter_log_level=40

Una volta fatto questo i messaggi in console diventeranno un tantino verbosi mostrando qualche dettaglio in più…

ccCVSOpenSession() > CVS: Not initialized
CHInitCVSSession> CVS: Not initialized
OCInitCVSSession> CVS: Not initialized

…che mi ha portato a identificare la fonte del problema nei file .res presenti nella directory /opt/ibm/lotus/notes/85030/linux/res (su Linux chiaramente).

A questo punto ho sguinzagliato i segugi sul web (in particolare sul forum di Developerworks) e ho trovato altre casistiche simili e due interessanti technote IBM:

Verificato che i file cvs310.res non sono vuoti e il checksum coincide con quanto riportato dalla technote IBM

[root@drakaris res]# cd /opt/ibm/lotus/notes/85030/
[root@drakaris 85030]# find ./ -name 'cvs310.res'
./linux/cvs310.res
./linux/res/it_IT.UTF-8/cvs310.res
[root@drakaris 85030]# find ./ -name 'cvs310.res' | xargs ls -la
-rwxr-xr-x 1 root root 2432 13 set 14:20 ./linux/cvs310.res
-rwxr-xr-x 1 root root 2432 28 feb 2002 ./linux/res/it_IT.UTF-8/cvs310.res
[root@drakaris 85030]# find ./ -name 'cvs310.res' | xargs sum
34709 3 ./linux/cvs310.res
34709 3 ./linux/res/it_IT.UTF-8/cvs310.res

A questo punto ho verificato i permessi della directory e dei file contenuti per essere sicuro che l’owner fosse root:root e i permessi settati a 755 (grazie a Lutz Geschinsky per la dritta), ma nonostante questo il problema non sembra essersi risolto.

Esaurita ogni altra opzione sono passato all’ipotesi più catastrofica, ovvero una corruzione di altri file nella directory dei binari di Domino.
L’unica soluzione ipotizzabile  è stata quella della ricostruzione totale dei binari partendo da un setup pulito, quindi:

  1. shutdown Domino
  2. cancellazione (o move) della directory /opt/ibm/lotus
  3. reinstallazione Domino utilizzando la stessa data directory
  4. installazione Fixpack 2, Interim Fix 1 e Lotus Traveler 8.5.3.2

Una volta terminata l’installazione e lanciato il servizio tutto ha ripreso a funzionare correttamente inclusa la conversione Notes rtf  -> MIME.

19/09/2012

Installazione agente Nagios nrpe tramite yum

Partiamo dal presupposto che Nagios è:

  • figo
  • utile
  • indispensabile
  • funzionale

L’accoppiata Nagios + nrpe poi diventa una vera manna dal cielo in tutte quelle occasioni dove per problemi di rete o per esigenze particolari un check passivo non è possibile o quantomeno non è così utile.

L’installazione del package nagios-nrpe è relativamente semplice, occorre soltanto soddisfare qualche dipendenza, se però occorre configurare diverse macchine diventa molto utile poterlo fare tramite yum.

Per far questo viene in aiuto il sempreverde respository di RPMForge, installando gli rpm disponibili alla pagina di download, scaricate l’rpm relativo alla vostra distribuzione RedHat based (cat /etc/redhat-release) e architettura (uname -a) e installatelo usando il comando rpm -ivh, es:

[root@drakaris ~]# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
Preparazione in corso... ######################## [100%]
 1:rpmforge-release ######################## [100%]

Una volta fatto questo potete cercare il package corretto tramite il comando yum search:

[root@drakaris yum.repos.d]# yum search nagios-nrpe
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
rpmforge | 1.9 kB 00:00
rpmforge/primary_db | 6.9 MB 00:01
=== Matched: nagios-nrpe ===
nagios-nrpe.x86_64 : Nagios Remote Plug-ins Execution daemon

A questo punto lanciate il comando yum per installare il package:

[root@drakaris yum.repos.d]# yum install nagios-nrpe
 Loaded plugins: katello, product-id, security, subscription-manager
 Updating certificate-based repositories.
 Unable to read consumer identity
 rpmforge | 1.9 kB 00:00
 rpmforge/primary_db | 6.9 MB 00:01
 Setting up Install Process
 Resolving Dependencies
 --> Running transaction check
 ---> Package nagios-nrpe.x86_64 0:2.12-1.el5.rf set to be updated
 --> Processing Dependency: nagios-plugins for package: nagios-nrpe
 --> Running transaction check
 ---> Package nagios-plugins.x86_64 0:1.4.16-1.el5.rf set to be updated
 --> Processing Dependency: fping for package: nagios-plugins
 --> Processing Dependency: perl(Net::SNMP) for package: nagios-plugins
 --> Running transaction check
 ---> Package fping.x86_64 0:3.3-1.el5.rf set to be updated
 ---> Package perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf set to be updated
 --> Processing Dependency: perl(Socket6) >= 0.19 for package: perl-Net-SNMP
 --> Processing Dependency: perl(Digest::HMAC) for package: perl-Net-SNMP
 --> Processing Dependency: perl(Crypt::DES) for package: perl-Net-SNMP
 --> Processing Dependency: perl(Digest::SHA1) for package: perl-Net-SNMP
 --> Running transaction check
 ---> Package perl-Crypt-DES.x86_64 0:2.05-3.2.el5.rf set to be updated
 ---> Package perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf set to be updated
 --> Processing Dependency: perl(Socket6) >= 0.19 for package: perl-Net-SNMP
 --> Processing Dependency: perl(Digest::HMAC) for package: perl-Net-SNMP
 --> Processing Dependency: perl(Digest::SHA1) for package: perl-Net-SNMP
 --> Finished Dependency Resolution
 perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch from rpmforge has depsolving problems
 --> Missing Dependency: perl(Socket6) >= 0.19 is needed by package perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch (rpmforge)
 perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch from rpmforge has depsolving problems
 --> Missing Dependency: perl(Digest::HMAC) is needed by package perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch (rpmforge)
 perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch from rpmforge has depsolving problems
 --> Missing Dependency: perl(Digest::SHA1) is needed by package perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch (rpmforge)
Error: Missing Dependency: perl(Socket6) >= 0.19 is needed by package perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch (rpmforge)
Error: Missing Dependency: perl(Digest::SHA1) is needed by package perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch (rpmforge)
Error: Missing Dependency: perl(Digest::HMAC) is needed by package perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch (rpmforge)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest

Ahi ahi pare ci siano problemi con le dipendenze, i package perl-Digest-HMAC, perl-Digest-SHA1 e perl-Socket6 sono richiesti per l’installazione di nagios-nrpe.

In condizioni ideali (ovvero server in grado di raggiungere i repository pubblici di yum o registrato su RedHat Network con subscription attiva) il problema non si porrebbe, yum andrebbe a recuperare gli rpm necessari e soddisferebbe le dipendenze.

Se invece il vostro server non è in grado di scaricare i package rpm in automatico potete sempre utilizzare la iso del dvd di installazione come repository per yum.
Copiate la iso in locale o montate una risorsa di rete che la contenga (nell’esempio si trova in /mnt/nfs/rhel-server-5.8-x86_64-dvd.iso) e montate la iso con il comando:

 [root@infraced239 ~]# mount -t iso9660 -o loop /mnt/nfs/rhel-server-5.8-x86_64-dvd.iso /mnt/iso

Ora create un nuovo file in /etc/yum.repos.d (es /etc/yum.repos.d/dvd.repo) contenente la seguente sintassi (il parametro baseurl deve corrispondere al percorso degli rpm presenti nella iso che avete montato in precedenza):

[rhel-cd]
name=Red Hat Enterprise Linux $releasever - $basearch - CD
baseurl=file:///mnt/iso/Server/
enabled=1
gpgcheck=0

A questo punto ripetete il comando yum install nagios-nrpe:

[root@drakaris yum.repos.d]# yum install nagios-nrpe
 Loaded plugins: katello, product-id, security, subscription-manager
 Updating certificate-based repositories.
 Unable to read consumer identity
 Setting up Install Process
 Resolving Dependencies
 --> Running transaction check
 ---> Package nagios-nrpe.x86_64 0:2.12-1.el5.rf set to be updated
 --> Processing Dependency: nagios-plugins for package: nagios-nrpe
 --> Running transaction check
 ---> Package nagios-plugins.x86_64 0:1.4.16-1.el5.rf set to be updated
 --> Processing Dependency: fping for package: nagios-plugins
 --> Processing Dependency: perl(Net::SNMP) for package: nagios-plugins
 --> Running transaction check
 ---> Package fping.x86_64 0:3.3-1.el5.rf set to be updated
 ---> Package perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf set to be updated
 --> Processing Dependency: perl(Socket6) >= 0.19 for package: perl-Net-SNMP
 --> Processing Dependency: perl(Digest::HMAC) for package: perl-Net-SNMP
 --> Processing Dependency: perl(Crypt::DES) for package: perl-Net-SNMP
 --> Processing Dependency: perl(Digest::SHA1) for package: perl-Net-SNMP
 --> Running transaction check
 ---> Package perl-Crypt-DES.x86_64 0:2.05-3.2.el5.rf set to be updated
 ---> Package perl-Digest-HMAC.noarch 0:1.01-15 set to be updated
 ---> Package perl-Digest-SHA1.x86_64 0:2.11-1.2.1 set to be updated
 ---> Package perl-Socket6.x86_64 0:0.19-3.fc6 set to be updated
 --> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================
 Package Arch Version Repository Size
 ==============================================================================================================================
 Installing:
 nagios-nrpe x86_64 2.12-1.el5.rf rpmforge 35 k
 Installing for dependencies:
 fping x86_64 3.3-1.el5.rf rpmforge 62 k
 nagios-plugins x86_64 1.4.16-1.el5.rf rpmforge 1.9 M
 perl-Crypt-DES x86_64 2.05-3.2.el5.rf rpmforge 37 k
 perl-Digest-HMAC noarch 1.01-15 rhel-cd 12 k
 perl-Digest-SHA1 x86_64 2.11-1.2.1 rhel-cd 49 k
 perl-Net-SNMP noarch 5.2.0-1.2.el5.rf rpmforge 96 k
 perl-Socket6 x86_64 0.19-3.fc6 rhel-cd 21 k
Transaction Summary
 ==============================================================================================================================
 Install 8 Package(s)
 Upgrade 0 Package(s)
Total download size: 2.2 M
 Is this ok [y/N]: y
 Downloading Packages:
 (1/8): nagios-nrpe-2.12-1.el5.rf.x86_64.rpm | 35 kB 00:00
 (2/8): perl-Crypt-DES-2.05-3.2.el5.rf.x86_64.rpm | 37 kB 00:00
 (3/8): fping-3.3-1.el5.rf.x86_64.rpm | 62 kB 00:00
 (4/8): perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm | 96 kB 00:00
 (5/8): nagios-plugins-1.4.16-1.el5.rf.x86_64.rpm | 1.9 MB 00:00
 ------------------------------------------------------------------------------------------------------------------------------
 Total 1.5 MB/s | 2.2 MB 00:01
 Running rpm_check_debug
 Running Transaction Test
 Finished Transaction Test
 Transaction Test Succeeded
 Running Transaction
 Installing : perl-Digest-SHA1 1/8
 Installing : perl-Socket6 2/8
 Installing : fping 3/8
 Installing : perl-Crypt-DES 4/8
 Installing : perl-Digest-HMAC 5/8
 Installing : perl-Net-SNMP 6/8
 Installing : nagios-plugins 7/8
 Installing : nagios-nrpe 8/8
 rhel-cd/productid | 1.7 kB 00:00
 Installed products updated.
Installed:
 nagios-nrpe.x86_64 0:2.12-1.el5.rf
Dependency Installed:
 fping.x86_64 0:3.3-1.el5.rf nagios-plugins.x86_64 0:1.4.16-1.el5.rf perl-Crypt-DES.x86_64 0:2.05-3.2.el5.rf
 perl-Digest-HMAC.noarch 0:1.01-15 perl-Digest-SHA1.x86_64 0:2.11-1.2.1 perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf
 perl-Socket6.x86_64 0:0.19-3.fc6
Complete!

GOTCHA!

18/09/2012

iNotes not working correctly with Firefox 15

L’update a Firefox 15 ha portato con se l’ennesima restrizione nell’esecuzione di codice lato client che provoca un malfunzionamento nell’iNotes di Lotus Domino 8.5.3.
Il problema si manifesta con l’impossibilità di utilizzare alcune features (es allegati o anche banalmente cliccare il tasto “invia” per spedire una mail) con la webmail in modalità full e Firefox 15.

In attesa di una fix IBM ha rilasciato un workaround che comporta l’esecuzione dei vecchi script al posto dei nuovi.
Per  attivare questa opzione è sufficiente modificare il file notes.ini del server Domino aggiungendo la direttiva:

iNotes_WA_FirefoxSignedScript=0

Una volta modificato il file notes.ini basta un restart del task http (“restart task http” da console) oppure se siete maneschi un restar del server (restart server).

Link alla technote IBM

16/09/2012

Corsair Dominator Platinum

Dopo una lunga attesa sono finalmente arrivati i due banchi di ram Corsair Dominator Platinum che aspettavo da tempo e con i quali concludo il giro di upgrade per quest’anno.

Si tratta di due banchi da 4GB di ram DDR3 operanti alla frequenza di 1866MHz, a prima vista le performance sono decisamente buone, le recensioni dei modelli di ram concorrenti che ho trovato in rete a stento raggiungono i 19 GB/s di transfer rate in lettura, mentre le Dominator Platinum arrivano agevolmente a 20,5 GB /s senza alcuno sforzo apparente e senza alcuna complessità in termini di configurazione.

Tra tutti i componenti interni ad un pc la ram è sempre stata quello su cui più si sono sprecati miti e leggende metropolitane.
Ancora oggi mi sento chiedere come mai abbia optato per “solo” 8 GB anzichè montarne almeno 16, domanda generalmente posta da persone che non hanno mai nemmeno lontanamente dato un’occhiata all’occupazione di ram da parte dei processi utente.
Perfino in forum tecnici è possibile trovare persone totalmente disinformate e ignoranti che vaneggiano dati assolutamente fantasiosi sull’occupazione di ram da parte dei videogiochi, blaterando insensatezze circa  l’insufficienza di 8GB di ram, quando i processi dei giochi più esosi a stento arrivando a saturare 1.5 GB della stessa…
Non parliamo poi di quanti dimensionano la ram basandosi sulla legge del maialino (= di più è meglio), vaneggiando su ipotetici incrementi prestazionali dovuti ad una maggiore quantità di ram ma non sapendo ne giustificarli ne riconoscere un sistema in paginazione o distinguere ram usata per i processi di sistema, per i processi utente o per i meccanismi di caching di I/O.

Insomma tante idee e ben confuse…


15/09/2012

Ozone Strike

Si è aggiunto un nuovo pezzo alla mia configurazione domestica, che ormai oserei definire ragionevolmente PRO :)

Si tratta di una nuova fiammante tastiera che va a sostituire quella Logitech G510 che non è mai riuscita a fare veramente breccia nel mio cuore geek.
La nuova arrivata si chiama Ozone Strike, e si tratta di una tastiera meccanica (per chi non avesse dimestichezza con questo genere di dispositivi consiglio una veloce occhiatina all’ottima guida sul sito Overclock.net) e rappresenta un vero salto di qualità per un dispositivo (la tastiera appunto) troppo spesso sottovalutato e dato per scontato.

Non mi dilungherò troppo in elogi alla vecchia Logitech G510, che per me ha rappresentato una delusione e un oggettivo peggioramento rispetto alla tastiera che usavo in precedenza (una Illuminated Keyboard sempre di Logitech).
La G510 ha rappresentato il mio ritorno alla tecnologia a membrana (economica e qualitativamente inferiore sia alla tecnologia scissor tipica delle tastiere da laptop che a quella meccanica come la nuova Strike), quindi una regressione notevole, il tutto ad un prezzo da furto con scasso (85 sanguinosissimi euro).
Quindi perchè lo feci? Volevo provare lo scintillante mondo delle cosidette gaming keyboards, ovvero una delle più spudorate e pacchiane vaccate commerciali che l’industria del gaming sia riuscita a partorire (al confronto i tendifilo da mouse brillano per utilità…), riassumibile con questa semplice fomula “prendi una tastiera economica da 10 euro, piazzaci inutili display, tasti macro altrettanto inutili, mirabolanti funzioni antighosting, porte usb un po’ ovunque, retro-illuminazione dei tasti e qualche altro inutile ammennicolo (chessò un controllo per le tapparelle elettriche…), e spaccialo per dispositivo indispensabile per entrare nell’olimpo dei videogiocatori, il tutto ad un prezzo assolutamente ingiustificato” :(

Consapevole di aver fatto “La Cazzata” ho deciso di riparare con qualcosa di qualitativamente buono, anche se non a buon mercato, ovvero una tastiera meccanica.
Ho scelto questa Ozone Strike perchè incuriosito dagli switch Cherry MX Black, perchè onesta nel rapporto prezzo/qualità, perchè facilmente reperibile sul mercato, e perchè esteticamente mi piace (il che non guasta mai…).

Il feedback con i tasti è stato ottimo fin da subito, come qualsiasi tastiera meccanica questo aspetto rappresenta il vero salto di qualità e non può lasciare indifferenti.
La digitazione è velocissima nonostante questi switch risultino essere quelli che richiedono una maggiore forza di attuazione, la cosa che più colpisce è la totale uniformità tra i tasti (il che è ovvio considerando che sotto ciascun tasto c’è lo stesso tipo di switch meccanico) che rende la digitazione estremamente confortevole.
Riguardo a questo aspetto l’unico malus è rappresentato dal rumore prodotto, come tutte le tastiere meccaniche anche questa Ozone Strike è molto più rumorosa rispetto ad una tastiera a membrana (e ovviamente anche rispetto ad una scissors da laptop), e pur non raggiungendo le vette delle tastiere “clicchettose” IBM Model M (o di quelle dotate di switch Cherry MX Blue) non si può rimanere indifferenti di fronte al piacevole impattare dei tasti sul piano su cui sono montati gli switch (cosa che però i colleghi di lavoro potrebbero non gradire :D).

Per il resto la Ozone Strike si dimostra una tastiera davvero solida, il peso è nella media per un tastiera meccanica, il che significa molto più pesante di una tastiera a membrana economica, ma comunque meno pesante di una IBM Model M.
Sul retro sono stati piazzati due inutili porte USB 2.0 e gli ingressi mini-jack 2.5″ per cuffie e microfono, alcuni li troveranno comodi, per me sono la sintesi dell’inutilità anche perchè per usarli è necessario ruotare la tastiera.
Da notare il grande cavo con calza, di una rigidità pari a quella delle funi usate per ancorare le petroliere.

Nella confezione oltre alla tastiera è presente un poggiapolsi (generalmente non uso mai questo genere di accessorio che trovo fastidioso, in questo caso l’ho trovato meno inutile del solito, abbastanza comodo ed esteticamente appagante, pertanto ho deciso di lasciarlo montato), una pinzetta in plastica per smontare i keycap e 4 keycap aggiuntivi di colore rosso per i tasti WSAD.