summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit')
-rwxr-xr-xcloudinit/distros/__init__.py7
-rw-r--r--cloudinit/net/activators.py6
2 files changed, 11 insertions, 2 deletions
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
index cf6aad14..fe44f20e 100755
--- a/cloudinit/distros/__init__.py
+++ b/cloudinit/distros/__init__.py
@@ -228,7 +228,12 @@ class Distro(persistence.CloudInitPickleMixin, metaclass=abc.ABCMeta):
# Now try to bring them up
if bring_up:
LOG.debug('Bringing up newly configured network interfaces')
- network_activator = activators.select_activator()
+ try:
+ network_activator = activators.select_activator()
+ except activators.NoActivatorException:
+ LOG.warning("No network activator found, not bringing up "
+ "network interfaces")
+ return True
network_activator.bring_up_all_interfaces(network_state)
else:
LOG.debug("Not bringing up newly configured network interfaces")
diff --git a/cloudinit/net/activators.py b/cloudinit/net/activators.py
index 11149548..137338d8 100644
--- a/cloudinit/net/activators.py
+++ b/cloudinit/net/activators.py
@@ -16,6 +16,10 @@ from cloudinit.net.sysconfig import NM_CFG_FILE
LOG = logging.getLogger(__name__)
+class NoActivatorException(Exception):
+ pass
+
+
def _alter_interface(cmd, device_name) -> bool:
LOG.debug("Attempting command %s for device %s", cmd, device_name)
try:
@@ -271,7 +275,7 @@ def select_activator(priority=None, target=None) -> Type[NetworkActivator]:
tmsg = ""
if target and target != "/":
tmsg = " in target=%s" % target
- raise RuntimeError(
+ raise NoActivatorException(
"No available network activators found%s. Searched "
"through list: %s" % (tmsg, priority))
selected = found[0]