apache tries to start before IPv6 address is available

Hi,

I’m using opensuse 13.1 and have an apache2 listening on both my ipv4 and ipv6. My IPv6 address is setup as a static one in yast (following this explanation)/ When rebooting my machine, apache doesn’t start automatically giving me this information:

krusty:~ # systemctl status apache2 -l
apache2.service - The Apache Webserver
   Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled)
   Active: failed (Result: exit-code) since Sat 2014-06-14 14:14:23 CEST; 3min 24s ago
  Process: 2154 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=0/SUCCESS)
  Process: 762 ExecStart=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k start (code=exited, status=1/FAILURE)
 Main PID: 762 (code=exited, status=1/FAILURE)
   CGroup: /system.slice/apache2.service

Jun 14 14:14:22 krusty start_apache2[762]: [Sat Jun 14 14:14:22.586442 2014] [core:warn] [pid 762] AH00117: Ignoring deprecated use of DefaultType in line 137 of /etc/apache2/httpd.conf.
Jun 14 14:14:22 krusty start_apache2[762]: (99)Cannot assign requested address: AH00072: make_sock: could not bind to address [2a02:578:85a9:1::150]:80
Jun 14 14:14:22 krusty start_apache2[762]: no listening sockets available, shutting down
Jun 14 14:14:22 krusty start_apache2[762]: AH00015: Unable to open logs
Jun 14 14:14:23 krusty systemd[1]: apache2.service: main process exited, code=exited, status=1/FAILURE
Jun 14 14:14:23 krusty start_apache2[2154]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/listen.conf:40
Jun 14 14:14:23 krusty start_apache2[2154]: [Sat Jun 14 14:14:23.711520 2014] [core:warn] [pid 2154] AH00117: Ignoring deprecated use of DefaultType in line 137 of /etc/apache2/httpd.conf.
Jun 14 14:14:23 krusty start_apache2[2154]: httpd (no pid file) not running
Jun 14 14:14:23 krusty systemd[1]: Failed to start The Apache Webserver.
Jun 14 14:14:23 krusty systemd[1]: Unit apache2.service entered failed state.

Starting apache by hand just works fine:

krusty:~ # service apache2 start
krusty:~ # systemctl status apache2 -l
apache2.service - The Apache Webserver
   Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled)
   Active: active (running) since Sat 2014-06-14 14:21:30 CEST; 2s ago
  Process: 2154 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=0/SUCCESS)
 Main PID: 2773 (httpd2-prefork)
   Status: "Processing requests..."
   CGroup: /system.slice/apache2.service
           ├─2773 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL -D SYSTEMD -DFOREGROUND -k start
           ├─2790 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL -D SYSTEMD -DFOREGROUND -k start
           ├─2791 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL -D SYSTEMD -DFOREGROUND -k start
           ├─2792 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL -D SYSTEMD -DFOREGROUND -k start
           ├─2793 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL -D SYSTEMD -DFOREGROUND -k start
           └─2794 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL -D SYSTEMD -DFOREGROUND -k start

Jun 14 14:21:29 krusty start_apache2[2773]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/listen.conf:40
Jun 14 14:21:29 krusty start_apache2[2773]: [Sat Jun 14 14:21:29.805580 2014] [core:warn] [pid 2773] AH00117: Ignoring deprecated use of DefaultType in line 137 of /etc/apache2/httpd.conf.
Jun 14 14:21:30 krusty systemd[1]: Started The Apache Webserver.

So I think apache is started a little too early. I have no idea how to fix this in the new systemd system. Mainly because you find tons of contradictory information on systemd and most of the example commands you find are just not supported by systemd. I also didn’t have the time yet to learn the background of systemd. In the meantime I hoped things like this would just not break between updates of distributions.