Bug 1476290

Summary: ipa-server installation using ipa-server-docker image fails when using external certificate
Product: Red Hat Enterprise Linux 7 Reporter: Nikhil Dehadrai <ndehadra>
Component: ipa-server-containerAssignee: Petr Vobornik <pvoborni>
Status: CLOSED DEFERRED QA Contact: Nikhil Dehadrai <ndehadra>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: pcech, richard.h.hephner.ctr, slaznick
Target Milestone: rcKeywords: Extras
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-01-06 11:15:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1405325    

Description Nikhil Dehadrai 2017-07-28 14:05:03 UTC
Description of problem:
ipa-server installation using ipa-server-docker image fails when using external certificate

Version-Release number of selected component (if applicable):
ipa-docker image: 4.5.0.8

IPA-VERSION:
ipa-server-4.5.0-21.el7.x86_64

Atomic host version:
-bash-4.2# atomic host status
State: idle
Deployments:
● atomic-host:rhel-atomic-host/7/x86_64/standard
                Version: 7.4.0 (2017-07-28 00:26:01)
                 Commit: 846fb0e18e65bd9a62fc9d952627413c6467c33c2d726449a1d7ad7690bbb93a

How reproducible:
Always

Steps to Reproduce:
1. atomic install --name ipadocker rhel7/ipa-server net-host --hostname=`hostname` --external-ca --setup-dns --ip-address=$addr --forwarder=$fwder -r EXAMPLE.TEST -a Secret123 -p Secret123 --no-ntp -U
2. cp /var/lib/ipadocker/ipa.csr /root/
3. ls /root/ipa.csr 
4. mkdir /var/tmp/testdb ; cd /var/tmp/testdb
5. certutil -N -d . --empty-password
6. echo -e "5\n9\nn\ny\n10\ny\n5\n6\n7\n9\nn\n" | certutil -S -n "IPA ROOTCA certificate" -s "cn=CAcert" -x -t "CT,," -m 1000 -v 120 -d . -z /etc/hostname -2 -1 -5
7. certutil -L -d . -n "IPA ROOTCA certificate" -a > iparootca.crt
8. certutil -C -m 2346 -i /root/ipa.csr -o /root/ipa.crt -c "IPA ROOTCA certificate" -d . -a
9. cp /var/tmp/testdb/iparootca.crt /var/lib/ipadocker/.
10. cp /root/ipa.crt /var/lib/ipadocker/.
11. ls /var/lib/ipadocker/ipa.crt
12. ls /var/lib/ipadocker/iparootca.crt 
13. atomic run --name ipadocker rhel7/ipa-server --external-cert-file=/data/ipa.crt --external-cert-file=/data/iparootca.crt -r EXAMPLE.TEST -a Secret123 -p Secret123 --no-ntp -U


Actual results:
After step13, ipa-server installation fails:

atomic run --name ipadocker rhel7/ipa-server --external-cert-file=/data/ipa.crt --external-cert-file=/data/iparootca.crt -r EXAMPLE.TEST -a Secret123 -p Secret123 --no-ntp -U
docker run -h auto-hv-01-guest03.example.test --net=host --rm --name ipadocker -v /var/lib/ipadocker:/data:Z -v /sys/fs/cgroup:/sys/fs/cgroup:ro --tmpfs /run --tmpfs /tmp -v /dev/urandom:/dev/random:ro rhel7/ipa-server --external-cert-file=/data/ipa.crt --external-cert-file=/data/iparootca.crt -r EXAMPLE.TEST -a Secret123 -p Secret123 --no-ntp -U

This container uses privileged security switches:

INFO: --net=host 
      Processes in this container can listen to ports (and possibly rawip traffic) on the host's network.

For more information on these switches and their security implications, consult the manpage for 'docker run'.

Fri Jul 28 13:50:25 UTC 2017 /usr/sbin/ipa-server-configure-first 
Failed to start Directory Service: Command '/bin/systemctl start dirsrv' returned non-zero exit status 1
Skipping version check
Starting Directory Service

The log file for this installation can be found in /var/log/ipaserver-install.log
==============================================================================
This program will set up the IPA Server.

This includes:
  * Configure a stand-alone CA (dogtag) for certificate management
  * Create and configure an instance of Directory Server
  * Create and configure a Kerberos Key Distribution Center (KDC)
  * Configure Apache (httpd)
  * Configure the KDC to enable PKINIT

Excluded by options:
  * Configure the Network Time Daemon (ntpd)

The domain name has been determined based on the host name.


The IPA Master Server will be configured with:
Hostname:       auto-hv-01-guest03.example.test
IP address(es): 10.x.x.x
Domain name:    example.test
Realm name:     EXAMPLE.TEST

FreeIPA server configuration failed.



Expected results:
IPA server installation should be successful using external certificate.

Comment 5 richard.h.hephner.ctr 2019-01-24 20:14:52 UTC
I'm seeing this in a production environment. Has there been any movement on this? Are there any workarounds that you recommend? Thanks.

Comment 7 Petr Čech 2021-01-06 11:15:42 UTC
This BZ has been evaluated multiple times over the last several years and we assessed that it is a valuable request to keep in the backlog and address it at some point in future. Time showed that we did not have such capacity, nor have it now nor will have in the foreseeable future. In such a situation keeping it in the backlog is misleading and setting the wrong expectation that we will be able to address it. Unfortunately we will not. To reflect this we are closing this BZ. If you disagree with the decision please reopen or open a new support case and create a new BZ. However this does not guarantee that the request will not be closed during the triage as we are currently applying much more rigor to what we actually can accomplish in the foreseeable future. Contributions and collaboration in the upstream community and CentOS Stream is always welcome!
Thank you for understanding
Red Hat Enterprise Linux Identity Management Team