[google|compute] Lots of random fixes

This attempts to merge in #2501. I'm not a 100% sure it's needed, but #2566 thinks it's needed.

This is not ready yet, but I was having trouble managing the diff, so I figured I'd start a pull request.