Net::SSH::Disconnect not handled in SSH provisioning
Some premade Openstack images set up SSH keys as part of cloud-init. This means SSH comes up initially without and host keys and refuses connections for 10-15 seconds while the keys are created during the cloud-init run.
Since we don't catch Net::SSH::Disconnect Foreman sees the disconnect as an error and immediately fails the job. We should catch the error and retry (as we do for other exceptions) and lengthen the timeout to account for the cloud-init startup time.