aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config/impl_ifcfg.py
diff options
context:
space:
mode:
Diffstat (limited to 'os_net_config/impl_ifcfg.py')
-rw-r--r--os_net_config/impl_ifcfg.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/os_net_config/impl_ifcfg.py b/os_net_config/impl_ifcfg.py
index 100edeb..78433d8 100644
--- a/os_net_config/impl_ifcfg.py
+++ b/os_net_config/impl_ifcfg.py
@@ -208,12 +208,16 @@ class IfcfgNetConfig(os_net_config.NetConfig):
if bond.routes:
self._add_routes(bond.name, bond.routes)
- def apply(self, cleanup=False):
+ def apply(self, cleanup=False, activate=True):
"""Apply the network configuration.
:param cleanup: A boolean which indicates whether any undefined
(existing but not present in the object model) interface
should be disabled and deleted.
+ :param activate: A boolean which indicates if the config should
+ be activated by stopping/starting interfaces
+ NOTE: if cleanup is specified we will deactivate interfaces even
+ if activate is false
:returns: a dict of the format: filename/data which contains info
for each file that was changed (or would be changed if in --noop
mode).
@@ -264,19 +268,21 @@ class IfcfgNetConfig(os_net_config.NetConfig):
self.ifdown(interface_name)
self.remove_config(ifcfg_file)
- for interface in restart_interfaces:
- self.ifdown(interface)
+ if activate:
+ for interface in restart_interfaces:
+ self.ifdown(interface)
- for bridge in restart_bridges:
- self.ifdown(bridge, iftype='bridge')
+ for bridge in restart_bridges:
+ self.ifdown(bridge, iftype='bridge')
for location, data in update_files.iteritems():
self.write_config(location, data)
- for bridge in restart_bridges:
- self.ifup(bridge, iftype='bridge')
+ if activate:
+ for bridge in restart_bridges:
+ self.ifup(bridge, iftype='bridge')
- for interface in restart_interfaces:
- self.ifup(interface)
+ for interface in restart_interfaces:
+ self.ifup(interface)
return update_files