[Freeipa-devel] [PATCH] Patch to allow IPA to work with dogtag 10 on f18

Ade Lee alee at redhat.com
Tue Sep 11 14:28:11 UTC 2012


On Tue, 2012-09-11 at 08:59 -0400, Rob Crittenden wrote:
> Petr Viktorin wrote:
> > On 09/11/2012 04:04 AM, Ade Lee wrote:
> >> On Mon, 2012-09-10 at 16:58 -0400, Rob Crittenden wrote:
> >>> Petr Viktorin wrote:
> >>>> Attaching rebased and squashed patches. I've done some testing with
> >>>> them
> >>>> but please test some more.
> >>>>
> >>>
> >>> Most of these aren't IPA issues, but dogtag issues. I'll try to split
> >>> them out.
> >>>
> >>> IPA:
> >>>
> >>> For the configuration files in install/conf to be updated at rpm update
> >>> time the VERSION needs to be incremented.
> >
> > These files should stay the same since on upgrade we're still using a
> > Dogtag 9 style instance. The Dogtag 10 ports are only used in new installs.
> >
> >>> The ipa package lacks any updated dogtag dependencies, so I abused it.
> >
> > What should the updated dependencies be? Since it should work with both
> > dogtag 9 and 10, I don't see how they should change.
> 
> I don't know either, but we need to prevent people from installing 
> incompatible package combinations.
> 
Would'nt the Conflicts: ipa < 3.0 in pki-ca mentioned below satisfy this
requirement?  The main concern is that you must have ipa 3.0 if you have
dogtag 10.

Given that dogtag is consumed by IPA though, it makes more sense to put
the relevant conflicts in IPA rather than in dogtag.  So in this case,
that would mean putting Conflicts: pki-ca >= 10.0 in IPA 2.x.
Recall that dogtag 10 will only be officially available in f18+.

> >>> I installed IPA with dogtag 9 and created a replica.
> >>>
> >>> I updated the IPA bits, that worked fine.
> >>>
> >>> I updated to dogtag 10 and now the CA doesn't work on the master,
> >>> including starting the dogtag instance. Note that the rpm update process
> >>> worked, no notice that the CA service didn't restart.
> >>>
> >> Did you try to restart the CA with selinux in permissive mode?  This is
> >> still required right now until I get the selinux policy all straightened
> >> out.
> >>
> >> There is also a separate dogtag ticket (which is currently being worked
> >> on) to restart existing dogtag instances when dogtag is upgraded from
> >> 9->10.
> >
> > In permissive mode, this upgrade works for me.
> 
> I was in enforcing mode but saw no AVCs. What is the ETA on fixing this?
> 

Within the next week or two, I need to finish the IPA merge database
patch first, and then co-ordinate changes with the selinux guys.

> >
> >
> > Sometimes I do get this error intermittently:
> >
> > ipa: ERROR: Certificate operation cannot be completed: Unable to
> > communicate with CMS (Service Temporarily Unavailable)
> >
> > Usually, waiting a couple of minutes clears this up. Perhaps we are not
> > doing startup detection correctly. Ade mentioned that waiting for ports
> > may not be ideal. How do we know if Dogtag is initialized?
> 
> Years ago we had discussed with Andrew and Matt creating a URI that can 
> be queried to determine dogtag status. I don't think that ever went 
> anywhere.
> 
Petr, this happens only on reboot, right?  And not on regular "service
ipa restart"?

Yeah, I remember this conversation - and even created a bug for it at
some point.  This went away because the mechanism you were using seemed
to be working.  The timing may be very different now with tomcat 7 and
systemd.  I'll open a dogtag trac ticket for this.

> >
> >>> Uninstalling failed because it tried to run pkidestroy and not
> >>> pkiremove.
> >
> > I was under the impression that pkidestroy was the correct command to
> > remove an upgraded instance. I'll check with Ade.
> >
> >> I'll test this too.
> >>
> >>> The contents of the file passed to pkispawn should be logged so we can
> >>> see exactly what was passed in.
> >>>
> >> Its a pretty big file.  You might want to only log the modifications.
> >> Or save the file somewhere.
> >
> > Our logs are pretty verbose, so that shouldn't be a problem. I'll put it
> > in the next version of the patch.
> 
> The question to ask is: would you need the contents of this file if all 
> you got were logs and needed to evaluate why installation failed? In 
> most cases this is yes.
> 
Up to you guys.  There is a patch I am working on in which I will be
logging the object that is being passed to the server from pkispawn.
That - and the diffs to the standard config file as I mentioned above -
will likely be sufficient to debug almost all cases.  

Make sure not to log any passwords.
 
> >>> DOGTAG:
> >>>
> >>> When upgrading using the dogtag-devel repo I had to specify
> >>> pki-tools.x86_64 otherwise it tried to install both 32 and 64-bit
> >>> versions (and failed).
> >>>
> >>> I ended up running: yum update pki-ca tomcatjss pki-tools.x86_64
> >>> --enablerepo=dogtag-devel --enablerepo=updates-testing
> >>>
> >> We'll look into this.  I think I know why this happens.
> >>
> >>> What happens if someone manually upgrades pki-ca without first updating
> >>> ipa? I think that pki-ca is going to need a Conflicts ipa < 3.0 in it.
> >>
> >> We can add that.
> >>
> >>> certificate renewal failed. I spent far too long trying to figure out
> >>> why tomcat wasn't listening on port 9180 but failed. I think 9180 is
> >>> actually the old server, right? So another missing dependency on a fixed
> >>> certmonger?
> >>>
> >>> The best I could find was the certmonger error:
> >>>
> >>> ca-error: Error 7 connecting to
> >>> http://edsel.example.com:9180/ca/ee/ca/profileSubmit: Couldn't connect
> >>> to server.
> >>>
> >
> > I'll set the certmonger min version to 0.60 as per Nalin's mail.
> 
> Ok.
> 
> >> Is this cert renewal on a dogtag 10 instance?  Or the upgraded dogtag 9?
> >> If its dogtag 10, perhaps you do not have the certmonger version that
> >> has the relevant fix?  If its dogtag 9, then we need to figure out whats
> >> going on.  That reminds me - I need to file a bug to allow certmonger to
> >> talk to the newly defined dogtag ports.  Do you have selinux permissive?
> >>
> >>> There is no man page for pkispawn/pkidestroy :-( According to the FHS
> >>> these should not be in /bin but in /usr/sbin (not end-user commands).
> >>>
> >> There is a trac ticket open for man pages for pkispawn and pkidestroy.
> >> We plan to complete this ticket by the time f18 is released.
> >>
> >> We'll look into the location of pkispawn/pkicreate.
> >>
> >>> The output of pkicreate/pkisilent was really terrible and not usable at
> >>> all so we didn't display it when failures occurred. It looks like that
> >>> has been addressed, at least for the case where a CA is already
> >>> configured and you try to install IPA. Perhaps we should capture stderr
> >>> and display that instead of the command-line of pkispawn? Again, a man
> >>> page would help with the integration.
> >>>
> >>> 2012-09-10T20:51:45Z DEBUG   [2/18]: configuring certificate server
> >>> instance
> >>> 2012-09-10T20:51:45Z DEBUG args=/bin/pkispawn -s CA -f /tmp/tmp_Urraq
> >>> 2012-09-10T20:51:45Z DEBUG stdout=
> >>> 2012-09-10T20:51:45Z DEBUG stderr=pkispawn    : ERROR    ....... PKI
> >>> subsystem 'CA' for instance 'pki-tomcat' already exists!
> >>>
> >>> 2012-09-10T20:51:45Z CRITICAL failed to configure ca instance Command
> >>> '/bin/pkispawn -s CA -f /tmp/tmp_Urraq' returned non-zero exit status 1
> >>>
> >> That may be a good idea.  Of course. thats an IPA thing, right?
> 
> Right, not a show-stopper for this but a new ticket should be opened to 
> track it.
> 
> rob
> 





More information about the Freeipa-devel mailing list