We have a certain end condition that's troubling.    I'm guessing we can just throw a flag to realm join, or put a setting in /etc/realmd.conf to fix.  Let me explain.

Here's the usual situation.  New fresh build.  We join the AD domain as so:

realm join -v --automatic-id-mapping=no --computer-ou="OU=Servers,OU=UNIX,DC=$SUPPORTREGION,DC=COMPANY,DC=COM"  --user-principal="host/`hostname --fqdn`@$JOINDOMAIN"  $JOINDOMAIN

Fresh build -- this works fine.  This creates the machine object in AD, in our specific OU.  Sets the hosts credentials in that machine object, saves these host credentials in /etc/krb5.keytab file.

Life is good.

When we re-image a server, hopefully we remember to do a 'realm leave <DOMAIN>' prior to re-imaging.  That goes out, destroys the AD machine object in our OU, possibly other cleanups.

Then we re-image.  realm join (as above) finds no AD object, it does the usual.  Life is good.

Here's the end condition that isn't good.  If we re-image and we've forgotten to 'realm leave <DOMAIN>', then a pre-existing AD object exists already in our OU.  By the desired name.

In that case, when we re-image the above 'realm join' invocation does not overwrite the host creds in this pre-existing machine object.  And does not create an /etc/krb5.keytab file.

Because it does not create an /etc/krb5.keytab file the 'realm join' does not fully successfully complete.

We have experience with a previous (3rd party) AD integration product.  In that product, if you have a pre-existing AD object, it informs you an AD object has been found, existing configuration will be overwritten.  Then it updates the host creds in that pre-existing machine object and it lays down a keytab file with the host creds.

That is, if it finds a pre-existing AD machine object it soldiers on anyway.

We'd like to tweak our realm join to do that behavior.  If pre-existing AD machine object detects, overwrite the host creds in that machine object and create /etc/krb5.keytab file with those same host creds.  I.e., soldier on.

What flag do we throw to realm join to do that?  Or what setting in /etc/realmd.conf do we set?

This is on RHEL7 (sssd version 1.16.2-13) and RHEL8 (sssd version 2.0.0-23).