1

I've installed Dell's Ubuntu OpenManage 7.4.0 package on a Dell PowerEdge 2850 running Ubuntu 14.04 LTS. However, I cannot get the web interface to start.

All other tools work as expected, including omreport, omconfig, and omhelp.

$ sudo service dsm_om_connsvc start
Starting DSM SA Connection Service:  *

$ sudo service dsm_om_connsvc status
dsm_om_connsvcd is stopped

Checking the log clearly shows that the process has failed to start properly.

$ tail -n 100 /opt/dell/srvadmin/var/log/openmanage/dsm_om_connsvcdIO.log

status(-3) 38:32 2016] (1504) RunServer:daemon worker forked
[Jul  7 18:38:32 2016] (1505) RunServer:worker process entry
[Jul  7 18:38:32 2016] (1504) RunServer:daemon waiting for worker init status
[Jul  7 18:38:32 2016] (1505) ModuleAttach: entry 0
[Jul  7 18:38:32 2016] (1505) ModuleAttach: starting the startserver thread
[Jul  7 18:38:32 2016] (1505) ModuleAttach(ERROR): startserver thread exited prematurely, aborting!
[Jul  7 18:38:32 2016] (1505) ModuleAttach: exit with errors!
[Jul  7 18:38:32 2016] (1505) RunServer: ModuleAttach failed
[Jul  7 18:38:32 2016] (1505) RunServer:worker process EXIT status(-3)
[Jul  7 18:38:32 2016] (1504) RunServer:daemon process EXIT status(-3)
[Jul  7 18:38:32 2016] (1505) RunServer exit with status(-3)
[Jul  7 18:38:32 2016] (1502) RunServer:parent process EXIT status(-3)

According to this thread, an outdated JRE is sometimes a culprit, but I checked and it's up to date.

Executing the shell service/opt/dell/srvadmin/sbin/srvadmin-services.sh with sh /opt/dell/srvadmin/sbin/srvadmin-services.sh start and sh /opt/dell/srvadmin/sbin/srvadmin-services.sh stop strangely produces syntax errors on the same line: /opt/dell/srvadmin/sbin/srvadmin-services.sh: 26: /opt/dell/srvadmin/sbin/srvadmin-services.sh: Syntax error: "(" unexpected. However, viewing the file shows nothing that appears out of the ordinary.

#!/usr/bin/env bash
###############################################################################
#
#          Dell Inc. PROPRIETARY INFORMATION
# This software is supplied under the terms of a license agreement or
# nondisclosure agreement with Dell Inc. and may not
# be copied or disclosed except in accordance with the terms of that
# agreement.
#
# Copyright (c) 2000-2009 Dell Inc. All Rights Reserved.
#
# Abstract/Purpose:
#
#   This Script will start/stop/restart/status all the services installed
#   by Systems Management.
#
###############################################################################

# ensure sbin utilities are available in path, so that su will also work
export PATH=/usr/kerberos/sbin:/usr/local/sbin:/sbin:/usr/sbin:$PATH
PATH="${PATH}:/sbin:/usr/sbin:/bin:/usr/bin"

# Server Administrator package prefix
SRVADMIN_STR="Server Administrator"

startDeps=(mptctl)

# list of services start
arrayStart=(racsvc instsvcdrv dataeng dsm_om_connsvc racser racvnc racsrvc)

# list of services to stop
arrayStop=(racsvc dsm_om_connsvc racser racvnc racsrvc dataeng instsvcdrv)

# list of services to find status
arrayStatus=(racsvc instsvcdrv dataeng dsm_om_connsvc racser racvnc racsrvc)

#
# start/stop/status for multiple services
#
serviceAction() {
    action=$1
    shift
    services=$@
    RET=0
    for svc in $services; do
        if [ -e /etc/init.d/$svc ]; then
            /etc/init.d/$svc $action
            RET=$?
        fi
    done
    return $RET
}

#
# enable/disable multiple services
#
serviceCtl () {
    ctl=$1
    shift
    services=$@
    for svc in $services
    do
        chkconfig --list $svc 2>/dev/null || continue
        chkconfig $svc $ctl
    done
}

##
## Usage
##
function Usage {
    cat <<EOF
Usage: srvadmin-services.sh {start|stop|status|restart|enable|disable|help}
  start  : starts ${SRVADMIN_STR} services
  stop   : stops ${SRVADMIN_STR} services
  status : display status of ${SRVADMIN_STR} services
  restart: restart ${SRVADMIN_STR} services
  enable : Enable ${SRVADMIN_STR} services in runlevels 2, 3, 4, and 5
  disable: Disable ${SRVADMIN_STR} services in runlevels 2, 3, 4, and 5
  help   : Displays this help text
EOF
    exit 1
}

# make sure services dont busy out any mountpoints
cd /

# check for root privileges
if [ "${UID}" != "0" ]; then
    echo "This utility requires root privileges"
    exit 1
fi

action=$1
shift

# Note the ${@:- ... } set up this way so that we either stop/start/etc full
# set of services, or specific service if passed. ${@} is set to cmdline
# params. If these are not set, then the stuff after :- is used as a default.
if [ "${action}" == "start" ]; then
    serviceAction start ${@:-${startDeps[*]} ${arrayStart[*]}}

elif [ "${action}" == "stop" ]; then
    serviceAction stop ${@:-${arrayStop[*]}}

elif [ "${action}" == "status" ]; then
    serviceAction status ${@:-${arrayStatus[*]}}

elif [ "${action}" == "restart" ]; then
    serviceAction stop ${@:-${arrayStop[*]}}
    serviceAction start ${@:-${startDeps[*]} ${arrayStart[*]}}

elif [ "${action}" == "freeze" ]; then
    for service in ${@:-${startDeps[*]} ${arrayStart[*]}}; do
        if serviceAction status $service; then
                touch /opt/dell/srvadmin/var/run/freeze-$service
                serviceAction stop $service
        fi
    done

elif [ "${action}" == "thaw" ]; then
    for service in ${@:-${startDeps[*]} ${arrayStart[*]}}; do
        if [ -e /opt/dell/srvadmin/var/run/freeze-$service ]; then
                rm -f /opt/dell/srvadmin/var/run/freeze-$service
                serviceAction start $service
        fi
    done

elif [ "${action}" == "condrestart" ]; then
    # condrestart will restart a service if it is running, else noop
    # used in rpm %post
    for service in ${@:-${startDeps[*]} ${arrayStart[*]}}; do
        if serviceAction status $service; then
                serviceAction stop $service
                serviceAction start $service
        fi
    done

elif [ "${action}" == "enable" ]; then
    serviceCtl on ${@:-${arrayStatus[*]} ipmi}

elif [ "${action}" == "disable" ]; then
    serviceCtl off ${@:-${arrayStatus[*]} ipmi}

else
    [ -z "${action}" ] || echo -e "Invalid option '${action}', please see the usage below\n"
    Usage
fi

I am aware a very similar question exists here: however, it is quite old, has no answer, and the owner no longer has access to the machine to work with, whereas I can readily experiment with mine. Thus I've decided to create a new question with my further findings

JMY1000
  • 135
  • 11
  • Your systax error make me think of a file encoding problem. Did those file was on a windows system before ? – yagmoth555 Jul 08 '16 at 02:32
  • and please check if /usr/lib/dell/openmanage/jre/bin/java -version return something, related to that [thread](http://permalink.gmane.org/gmane.linux.hardware.dell.poweredge/8769) – yagmoth555 Jul 08 '16 at 02:33
  • @yagmoth555 No, everything was straight from Dell's servers. `/usr/lib/dell/openmanage/jre/bin/java -version` simply fails with `No such file or directory`, but `dpkg -l | grep "srvadmin-jre"` returns `ii srvadmin-jre 7.4.0-1 amd64 Oracle Java Runtime Environment` – JMY1000 Jul 08 '16 at 02:37
  • I'am not a Linux guru, but the script fail on that line; startDeps=(mptctl), removing it and starting that service manually does help? As the section header seem to start the service mptctl. (serviceAction start mptctl) – yagmoth555 Jul 08 '16 at 02:48
  • @yagmoth555 `sudo service mptctl start` returned `mptctl: unrecognized service` – JMY1000 Jul 08 '16 at 04:11
  • @yagmoth555 Commenting out that line does seem to allow it to start though. Running `sudo /opt/dell/srvadmin/sbin/srvadmin-services.sh start` returns `Starting Systems Management Device Drivers: \n Starting dell_rbu: * \n Starting ipmi driver: * Already started \n Starting DSM SA Connection Service: *` However, `sudo service dsm_om_connsvc status` still returns `dsm_om_connsvcd is stopped`. The asterix on `Starting DSM SA Connection Service: *` also happens to be red for whatever reason, unlike all the others. PS: \n s are just to show where line breaks were. – JMY1000 Jul 08 '16 at 04:13

0 Answers0