GNS3 / gns3-server

GNS3 server
GNU General Public License v3.0
811 stars 263 forks source link

Docker node error: no "/gns3/init.sh" file #2193

Closed lorenzcat closed 1 year ago

lorenzcat commented 1 year ago

When starting a docker node from the web ui i get the following error: image

2023-03-01 13:42:23 ERROR route.py:221 Node error detected: DockerError
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/gns3server/web/route.py", line 200, in control_schema
    await func(request, response)
  File "/usr/lib/python3.10/site-packages/gns3server/handlers/api/compute/docker_handler.py", line 89, in start
    await container.start()
  File "/usr/lib/python3.10/site-packages/gns3server/compute/docker/docker_vm.py", line 479, in start
    await self.manager.query("POST", "containers/{}/start".format(self._cid))
  File "/usr/lib/python3.10/site-packages/gns3server/compute/docker/__init__.py", line 110, in query
    response = await self.http_query(method, path, data=data, params=params)
  File "/usr/lib/python3.10/site-packages/gns3server/compute/docker/__init__.py", line 169, in http_query
    raise DockerError("Docker has returned an error: {} {}".format(response.status, body))
gns3server.compute.docker.docker_error.DockerError: Docker has returned an error: 400 failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/gns3/init.sh": stat /gns3/init.sh: no such file or directory: unknown

In this case i was starting an open vswitch instance imported from the official marketplace (https://www.gns3.com/marketplace/appliances/open-vswitch)

I believe that the problem is that when creating a docker node is it assumed that "/gns3/init.sh" is present. At least that's what i think this line does: https://github.com/GNS3/gns3-server/blob/master/gns3server/compute/docker/docker_vm.py#L367

But in the docker image for open vswitch (https://hub.docker.com/r/gns3/openvswitch) there is no such file image

So what am i doing wrong/ how do i fix this?

lorenzcat commented 1 year ago

Nevermind i'm not sure what i was doing wrong but now it works