I tried a F-20 kickstarted installation yesterday with a freshly allocated DASD which wasn't low-level formatted yet. And the installation was hung with a message in storage.log "..., need dasdmt" (don't remember the exact message)
so the message was from blivet's dasd_needs_format():
log.info(" %s (%s) status is %s, needs dasdfmt", dasd, bypath, status)
I think bug #1073982 describes the same problem
The reason it's freezing in f20 is because there was some cruft in dasd.py that depended upon old code which was scrapped in the UI re-write.
I completely rewrote the dasd code in blivet and anaconda, and the installer now handles cpfmtxa formatted dasds. Those changes unfortunately did not make it into f20, but they are in rhel7.0 and master/f21.
Anyhow, I'm going to close this since it shouldn't be a problem anymore. I have a fix for bug 1073982, which I'll push upstream also.