summaryrefslogtreecommitdiff
path: root/vyroute/basic_function/Modifylo.py
diff options
context:
space:
mode:
authorHochikong <michellehzg@gmail.com>2016-05-23 19:38:16 +0800
committerHochikong <michellehzg@gmail.com>2016-05-23 19:38:16 +0800
commit8e2f9aa509a5d90897844c196675836a10068237 (patch)
treec5aaf9af194d730ecd1ce486e64b07cd2f39b96c /vyroute/basic_function/Modifylo.py
parent71db4ed81a299a8f4b1947272bccb7966360f98f (diff)
downloadpython-vyos-mgmt-8e2f9aa509a5d90897844c196675836a10068237.tar.gz
python-vyos-mgmt-8e2f9aa509a5d90897844c196675836a10068237.zip
add new file and modify some wrong
Diffstat (limited to 'vyroute/basic_function/Modifylo.py')
-rw-r--r--vyroute/basic_function/Modifylo.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/vyroute/basic_function/Modifylo.py b/vyroute/basic_function/Modifylo.py
new file mode 100644
index 0000000..6808c0d
--- /dev/null
+++ b/vyroute/basic_function/Modifylo.py
@@ -0,0 +1,50 @@
+# author=hochikong
+from Exscript.protocols import SSH2
+from Exscript import Account
+
+
+def modifylo(data):
+ """This method provide a loopback address configuration function
+
+ Parameter data example:
+ {'router':'vyos@172.16.77.188','passwd':'vyos','config':'1.1.1.1/32'
+ }
+
+ :param data: a python dictionary
+ :return: a python dictionary
+ """
+ lo_basic_configuration = "set interfaces loopback lo address %s"
+
+ try:
+ stringlist = list(data['router'])
+ divi = stringlist.index('@')
+ user = ''.join(stringlist[:divi])
+ passwd = data['passwd']
+ address = ''.join(stringlist[divi+1:])
+ account = Account(user, passwd)
+ conn = SSH2()
+ conn.connect(address)
+ conn.login(account)
+
+# configure mode
+ conn.execute("configure")
+
+# configure loopback interface lo address
+ conn.execute(lo_basic_configuration % data['config'])
+
+ # commit configuration
+ conn.execute("commit")
+
+ # save configuration
+ conn.execute("save")
+
+ # exit configure mode
+ conn.execute("exit")
+
+ # close connection
+ conn.close(force=True)
+
+ return {"Result": "Configured successfully"}
+
+ except Exception, e:
+ return {'Error': e}