Recently I was given a server in a rush situation to promote a new DC. When I attempted to add the DC role the following error popped up
"Update DirectoryServices-DomainController of package DirectoryServices-DomainController-Package failed to be turned on. Status: 0x80070bc9."
This was perplexing as I had never run into this and the only details on the web were to rebuild this server. Considering this was a newly built server I didn't believe it was something that required that type of drastic event. So I decided to see what made this server different from my up and running DC's, first thing to check was the services running and what caught my eye almost immediately was the fact that the server service was disabled. Obviously a DC needs this so I just went and enabled and re-attempted to add the role and "Bammmmmm" it worked as expected.
So if you run into this or other situations where you can't add a role to your server, verify the Server service is enabled and runinng.
I had a related issue. My 2008 R2 had a domain controlled on it and I needed to upgrade the server from standard to enterprise. But no go since it was a domain controller.