def client_library_keep_labs_base(url, usr="******", pwd="cml2cml2", ssl_verify=False, allow_http=True): clientlibrary = ClientLibrary( url, username=usr, password=pwd, ssl_verify=ssl_verify, allow_http=allow_http, ) for _ in range(5): try: clientlibrary.is_system_ready() except HTTPError as err: if err.errno == 504: # system still initialising, wait longer time.sleep(2) return clientlibrary
from braceexpand import braceexpand from virl2_client import ClientLibrary from pprint import pprint # Get login credentials username = input("Enter CML username: "******"Enter CML password: "******"https://192.168.137.252", username, password, ssl_verify=False) client.is_system_ready() except: print( f"\nUnable to contact CML2.x server, please check server connectivity." ) # get list of labs all_labs = client.all_labs() # check if programmatic_network_build exists if 'programmatic_network_build' in [lab.title for lab in all_labs]: print(f"\nprogrammatic_network_build exists, deleting lab..") lab = client.find_labs_by_title(title='programmatic_network_build')[0] try: lab.stop() lab.wipe()
EYct4M8SANDRAY/ZrGhZaBZ+Qhybw5Ttm8hUY4OygUYHsr3t38FgW00WAHtocj4l z1LPIlCn0j76n2sH+w9jhp3MO7xlJQaTOM9rpsuO/Q== -----END CERTIFICATE-----""" SSMS = "https://sch-alpha.cisco.com/its/service/oddce/services/DDCEService" TOKEN = ( "FFY4YzJjNjItMDUxNi00NjJhLWIzMzQtMzllMzEzN2NhYjk2" "6s8e1gr5res1g35ads1g651rg23rs1gs3rd5g1s2rd1g3s2r" "WhPV3MzWGJrT3U5VHVEL1NrWkNu%0AclBSST0%3D%0A" ) # setup the connection and clean everything cl = ClientLibrary("http://localhost:8001", "cml2", "cml2cml2", allow_http=True) cl.is_system_ready(wait=True) # set transport if needed - also proxy can be set if needed # cl.licensing.licensing.set_transport(ssms=ssms, proxy_server="172.16.1.100", proxy_port=8888) cl.licensing.set_transport(ssms=SSMS) cl.licensing.install_certificate(cert=CERT) # 'register_wait' method waits max 45s for registration status to become COMPLETED # and another 45s for authorization status to become IN_COMPLIANCE cl.licensing.register_wait(token=TOKEN) lab_list = cl.get_lab_list() for lab_id in lab_list: lab = cl.join_existing_lab(lab_id) lab.stop() lab.wipe()