As condor matching process (when starting an instance) was moved to
conductor we can simplify instance SSH key generation for EC2 accounts.
SSH keys are always associated with an EC2 account. A user generates SSH
key pair for the account and gets back ID for this key pair. Then when
the user starts an instance he passes ID of the key pair generated before.
With matching in condor we didn't know where an instance will be started
(which provider/provider account will condor choose) so we didn't know
for which provider account new unique key pair should be generated. So
we had to use a default key for starting the instance and replace the
default key with new unique key when instance was started.
Now as matching is done on conductor side we know which provider account
will be used so we can simply generate unique SSH key pair for the new
instance before before a launch request is passed to condor. Then we can
remove instance observer and delayed_job and ssh key replacement logic.
This change is quite simple, should we do this in this sprint?
And one more question: all what condor does is running async deltacloud
API requests. Any reason why not replace whole condor with some other
more ruby friendly solution? There is a bunch of nice projects for
running async tasks in ruby.
Jan