diff options
Diffstat (limited to 'vyroute/basic_function/Modifylo.py')
-rw-r--r-- | vyroute/basic_function/Modifylo.py | 43 |
1 files changed, 7 insertions, 36 deletions
diff --git a/vyroute/basic_function/Modifylo.py b/vyroute/basic_function/Modifylo.py index 6808c0d..9d88427 100644 --- a/vyroute/basic_function/Modifylo.py +++ b/vyroute/basic_function/Modifylo.py @@ -1,50 +1,21 @@ # author=hochikong -from Exscript.protocols import SSH2 -from Exscript import Account - - -def modifylo(data): +def modifylo(obj, 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' + {'config':'1.1.1.1/32' } + :param obj: a connection object :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"} - + # Configure loopback interface lo address + obj.execute(lo_basic_configuration % data['config']) + return {"Result": "Modify successfully."} except Exception, e: return {'Error': e} |