- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
‎12-03-2020 08:25 PM
I have a python script that I’m using for B-series switches to configure multiple ports at the same time.
#@METADATASTART
#@ScriptDescription "Change port from static to NAC".
#@DetailDescriptionStart
##############################################################################
#
#Purpose: "Change port from static to NAC".
#
# Version : 1.0
#
# This script deletes selected ports from all vlans, sets "display-string" and
# "description-string" to "NAC_Port". Finally, the configuration is saved.
##############################################################################
#@DetailDescriptionEnd
#
#@MetaDataEnd
import re
import commands
def main():
if "port" in emc_vars:
ports = emc_vars["port"]
else:
print "Please select at least one PORT if you start the script"
return 0
cli_result = emc_cli.send("clear port vlan " + ports)
main()
However, I get the following output:
deerl1sw006(su)->clear port vlan ge.1.7,ge.1.8
Invalid Port in [port-string].
The B-Series switch needs to use ; instead of , to separate interfaces. Is there anyway to fix this?
Chuck
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
‎12-03-2020 11:23 PM
Hello Chuck,
try this:
#@METADATASTART#@ScriptDescription "Change port from static to NAC".#@DetailDescriptionStart################################################################################Purpose: "Change port from static to NAC".## Version : 1.0## This script deletes selected ports from all vlans, sets "display-string" and# "description-string" to "NAC_Port". Finally, the configuration is saved.###############################################################################@DetailDescriptionEnd##@MetaDataEndimport reimport commandsdef main(): if "port" in emc_vars: ports = emc_vars["port"].split(",") #create a list with all ports else: print "Please select at least one PORT if you start the script" return 0 portcounter = 0 for port in ports: #walk through the list if portcounter == 0: portstring = port else: portstring = portstring + ";" + port #fill in the separator you need portcounter += 1 cli_result = emc_cli.send("clear port vlan " + portstring) main()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
‎12-03-2020 08:48 PM
I tried to change ports (string) to a list using this:
ports_list = ports.split()
for x in ports_list:
cli_result = emc_cli.send("clear port vlan " + x)
I get the same error.
