ispCP - Board - Support
Gentoo upgrade bugs - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega Support Area (/forum-30.html)
+--- Forum: Update/Upgrade (/forum-44.html)
+--- Thread: Gentoo upgrade bugs (/thread-11722.html)

Pages: 1 2 3


Gentoo upgrade bugs - ZiomekPL - 09-21-2010 09:29 PM

I upgrading ispCP 1.0.4->1.0.7RC1 on Gentoo
I found 2 bugs in scripts:

1. /etc/init.d/ispcp_network in last line has 'exit 0' and this bloking any actions on daemon. (doesnt start or stop) and causes iptables errors.
(this line shuld be removed)

2. in ispcp-serv-mngr line ($rs, $stdErr) = sys_command_stderr("$main::cfg{'CMD_HTTPD'} graceful"); working fine, but before upgrade ispcp-upgrade stopping all services and on stopped apache graceful reload isnt possible and quiting which error status, and broking upgrade. (apache shuld be running during upgrade?)

edit: 3. if we got something like that:
"PWD
550 PWD: Permission denied"

we shuld change in /etc/proftpd/proftpd.conf line: HideNoAccess on
to
HideNoAccess off

4. - Fatal: unknown configuration directive 'IdentLookups' on line 46 of '/etc/proftpd/proftpd.conf'
this line shuld be commented


RE: Gentoo upgrade bugs - Nuxwin - 09-22-2010 03:50 AM

Hello ;

1. Normally, the exit code should don't pose any problem.

2. Yes, during update process, all services are shutting down at the begin and are restarted at the end. More info please.

3 and 4: Patch please.


RE: Gentoo upgrade bugs - ZiomekPL - 09-22-2010 04:20 AM

1. init calling init script and creating functions start stop etc. 'exit 0' exiting before functions start or stop was called

2.
Code:
20:17:15 [511] viper-hosting ispcp # apache2ctl graceful
* Gracefully restarting apache2 ...       [ ok ]
20:17:27 [512] viper-hosting ispcp # echo $?
0
20:17:34 [513] viper-hosting ispcp # /etc/init.d/apache2 stop
* Stopping apache2 ...          [ ok ]
20:17:45 [514] viper-hosting ispcp # apache2ctl graceful
20:17:48 [515] viper-hosting ispcp # echo $?
1
20:17:50 [516] viper-hosting ispcp #

3 and 4:
Code:
--- proftpd.conf.old    2010-09-21 20:19:31.000000000 +0200
+++ proftpd.conf        2010-09-21 14:33:44.000000000 +0200
@@ -43,7 +43,7 @@

AllowOverwrite             on
UseReverseDNS              off
-IdentLookups               off
+#IdentLookups               off
AllowStoreRestart          on
AllowForeignAddress        on

@@ -94,7 +94,7 @@
   Umask                    022  022
   # Normally, we want files to be overwriteable.
   AllowOverwrite           on
-  HideNoAccess             on
+  HideNoAccess             off
</Directory>

<Limit ALL>



RE: Gentoo upgrade bugs - Nuxwin - 09-22-2010 04:24 AM

Re ;

Ok, I understand now. Thanks for the patch.
http://isp-control.net/ispcp/ticket/2472


RE: Gentoo upgrade bugs - Nuxwin - 09-22-2010 07:40 AM

re ;

What is the status code for apache2ctl configtest ?


RE: Gentoo upgrade bugs - ZiomekPL - 09-22-2010 08:05 AM

0 if config is ok -- always


RE: Gentoo upgrade bugs - sci2tech - 09-23-2010 04:56 AM

Graceful (SIGUSR1) is hard coded into apache to start server if is not running. Must be some kind of error on your server or gentoo bug.


RE: Gentoo upgrade bugs - ZiomekPL - 09-26-2010 07:48 PM

Code:
11:47:36 [6] viper-hosting ~ # cat /usr/sbin/apache2ctl
#!/bin/sh
exec /etc/init.d/apache2 "$@"
11:47:45 [7] viper-hosting ~ # cat /etc/init.d/apache2
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

opts="configdump configtest fullstatus graceful gracefulstop modules reload virtualhosts"

depend() {
        need net
        use mysql dns logger netmount postgresql
        after sshd
}

configtest() {
        ebegin "Checking ${SVCNAME} configuration"
        checkconfig
        eend $?
}

checkconfd() {
        PIDFILE="${PIDFILE:-/var/run/apache2.pid}"
        TIMEOUT=${TIMEOUT:-10}

        SERVERROOT="${SERVERROOT:-/usr/lib64/apache2}"
        if [ ! -d ${SERVERROOT} ]; then
                eerror "SERVERROOT does not exist: ${SERVERROOT}"
                return 1
        fi

        CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}"
        [ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}"
        if [ ! -r "${CONFIGFILE}" ]; then
                eerror "Unable to read configuration file: ${CONFIGFILE}"
                return 1
        fi

        APACHE2_OPTS="${APACHE2_OPTS} -d ${SERVERROOT}"
        APACHE2_OPTS="${APACHE2_OPTS} -f ${CONFIGFILE}"
        [ -n "${STARTUPERRORLOG}" ] && APACHE2_OPTS="${APACHE2_OPTS} -E ${STARTUPERRORLOG}"

        APACHE2="/usr/sbin/apache2"
}

checkconfig() {
        checkconfd || return 1

        ${APACHE2} ${APACHE2_OPTS} -t 1>/dev/null 2>&1
        ret=$?
        if [ $ret -ne 0 ]; then
                eerror "${SVCNAME} has detected an error in your setup:"
                ${APACHE2} ${APACHE2_OPTS} -t
        fi

        return $ret
}

start() {
        checkconfig || return 1

        [ -f /var/log/apache2/ssl_scache ] && rm /var/log/apache2/ssl_scache

        ebegin "Starting ${SVCNAME}"
        ${APACHE2} ${APACHE2_OPTS} -k start

        i=0
        while [ ! -e "${PIDFILE}" ] && [ $i -lt ${TIMEOUT} ]; do
                sleep 1 && i=$(expr $i + 1)
        done

        test $i -le ${TIMEOUT}
        eend $?
}

stop() {
        checkconfd || return 1

        ebegin "Stopping ${SVCNAME}"
        ${APACHE2} ${APACHE2_OPTS} -k stop

        i=0
        while pidof "${APACHE2}" >/dev/null && [ $i -lt ${TIMEOUT} ]; do
                sleep 1 && i=$(expr $i + 1)
        done

        test $i -le ${TIMEOUT}
        eend $?
}

reload() {
        RELOAD_TYPE="${RELOAD_TYPE:-graceful}"

        checkconfig || return 1
        service_started "${SVCNAME}" || return

        if [ "${RELOAD_TYPE}" = "restart" ]; then
                ebegin "Restarting ${SVCNAME}"
                ${APACHE2} ${APACHE2_OPTS} -k restart
                eend $?
        elif [ "${RELOAD_TYPE}" = "graceful" ]; then
                ebegin "Gracefully restarting ${SVCNAME}"
                ${APACHE2} ${APACHE2_OPTS} -k graceful
                eend $?
        else
                eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/${SVCNAME}"
        fi
}

graceful() {
        checkconfig || return 1
        service_started "${SVCNAME}" || return
        ebegin "Gracefully restarting ${SVCNAME}"
        ${APACHE2} ${APACHE2_OPTS} -k graceful
        eend $?
}

gracefulstop() {
        checkconfig || return 1

        # zap!
        if service_started "${SVCNAME}"; then
                mark_service_stopped "${SVCNAME}"
        fi

        ebegin "Gracefully stopping ${SVCNAME}"
        ${APACHE2} ${APACHE2_OPTS} -k graceful-stop
        eend $?
}

modules() {
        checkconfig || return 1

        ${APACHE2} ${APACHE2_OPTS} -M 2>&1
}

fullstatus() {
        LYNX="${LYNX:-lynx -dump}"
        STATUSURL="${STATUSURL:-http://localhost/server-status}"

        if ! service_started "${SVCNAME}"; then
                eerror "${SVCNAME} not started"
        elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
                eerror "lynx not found! you need to emerge www-client/lynx"
        else
                ${LYNX} ${STATUSURL}
        fi
}

virtualhosts() {
        checkconfd || return 1
        ${APACHE2} ${APACHE2_OPTS} -S
}

configdump() {
        LYNX="${LYNX:-lynx -dump}"
        INFOURL="${INFOURL:-http://localhost/server-info}"

        checkconfd || return 1

        if ! service_started "${SVCNAME}"; then
                eerror "${SVCNAME} not started"
        elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
                eerror "lynx not found! you need to emerge www-client/lynx"
        else
                echo "${APACHE2} started with '${APACHE2_OPTS}'"
                for i in config server list; do
                        ${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q'
                done
        fi
}

# vim: ts=4 filetype=gentoo-init-d
11:47:53 [8] viper-hosting ~ #
Code:
graceful() {
        checkconfig || return 1
        service_started "${SVCNAME}" || return
        ebegin "Gracefully restarting ${SVCNAME}"
        ${APACHE2} ${APACHE2_OPTS} -k graceful
        eend $?
}



RE: Gentoo upgrade bugs - sci2tech - 09-26-2010 08:02 PM

this is wrong:
Quote:service_started "${SVCNAME}" || return
I do not know why gentoo do not let apache process this (maybe should be considered as an gentoo bug?). Anyway, please open a bug in our traker, we should use SIGUSR1 on pid to avoid fancy distros interfere with apache restarting. And until is fixed you can safely comment this line


RE: Gentoo upgrade bugs - ZiomekPL - 09-26-2010 10:31 PM

I know Smile
I fixet it in ispcp perl script (init.d files can be replaced after system upgrade, and this bug is present only during upgrade)