This question has been flagged
5 Replies
59606 Views

I have script that runs OpenERP server, but I seems to be not working on new server for some reason (I use same script on another server and it works fine).

when I enter command such as:

openerp-server-7.0 start

I get:

Starting openerp-server-7.0:

But actually nothing starts. No openerp runs and no log file is created. When I enter:

openerp-server-7.0 stop

I get this:

Stopping openerp-server-7.0: start-stop-daemon: warning: failed to kill 30449: No such process

If I check pid files directory. There is pid file with pid number that error says there is no such process. It seems postgress can't find that location where new pid process is being created.

My script:

#! /bin/sh

### BEGIN INIT INFO
# Provides:             openerp-server
# Required-Start:       $syslog
# Required-Stop:        $syslog
# Should-Start:         $network
# Should-Stop:          $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Enterprise Resource Management software
# Description:          Tiny ERP is a complete ERP and CRM software.
### END INIT INFO

DAEMON=/home/user/openerp/7.0/server/openerp-server
VERSION=7.0
USER=user


PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=openerp-server-$VERSION
DESC=$NAME
GROUP=$USER
DAEMON_DIR="/home/$USER/openerp/$VERSION/server"
CONFIG="/home/$USER/etc/openerp-server-$VERSION.conf"
DAEMON_OPTS="$DAEMON_DIR/openerp-server --config=$CONFIG"
DATA_BASE_DIR="/home/$USER/var/run"

test -x $DAEMON || exit 0

set -e

make_dir()
{
  DIR=$1
  if [ -d "$DIR" ]; then
    return 0;
  fi
  mkdir -p -m 0755 "$DIR"
  chown "$USER:$GROUP" "$DIR"
}

make_dir $DATA_BASE_DIR

case "$1" in
        start)
                echo -n "Starting $DESC: "

                cd $DAEMON_DIR
                start-stop-daemon --start --quiet --pidfile $DATA_BASE_DIR/$NAME.pid \
                        --chuid $USER --background --make-pidfile \
                        --exec $DAEMON -- $DAEMON_OPTS

                echo "$NAME."
                ;;

        stop)
                echo -n "Stopping $DESC: "

                start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $DATA_BASE_DIR/$NAME.pid \
                        --oknodo

                echo "$NAME."
                ;;

        restart|force-reload)
                echo -n "Restarting $DESC: "

                start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $DATA_BASE_DIR/$NAME.pid \
                        --oknodo

                sleep 1

                cd $DAEMON_DIR
                start-stop-daemon --start --quiet --pidfile $DATA_BASE_DIR/$NAME.pid \
                        --chuid $USER --background --make-pidfile \
                        --exec $DAEMON -- $DAEMON_OPTS

                echo "$NAME."
                ;;
 *)
                N=/etc/init.d/$NAME
                echo "Usage: $N {start|stop|restart|force-reload}" >&2
                exit 1
                ;;
esac

exit 0
Avatar
Discard
Best Answer

USER=user

Is your username and group actually named 'user'?  Make sure the username is accurate and that the server code has permissions and the owner set correctly.  If you repeat this start/stop process a few times, is the error message always the same PID?

Avatar
Discard
Best Answer

Hi,

I ended up in a similar position. I was able to resolve it by typing 'top' in linux to see the services running. I got the id (lets say it was 11122). Then I killed the process in linux using 'kill 11122' (which is simply kill and the id). I checked, and the service was not running anymore. There after I used the regular 'service openerp-server start' and voila! Alternatively you can use 'etc/init.d/openerp start'

 

Hope it helps :)

Avatar
Discard
Best Answer

Tomas and Ryno, if your operating system is complaining that it cannot find the process, then most probably it is the case.  In Tomas' case, the OS cannot find the process because it has not started or killed prematurely as indicated that "nothing starts" when you start OpenERP.

Tomas, In your script list DAEMON_OPTS contains the name of the script as well which is defined as DAEMON and then when it is called in start BOTH are used.  Drop the $DAEMON_DIR/openerp-server part from DAEMON_OPTS and see if it works.  There might be other problems too.

Avatar
Discard
Best Answer

Hi Tomas,

I had the same problem as you on odoo v7.

On ubuntu 12.04 never had such problem, but when started using it on ubuntu 14.04 sometimes I had this problem. The script I use is from "The Open Sourcerer" and you can get it here, but the instructions I will send you may work with your script also (or use the one I send with the required changes).

I found that for some reason the entry for auto startup had a problem which I do not know what is it. To solve it:

  • Disable openerp-server from startup:

sudo update-rc.d openerp-server disable

  • Remove openerp-server entry from startup:

sudo update.rc.d –f openerp-server remove

(-f means force)

  • Add the entry to the startup once again:

sudo update-rc.d openerp-server defaults

  • Start/restart openerp-server:

sudo /etc/init.d/openerp-server start

sudo /etc/init.d/openerp-server restart

Test the system accessing yourhost:8069

Restart the system

Hope this can help you.

Regards

Paulo

Avatar
Discard
Best Answer

I had the same issue as because dependencies were not installed properly when initially I installed the package.

Avatar
Discard