Cisco has an upgrade doc available, I think they call it a "jump upgrade".
Anway, in a nutshell...
1) Build the 7.x server in UCS (I think it needs to be 7.1(5) to be supported) identical to your production box
2) Restore your 7.x server to the UCS
3) upgrade the 7.x to 9.x on the UCS
4) do a full backup of the 9.x server
5) do a clean rebuild of the 9.x server and restore from backup. (this is to get the partitions correct)
Cisco wants you do build your entire environment in the lab and upgrade ALL of you subs as well as the pubs to keep all of your special hold music and what not. Anyway, start here:
If you want to "Import" the configuration:
1) build the 7.x server in vmware, same name and what not
2) restore your production 7.x server to the lab
3) upgrade the labe 7.x to 9.x
4) dump the configuration using BAT
5) make whatever changes you want to the CSV files
6) Import the the modified csv files to the 9.x server
I use this method to clean up and standardize configurations. (At least I have in 8.6 and earlier, just getting my first round of upgrades to 9)
Here is how I would do it. I recently migrated an 8.51 cluster from MCS to UCS. My original version was 8.51, so make sure you can go from 7x to 9.12 directly.
1. Use bare bones 7.x server on the UCS chassis, use the 9.12 ova file to get the correct resources reserved. Build it on a segmented network. (So you do not have duplicate ip problems.)
2. Use the show web-security command on the 7.x pub to get the correct infomation to use when recreating the 7.x server.
Issuer Name: C=US, ST=MN, L=St. Paul, O=Organization, OU=Unit, CN=EPPUB.xxx.xxx-dns.com
If you use the correct input variables your license mac will remain the same and you might not have to relicense the server.
3. You will need an NTP server and and you might need a DNS Server that is reachable from the segmented network. These will need to be the same IP addresses that the original are pointing to. In my situation I spoofed the DNS server with a small microsoft DNS server so I could get thu the install. I don't think you need DNS for CUCM but I am pretty sure it needs to be there when recreating the CUC server.
4. Recreate the 7.x server on the UCS chassis. You must use the same ntp server ip addresses and DNS addresses.
5. Restore a backup from the original server onto the new UCS 7.x server.
6. Then run your upgrade to 9.12.
7. During your change window shutdown the exisitng server then add final networking section to the UCS trunk to allow the new server to reach the network.
8. Don't forget your phones are going to want to upgrade firmware. You may want to upgrade the firmware before you do th eupgrade, just keep that in mind. If you have a lot of phones it can create a lot of traffic on your WAN links.
The "jump upgrade" process mentioned by other users is time consuming but will allow you to accomplish your goal of being able to unplug the old server and plug in the new server during the maintenance/cutover window. I recently did this for a customer that was on version 6.1(2). I only installed the CUCM Pub server on the new machine and restored from backup. Once I was on my target version of 9.1(2) then I installed the Subs.
William Bell has a nice write up about this as well that I recommend you check out.
I hope this helps.