Skip to content

Commit d43d4db

Browse files
Saurabh KakadeSaurabh Kakade
authored andcommitted
netsmith: Add an API to close the netsmith window.
1 parent d82c29a commit d43d4db

8 files changed

Lines changed: 85 additions & 20 deletions

File tree

.idea/.gitignore

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/lanforge-scripts.iml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

py-json/vr_profile2.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import os
66
import importlib
77
import time
8+
from logging import exception
89
from pprint import pformat
910
from random import randint
1011
import traceback
@@ -504,6 +505,16 @@ def apply_netsmith(self, resource=0, delay=2, timeout=30):
504505

505506
return state
506507

508+
# close netsmith window
509+
def close_netsmith(self, resource=0):
510+
try:
511+
if resource is None or resource < 1:
512+
raise ValueError("refresh_netsmith: resource must be > 0")
513+
514+
self.json_post("/vr/1/%s/0" % resource, {"action": "close"}, debug_=self.debug)
515+
logger.info("close_netsmith: Netsmith window closed")
516+
except Exception as e:
517+
print('Error: vr_profile2() close_netsmith window closing error: ' + str(e))
507518

508519
def refresh_netsmith(self, resource=0, delay=0.03):
509520
"""

py-scripts/create_vr.py

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -189,29 +189,40 @@ def start(self):
189189

190190
# self.vr_profile.refresh_netsmith(
191191
# resource=self.vr_name[1])
192-
# test to make sure that vrcx is inside vr we expect
193-
self.vr_profile.vrcx_list(resource=self.vr_name[1], do_sync=True)
194-
# vr_list = self.vr_profile.router_list(resource=self.vr_name[1], do_refresh=True)
195-
router = self.vr_profile.find_cached_router(
196-
resource=self.vr_name[1], router_name=self.vr_name[2])
197-
logger.info("cached router 120: {router}".format(router=router))
198-
router_eid = LFUtils.name_to_eid(router["eid"])
199-
logger.info(pformat("router eid 122: {router_eid}".format(router_eid=router_eid)))
200-
full_router = self.json_get(
201-
"/vr/1/%s/%s/%s" %
202-
(router_eid[0],
203-
router_eid[1],
204-
self.vr_name[2]),
205-
debug_=self.debug)
206-
logger.info(pformat("full router: {full_router}".format(full_router=full_router)))
207-
time.sleep(5)
208-
if router is None:
209-
self._fail("Unable to find router after vrcx move " + self.vr_name)
210-
self.exit_fail()
192+
193+
try:
194+
# test to make sure that vrcx is inside vr we expect
195+
self.vr_profile.vrcx_list(resource=self.vr_name[1], do_sync=True)
196+
# vr_list = self.vr_profile.router_list(resource=self.vr_name[1], do_refresh=True)
197+
router = self.vr_profile.find_cached_router(
198+
resource=self.vr_name[1], router_name=self.vr_name[2])
199+
logger.info("cached router 120: {router}".format(router=router))
200+
router_eid = LFUtils.name_to_eid(router["eid"])
201+
logger.info(pformat("router eid 122: {router_eid}".format(router_eid=router_eid)))
202+
full_router = self.json_get(
203+
"/vr/1/%s/%s/%s" %
204+
(router_eid[0],
205+
router_eid[1],
206+
self.vr_name[2]),
207+
debug_=self.debug)
208+
logger.info(pformat("full router: {full_router}".format(full_router=full_router)))
209+
time.sleep(5)
210+
if router is None:
211+
self._fail("Unable to find router after vrcx move " + self.vr_name)
212+
self.exit_fail()
213+
except Exception as e:
214+
print('Error: Netsmith window starting error: ' + str(e))
211215

212216
def stop(self):
213217
pass
214218

219+
def close(self):
220+
try:
221+
logger.info("create_vr(): Closing Netsmith window in 5 seconds.")
222+
time.sleep(5) # view the final changes for 5sec before closing the window.
223+
self.vr_profile.close_netsmith(resource=self.vr_name[1])
224+
except Exception as e:
225+
print('Error: create_vr() Netsmith window closing error: ' + str(e))
215226

216227
def main():
217228
help_summary = '''\
@@ -281,7 +292,7 @@ def main():
281292
# create_vr.stop()
282293
# create_vr.clean()
283294
print('Created Virtual Router')
284-
295+
create_vr.close()
285296

286297
if __name__ == "__main__":
287298
main()

0 commit comments

Comments
 (0)