Public bug reported:

>From outside an instance, ssh becomes available before cloud-init is
done. If I ssh in, I'd like to be able to automatically wait until
cloud-init has finished, so as not to collide with anything it is doing.

I'd like to be able to do this independently of any userdata. I think
this makes for a cleaner separation between components, and makes
everything easier to develop and test. For example, I'ld like uvtool to
allow the user to completely override everything that is passed through
to cloud-init, but for uvtool to still be able to detect when the
instance is ready "from the outside". This is why I don't like the idea
of having to make my own arrangement for this via userdata.

/var/lib/cloud/instance/boot-finished works, but only for the first
boot, since it is persistent. Another point of unreliability is if
somebody boots a machine in order to modify it, shuts it down, and then
clones it. In this case, each clone has a boot-finished file before it
has started booting.

We discussed doing something in /run instead.

I can't think of any other mechanism that can be used "from the
outside", independent of userdata, that is not horribly obtuse or racy.

Could whatever we end up doing please be added in time for Ubuntu
Trusty, so that tools that boot Trusty images will be able to use it?
Otherwise we'll need to wait another two years I think. Thanks!

** Affects: cloud-init
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1258113

Title:
  Cannot determine boot-finished state reliably

Status in Init scripts for use on cloud images:
  New

Bug description:
  From outside an instance, ssh becomes available before cloud-init is
  done. If I ssh in, I'd like to be able to automatically wait until
  cloud-init has finished, so as not to collide with anything it is
  doing.

  I'd like to be able to do this independently of any userdata. I think
  this makes for a cleaner separation between components, and makes
  everything easier to develop and test. For example, I'ld like uvtool
  to allow the user to completely override everything that is passed
  through to cloud-init, but for uvtool to still be able to detect when
  the instance is ready "from the outside". This is why I don't like the
  idea of having to make my own arrangement for this via userdata.

  /var/lib/cloud/instance/boot-finished works, but only for the first
  boot, since it is persistent. Another point of unreliability is if
  somebody boots a machine in order to modify it, shuts it down, and
  then clones it. In this case, each clone has a boot-finished file
  before it has started booting.

  We discussed doing something in /run instead.

  I can't think of any other mechanism that can be used "from the
  outside", independent of userdata, that is not horribly obtuse or
  racy.

  Could whatever we end up doing please be added in time for Ubuntu
  Trusty, so that tools that boot Trusty images will be able to use it?
  Otherwise we'll need to wait another two years I think. Thanks!

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1258113/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to