Produksjonssetting av Cerebrum-ePhorte-integrasjon på UiO

ePhorte blir satt i produksjon ved UiO 17. februar 2008. I den forbindelse skal det settes opp et system som synkroniserer en del informasjon fra Cerebrum til ePhorte.

Å sette integrasjonen mellom Cerebrum og ePhorte i drift består av følgende oppgaver:

  • administrative oppgaver
  • oppdatering av database
  • koding og prodsetting av kildekode.
  • oppsett av java-miljø på cerebellum
  • skrive og publisere dokumentasjon
NB! Les punktene nøye før du gjøre noe. Noen punkter er allerede
utført ved forrige prodsetting.

Administrative oppgaver

Disse punktene er gjort.

  • Opprette en gruppe som eier ephorte-administratorer-gruppen. Medlemmene her skal kunne styre medlemskap i ephorte-administratorer-gruppen. Medlemmer: arehol (Are Holsted), gmagnus (Geir Magnus Walderhaug),

    System Message: ERROR/3 (/usit/vortex-sync/vortex/til_vortex_rsync/www_usit_uio_no/om/tjenestegrupper/cerebrum/utvikling/dokumentasjon/ePhorte/prodsetting.rst, line 31)

    Unexpected indentation.

    erikvest (Erik Vestheim)

  • Opprette en gruppe for ephorte-administratorer. Disse får sysadmin-rettigheter i ePhorte. Gruppa skal hete ephorte-admins Medlemmer: arehol (Are Holsted), gmagnus (Geir Magnus Walderhaug),

    System Message: ERROR/3 (/usit/vortex-sync/vortex/til_vortex_rsync/www_usit_uio_no/om/tjenestegrupper/cerebrum/utvikling/dokumentasjon/ePhorte/prodsetting.rst, line 36)

    Unexpected indentation.

    erikvest (Erik Vestheim)

  • Opprett /cerebrum/dumps/EPHORTE på cerebellum

Oppdatering av database

Sjekk ut siste versjon av filene:

  • contrib/migrate_cerebrum_database.py
  • design/mod_ephorte.sql
  • design/migrate_to_ephorte_1_1.sql

Kjør så scriptet contrib/migrate_cerebrum_database.py:

contrib/migrate_cerebrum_database.py --component ephorte --to ephorte_1_1 \
 --makedb-path ./ --design-path design/

Koding og prodsetting av kildekode

Følgende filer fra cerebrum-kodetreet må sjekkes ut og prodsettes på cerebellum:

  • java/ephorte/* [1]
  • Cerebrum/modules/no/uio/Ephorte.py
  • Cerebrum/modules/no/uio/bofhd_ephorte_cmds.py
  • cerebrum/contrib/no/uio/populate_ephorte.py
  • cerebrum/contrib/no/uio/generate_ephorte_export.py

[1] Denne koden er flyttet til servers/ephorte. Prodsetter må gjøre de nødvendige grep på cerebellum for å oppdatere denne koden. Hvis dette kommer i konflikt med annen kode som nå ligger under servers kan dette punktet hoppes over. Java-koden kompileres ikke på cerebellum. I stedet blir ephorte.jar distet. Se under

Fra uiocerebrum må følgende filer prodsettes:

  1. uiocerebrum/cerebellum/etc/cerebrum/cereconf.py, 1.164
  2. uiocerebrum/cerebellum/etc/cerebrum/scheduled_jobs.py
  3. uiocerebrum/bin/sync_ephorte.sh Sjekk at siste versjon er prodsatt og at det er soft link til /cerebrum/bin:

Når vi er klare til å kjøre synkroniosering mot ephorte-prod må følgende patch sjekkes inn og prodsettes i scheduled_jobs.py:

     generate_ephorte_export = Action(
         call=System('%s/no/uio/generate_ephorte_export.py' % contrib,
                     params=['-f', '%s/ephorte_export.xml' % ephortedir]),
-        max_freq=22*60*60)
-        # post=['sync_ephorte'])
+        max_freq=22*60*60,
+        post=['sync_ephorte'])

NB! ikke gjør dette før vi har fått klarsignal fra prosjektleder.

Når alle filene er oppdatert, og hentet ned til cerebellum må følgende gjøres:

  • python makedb.py --only-insert-codes [2]
  • restarte eller reloade job_runner
  • restarte bofhd
[2] muligens ikke nødvendig, siden migrate_cerebrum_database.py kjører
denne og det ikke er noen nye koder i siste patch av Ephorte.py. Men det skader vel ikke å kjøre scriptet uansett.

Oppsett av java-miljø på cerebellum

Det som trenger å gjøres er:

  • sjekk at riktig versjon av java er installert. Skal være Java SE, v1.6

    Gjort.

  • sjekk ut siste versjon av filene i uiocerebrum/bin/ephorte/
    • axis.jar
    • commons-discovery-0.2.jar
    • jaxrpc.jar
    • saaj.jar
    • wsdl4j-1.5.1.jar
    • commons-logging-1.0.4.jar
    • log4j-1.2.8.jar
    • ojdbc14.jar
    • ephorte.jar
    • ephorte-stubs.jar
  • Legg tilgangsinfo i /cerebrum/etc/passwords/ephorte-conn.props

    Dette er gjort

  • sett opp sertifikat - få public key fra ephorte-serverene. De er lagt på

    System Message: ERROR/3 (/usit/vortex-sync/vortex/til_vortex_rsync/www_usit_uio_no/om/tjenestegrupper/cerebrum/utvikling/dokumentasjon/ePhorte/prodsetting.rst, line 138)

    Unexpected indentation.

    /cerebrum/etc/passwords/ephorte2_uPkey_DER.cer, /cerebrum/etc/passwords/ephorte2test_uPkey_der.cer

System Message: WARNING/2 (/usit/vortex-sync/vortex/til_vortex_rsync/www_usit_uio_no/om/tjenestegrupper/cerebrum/utvikling/dokumentasjon/ePhorte/prodsetting.rst, line 140)

Block quote ends without a blank line; unexpected unindent.

  • legg til denne i keystore på cerebellum med kommandoen

    keytool -import -alias ephorte2 -file /cerebrum/etc/passwords/ephorte2_uPkey_DER.cer -keystore /cerebrum/etc/passwords/truststore keytool -import -alias ephorte2test -file /cerebrum/etc/passwords/ephorte2test_uPkey_der.cer -keystore /cerebrum/etc/passwords/truststore

  • passord for keystore: truststore ligger i /cerebrum/etc/passwords/passwd-cerebrum@truststore

Dette er gjort.

  • Sjekk at sertifikat og tilgang er riktig med kommandoen:

    /cerebrum/bin/sync_ephorte.sh -c -p /cerebrum/etc/passwords/ephorte-conn.props
    

    Tilgang er ok hvis den returnerer den følgende:

    "Connection established. Look in log file for more details"

    Sjekk også at det er blitt skrevet debug til /cerebrum/var/log/sync_ephorte.log.

  • Hvis alle disse punktene er gjort skal alt være klart for produksjon.

    Publisert 16. apr. 2013 15:36