Announcement

Collapse
No announcement yet.

OX 6.22 and Opensuse 12.3 : Problems with systemd

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • OX 6.22 and Opensuse 12.3 : Problems with systemd

    About 2 weeks ago I successfully upgraded from OX 6.20.7 to 6.22.0 and further to 6.22.1. All on an Opensuse 12.2 system - no problems with activating open-xchange by usings systemd (systemctl) there.

    Now, I have in addition upgraded the system to Opensuse 12.3. While this was a surprisingly smooth transition for almost all server components, there is, however, trouble with systemd and OX 6.22. There is no chance to start OX 6.22 with systemd on Opensuse 12.3. At least not on my system.

    After starting OX by "systemctl start open-xchange" the status of the open-xchange LSB service is displayed as follows:

    mysystem:/etc/init.d # systemctl status open-xchange.service
    open-xchange.service – LSB: Open Xchange Daemon
    Loaded: loaded (/etc/init.d/open-xchange)
    Active: inactive (dead) since Wed, 2013-03-27 12:30:19 CET; 5min ago
    Process: 13365 ExecStop=/etc/init.d/open-xchange stop (code=exited, status=0/SUCCESS)
    Process: 13349 ExecStart=/etc/init.d/open-xchange start (code=exited, status=0/SUCCESS)
    CGroup: name=systemd:/system/open-xchange.service
    Mar 27 12:30:19 mysystem.mydomain.de systemd[1]: Starting LSB: Open Xchange Daemon…
    Mar 27 12:30:19 mysystem.mydomain.de open-xchange[13349]: Starting open-xchange ..done
    Mar 27 12:30:19 mysystem.mydomain.de systemd[1]: Started LSB: Open Xchange Daemon.
    Mar 27 12:30:19 mysystem.mydomain.de su[13360]: (to open-xchange) root on none
    Mar 27 12:30:19 mysystem.mydomain.de open-xchange[13365]: Shutting down open-xchange ..done


    The service is dead, according to systemd.

    However, starting OX manually by issuing "/etc/init.d/open-xchange start" works perfectly:

    mysystem:/etc/init.d # ./open-xchange start
    redirecting to systemctl start
    Starting open-xchange done
    mysystem:/etc/init.d # ./open-xchange status
    Checking for service open-xchange running
    Checking for service open-xchange running


    But systemd does not take notice of this success :

    mysystem:/etc/init.d # systemctl status open-xchange
    open-xchange.service – LSB: Open Xchange Daemon
    Loaded: loaded (/etc/init.d/open-xchange)
    Active: inactive (dead) since Wed, 2013-03-27 12:57:05 CET; 1min 39s ago

    So, it seems that there is no communication between systend and open-xchange - neither when using systemctl to start OX nor when using systemctl to ask for the status.

    Consistently, activating open-xchange by using the "runlevel editor" of YaST does not work either.

    So, as it looks I must start OX manually under Opensuse 12.3 after booting - a situation, which I do not like.
    Any ideas why systemd in contrast to OS 12.2 is not working with OX 6.22 under OS 12.3 ?

  • #2
    Interesting question, afaik we did not change anything at the startup scripts with 6.22.1. For me, it looks like a issue/regression with systemd

    Comment


    • #3
      systemd should still work with LSB init scripts as far as I know.
      Did you ask/report that issue with openSUSE as well? Probably as a bug entry there? Please give us a pointer in that case.

      Comment


      • #4
        Originally posted by Wolfgang Rosenauer View Post
        systemd should still work with LSB init scripts as far as I know.
        Did you ask/report that issue with openSUSE as well? Probably as a bug entry there? Please give us a pointer in that case.
        Yes, systemd should still work with LSB init scripts. And it does for a variety of services. However, it does not for OX 6.22.
        The strange thing is the following:
        Even an "rcopen-xchange start" (stop, status) does not work. "rcopen-xchange" is just a link to "/etc/init.d/open-xchange".

        The only way for me to start OX is via changing (as root) to the directory "/etc/init.d" and use "./open-xchange start". Things do not work in case I am in a different directory and use "/etc/init.d/open-xchange start".

        Where does this dependency on the directory come from ?

        I did not have the time to analyze the startup-scripts in detail. However, the problem occurs inside the script "/etc/rc.status" where the redirection to systemd takes place.

        I did not yet contact SuSE.

        Comment


        • #5
          Originally posted by Wolfgang Rosenauer View Post
          systemd should still work with LSB init scripts as far as I know.
          Did you ask/report that issue with openSUSE as well? Probably as a bug entry there? Please give us a pointer in that case.
          I have opened a bug at SuSE's bugzilla:

          Comment


          • #6
            The Opensuse people have analyzed the problem, found the cause of it and have provided me with a simple service file for starting the service with systemd.

            This solved both the problem of the service startup at boot time as well as starting open-xchange with standard commands.

            (Although there are still some minor points regarding OX-messages when starting the service in the old fashioned style with "rcopen-xchange start" or stopping the service via "systemctl stop ope-xchange")

            I suggest that OX developers have a look at the explanation of the problem cause and -maybe - rethink the the startup of the open-xchange-service in a systemd environment.

            See:

            Comment

            Working...
            X