Roberto Cornacchia wrote:
> Hi, 
> 
> I just wanted thank Rob for the help and give a conclusion to this
> thread, in case anyone else needs to replicate from some old version
> like 4.2
> 
> I first wanted to replicate from 4.2.4 to 4.8.4 (provided by CentOS 8).
> Just not possible (4.8 doesn't support replication from level 0).
> So I decided to first replicate from 4.2 to 4.6.6 (provided by CentOS
> 7). I got almost at the end, but I found too many incompatibilities. Not
> worth the effort.
> My next attempt was from 4.2.4 to 4.4.4 (provided by FC25). This
> succeeded, but had to upgrade nss to get
> past https://pagure.io/freeipa/issue/4676
> 
> Lesson learned: don't try to skip too many releases.

That's great news, I'm glad you got it working.

rob

> 
> On Fri, 24 Jul 2020 at 15:33, Roberto Cornacchia
> <[email protected] <mailto:[email protected]>> wrote:
> 
>     I actually went further - I'm really close now.
> 
>     Hinted by https://bugzilla.redhat.com/show_bug.cgi?id=1158410, I
>     adjusted 
>     /usr/share/pki/server/conf/ciphers.info <http://ciphers.info> 
>     /usr/lib/python2.7/site-packages/pki/server/deployment/pkiparser.py 
>     to use the same ciphers as ipa01.
> 
>     This worked, and it got almost to the end (with one step in between
>     - I needed to open port 8443 on ipa01):
> 
>     [root@ipa02 ~]# ipa-ca-install replica-info-ipa02.hq.spinque.com.gpg
>     Password for [email protected] <mailto:[email protected]>:
>     Directory Manager (existing master) password:
> 
>     Run connection check to master
>     Connection check OK
>     Configuring certificate server (pki-tomcatd). Estimated time: 3 minutes
>       [1/27]: configuring certificate server instance
>       [2/27]: reindex attributes
>       [3/27]: exporting Dogtag certificate store pin
>       [4/27]: stopping certificate server instance to update CS.cfg
>       [5/27]: backing up CS.cfg
>       [6/27]: disabling nonces
>       [7/27]: set up CRL publishing
>       [8/27]: enable PKIX certificate path discovery and validation
>       [9/27]: starting certificate server instance
>       [10/27]: setting audit signing renewal to 2 years
>       [11/27]: restarting certificate server
>       [12/27]: authorizing RA to modify profiles
>       [13/27]: authorizing RA to manage lightweight CAs
>       [14/27]: Ensure lightweight CAs container exists
>       [15/27]: Ensuring backward compatibility
>       [16/27]: configure certificate renewals
>       [17/27]: configure Server-Cert certificate renewal
>       [18/27]: Configure HTTP to proxy connections
>       [19/27]: restarting certificate server
>       [20/27]: updating IPA configuration
>       [21/27]: enabling CA instance
>       [22/27]: exposing CA instance on LDAP
>       [23/27]: migrating certificate profiles to LDAP
>       [24/27]: importing IPA certificate profiles
>       [25/27]: adding default CA ACL
>       [26/27]: adding 'ipa' CA entry
>       [error] HTTPRequestError: Request failed with status 404: Non-2xx
>     response from CA REST API: 404.
> 
>     The failing call was
>     https://ipa01.hq.spinque.com:8443/ca/rest/authorities/host-authority.
>     This comes after a successful POST
>     
> https://ipa01.hq.spinque.com:8443/ca/rest/profiles/KDCs_PKINIT_Certs?action=enable
> 
>     The subpath /authorities doesn't seem to exist on ipa01 - probably
>     it changed.
> 
>     Is there a workaround here?
> 
>     If not: it was almost at the end. Is it missing crucial steps or can
>     I get away with it?
> 
>     The CA is up, I'm just not sure if it is safe to use.
>     Can I check its health further than the following?
> 
>     [root@ipa02 ~]# ipa server-role-find --role "CA server"
>     ----------------------
>     2 server roles matched
>     ----------------------
>       Server name: ipa02.hq.spinque.com <http://ipa02.hq.spinque.com>
>       Role name: CA server
>       Role status: enabled
> 
>       Server name: ipa01.hq.spinque.com <http://ipa01.hq.spinque.com>
>       Role name: CA server
>       Role status: enabled
>     ----------------------------
>     Number of entries returned 2
>     ----------------------------
> 
> 
> 
>     On Fri, 24 Jul 2020 at 13:20, Roberto Cornacchia
>     <[email protected] <mailto:[email protected]>>
>     wrote:
> 
>         Thanks Rob.
> 
>         Skipping the key checks got me past that error. So the
>         connection test passes!
> 
>         Unfortunately now I have a cipher issue.
> 
>         [root@ipa02 ~]# ipa-ca-install
>         replica-info-ipa02.hq.spinque.com.gpg
>         Directory Manager (existing master) password:
> 
>         Run connection check to master
>         Connection check OK
>         Configuring certificate server (pki-tomcatd). Estimated time: 3
>         minutes
>           [1/27]: configuring certificate server instance
>         ipaserver.install.dogtaginstance: CRITICAL Failed to configure
>         CA instance: Command '/usr/sbin/pkispawn -s CA -f
>         /tmp/tmpkUNbPC' returned non-zero exit status 1
>         ipaserver.install.dogtaginstance: CRITICAL See the installation
>         logs and the following files/directories for more information:
>         ipaserver.install.dogtaginstance: CRITICAL   /var/log/pki/pki-tomcat
> 
>         /var/log/pki/pki-tomcat/ca/debug
> 
>         [http-bio-8443-exec-3]: ConfigurationUtils: GET
>         https://ipa01.hq.spinque.com:443/ca/admin/ca/getCertChain
>         javax.ws.rs.ProcessingException: Unable to invoke request
>                 at
>         
> org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.invoke(ApacheHttpClient4Engine.java:287)
>         ...
>         Caused by: java.io.IOException: SocketException cannot write on
>         socket
>                 at org.mozilla.jss.ssl.SSLSocket.write(SSLSocket.java:1503)
> 
>         ipa01:/var/log/httpd/error_log says:
>         [:error] [pid 18129] SSL Library Error: -12286 No common
>         encryption algorithm(s) with client
> 
>         I guess it makes sense, old ciphers have been disabled in the
>         newer release.
> 
>         Testing with openssl from ipa02 against ipa01, I found only
>         these being accepted:
>         AES128-SHA
>         DES-CBC3-SHA
>         RC4-SHA
>         RC4-MD5
> 
>         How can I temporarily make ipa-ca-install accept old ciphers?
>         Before running ipa-ca-install there is even no pki-tomcat
>         configured on ipa02, but running it fails. 
> 
>         Any idea?
> 
>         On Fri, 24 Jul 2020 at 00:46, Rob Crittenden
>         <[email protected] <mailto:[email protected]>> wrote:
> 
>             Roberto Cornacchia via FreeIPA-users wrote:
>             > Hi Rob,
>             >
>             > Thanks for the tip.
>             >
>             > I don't see errors that I've found before, but quite some
>             errors.
>             >
>             > In attachment is the result of 
>             > grep -v SUCCESS /var/log/httpd/error_log
>             > for today.
> 
>             IPA stopped using memcached in I think version 4.5.0. I
>             guess the key
>             size in the session grew since then.
> 
>             I'm not sure what the best workaround is. On the 4.2 servers
>             you could
>             try to modify
>             /usr/lib/python*/site-packages/ipaserver/session.py and find:
> 
>             self.mc <http://self.mc> = memcache.Client(self.servers,
>             debug=0)
> 
>             Add check_keys=False to that initialization to not check
>             sizing. That
>             could have other unintended consequences that I'm not aware of.
> 
>             Restart httpd after making this change.
> 
>             > I've also tried to replicate the error that I got with
>             > ipa-replica-install, during the server upgrade step.
>             > I ran ipa-server-upgrade -v on ipa02, and got the same error
>             > "ipaserver.install.ldapupdate: ERROR    Add failure
>             attribute "cn" not
>             > allowed".
> 
>             /var/log/ipaserver-upgrade.log should have more context.
> 
>             >
>             > I also see something else that is strane in the output
>             > of ipa-server-upgrade -v:
>             >
>             > Failed to check CA status: cannot connect to
>             > 'http://ipa01.hq.spinque.com:8080/ca/admin/ca/getStatus':
>             [Errno 113] No
>             > route to host
>             >
>             > I wonder why 8080. Shouldn't this be on 80?
> 
>             Try opening port 8080. It tries to contact the CA directly
>             and not
>             through the Apache proxy.
> 
>             >
>             > [root@ipa02 ~]# curl
>             > 'http://ipa01.hq.spinque.com:8080/ca/admin/ca/getStatus'
>             > curl: (7) Failed connect to ipa01.hq.spinque.com:8080
>             <http://ipa01.hq.spinque.com:8080>
>             > <http://ipa01.hq.spinque.com:8080>; No route to host
>             >
>             > [root@ipa02 ~]# curl
>             'http://ipa01.hq.spinque.com/ca/admin/ca/getStatus'
>             > <?xml version="1.0" encoding="UTF-8"
>             >
>             
> standalone="no"?><XMLResponse><State>1</State><Type>CA</Type><Status>running</Status><Version>10.2.6-20.fc23</Version></XMLResponse>
>             >
>             > Roberto
>             >
>             > On Thu, 23 Jul 2020 at 19:08, Rob Crittenden
>             <[email protected] <mailto:[email protected]>
>             > <mailto:[email protected] <mailto:[email protected]>>>
>             wrote:
>             >
>             >     Roberto Cornacchia via FreeIPA-users wrote:
>             >     > ipa-replica-conncheck fails with --auto-master-check
>             (used by
>             >     > ipa-ca-install), but not without:
>             >     >
>             >     >
>             >     > [root@ipa02 ~]# /usr/sbin/ipa-replica-conncheck --master
>             >     > ipa01.hq.spinque.com <http://ipa01.hq.spinque.com>
>             <http://ipa01.hq.spinque.com>
>             >     <http://ipa01.hq.spinque.com> --auto-master-check
>             >     > --realm HQ.SPINQUE.COM <http://HQ.SPINQUE.COM>
>             <http://HQ.SPINQUE.COM>
>             >     <http://HQ.SPINQUE.COM> --hostname
>             >     > ipa02.hq.spinque.com <http://ipa02.hq.spinque.com>
>             <http://ipa02.hq.spinque.com>
>             >     <http://ipa02.hq.spinque.com>
>             >     > Check connection from replica to remote master
>             >     'ipa01.hq.spinque.com <http://ipa01.hq.spinque.com>
>             <http://ipa01.hq.spinque.com>
>             >     > <http://ipa01.hq.spinque.com>':
>             >     >    Directory Service: Unsecure port (389): OK
>             >     >    Directory Service: Secure port (636): OK
>             >     >    Kerberos KDC: TCP (88): OK
>             >     >    Kerberos Kpasswd: TCP (464): OK
>             >     >    HTTP Server: Unsecure port (80): OK
>             >     >    HTTP Server: Secure port (443): OK
>             >     >
>             >     > The following list of ports use UDP protocoland
>             would need to be
>             >     > checked manually:
>             >     >    Kerberos KDC: UDP (88): SKIPPED
>             >     >    Kerberos Kpasswd: UDP (464): SKIPPED
>             >     >
>             >     > Connection from replica to master is OK.
>             >     > Start listening on required ports for remote master
>             check
>             >     > 389 tcp: Failed to bind
>             >     > 636 tcp: Failed to bind
>             >     > 88 tcp: Failed to bind
>             >     > 88 udp: Failed to bind
>             >     > 464 tcp: Failed to bind
>             >     > 464 udp: Failed to bind
>             >     > 80 tcp: Failed to bind
>             >     > 443 tcp: Failed to bind
>             >     > Get credentials to log in to remote master
>             >     > Check RPC connection to remote master
>             >     > trying https://ipa01.hq.spinque.com/ipa/session/json
>             >     > *Connection to
>             https://ipa01.hq.spinque.com/ipa/session/json
>             >     failed with
>             >     > <ProtocolError for
>             ipa01.hq.spinque.com/ipa/session/json
>             <http://ipa01.hq.spinque.com/ipa/session/json>
>             >     <http://ipa01.hq.spinque.com/ipa/session/json>
>             >     > <http://ipa01.hq.spinque.com/ipa/session/json>: 500
>             Internal
>             >     Server Error>*
>             >     > trying https://ipa02.hq.spinque.com/ipa/session/json
>             >     > [try 1]: Forwarding 'schema' to json server
>             >     > 'https://ipa02.hq.spinque.com/ipa/session/json'
>             >     > trying https://ipa01.hq.spinque.com/ipa/session/json
>             >     > Connection to
>             https://ipa01.hq.spinque.com/ipa/session/json failed
>             >     with
>             >     > <ProtocolError for
>             ipa01.hq.spinque.com/ipa/session/json
>             <http://ipa01.hq.spinque.com/ipa/session/json>
>             >     <http://ipa01.hq.spinque.com/ipa/session/json>
>             >     > <http://ipa01.hq.spinque.com/ipa/session/json>: 500
>             Internal
>             >     Server Error>
>             >     > trying https://ipa02.hq.spinque.com/ipa/session/json
>             >     > [try 1]: Forwarding 'ping/1' to json server
>             >     > 'https://ipa02.hq.spinque.com/ipa/session/json'
>             >     > Execute check on remote master
>             >     > [try 1]: Forwarding 'server_conncheck' to json server
>             >     > 'https://ipa02.hq.spinque.com/ipa/session/json'
>             >     > *ERROR: Remote master check failed with following
>             error message(s):
>             >     > invalid 'cn': must be "ipa02.hq.spinque.com
>             <http://ipa02.hq.spinque.com>
>             >     <http://ipa02.hq.spinque.com>
>             <http://ipa02.hq.spinque.com>"*
>             >     >
>             >     >
>             >     > Now, without --auto-master-check:
>             >     >
>             >     > On ipa02 (I suppose the many "Failed to bind" below
>             are expected?):
>             >     > [root@ipa02 ~]# /usr/sbin/ipa-replica-conncheck --master
>             >     > ipa01.hq.spinque.com <http://ipa01.hq.spinque.com>
>             <http://ipa01.hq.spinque.com>
>             >     <http://ipa01.hq.spinque.com>  --realm
>             >     > HQ.SPINQUE.COM <http://HQ.SPINQUE.COM>
>             <http://HQ.SPINQUE.COM> <http://HQ.SPINQUE.COM>
>             >     --hostname ipa02.hq.spinque.com
>             <http://ipa02.hq.spinque.com> <http://ipa02.hq.spinque.com>
>             >     > <http://ipa02.hq.spinque.com>
>             >     > Check connection from replica to remote master
>             >     'ipa01.hq.spinque.com <http://ipa01.hq.spinque.com>
>             <http://ipa01.hq.spinque.com>
>             >     > <http://ipa01.hq.spinque.com>':
>             >     >    Directory Service: Unsecure port (389): OK
>             >     >    Directory Service: Secure port (636): OK
>             >     >    Kerberos KDC: TCP (88): OK
>             >     >    Kerberos Kpasswd: TCP (464): OK
>             >     >    HTTP Server: Unsecure port (80): OK
>             >     >    HTTP Server: Secure port (443): OK
>             >     >
>             >     > The following list of ports use UDP protocoland
>             would need to be
>             >     > checked manually:
>             >     >    Kerberos KDC: UDP (88): SKIPPED
>             >     >    Kerberos Kpasswd: UDP (464): SKIPPED
>             >     >
>             >     > Connection from replica to master is OK.
>             >     > Start listening on required ports for remote master
>             check
>             >     > 389 tcp: Failed to bind
>             >     > 636 tcp: Failed to bind
>             >     > 88 tcp: Failed to bind
>             >     > 88 udp: Failed to bind
>             >     > 464 tcp: Failed to bind
>             >     > 464 udp: Failed to bind
>             >     > 80 tcp: Failed to bind
>             >     > 443 tcp: Failed to bind
>             >     > Listeners are started. Use CTRL+C to terminate the
>             listening part
>             >     after
>             >     > the test.
>             >     >
>             >     > Please run the following command on remote master:
>             >     > /usr/sbin/ipa-replica-conncheck --replica
>             ipa02.hq.spinque.com <http://ipa02.hq.spinque.com>
>             >     <http://ipa02.hq.spinque.com>
>             >     > <http://ipa02.hq.spinque.com>
>             >     > ^C
>             >     > Cleaning up...
>             >     >
>             >     > On ipa01:
>             >     > [root@ipa01 ~]# /usr/sbin/ipa-replica-conncheck
>             --replica
>             >     > ipa02.hq.spinque.com <http://ipa02.hq.spinque.com>
>             <http://ipa02.hq.spinque.com>
>             >     <http://ipa02.hq.spinque.com>
>             >     > Check connection from master to remote replica
>             >     'ipa02.hq.spinque.com <http://ipa02.hq.spinque.com>
>             <http://ipa02.hq.spinque.com>
>             >     > <http://ipa02.hq.spinque.com>':
>             >     >    Directory Service: Unsecure port (389): OK
>             >     >    Directory Service: Secure port (636): OK
>             >     >    Kerberos KDC: TCP (88): OK
>             >     >    Kerberos KDC: UDP (88): WARNING
>             >     >    Kerberos Kpasswd: TCP (464): OK
>             >     >    Kerberos Kpasswd: UDP (464): WARNING
>             >     >    HTTP Server: Unsecure port (80): OK
>             >     >    HTTP Server: Secure port (443): OK
>             >     > The following UDP ports could not be verified as
>             open: 88, 464
>             >     > This can happen if they are already bound to an
>             application
>             >     > and ipa-replica-conncheck cannot attach own UDP
>             responder.
>             >     >
>             >     > Connection from master to replica is OK.
>             >     >
>             >     >
>             >     >
>             >     > On Thu, 23 Jul 2020 at 15:15, Roberto Cornacchia
>             >     > <[email protected]
>             <mailto:[email protected]>
>             >     <mailto:[email protected]
>             <mailto:[email protected]>>
>             >     <mailto:[email protected]
>             <mailto:[email protected]>
>             >     <mailto:[email protected]
>             <mailto:[email protected]>>>> wrote:
>             >     >
>             >     >     Hi, 
>             >     >
>             >     >     I have successfully created a replica from a
>             4.2.4 master (ipa01)
>             >     >     into a new 4.6.6 master (ipa02).
>             >     >
>             >     >     I did it without --setup-ca option (because it
>             had failed), so the
>             >     >     only CA is still on the 4.2.4 server (ipa01).
>             >     >
>             >     >     When I try to setup theCA on ipa02 (the same
>             replica file was used
>             >     >     with ipa-replica-install), this fails:
>             >     >
>             >     >     $ ipa-ca-install
>             replica-info-ipa02.hq.spinque.com.gpg 
>             >     >     Directory Manager (existing master) password:
>             >     >
>             >     >     Run connection check to master
>             >     >
>             >     >     Your system may be partly configured.
>             >     >     Run /usr/sbin/ipa-server-install --uninstall to
>             clean up.
>             >     >
>             >     >     Connection check failed!
>             >     >     See /var/log/ipareplica-conncheck.log for more
>             information.
>             >     >     If the check results are not valid it can be
>             skipped with
>             >     >     --skip-conncheck parameter.
>             >     >
>             >     >     The log of conncheck (generated by
>             ipa-ca-install) is in
>             >     attachment.
>             >     >     In there, I can see a couple of things going wrong:
>             >     >
>             >     >     ProtocolError: <ProtocolError for
>             >     >     ipa01.hq.spinque.com/ipa/session/json
>             <http://ipa01.hq.spinque.com/ipa/session/json>
>             >     <http://ipa01.hq.spinque.com/ipa/session/json>
>             >     >     <http://ipa01.hq.spinque.com/ipa/session/json>:
>             500 Internal
>             >     Server
>             >     >     Error>
>             >     >     ...
>             >     >     2020-07-23T12:20:50Z ERROR ERROR: Remote master
>             check failed with
>             >     >     following error message(s):
>             >     >     invalid 'cn': must be "ipa02.hq.spinque.com
>             <http://ipa02.hq.spinque.com>
>             >     <http://ipa02.hq.spinque.com>
>             >     >     <http://ipa02.hq.spinque.com>"
>             >     >
>             >     >     Not sure if relevant, but also
>             ipa-replica-install, though it
>             >     >     completed successfully, gave this error:
>             >     >
>             >     >     Upgrading IPA:. Estimated time: 1 minute 30 seconds
>             >     >       [1/10]: stopping directory server
>             >     >       [2/10]: saving configuration
>             >     >       [3/10]: disabling listeners
>             >     >       [4/10]: enabling DS global lock
>             >     >       [5/10]: disabling Schema Compat
>             >     >       [6/10]: starting directory server
>             >     >       [7/10]: upgrading server
>             >     >     ipaserver.install.ldapupdate: ERROR    Add
>             failure attribute "cn"
>             >     >     not allowed
>             >     >       [8/10]: stopping directory server
>             >     >       [9/10]: restoring configuration
>             >     >       [10/10]: starting directory server
>             >     >
>             >     >
>             >     >     Could you please help me find the issue?
>             >
>             >     Look on ipa01.hq.spinque.com
>             <http://ipa01.hq.spinque.com> <http://ipa01.hq.spinque.com> in
>             >     /var/log/httpd/error_log for those
>             >     internal errors.
>             >
>             >     rob
>             >
>             >
>             > _______________________________________________
>             > FreeIPA-users mailing list --
>             [email protected]
>             <mailto:[email protected]>
>             > To unsubscribe send an email to
>             [email protected]
>             <mailto:[email protected]>
>             > Fedora Code of Conduct:
>             https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>             > List Guidelines:
>             https://fedoraproject.org/wiki/Mailing_list_guidelines
>             > List Archives:
>             
> https://lists.fedorahosted.org/archives/list/[email protected]
>             >
> 
_______________________________________________
FreeIPA-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/[email protected]

Reply via email to