[RIJESENO] nginx kao OCF resource agent

Dakle, apache2 mi je pomalo spor za ono sto mi treba pa sam se odlucio da cluster prebacim na nginx. Instalirao, konfigurisao, testirao, radi. Medjutim, radi samo kao init.d skripta sto mi i nema nekog smisla u cluster-u. Nasao sam slijedecu OCF skriptu za nginx:

http://paste.linux.org.ba/paste/538

Ovo je crm linija kojom pokusavam da dodam resource u Pacemaker:

nakon cega dobijem slijece error poruke:

lrmadmin[27451]: 2011/03/11_16:28:38 ERROR: lrm_get_rsc_type_metadata(578): got a return code HA_FAIL from a reply message of rmetadata with function get_ret_from_msg. ERROR: ocf:heartbeat:nginx: could not parse meta-data: ERROR: ocf:heartbeat:nginx: no such resource agent
Naravno, nginx skripta se nalazi u /usr/lib/ocf/resource.d/heartbeat/ direktoriju.

Any ideas?

Poslije odredjene kolicine piva, dosla mi je inspiracija pa sam ovo uspio pokrenuti.

Prva stvar koja nije valjala je moj mozak. Dakle, zaboravio chmod skriptu na 755. Napravio to, i vec se nesto pocelo desavati, mada skripta i dalje nije radila kako treba. /var/log/syslog kaze da ne moze naci /usr/local/sbin/nginx. Ok, napravio tamo symlink, probao ponovo, nece. Log kaze da sada ne moze naci /etc/nginx.conf. Eh ovo je malo bezveze posto mu zadajem config file u samoj konfiguraciji. Hajd rekoh da se ne svadjam sa skriptom, napravim symlink i na /etc, pokrenem i radi.

Medjutim, nisam zadovoljan, skripta je truba, nije cak ni monitor implementiran. Tako da cu sada da trazim neku bolju skriptu. Za pocetak, i ova moze posluziti.

Nasao ovu skriptu:

http://paste.linux.org.ba/paste/576

Dosta potpunija od prve. Ali nikako da procita mata-data. Skripta ima mod 755, nalazi se u /usr/lib/ocf/resource.d/heartbeat i javlja mi onaj isti error od ranije, could not parse meta-data. Ne kontam.

Dakle, cackao cijeli dan skriptu i popravio.

Da working script:
http://paste.linux.org.ba/paste/601

Konfiguracija:

primitive nginx_res ocf:heartbeat:nginx \ params configfile=/etc/nginx/nginx.conf \ httpd=/usr/lib/nginx \ #ovdje je bio najveci problem jer su ovaj parametar u jednom dijelu skripte nazvali nginx a dalje ostavlili httpd status10url=http://127.0.0.1 \ op monitor timeout=30s interval=10s \ op start timeout=40s \ op stop timeout=60s
Tadaaaa. I radi.

Fino se ti isprica :slight_smile:

Trebalo bi ove tvoje teme prebaciti na wiki

Pa ja postavio ovdje, kontao naice @maher_ sa rjesenjem :). Ali dobro je bilo cackati skriptu, prvo obnovio bash :).