Tags:
, view all tags

Test sul trasporto dati di DGAS tramite Active MQ

L'installazione del testbed, la configurazione e i test sono stati effettuati seguendo il piano di test proposto da Andrea Guarise. Il testebed e' cosi' composto:

Servizio Hostname VM dom0
HLR classico dgas-test-vm01 vm domus03
HLR con ~ActiveMQ dgas-test-vm02 vm domus03
CE Cream dgas-test-vm03 vm domus03
wn dgas-test-vm04 vm domus03
wn dgas-test-vm05 vm domus03
site-bdii vgrid0 vm domus03
TOP-BDII gridit-bdii-01.cnaf.infn.it - -
WMS gridit-cert-wms.cnaf.infn.it - -
Active-MQ browser tcp://dgas-broker.to.infn.it:61616 - -

Installazione CE e HLR

Dopo aver installato il CE gLite 3.2 SL5 x86_64 (profilo ig_CREAM_torque), seguendo la guida, abbiamo installato i pacchetti di DGAS indicati nel piano i test:

  • rpm -Uvh glite-dgas-common-3.4.1-0.centos5.x86_64.rpm
  • rpm -Uvh glite-dgas-hlr-clients-3.4.1-0.centos5.x86_64.rpm

Abbiamo installato 2 HLR (uno sara' standard e l'altro con Active MQ) seguendo la guida al paragrafo 3.1.2.1 New installation. I pacchetti installati sull' HLR standard sono:

  • glite-dgas-pa-clients-3.4.0-3.centos5
  • glite-dgas-hlr-clients-3.4.0-12.centos5
  • glite-dgas-hlr-service-3.4.0-23.centos5
  • glite-dgas-common-3.4.0-4.centos5
I pacchetti installati sull' HLR AMQ sono:
  • glite-dgas-pa-clients-3.4.1-0.centos5
  • glite-dgas-hlr-clients-3.4.1-0.centos5
  • glite-dgas-hlr-service-3.4.1-0.centos5
  • glite-dgas-common-3.4.1-0.centos5

Su CE e HLR AMQ, prima di installare i pacchetti delle dipendenze aggiuntive, vista la mancanza di compilatore C, abbiamo installato gcc versione 4.1.2-48.el5.

  • yum install gcc.x86_64
  • Il pacchetto ha installato anche le seguenti dipendenze:
    • cpp.x86_64 0:4.1.2-48.el5
    • glibc-devel.x86_64 0:2.5-49
    • glibc-headers.x86_64 0:2.5-49
    • kernel-headers.x86_64 0:2.6.18-194.11.3.el5
    • libgomp.x86_64 0:4.4.0-6.el5

I pacchetti delle dipendenze aggiuntive che abbiamo installato sono i seguenti:

  • APR: apr-1.3.12.tar.gz
    • tar zxvf apr-1.3.12.tar.gz
    • cd apr-1.3.12
    • ./configure
    • make
    • make install

  • APR-util: apr-util-1.3.9.tar.gz
    • tar zxvf apr-util-1.3.9.tar.gz
    • cd apr-util-1.3.9
    • ./configure
    • make
    • make install

  • ACTIVEMQ: activemq-cpp-library-3.1.0-src.tar.gz
    • Abbiamo dovuto installare i seguenti pacchetti:
      • yum install autoconf automake libtool cppunit-devel cppunit gcc-c++ e2fsprogs-devel expat-devel
    • Poi configurato e installato activemq-cpp-library
      • tar zxvf activemq-cpp-library-3.1.0-src.tar.gz
      • cd activemq-cpp-library-3.1.0
      • Sul CE: ./configure --prefix=/opt/activemq/lib/
      • Sull' HLR AMQ: ./configure --prefix=/usr/local/lib/
      • make
      • make install
      • ldconfig

Nota: usando una versione piu' recente di activemq-cpp-library (abbiamo testato la versione 3.2.0) si ottiene il seguente errore quando si lancia il configure:

  • ./configure --prefix=/opt/activemq/lib/
    • checking for pthread_create in -lpthread... no
    • configure: error: libpthread not found!

Sul CE abbiamo provato ad installare org.glite.dgas.hlr-activemq-producer, ma falliva nel cercare le dipendenze dalle librerie di activemq, apr e aprutil, in quento non installati da rpm ma da tgz. Allora abbiamo installato con --nodeps:

  • rpm -ivh --nodeps glite-dgas-hlr-activemq-producer-0.0.0-0.centos5.x86_64.rpm

Sull' HLR AMQ abbiamo dovuto installare con --nodeps i seguenti pacchetti:

  • rpm -ivh --nodeps glite-dgas-hlr-activemq-consumer-0.0.0-0.centos5
  • rpm -ivh --nodeps glite-dgas-hlr-activemq-producer-0.0.0-0.centos5

Configurazione CE

Per la configurazione con SSL disattivo, nel file /opt/glite/etc/dgas_sensors.conf abbiamo aggiunti i seguenti parametri:

  • printAsciiLog = "yes"
  • asciiLogFilePath = "/opt/glite/var/log/pushdAscii.log"
  • amqBrokerUri = "URI del broker AMQ"
  • transportLayer = "legacy;amq"
  • recordComposer = "/opt/glite/libexec/glite_dgas_recordComposer"
  • amqProducer = "/opt/glite/libexec/glite_dgas_hlrProducer"
  • dgasAMQTopic = "DGAS.TEST"

La restante parte della configurazione e' stata eseguita come di solito, per far puntare il CE all'HLR (standard).

Per attivare SSL abbiamo copiato la chiave pubblica hostcert.pem dellí HLR AMQ sotto /etc/grid/security col nome dgas-test-vm02-cert.pem. Poi abbiamo configurato, seguendo la guida, in /opt/glite/etc/dgas_sensors.conf:

  • amqProducer = "openssl smime -binary -encrypt dgas-test-vm02-cert.pem | /opt/glite/libexec/glite_dgas_hlrProducer"

Configurazione HLR AMQ

Per la configurazione con SSL disattivo, abbiamo creato il file /opt/glite/etc/dgas-activemq-consumer.conf con i seguenti parametri:

  • lockFileName = "/opt/glite/var/dgas-hlr-amq-consumer.lock"
  • logFileName = "/opt/glite/var/dgas-hlr-amq-consumer.log"
  • amqBrokerUri = "URI del broker AMQ"
  • recordsDir = "/tmp/dgasamq/"
  • dgasAMQTopic = "DGAS.TEST"
  • hlr_user = "root"
  • dgas_var_dir = "/opt/glite/var/"

  • managerLockFileName = "/opt/glite/var/dgas-hlr-amq-manager.lock"
  • messageParsingCommand = "cat MESSAGEFILE"
  • AMQRecordsDir = "/tmp/dgasamq/"

  • managerLogFileName = "/opt/glite/var/dgas-hlr-amq-manager.log"
  • #Qui seguono gl i stessi valori con cui e' configurato il corrispondente dgas_hlr.conf
  • hlr_sql_server = "localhost"
  • hlr_sql_user = "root"
  • hlr_sql_password = "database password"
  • hlr_sql_dbname = "hlr database"
  • hlr_tmp_sql_dbname = "hlr_tmp database"

Per attivare SSL, in /opt/glite/etc/dgas-activemq-consumer.conf abbiamo modificato il parametro:

  • messageParsingCommand = "cat MESSAGEFILE | openssl smime -decrypt -inkey /etc/grid-security/hostkey.pem -keyform PEM -recip /etc/grid-security/hostcert.pem"

Test

Per passare da SSL attivo a disattivo e viceversa, dopo aver eseguito le modifiche alle configurazioni, abbiamo fatto ripartire tutti i servizi dgas.

Test A-B: Test di comunicazione CE - HLR (senza e con SSL)

Seguendo la guida i test sono stati effettuati con successo.

Test C: Test di comunicazione cambiando valore di dgasAMQTopic (senza e con SSL)

Seguendo la guida i test sono stati effettuati con successo.

Test D-E: Test di un ciclo completo di accounting (senza e con SSL)

Seguendo la guida i test sono stati effettuati con successo.

Test G: Test di integrita' dei dati (stessi dati su HLR e HLR-AMQ) (SSL attivo)

Abbiamo lanciato 2 serie di job con 2 certificati diversi (Cristofori e Fattibene). Alla fine (dopo circa 2 giorni di servizi attivi) sui 2 DB risulta un totale di 7834 job ed esattamente gli stessi risultati aggregati, in termini di numero di job, CPU time e Wall time per entrambi i gridUser. Inoltre il numero di job presenti nei DB corrisponde esattamente al numero di job sottomessi. Per un paio di job a campione abbiamo controllato con successo nei log del CE che le informazioni prese su Wall time e CPU time fossero esatte.

Successivamente abbiamo lanciato una terza serie di job con SSL attivo (utente Cristofori) con 1410 job processati nei DB, stessi dati sui 2 DB. Dopo abbiamo spento i servizi sui 2 HLR e sul CE.

Test F: Test di integrita' dei dati (stessi dati su HLR e HLR-AMQ) (SSL disattivo)

Con i servizi spenti abbiamo configurato in modo da disattivare SSL. Dopo abbiamo fatto ripartire i servizi per continuare a processare i job di Cristofori. Abbiamo sottomesso un'altra serie di job (utente Fattibene). Il giorno successivo abbiamo controllato sui DB e risultano gli stessi dati aggregati. Inoltre il numero di job presenti nei DB corrisponde esattamente al numero di job sottomessi.

Test H: Test di affidabilita' e robustezza del servizio (SSL disattivo)

- Servizi HLR accesi

Questo test si ritiene effettuato con successo contestualmente ai test precedenti.

- Servizio glite-dgas-hlrd spento

Abbiamo spento il servizio hlrd sui 2 HLR e lanciato due serie di job (utenti Cristofori e Fattibene), venerdi' 23/9. Abbiamo tenuto il sistema in questo stato per tutto il fine settimana. Lunedi' mattina abbiamo riavviato hlrd sui 2 HLR e i dati sono arrivati uguali su entrambi e non si sono persi job.

Nota: con tutti i servizi accesi abbiamo riavviato le macchine e abbiamo notato che i servizi AMQ sull'HLR (Consumer e RecordManager) non sono tornati su.

- Servizi sull'HLR AMQ spenti

Lunedi pomeriggio abbiamo spento tutti i servizi sugli HLR (hlrd e i servizi AMQ) e lanciato altre 2 serie di job.

Edit | Attach | PDF | History: r14 | r9 < r8 < r7 < r6 | Backlinks | Raw View | More topic actions...
Topic revision: r7 - 2010-09-28 - EnricoFattibene
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platformCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback