← Back to team overview

cloud-init team mailing list archive

upstart removal / evaluation

 

Hey all,

Dimitri submitted a merge proposal that drops packaging of upstart
items from cloud-init in ubuntu/devel branch.
  https://code.launchpad.net/~xnox/cloud-init/+git/cloud-init/+merge/329491

That caused rharper to suggest a read of what all we do have as
"upstart baggage".  My diagnosis is below.

The summary is: very small other than the upstart jobs themselves.

I've added one cleanup branch at
 https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/329946

See my 'grep' and then inline comments of its output.


$ grep -r --include "*.py" * | sort
cloudinit/cmd/main.py

   ## code baggage and runtime baggage: none.
   ## comments only, a reference to upstart 'no-net' which is a
   ## reference to upstart/cloud-init-blocknet.conf

cloudinit/config/cc_emit_upstart.py

   ## code baggage and runtime baggage: minimal
   ## this doesn't hurt, other than the entry in config/cloud.cfg.tmpl
   ## and the call to 'handle' which immediately checks for
   ## if not is_upstart_system() (which just stats /sbin/initctl):

cloudinit/config/cc_mounts.py

   ## code baggage and runtime baggage: minimal
   ## the baggage here is only in knowledge of 'nobootwait' which is
   ## an upstart specific mount option.

cloudinit/config/cc_ubuntu_init_switch.py

   ## code baggage: moderate . runtime baggage: minimal
   ## this can be dropped entirely from trunk. it was only useful
   ## when ubuntu was using upstart but moving to systemd
   ## also we can remove it from config/cloud.cfg.tmpl
   ## I've proposed a removal at:
   ## https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/329946

cloudinit/handlers/__init__.py

   ## code bagage and runtime baggage: minimal
   ## simply knowledge of the mapping '#upstart-job' to 'text/upstart-job'

cloudinit/handlers/upstart_job.py

   ## code baggage: some, runtime baggage: minimal
   ## this is what handles user-data that specifies '#upstart-job'.
   ## only invoked if used other than the load of the file.

cloudinit/helpers.py

   ## code baggage and runtime baggage: minimal
   ## just a 'Paths' knowledge that is used by upstart_job.py

cloudinit/stages.py

   ## code baggage and runtime baggage: minimal
   ## uses cloudinit.handlers.UpstartJobPartHandler. runtime only
   ## affected if something starts with '#upstart-job'

cloudinit/util.py

   ## a comment... possibly 'multilog' could be cleaned up if
   ## there was no upstart.

setup.py

   ## knowledge of packaging upstart/ with the '--upstart' flag.

tests/unittests/test_builtin_handlers.py

   ## tests.

tools/make-mime.py

   ## knowledge of part type to put into a mime.




Follow ups