diff options
Diffstat (limited to 'cloudinit/sources')
| -rw-r--r-- | cloudinit/sources/DataSourceScaleway.py | 3 | ||||
| -rw-r--r-- | cloudinit/sources/__init__.py | 6 | ||||
| -rw-r--r-- | cloudinit/sources/tests/test_init.py | 15 | 
3 files changed, 4 insertions, 20 deletions
| diff --git a/cloudinit/sources/DataSourceScaleway.py b/cloudinit/sources/DataSourceScaleway.py index 54bfc1fe..b573b382 100644 --- a/cloudinit/sources/DataSourceScaleway.py +++ b/cloudinit/sources/DataSourceScaleway.py @@ -171,11 +171,10 @@ def query_data_api(api_type, api_address, retries, timeout):  class DataSourceScaleway(sources.DataSource):      dsname = "Scaleway" +    update_events = {'network': [EventType.BOOT_NEW_INSTANCE, EventType.BOOT]}      def __init__(self, sys_cfg, distro, paths):          super(DataSourceScaleway, self).__init__(sys_cfg, distro, paths) -        self.update_events = { -            'network': {EventType.BOOT_NEW_INSTANCE, EventType.BOOT}}          self.ds_cfg = util.mergemanydict([              util.get_cfg_by_path(sys_cfg, ["datasource", "Scaleway"], {}), diff --git a/cloudinit/sources/__init__.py b/cloudinit/sources/__init__.py index 1604932d..e6966b31 100644 --- a/cloudinit/sources/__init__.py +++ b/cloudinit/sources/__init__.py @@ -164,6 +164,9 @@ class DataSource(object):      # A datasource which supports writing network config on each system boot      # would call update_events['network'].add(EventType.BOOT). +    # Default: generate network config on new instance id (first boot). +    update_events = {'network': set([EventType.BOOT_NEW_INSTANCE])} +      # N-tuple listing default values for any metadata-related class      # attributes cached on an instance by a process_data runs. These attribute      # values are reset via clear_cached_attrs during any update_metadata call. @@ -188,9 +191,6 @@ class DataSource(object):          self.vendordata = None          self.vendordata_raw = None -        # Default: generate network config on new instance id (first boot). -        self.update_events = {'network': {EventType.BOOT_NEW_INSTANCE}} -          self.ds_cfg = util.get_cfg_by_path(              self.sys_cfg, ("datasource", self.dsname), {})          if not self.ds_cfg: diff --git a/cloudinit/sources/tests/test_init.py b/cloudinit/sources/tests/test_init.py index cb1912be..6378e98b 100644 --- a/cloudinit/sources/tests/test_init.py +++ b/cloudinit/sources/tests/test_init.py @@ -575,21 +575,6 @@ class TestDataSource(CiTestCase):              " events: New instance first boot",              self.logs.getvalue()) -    def test_data_sources_cant_mutate_update_events_for_others(self): -        """update_events shouldn't be changed for other DSes (LP: #1819913)""" - -        class ModifyingDS(DataSource): - -            def __init__(self, sys_cfg, distro, paths): -                # This mirrors what DataSourceAzure does which causes LP: -                # #1819913 -                DataSource.__init__(self, sys_cfg, distro, paths) -                self.update_events['network'].add(EventType.BOOT) - -        before_update_events = copy.deepcopy(self.datasource.update_events) -        ModifyingDS(self.sys_cfg, self.distro, self.paths) -        self.assertEqual(before_update_events, self.datasource.update_events) -  class TestRedactSensitiveData(CiTestCase): | 
