diff options
-rw-r--r-- | cloudinit/sources/DataSourceOracle.py | 2 | ||||
-rw-r--r-- | tests/integration_tests/network/test_net_config_load.py | 27 | ||||
-rw-r--r-- | tests/unittests/sources/test_oracle.py | 8 |
3 files changed, 33 insertions, 4 deletions
diff --git a/cloudinit/sources/DataSourceOracle.py b/cloudinit/sources/DataSourceOracle.py index 3f918672..6d81be1e 100644 --- a/cloudinit/sources/DataSourceOracle.py +++ b/cloudinit/sources/DataSourceOracle.py @@ -104,9 +104,9 @@ class DataSourceOracle(sources.DataSource): vendordata_pure = None network_config_sources = ( sources.NetworkConfigSource.cmdline, + sources.NetworkConfigSource.system_cfg, sources.NetworkConfigSource.ds, sources.NetworkConfigSource.initramfs, - sources.NetworkConfigSource.system_cfg, ) _network_config = sources.UNSET diff --git a/tests/integration_tests/network/test_net_config_load.py b/tests/integration_tests/network/test_net_config_load.py new file mode 100644 index 00000000..a6863b63 --- /dev/null +++ b/tests/integration_tests/network/test_net_config_load.py @@ -0,0 +1,27 @@ +"""Test loading the network config""" +import pytest + +from tests.integration_tests.instances import IntegrationInstance + + +def _customize_envionment(client: IntegrationInstance): + # Insert our "disable_network_config" file here + client.write_to_file( + "/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg", + "network: {config: disabled}\n", + ) + client.execute("cloud-init clean --logs") + client.restart() + + +def test_network_disabled_via_etc_cloud(client: IntegrationInstance): + """Test that network can be disabled via config file in /etc/cloud""" + if client.settings.CLOUD_INIT_SOURCE == "IN_PLACE": + pytest.skip( + "IN_PLACE not supported as we mount /etc/cloud contents into the " + "container" + ) + _customize_envionment(client) + + log = client.read_from_file("/var/log/cloud-init.log") + assert "network config is disabled by system_cfg" in log diff --git a/tests/unittests/sources/test_oracle.py b/tests/unittests/sources/test_oracle.py index 356b3738..b3e6f10c 100644 --- a/tests/unittests/sources/test_oracle.py +++ b/tests/unittests/sources/test_oracle.py @@ -920,12 +920,14 @@ class TestNetworkConfig: assert network_config == m_read_initramfs_config.return_value assert "Failed to parse secondary network configuration" in caplog.text - def test_ds_network_cfg_preferred_over_initramfs(self, _m): - """Ensure that DS net config is preferred over initramfs config""" + def test_ds_network_cfg_order(self, _m): + """Ensure that DS net config is preferred over initramfs config + but less than system config.""" config_sources = oracle.DataSourceOracle.network_config_sources + system_idx = config_sources.index(NetworkConfigSource.system_cfg) ds_idx = config_sources.index(NetworkConfigSource.ds) initramfs_idx = config_sources.index(NetworkConfigSource.initramfs) - assert ds_idx < initramfs_idx + assert system_idx < ds_idx < initramfs_idx # vi: ts=4 expandtab |