summaryrefslogtreecommitdiff
path: root/ncserver/module/system.py
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2020-10-22 14:26:20 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2020-10-22 14:26:20 -0500
commit47ed12959dc1ac3d65b211f467ce23408fe36c48 (patch)
tree477eea756170953539fc95d000658c13a544f622 /ncserver/module/system.py
parent9eafe63c60759d9da25bfb10b927fb0699e3fd7c (diff)
downloadnetconfapk-47ed12959dc1ac3d65b211f467ce23408fe36c48.tar.gz
netconfapk-47ed12959dc1ac3d65b211f467ce23408fe36c48.tar.bz2
netconfapk-47ed12959dc1ac3d65b211f467ce23408fe36c48.tar.xz
netconfapk-47ed12959dc1ac3d65b211f467ce23408fe36c48.zip
Implement module RPCs and RPC logging
Diffstat (limited to 'ncserver/module/system.py')
-rw-r--r--ncserver/module/system.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/ncserver/module/system.py b/ncserver/module/system.py
index 3898576..c27b3a0 100644
--- a/ncserver/module/system.py
+++ b/ncserver/module/system.py
@@ -522,3 +522,20 @@ def edit(session, rpc, node, def_op):
methods[name](session, rpc, subsystem, def_op)
else:
raise error.UnknownElementAppError(rpc, subsystem)
+
+
+def rpc_system_shutdown(session, rpc, *params):
+ """Shutdown the system."""
+ subprocess.Popen(["/sbin/poweroff"])
+ return util.elm('nc:ok')
+
+
+def rpc_system_restart(session, rpc, *params):
+ """Restart the system."""
+ subprocess.Popen(["/sbin/reboot"])
+ return util.elm('nc:ok')
+
+
+M_RPCS = {'system-shutdown': rpc_system_shutdown,
+ 'system-restart': rpc_system_restart}
+"""The RPCs implemented by this module."""