Package: napalm-arubaos-switch
Napalm-arubaossDriver implementation for Aruba OS Switch. Tested in AOS > WC.16.09.0004, some modules may not work properly in older versions.Currently supported Napalm methods* cli()                           ✅
* close()                         ✅
* commit_config()                 ✅
* compare_config()                ✅
* compliance_report()             ✅
* confirm_commit()                ✅
* discard_config()                ✅  
* get_arp_table()                 ✅
* get_bgp_config()                ❌*
* get_bgp_neighbors()             ❌*
* get_bgp_neighbors_detail()      ❌*
* get_config()                    ✅
* get_environment()               ❌  - Planned
* get_facts()                     ✅
* get_firewall_policies()         ❌*
* get_interfaces_counters()       ❌***
* get_interfaces()                ✅
* get_interfaces_ip()             ✅
* get_ipv6_neighbors_table()      ❌*
* get_lldp_neighbors()            ✅
* get_lldp_neighbors_detail()     ✅
* get_network_instances()         ❌*
* get_mac_address_table()         ✅
* get_ntp_peers()                 ✅
* get_ntp_servers()               ✅
* get_ntp_stats()                 ✅
* get_optics()                    ❌  - Planned
* get_probes_*()                  ❌*
* get_route_to()                  ✅
* get_snmp_information()          ❌  - Planned
* get_users()                     ❌  - Planned
* has_pending_commit()            ✅
* is_alive()                      ✅
* load_merge_candidate()          ✅**
* load_replace_candidate()        ✅
* load_template()                 ✅
* open()                          ✅
* ping()                          ✅
* rollback()                      ✅
* traceroute()                    ✅* N/A - not supported on the tested ArubaOS devices** Incomplete support for load merge, configuration is directly pushed to the running config. Not recommended, use with precaution !!!*** No easy way to get this. API does not support it and there's no single command to display it for all portsGetting StartedPrerequisitesThe following software is required:Python3PipPython modules specified inrequirements.txtInstallingTo install simply run:pip3 install napalm-arubaos-switchSwitch configurationThis driver relies exclusively on the REST API of Aruba Switches, and it needs to be enabled beforehand.
To enable the REST API in the switch, just run:web-management ssl
rest-interface
rest-interface session-idle-timeout 120 #optionaloptional_argsoptional_args can be set during initialization like this:fromnapalmimportget_network_driverd=get_network_driver("arubaoss")withd('1.2.3.4','username','password',optional_args={'ssl_verify':False,"debugging":True})asaruba:print(aruba.get_config())The following values can be set in optional_args:ssl_verify: bool/str = defaults toTrue- will be passed to the requests object (description can be foundhere)keepalive: bool = defaults toFalse- sets the underlying TCP connection to either keep the connection or not and is a workaround for an issue with ArubaOS devices
(discussedhere)keep_alive: bool = same as keepalive, just shadows it to be able to use the same keyword as in older Python requests versionsdebugging: bool = defaults toFalse- sets the level of the logging handler to logging.DEBUGdisable_ssl_warnings: bool = defaults toFalse- disables ssl warnings from urllib3api: string = defaults tov6- defines the API versionssl: bool = defaults toTrue, sets http or httpsSaltstackTo use the driver with Saltstack, you would typically need a proxy minion.Proxy minion configuration:Example pillar's config:proxy:
  proxytype: napalm
  driver: arubaoss
  host: 192.0.2.1
  username: manager
  password: managerProxy/etc/salt/proxymaster: lab-salt-master
mine_enabled: true # not required, but nice to haveSupported Salt execution modulesgrains.itemsnet.arpnet.macnet.ipaddrsnet.lldpnet.factsnet.pingnet.tracerouteroute.shownet.clinet.confignet.load_confignet.compare_confignet.load_template ( Issue #18)net.discard_configntp.serversnapalm.compliance_reportMore details inSaltstack examplesAnsibleHow to get it running with ansible and some examples are in theAnsible docsRunning the testsTBD: Explain how to run the automated tests for this systemContributingPlease readCONTRIBUTINGfor details on our process for submitting pull requests to us, and please ensure
you follow theCODE_OF_CONDUCT.VersioningTBDAuthorsGuillermo Cotone-@gcotoneSee also the list ofcontributorswho participated in this project.LicenseThis project is licensed under the MIT License - see theLICENSEfile for details