# NIIFI IdP staging környezet

Ez az oldal a NIIFI IdP tesztkörnyezetét írja le. Amennyire lehetséges, ez a tesztkörnyezet megegyezik az éles IdP kiépítésével. A staging környezet célja, hogy az éles IdP-n végzett konfiguráció-változtatások tesztelése könnyen elvégezhető legyen.


## Klaszter felépítése

A <https://idptest.aai.niif.hu/idp/shibboleth> entityID-jú IdP-t jelenleg egy kétgépes klaszter szolgálja ki:

* papigw.aai.niif.hu virtuális környezet (london, debian squeeze)
* sandbox.aai.niif.hu virtuális gép (xen, debian lenny)

Mindkét környezetben fut egy Terracotta L2 szerver, és egy Tomcat6, az aktuális IdP verzióval. A webkiszolgálást a papigw nevű környezet végzi (ide mutat az idptest DNS bejegyzése), a terhelést pedig a [mod_proxy_balancer](http://httpd.apache.org/docs/current/mod/mod_proxy_balancer.html) modullal, AJP protokollon osztja tovább a két IdP példánynak.

Az IdP-k a papigw környezetben futó MySQL példányt használják a perzisztens adatok tárolására, és az éles LDAP szerverhez csatlakoznak.

Az idptest-en uApprove is működik, azonban a terhelési tesztek alatt érdemes kikapcsolni, az ismert bugok miatti sorozatos JDBC hibák elkerülése végett.


## Terhelési tesztek

Az idptest alkalmas terhelési tesztek futtatására is, amit az [alábbi](https://admin.pws.niif.hu/redmine/attachments/33/idp-loadtest.jmx) [JMeter](http://jakarta.apache.org/jmeter/) szkripttel végezhető. Ez a szkript a dev.aai.niif.hu SP-t használja az autentikációs kérés indítására, majd a shibtest user nevében belép az IdP-n (futtatás előtt érdemes a shibtest user jelszavát megadni :).

Hosszú ideig futtatott, sokszálú terhelés után a Terracotta L2 szervereket érdemes újraindítani, hogy ne fogyasszák feleslegesen a memóriát és a diszk területet.