← Back to team overview

cloud-init team mailing list archive

Re: upstart removal / evaluation

 

On Wed, Aug 30, 2017 at 11:33 AM, Scott Moser <smoser@xxxxxxxxxx> wrote:

> 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.
>

Thanks for walking through it all.


>
> 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):
>

Approx 1 to 4 ms of time.

cloud-init analyze show -i | grep upstart
|`->config-emit_upstart ran successfully @05.52400s +00.00100s
|`->config-emit_upstart ran successfully @04.99000s +00.00100s
|`->config-emit_upstart ran successfully @12.23500s +00.00100s
|`->config-emit_upstart ran successfully @04.45400s +00.00400s



> 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.
>
>
>
> --
> Mailing list: https://launchpad.net/~cloud-init
> Post to     : cloud-init@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~cloud-init
> More help   : https://help.launchpad.net/ListHelp
>

References