GNS3 / gns3-server

GNS3 server
GNU General Public License v3.0
768 stars 258 forks source link

import project fails with Could not find NPF id for interface eth2 #2241

Closed josephmhiggins closed 1 year ago

josephmhiggins commented 1 year ago

gns3_server.log 2023-06-11 21:17:32 ERROR cloud.py:405 Cannot add NIO on cloud "Cloud1": Could not find NPF id for interface eth2

gns3_gui Sometimes the message apperas in the gui 2023-06-04 12:42:57 ERROR http_client.py:702 Could not find NPF id for interface eth2

Sometimes it does not.

Sometimes ...not lately though...it appears in the gui and the server like this: gui 2023-06-04 10:18:41 CRITICAL init.py:258 Port 2 isn't free server 2023-06-03 11:44:25 DEBUG response.py:65 {'message': "Port 2 isn't free", 'status': 409}

This is the same bug from about last May with the Windows Server 2016 taking a long time to export....but that is another story. I tracked down the code and you must be doing something I do not understand because I can not find where you are setting self._ubridge_hypervisor I do not know what you are doing.

base_node.py self._ubridge_hypervisor = None
cloud.py if self._ubridge_hypervisor and
self._ubridge_hypervisor.is_running():
vmware_vm.py if not self._ubridge_hypervisor:

It is entirely possible my powershell code is buggy. As far as export project being scheduled for an overhaul in gns3 3.1,I do not know.

As far as exporting a gns3 cloud appliance in a project - it may be more trouble than it is worth and the standard response may be: "if you want a cloud, then put your own gns3 cloud in the project." - then there is no need to say

"well....my access-lists are for my home computer and in my exported project all work for my ip addressing....you have to change all the access-list and all ip addresses in the project that i exported or change the ip address of your lan and home computer"........... 👎

There may be more error messages that are related to this problem but I think they are too far gone now: 2023-03-19 16:33:58 DEBUG response.py:65 {'message': "Port 0 isn't free", 'status': 409} 2023-05-27 10:02:41 DEBUG response.py:65 {'message': "Port 1 isn't free", 'status': 409} 2023-05-28 22:12:18 DEBUG response.py:65 {'message': "Port 3 isn't free", 'status': 409}

This ERROR message should always hit the gui. 2023-06-11 21:17:32 ERROR cloud.py:405 Cannot add NIO on cloud "Cloud1": Could not find NPF id for interface eth2 It does not. I start the gns3 server in debug mode or not-debug mode and sometimes the message does not hit the gui.

2023-06-04 09:50:16 DEBUG ubridge_hypervisor.py:273 returned result [] 2023-06-04 09:50:16 ERROR cloud.py:405 Cannot add NIO on cloud "Cloud1-bridged": Could not find NPF id for interface eth2 2023-06-04 09:50:16 INFO base_node.py:709 Stopping uBridge hypervisor 192.168.161.1:2227 2023-06-04 09:50:16 INFO hypervisor.py:208 Stopping uBridge process PID=22488 2023-06-04 09:50:16 DEBUG ubridge_hypervisor.py:204 sending hypervisor stop

Oh, here'a project. A gns3 cloud appliance and an ethernetswitch - it fails.

topology

1st.gns3.txt

I was really using this project the last few days. topology

This has to have been broken for at least 13months.

josephmhiggins commented 1 year ago

i am using windows 10 host gns3 2.2.38 vmware 16.2.5

it fails whether I use gns3 vm configured as a remote server or just use the gns3 vm as a "local compute" via checking the "Enable GNS3 VM".

The "port x isn't free" looks to be a new bug - since at least march. This is a cosmetic issue and, now that I think about it, it might be unrelated. This happens when i just load a project........yeah....I think it is unrelated. I just click file -open -project and the 2nd time it always works.

So...when I write my code for start-gns3.ps1, I have to stop and start gns3 every 5-15 minutes so I can test my code. But the "port x isn't free" message is not caused by me. It should be a different bug associated the the cloud appliance. That message can be ignored for now.

josephmhiggins commented 1 year ago

OKAY, i found the "problem". I have been running the gns3 cloud and gns3 ethernetswitches for the last 5-7 years on the gns3 vm. when a project is exported on my windows 10 host with the gns3 vm enabled, then the gns3 cloud is changed during the export process:

from "compute_id" = "vm" to "compute_id" = "local"

If I install my gns3 cloud and ethernetswitch on 'local'; it works. If I install my gns3 cloud and ethernetswitch on 'the gns3 vm'; it never works.

Also, the order I add devices into the gns3 topology may affect things, because I got a new error: 2023-06-12 02:33:29 CRITICAL init.py:258 Could not find Dynamips Note: sometimes things can get a little confusing during troubleshooting.

At this moment, I would say that the gns3 cloud can not be exported. REST api call should be given in instructions for a lab to a third party on how to install the cloud - if one is desired.

The https://github.com/GNS3/gns3-server/tree/master/docs/api/examples is absolutely wonderful and can be used.

So....the export project/import project is not symmetric

  1. something must be omitted during the export process when the gns3 cloud is changed from 'vm' to 'local', or
  2. i have been incorrectly running the gns3 cloud on the gns3 vm (i think my design is correct to run it on the gns3 vm).

I will add text information on how to make the rest api calls in powershell and python to add the gns3 cloud to any lab I do.

josephmhiggins commented 1 year ago

This post was opened in the gns3 community to address the situation: https://gns3.com/community/discussions/exporting-a-project-with-the-gns3-cloud-on-gns3-ver-less-than-3-with-the-gns3-vm-on-windows

Exporting a cloud is non-sensical. I will switch all my ethernetswitches and clouds to run Local.

As far as importing a gns3 project from gns3 ver <3.0 to above 3.0: I can fix that if it is broken.

err, i was using the -List option in powershell which only lists one "find" per file. Now, that is important to fix that.