Satellite 6: Capsule installer fails with "Could not start Service[httpd]"

Solution In Progress - Updated -

Environment

  • Satellite and Capsule 6.2.x
  • Red Hat Enterprise Linux 7

Issue

  • "satellite-installer --scenario capsule" command fails with "Could not start Service[httpd]"
  • Can't install capsule because of puppet certificate error

Resolution

  • Remove all katello related configuration and packages
$ capsule-remove

WARNING: This script will erase many packages and config files.
Important packages such as the following will be removed:

  * httpd (apache)
  * mongodb
  * tomcat
  * puppet
  * ruby
  * rubygems
  * All Satellite Packages

Once these packages and configuration files are removed there is no going back.
If you use this system for anything other than Satellite you probably
do not want to execute this script.

Read the source for a list of what is removed.  Are you sure(Y/N)? Y

ARE YOU SURE?: This script permanently deletes data and configuration.
Read the source for a list of what is removed.  Type [remove] to continue? remove

....
Complete!
Cleaning up configuration files
Cleaning up log files
Cleaning up Certs
  • Disable rhel-7-server-satellite-tools-6.2-rpms repository
  • Install satellite-capsule
$ yum install satellite-capsule
  • Run the installer with all required parameters as per documentation

Root Cause

Most likely that the system was provisioned via Satellite and katello-agent and puppet packages were installed automatically. It's required to remove them before installing capsule.

Diagnostic Steps

  • /var/log/foreman-installer/capsule.log contains:
[ERROR 2016-10-20 13:17:46 verbose]  Could not start Service[httpd]: Execution of '/usr/share/katello-installer-base/modules/service_wait/bin/service-wait start httpd' returned 1: Redirecting to /bin/systemctl start  httpd.service
[ INFO 2016-10-20 13:17:46 verbose] Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
  • "systemctl status httpd.service" reports the following error
Oct 20 13:17:46 capsule1.example.com systemd[1]: Starting The Apache HTTP Server...
Oct 20 13:17:46 capsule1.example.com httpd[60703]: AH00526: Syntax error on line 36 of /etc/httpd/conf.d/25-puppet.conf:
Oct 20 13:17:46 capsule1.example.com httpd[60703]: SSLCertificateChainFile: file '/var/lib/puppet/ssl/ca/ca_crt.pem' does not exist or is empty
Oct 20 13:17:46 capsule1.example.com systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
  • katello-capsule and katello-agent packages are installed on the capsule server
$ rpm -qa | grep katello
...
katello-agent-2.5.0-5.el7sat.noarch
katello-capsule-3.0.0-13.el7sat.noarch
...

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments