ipa-migrate(1)

πŸ“¦ version 4.13.4, in centos-stream 10, centos-stream 9, fedora 43, fedora 44

✨ ipa-migrate(1) ✨

okay so bestie, we're reading the ipa-migrate page from the IPA Manual Pages, and it's literally about moving a whole IPA server from one machine to another. no cap, this is main character energy for sysadmins πŸ’…


🌸 NAME 🌸

ipa-migrate β€” migrate an IPA server from one machine to another πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

ipa-migrate [OPTIONS] prod-mode|stage-mode hostname

πŸ’– DESCRIPTION πŸ’–

so the whole vibe of ipa-migrate is: you take one IPA server hostname and you migrate it into an existing local IPA server installation. that's the assignment. periodt.

you're migrating the IPA schema, configuration, and database over to a local IPA server. and here's the cute part β€” this migration can be done online, where the tool just goes and queries the remote server, or offline, where you hand it LDIF files. and you can mix and match those two!! so like, imagine migrating the schema and configuration online, and then using an exported LDIF file just for the database migration portion. that's lowkey super useful for very large databases, because then you don't need to worry about network interruptions πŸ’€βœ¨

  • prod-mode β€” in this mode, everything gets migrated, including the current user SIDs and DNA ranges. full send. πŸ‘‘
  • stage-mode β€” in this mode, SIDs & DNA ranges are not migrated, and DNA attributes are reset. it's giving "rehearsal, not the real show" 🎭

✨ OPTIONS ✨

  • -v, --verbose β€” use verbose output while running the migration tool. she talks a lot. we love her for it πŸ—£οΈ
  • -D, --bind-dn=BIND_DN β€” the Bind DN (Distinguished Name), i.e. an LDAP entry, to bind to the remote IPA server with. typically this is "cn=directory manager", but honestly it could be any entry that has access to read the userPassword attribute. if it's ommitted, the default is "cn=directory manager" πŸ”‘
  • -w, --bind-pw=PASSWORD β€” the password for the Bind DN that's authenticating against the remote IPA server. if a password is not provided, then the tool will prompt for the password if needed 🫢
  • -j, --bind-pw-file=FILE_PATH β€” path to a file containing the password for the Bind DN πŸ“„
  • -Z, --cacertfile=FILE_PATH β€” path to a file containing a CA Certificate that the remote server trusts πŸ”’
  • -l, --log-file=FILE_PATH β€” path to a file containing the migration log. by default the tool will use /var/log/ipa-migrate.log πŸ“
  • -x, --dryrun β€” go through the whole migration process but do not write any data to the new IPA server. purely a vibe check 🧚
  • -o, --dryrun-record=FILE_PATH β€” go through the migration process but do not write any data to the new IPA server. however, write the migration operations to an LDIF file, which can be applied later or reused for multiple migrations. iconic reuse behaviour ♻️
  • -r, --reset-range β€” reset the ID range for migrated users/groups. in "stage-mode" this is done automatically 🎯
  • -F, --force β€” ignore any errors and continue to proceed with the migration effort. chaotic. use with care 😭
  • -q, --quiet β€” only log errors during the migration process 🀫
  • -B, --migrate-dns β€” migrate the DNS records 🌐
  • -S, --skip-schema β€” do not migrate the database schema πŸ™ˆ
  • -C, --skip-config β€” do not migrate the database configuration (dse.ldif/cn=config) πŸ™ˆ
  • -O, --schema-overwrite β€” overwrite existing schema definitions. by default, duplicate schema is skipped ✨
  • -s, --subtree=DN β€” specifies a custom database subtree that should be included in the migration. this is only needed if non-default subtrees/branches were added to the database outside of IPA 🌳
  • -f, --db-ldif=FILE_PATH β€” LDIF file containing the entire backend. if omitted, the tool will query the remote IPA server πŸ’Ύ
  • -m, --schema-ldif=FILE_PATH β€” LDIF file containing the schema. if omitted, the tool will query the remote IPA server πŸ’Ύ
  • -g, --config-ldif=FILE_PATH β€” LDIF file containing the entire "cn=config" DIT. if omitted, the tool will query the remote IPA server πŸ’Ύ
  • -n, --no-prompt β€” do not prompt for confirmation before starting migration. > use at your own risk! ⚠️

🌈 POST MIGRATION 🌈

okay bestie, here's what you're left with after the migration, and it's a lot, so read carefully πŸ‘‡

  • the server is left in migration-mode so that the migrated users can more easily reset their passwords, either by authenticating via SSSD or by using the web-based password migration page. this authentication will generate new Kerberos keys. after passwords are reset, the server should be taken out of migration mode πŸ”‘
  • all hosts are preserved, but they will need to be re-enrolled using ipa-client-install (e.g. ipa-client-install --uninstall && ipa-client-install) πŸ”
  • all certificates should be re-issued against the new CA πŸ“œ
  • any manually created keytabs will need to be re-created using ipa-getkeytab 🎫
  • Vaults are not migrated and will have to be re-created πŸ”
  • Sub CA's are not migrated and will have to be re-created πŸ›οΈ

⭐ EXIT STATUS ⭐

  1. 0 β€” if the command was successful πŸŽ‰
  2. 1 β€” if an error occurred 😭
  3. 2 β€” if the local host or remote host is not an IPA server, the IPA server installation is faulty, or the realm can not be determined πŸ’€

and that's the whole page, bestie!! 🫢 this one's from the IPA manual set, dated Apr 2 2024 β€” go forth and migrate responsibly, mwah πŸ’…βœ¨πŸŽ€