Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/napalm-automation-community/napalm-hp-procurve
HP ProCurve Driver for NAPALM automation frontend
https://github.com/napalm-automation-community/napalm-hp-procurve
hp napalm procurve procurve-os
Last synced: about 2 months ago
JSON representation
HP ProCurve Driver for NAPALM automation frontend
- Host: GitHub
- URL: https://github.com/napalm-automation-community/napalm-hp-procurve
- Owner: napalm-automation-community
- License: apache-2.0
- Created: 2019-10-21T13:06:31.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-02-18T21:01:52.000Z (almost 3 years ago)
- Last Synced: 2024-03-26T21:38:24.237Z (9 months ago)
- Topics: hp, napalm, procurve, procurve-os
- Language: Python
- Homepage:
- Size: 110 KB
- Stars: 11
- Watchers: 7
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# napalm-procurve
[NAPALM](https://napalm-automation.net/) driver for HPE ProCurve networking
gear.Supported devices
=================All ProCurve OS devices should be supported. The code has been written and tested
having access to ProCurve 2848 and to E2910al-48G-PoE devices.If a different device or a different firmware release should cause problems, please
open a GitHub issue and paste the appropriate output from the switch.Development status
==================The driver is functional and can be used to poll status information:
* get_facts(): Return general device information
* get_lldp_neighbors(): Fetch LLDP neighbor information
* get_lldp_neighbors_detail(): Fetch LLDP details
* get_environment(): CPU and Sensor details
* get_config(): Read config
* ping(): Ping remote ip
* get_ntp_servers(): Return configured NTP servers
* get_arp_table(): Get device ARP table
* get_mac_address_table(): Get mac table of connected devices
* get_interfaces(): Get interface status
* get_interfaces_counters(): Get interface countersConfiguration changes are currently not supported, as the ProCurve OS does
not support an API to do changes in a decent way.
Incremental changes might be possible, but are difficult to implement.
Complete configuration uploads via sftp might be an option but have the
drawback that they cause an immediate reboot of the ProCurve device.Maybe a later version will support configuration handling.
How to use
==========Install napalm and install napalm-procurve via pip:
```
$ pip install napalm napalm-procurve
```In case the latest development checkout is needed:
```
$ pip install git+https://github.com/ixs/napalm-procurve.git
```Test functionality:
```
#!/usr/bin/env python3
# Simple napalm-procurve testimport json
from napalm import get_network_driverdriver = get_network_driver("procurve")
# Uncomment if you need debug logging of the raw commands sent to the
# device and any data received
#import logging
#logging.basicConfig(filename="procurve.debug.log", level=logging.DEBUG)
#logger = logging.getLogger("netmiko")driver = get_network_driver("procurve")
device = driver(
"10.0.0.254",
"manager",
"secret",
optional_args={"ssh_config_file": "~/.ssh/config", "port": 22},
)
device.open()vals = device.get_mac_address_table()
device.close()
print(json.dumps(vals, sort_keys=True, indent=4, separators=(",", ": ")))
```License
=======ASL2.0