Diff comments:

> diff --git a/cloudinit/event.py b/cloudinit/event.py
> new file mode 100644
> index 0000000..f7b311f
> --- /dev/null
> +++ b/cloudinit/event.py
> @@ -0,0 +1,17 @@
> +# This file is part of cloud-init. See LICENSE file for license information.
> +
> +"""Classes and functions related to event handling."""
> +
> +
> +# Event types which can generate maintenance requests for cloud-init.
> +class EventType(object):
> +    BOOT = "System boot"
> +    BOOT_NEW_INSTANCE = "New instance first boot"

Mike, I just pushed up a branch for Azure which supports reconfiguring network 
on every boot (as well as generating network_config from their metadata service 
which is a bit noisy given your needs).  
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/348704
A datasource subclass need only append EventType.BOOT to 
DataSourceSmartOS.maintenance_events  if their metadata service reports that 
the user wants to maintain-network. This could be done idempotently (append 
EventType.BOOT if not in self.maintenance_events) in your datasource's 
_get_data() method based on whatever you metadata service tells it about 
whether to maintain network per boot.   I wouldn't expect your metadata service 
to know anything about our internal EventType strings or constants, just to 
interpret the proper EventType.<something> to add to supported/subscribed 
maintenance_events.  Cloud-init calls network_config only after _get_data is 
processed, so if the datasource.maintenance_events is in the proper state after 
_get_data, then network_config will either be generated or left untouched on a 
normal reboot event.

> +
> +    # TODO: Cloud-init will grow support for the follow event types:
> +    # UDEV
> +    # METADATA_CHANGE
> +    # USER_REQUEST
> +
> +
> +# vi: ts=4 expandtab


-- 
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/348000
Your team cloud-init commiters is requested to review the proposed merge of 
~chad.smith/cloud-init:feature/maintain-network-on-boot into cloud-init:master.

_______________________________________________
Mailing list: https://launchpad.net/~cloud-init-dev
Post to     : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to