rocksclusters / base

Base roll for Rocks Clusters
http://www.rocksclusters.org/
25 stars 10 forks source link

httpd fails to start on new install of ROCKS7 #35

Open mjcollin opened 6 years ago

mjcollin commented 6 years ago

After installing ROCKS7 on a head node, trying to run insert-ethers produces this error:

error - unable to download kickstart.
Verify httpd is running with 'service httpd start'

Sure enough, httpd is not running, in /var/log/httpd/error_log:

[Thu Jan 11 14:15:33.463322 2018] [auth_digest:notice] [pid 29948] AH01757: generating secret for digest authentication ...
[Thu Jan 11 14:15:33.463369 2018] [auth_digest:error] [pid 29948] (2)No such file or directory: AH01762: Failed to create shared memory segment on file /run/httpd/authdigest_shm.29948
[Thu Jan 11 14:15:33.463381 2018] [auth_digest:error] [pid 29948] (2)No such file or directory: AH01760: failed to initialize shm - all nonce-count checking, one-time nonces, and MD5-sess algorithm disabled
[Thu Jan 11 14:15:33.463387 2018] [:emerg] [pid 29948] AH00020: Configuration Failed, exiting

It appears that /run/httpd is missing from the system and this is described as potentially being fixed in an update:

https://bugzilla.redhat.com/show_bug.cgi?id=1215667

Workaround is to create the directory manually:

mkdir /run/httpd
chown root:apache /run/httpd
chmod 0710 /run/httpd
service httpd start
jdkruzr commented 6 years ago

Just wanted to chime in to say that it's July and this still appears to be an issue in ROCKS 7.

kirbyjason commented 6 years ago

Also noticed that after reboot, /run is there but the httpd subdir is gone. Have to recreate it manually after every reboot. Put the workaround in /etc/rc.local.

jonesuki commented 6 years ago

Encountered the same error with fresh ROCKS 7 installation (includes a total of 11 rolls: area51-7.0-0, base-7.0-2, CentOS-7.4-1708, core-7.0-2, fingerprint-7.0-0, ganglia-7.0-2, hpc-7.0-0, kernel-7.0-0, Updates-CentOS-7.4-1708-2017-12-01, yumfix-7.0-0, zfs-linux-0.7.3-2). Everything seems to be normal right after installation. But errors, including failed to start httpd due to missing /run/httpd directory, occurred after first reboot. It turned out httpd is not the only victim here. libstoragemgmt, iptables, fail2ban, named also failed to start due to missing directories under /run. These directories are supposed to be created automatically at startup with systemd-tmpfiles-setup.service, which is deleted in the startup proces: Nov 14 17:34:19 raccoon systemd: Job systemd-tmpfiles-setup.service/start deleted to break ordering cycle starting with sysinit.target/start Actually, another 11 systemd services/targets are deleted with the same reason:

  1. plymouth-read-write.service
  2. rhel-autorelabel-mark.service
  3. system-machine-id-commit.service
  4. rhel-autorelabel.service
  5. systemd-update-done.service
  6. systemd-journal-catalog-update.service
  7. systemd-update-utmp.service
  8. auditd.service
  9. rhel-import-state.service
  10. selinux-policy-migrate-local-changes@ targetd.service and
  11. local-fs.target

I traced /var/log/messages and found that ip6tables.service failed to start because of a syntax error in "/etc/lib/systemd/system/ip6tables.service", which is a know bug for (RedHat 7.4): After=syslog.target,iptables.service the comma should be space: After=syslog.target iptables.service

Magically, after I corrected the ip6tables.service file, all the 12 systemd services/targets started normally and therefore httpd and the other 4 services started normally.

I am still not sure why the failure in ip6tables.service causes such result. But the problem is solved for now.

sunracesuraj commented 5 years ago

Facing the same problem in July 2019. head Node crashes after installation as every other services fails to start. Will enabling ipv6 on the network solve the problem?

Also "/etc/lib/systemd/system/ip6tables.service" does not exists on my installation.

EllisonYim commented 4 years ago

You install rocks 7 sucessfull?I can not install the frondant node. Reoport mod_ssl-2.4.6-67.el7.centos.x86_64 requires httpd