nautobot-app-device-onboarding icon indicating copy to clipboard operation
nautobot-app-device-onboarding copied to clipboard

Arista 'eos' Device Onboarding Plugin issue

Open chris-navarro opened this issue 3 years ago • 8 comments

Environment

  • Python version: 3.8.10
  • Nautobot version: 1.2.5
  • nautobot-device-onboarding version: 1.1.1

All platforms onboarded like ios, csr, xrv9k, junos and nxos(nxapi) are all onboarded successfully except for Arista device. which\ getting the failed reason = fail-general and message to just = 'errors' with NO specific/detailed error exception.

Steps to Reproduce

  1. Installed the Nautobot Device Onbaording App sucessfully using this Youtube Tutorial "https://www.youtube.com/watch?v=iThUlvAvadM&t=631s".
  2. Followed the Onboarding Process using nautobot github repo "https://github.com/nautobot/nautobot-plugin-device-onboarding".
  3. Used Eve-NG lab setup and all devices are accessible.
  4. Only NXOS and EOS are needed special onboarding process base don the above mentioned Github repo where Device Platforms and transport port/s should be statically populated onto the onboarding plugin based on the open/configured API transport port/s onto the remote devices.

Expected Behavior

Onboarding status "succeeded"

Observed Behavior

All platforms onboarded like ios, csr, xrv9k, junos and nxos(nxapi) are all onboarded successfully except for Arista device. which getting the failed reason = fail-general and message to just = 'errors' with NO specific/detailed error exception.

image

Tried to used napalm via the nautobot server and got a successful API call to the arista device.

nautobot@devuser-virtual-machine:~$ napalm --vendor eos --user nautobot -p root123 -o "enable_password='root123'" \arista-sw-01 call get_facts
{ "hostname": "arista-sw-01",
"fqdn": "arista-sw-01",
"vendor": "Arista",
"model": "vEOS-lab",
"serial_number": "C52F6BABAA9608AD9828D42A4FB36867",
"os_version": "4.27.0F-24305004.4270F",
"uptime": 8273,
"interface_list": [
"Ethernet1",
"Ethernet2",
"Ethernet3",
"Ethernet4",
"Ethernet5",
"Ethernet6",
"Ethernet7",
"Ethernet8",
"Management1"
] }

Tried arista eAPI Web interface and the eAPI transport 443 was also confirmed working.

image

by the way, I'm new to Nautobot platform, I'm just trying to ask if this is might be a bug or something I did wrong in the installation of the plugin where it affects only the Arista device onboarding. Tried also to join 'networktocode' slack channel and waiting for responses. Thanks in advance.

chris-navarro avatar Mar 08 '22 13:03 chris-navarro

@chris-navarro, have you been able to successfully onboard your Arista eos devices?

scetron avatar Apr 12 '23 19:04 scetron

I'm seeing the following @scetron @mzbroch

Socket error during eAPI connection: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)

When I take the code out of the back end and run it in the same virtual environment everything works great.

jvanderaa avatar Jun 30 '23 21:06 jvanderaa

I'm seeing the following @scetron @mzbroch

Socket error during eAPI connection: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)

When I take the code out of the back end and run it in the same virtual environment everything works great.

  1. Please troubleshoot this always directly from the Nautobot worker (for the same environment)
  2. Please re-try connecting via CLI and napalm tools
  3. Please re-try connecting through python shell and initiate napalm directly
  4. Please include all OS versions, python versions, Arista OS versions and SSL versions

mzbroch avatar Jul 03 '23 08:07 mzbroch

  1. Same environment as the worker ✅
  2. CLI and NAPALM tools ✅
  3. Same as (2)
  4. OS Versions:
lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye
python3 -V
Python 3.9.2
spine-3#show version
Arista vEOS-lab
Hardware version:
Serial number: 6E551F0361576465D8F10F9CEA369668
Hardware MAC address: 5254.00bc.3bf0
System MAC address: 5254.00bc.3bf0

Software image version: 4.29.0.2F
Architecture: i686
Internal build version: 4.29.0.2F-29226602.42902F
Internal build ID: 9ceb3a8f-ea28-475b-b761-3ade7d1593b8
Image format version: 1.0
Image optimization: None

Uptime: 4 days, 0 hours and 45 minutes
Total memory: 4000256 kB
Free memory: 3199060 kB
TLS Protocols:      1.0 1.1 1.2

jvanderaa avatar Jul 04 '23 02:07 jvanderaa

Also attempted to move to just TLS 1.2 following this blog post, same error. https://medium.com/@what_if/disable-tls-1-0-on-arista-eapi-7bc27d016bbb

jvanderaa avatar Jul 04 '23 02:07 jvanderaa

Please retest with the following:

  • [ ] Nautobot Platform object is created:

    • [ ] Platform name is arista_eos
    • [ ] Platform slug is arista_eos
    • [ ] Platform NAPALM driver is eos
  • [ ] Onboarding task is created:

    • [ ] Port is manually selected to 443
    • [ ] Platform is manually selected to arista_eos

I am able to repeat this error while using non-SSL port, like tcp_80, during an onboarding.

Screenshot 2023-07-04 at 15 07 17

mzbroch avatar Jul 04 '23 13:07 mzbroch

You have nailed this on the head of what this is. I was using the beautiful feature of the auto discovery, which used SSH before hand. The auto discovery is what would build the Manufacturer/Platform in the past, which has been a terrific feature.

This may turn into a feature request then to allow device types after auto discovery to change over to port 443?

jvanderaa avatar Jul 06 '23 11:07 jvanderaa

This may turn into a feature request then to allow device types after auto discovery to change over to port 443?

This is already tracked via #17 .

mzbroch avatar Jul 06 '23 12:07 mzbroch