From 8a48c830b2091e21f2be5ef73c34a4cdd9d106cd Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Wed, 18 Nov 2020 14:44:07 -0600 Subject: NMSA: Make it possible to remove interfaces --- doc/network.rst | 7 +++++++ ncserver/module/nms_ifupdownng.py | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/doc/network.rst b/doc/network.rst index 3c86d4f..37c67b7 100644 --- a/doc/network.rst +++ b/doc/network.rst @@ -145,6 +145,13 @@ interface. +``remove_interface(iface)`` +--------------------------- + +Entirely remove a configured interface from the configuration store. + + + Transactions ------------ diff --git a/ncserver/module/nms_ifupdownng.py b/ncserver/module/nms_ifupdownng.py index 55405d4..23795f6 100644 --- a/ncserver/module/nms_ifupdownng.py +++ b/ncserver/module/nms_ifupdownng.py @@ -132,6 +132,15 @@ def interface_list(): return tuple(_CONFIG.keys()) +def remove_interface(iface: str): + """Completely remove configuration for +iface+.""" + if iface in _CONFIG.keys(): + del _CONFIG[iface] + + if not _TRANSACTION: + _save() + + def begin_transaction(): """Begin a transaction.""" global _TRANSACTION # pylint: disable=W0603 -- cgit v1.2.3-70-g09d2