diff options
Diffstat (limited to 'meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend')
-rw-r--r-- | meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend b/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend index 98e7207c..f131e213 100644 --- a/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend +++ b/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend @@ -19,14 +19,39 @@ USERADD_PARAM_${PN} = "--system --home /var/lib/postgres -g postgres \ --no-create-home --shell /bin/false postgres" pkg_postinst_${PN} () { + # postgres 9.2.4 postinst if [ "x$D" != "x" ]; then exit 1 fi sudo -u postgres initdb -D /etc/${PN}/ + sleep 2 /etc/init.d/postgresql start - sudo -u postgres psql -c "CREATE ROLE ${DB_USER} WITH SUPERUSER LOGIN PASSWORD '${DB_PASSWORD}'" + sleep 5 + + count=0 + done=0 + while [ $count -le 10 ] && [ $done -eq 0 ]; do + sudo -u postgres psql -c "CREATE ROLE ${DB_USER} WITH SUPERUSER LOGIN PASSWORD '${DB_PASSWORD}'" 2> /dev/null + if [ $? -ne 0 ]; then + echo "[INFO] postgres: failed to create account for ${DB_USER}, trying again" + /etc/init.d/postgresql stop + sleep 2 + /etc/init.d/postgresql start + sleep 1 + else + done=1 + fi + count=`expr $count + 1` + done + + if [ $done -eq 0 ]; then + echo "[ERROR] postgres: unable to create admin account" + exit 1 + fi + ln -s /usr/share/zoneinfo /usr/share/postgresql/timezone + # end postgres 9.2.4 postinst } FILES_${PN} += "${localstatedir}/run/${PN}" |