Troubleshooting Registering Cloned Clients

Sometimes a cloned client (either traditional or Salt) will use the same machine ID as the system they are a clone of. This results in Uyuni only recognizing one system, rather than two different systems. This can be resolved by changing the machine ID of the cloned system, so that Uyuni recognizes them as two different clients.

Each step of this procedure is performed on the cloned system. This procedure does not manipulate the original system, which will still be registered to Uyuni. The cloned virtual machine must have a different UUID than the original (the UUID is generated by your hypervisor), otherwise Uyuni will override the original system data with the new data.

Procedure: Resolving Duplicate Machine IDs in Cloned Salt Clients
  1. For SLES 12: If your machines have the same machine ID, delete the file on each client and re-create it:

    # rm /etc/machine-id
    # rm /var/lib/dbus/machine-id
    # dbus-uuidgen --ensure
    # systemd-machine-id-setup
  2. For SLES 11: As there is no systemd machine ID, generate one from dbus:

    # rm /var/lib/dbus/machine-id
    # dbus-uuidgen --ensure
  3. If your machines still have the same Salt client ID, delete the minion_id file on each client (FQDN will be used when it is regenerated on client restart):

    # rm /etc/salt/minion_id
  4. Delete accepted keys from the Onboarding page and the system profile from Uyuni, and restart the client with:

    # service salt-minion restart
  5. Re-register the clients. Each client will now have a different /etc/machine-id and should now be correctly displayed on the Uyuni System Overview page.

Procedure: Resolving Duplicate Machine IDs in Cloned Traditional Clients
  1. On the cloned machine, change the hostname and IP addresses. Make sure /etc/hosts contains the changes you made and the correct host entries.

  2. Stop the rhnsd daemon, on Red Hat Enterprise Linux Server 6 and SUSE Linux Enterprise 11 with:

    # /etc/init.d/rhnsd stop

    or, on newer systemd-based systems, with:

    # service rhnsd stop
  3. Stop osad with:

    # /etc/init.d/osad stop

    or:

    # service osad stop

    or:

    # rcosad stop
  4. Remove the osad authentication configuration file and the system ID:

    # rm -f /etc/sysconfig/rhn/{osad-auth.conf,systemid}
  5. Delete the files containing the machine IDs:

    • SLES 12:

      # rm /etc/machine-id
      # rm /var/lib/dbus/machine-id
      # dbus-uuidgen --ensure
      # systemd-machine-id-setup
    • SLES 11:

      # suse_register -E
    • SLES 10:

      # rm -rf /etc/{zmd,zypp}
      # rm -rf /var/lib/zypp/!(db)
      # rm -rf /var/lib/zmd/
  6. Remove the credential files:

    • SLES clients:

      # rm -f /etc/zypp/credentials.d/{SCCcredentials,NCCcredentials}
    • Red Hat Enterprise Linux clients:

      # rm  -f /etc/NCCcredentials
  7. Re-run the bootstrap script. You should now see the cloned system in Uyuni without overriding the system it was cloned from.