napalm-automation / napalm

Network Automation and Programmability Abstraction Layer with Multivendor support
Apache License 2.0
2.23k stars 551 forks source link

Illegal Instruction Error Debian 12 #2058

Open pmesgari opened 5 months ago

pmesgari commented 5 months ago

Illegal Instruction Error on Debian docker

Did you follow the steps from https://github.com/napalm-automation/napalm#faq

(Place an x between the square brackets where applicable)

Setup

I have install napalm in a Debain 12 docker using pip.

napalm version

(Paste verbatim output from pip freeze | grep napalm between quotes below)

napalm==4.1.0

Network operating system version

(Paste verbatim output from show version - or equivalent - between quotes below)

Not applicable, as I am not getting napalm to run at all

Steps to Reproduce the Issue

Install napalm through pip

Error Traceback

(Paste the complete traceback of the exception between quotes below)

Not applicable, installation is successful

(.venv) debian@debian:~$ pip install napalm
Collecting napalm
  Using cached napalm-4.1.0-py2.py3-none-any.whl (267 kB)
Requirement already satisfied: setuptools>=38.4.0 in ./.venv/lib/python3.11/site-packages (from napalm) (66.1.1)
Requirement already satisfied: cffi>=1.11.3 in ./.venv/lib/python3.11/site-packages (from napalm) (1.16.0)
Requirement already satisfied: paramiko>=2.6.0 in ./.venv/lib/python3.11/site-packages (from napalm) (3.4.0)
Requirement already satisfied: requests>=2.7.0 in ./.venv/lib/python3.11/site-packages (from napalm) (2.31.0)
Requirement already satisfied: future in ./.venv/lib/python3.11/site-packages (from napalm) (1.0.0)
Requirement already satisfied: textfsm in ./.venv/lib/python3.11/site-packages (from napalm) (1.1.3)
Requirement already satisfied: jinja2 in ./.venv/lib/python3.11/site-packages (from napalm) (3.1.3)
Requirement already satisfied: netaddr in ./.venv/lib/python3.11/site-packages (from napalm) (1.2.1)
Requirement already satisfied: pyYAML in ./.venv/lib/python3.11/site-packages (from napalm) (6.0.1)
Requirement already satisfied: pyeapi>=0.8.2 in ./.venv/lib/python3.11/site-packages (from napalm) (1.0.2)
Requirement already satisfied: netmiko>=4.1.0 in ./.venv/lib/python3.11/site-packages (from napalm) (4.3.0)
Requirement already satisfied: junos-eznc>=2.6.3 in ./.venv/lib/python3.11/site-packages (from napalm) (2.7.0)
Requirement already satisfied: scp in ./.venv/lib/python3.11/site-packages (from napalm) (0.14.5)
Requirement already satisfied: lxml>=4.3.0 in ./.venv/lib/python3.11/site-packages (from napalm) (5.2.0)
Requirement already satisfied: ncclient in ./.venv/lib/python3.11/site-packages (from napalm) (0.6.15)
Requirement already satisfied: ttp in ./.venv/lib/python3.11/site-packages (from napalm) (0.9.5)
Requirement already satisfied: ttp-templates in ./.venv/lib/python3.11/site-packages (from napalm) (0.3.6)
Requirement already satisfied: netutils>=1.0.0 in ./.venv/lib/python3.11/site-packages (from napalm) (1.7.0)
Requirement already satisfied: typing-extensions>=4.3.0 in ./.venv/lib/python3.11/site-packages (from napalm) (4.10.0)
Requirement already satisfied: pycparser in ./.venv/lib/python3.11/site-packages (from cffi>=1.11.3->napalm) (2.22)
Requirement already satisfied: six in ./.venv/lib/python3.11/site-packages (from junos-eznc>=2.6.3->napalm) (1.16.0)
Requirement already satisfied: pyserial in ./.venv/lib/python3.11/site-packages (from junos-eznc>=2.6.3->napalm) (3.5)
Requirement already satisfied: yamlordereddictloader in ./.venv/lib/python3.11/site-packages (from junos-eznc>=2.6.3->napalm) (0.4.2)
Requirement already satisfied: pyparsing in ./.venv/lib/python3.11/site-packages (from junos-eznc>=2.6.3->napalm) (3.1.2)
Requirement already satisfied: transitions in ./.venv/lib/python3.11/site-packages (from junos-eznc>=2.6.3->napalm) (0.9.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./.venv/lib/python3.11/site-packages (from jinja2->napalm) (2.1.5)
Requirement already satisfied: ntc-templates>=2.0.0 in ./.venv/lib/python3.11/site-packages (from netmiko>=4.1.0->napalm) (4.4.0)
Requirement already satisfied: bcrypt>=3.2 in ./.venv/lib/python3.11/site-packages (from paramiko>=2.6.0->napalm) (4.1.2)
Requirement already satisfied: cryptography>=3.3 in ./.venv/lib/python3.11/site-packages (from paramiko>=2.6.0->napalm) (42.0.5)
Requirement already satisfied: pynacl>=1.5 in ./.venv/lib/python3.11/site-packages (from paramiko>=2.6.0->napalm) (1.5.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.venv/lib/python3.11/site-packages (from requests>=2.7.0->napalm) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.11/site-packages (from requests>=2.7.0->napalm) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./.venv/lib/python3.11/site-packages (from requests>=2.7.0->napalm) (2.2.1)
Requirement already satisfied: certifi>=2017.4.17 in ./.venv/lib/python3.11/site-packages (from requests>=2.7.0->napalm) (2024.2.2)
Installing collected packages: napalm
Successfully installed napalm-4.1.0
(.venv) debian@debian:~$ napalm
Illegal instruction
(.venv) debian@debian:~$ pip --version
pip 23.0.1 from /home/debian/.venv/lib/python3.11/site-packages/pip (python 3.11)
(.venv) debian@debian:~$ pip freeze | grep napalm
napalm==4.1.0
bewing commented 5 months ago

Cannot reproduce in WSL2 running intel hardware:

$ docker run -it --rm --entrypoint /bin/bash debian:latest
root@3c468ef903ac:/# apt update && apt install python3 python3.11-venv lsb-release
(napalm) root@4b36c2a8006c:/napalm# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:        12
Codename:       bookworm

root@3c468ef903ac:/# python3 -m venv napalm
root@3c468ef903ac:/# source napalm/bin/activate
(napalm) root@3c468ef903ac:/# python3 -mpip install napalm

(napalm) root@3c468ef903ac:/# napalm
usage: napalm [-h] [--user USER] [--password PASSWORD] --vendor VENDOR [--optional_args OPTIONAL_ARGS] [--debug] hostname {configure,call,validate} ...
napalm: error: the following arguments are required: hostname, --vendor/-v
bewing commented 5 months ago

Also cannot reproduce in Docker from a Ubuntu host as well.

pmesgari commented 5 months ago

My hardware is Mac, and it’s the M series CPU. I have been trying to figure out how to get more insight into logs to debug this issue further but so far no luck, any suggestions?

also, to clarify a bit further, I am running a docker on my Mac OS, and from inside the docker I am trying to use napalm.