Bug 1570826

Summary: Docker helper script and needed tools are missing.
Product: [Fedora] Fedora Reporter: Jan Hugo Prins <jprins>
Component: gns3-serverAssignee: Othman Madjoudj <athmanem>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 29CC: athmanem
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gns3-server-2.1.16-7.fc31 gns3-server-2.1.16-7.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-24 15:54:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jan Hugo Prins 2018-04-23 13:10:05 UTC
Description of problem:

In GNS3 you can import a docker image to create an object in your simulation. When this docker image is imported and added to the workflow a /gns3 readonly mount is added to the docker to be able to invoke a /gns3/init.sh script during docker instance initiation. The files needed for this are not in the RPM file of gns3-server are neede for docker images to work correctly. 

Version-Release number of selected component (if applicable):

gns3-server-2.1.3. 

How reproducible:

Every time I tested it.

Steps to Reproduce:

1. Install gns3-server and gns3-gui. 
2. Start gns3-gui and import a docker container. (Edit > Preferences > Docker Containers)
3. Create a new project.
4. Drag the image from "Installed Appliances" to your project.
5. Try to start the appliance.

Actual results:

gns3server.compute.docker.docker_error.DockerHttp404Error: Docker has returned an error: 404 oci runtime error: container_linux.go:247: starting container process caused "exec: \"/gns3/init.sh\": stat /gns3/init.sh: no such file or directory"

Expected results:

The docker starts and is running. docker ps -a shows your running docker container.

Additional info:

The missing files are:

/usr/lib/python3.6/site-packages/gns3server/compute/docker/resources/init.sh
/usr/lib/python3.6/site-packages/gns3server/compute/docker/resources/bin/busybox
/usr/lib/python3.6/site-packages/gns3server/compute/docker/resources/etc/udhcpc/default.script

Comment 1 Othman Madjoudj 2018-04-24 12:01:16 UTC
Docker support was disabled initially on purpose to move the package review since Fedora packaging policy does not allow 3rd party binaries.

I'll try to work on something, my initial idea is to use busybox from fedora or pull the image directly from docker registry/hub.

Comment 2 Jan Hugo Prins 2018-11-02 23:04:50 UTC
This bug is still persistent in Fedora 29. Is there any hope for a fix in the near future?

Comment 3 Fedora Update System 2019-09-16 00:22:18 UTC
FEDORA-2019-ecd99aebf7 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-ecd99aebf7

Comment 4 Fedora Update System 2019-09-16 00:40:01 UTC
FEDORA-2019-9d1b468423 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-9d1b468423

Comment 5 Othman Madjoudj 2019-09-16 11:37:37 UTC
The missing files required for Docker support were readded, although busybox is replaced (w/ some hacks in the spec) with Fedora one since it's not allowed to ship 3rd party binaries (tested support with docker.io:alpine).

Please provide feedback via bodhi.

NB. gns user must have privileges to run docker directly, which is achieved by creating a docker group, restarting docker service and adding gns user to that group since it cannot be done automatically for security reasons.

Comment 6 Fedora Update System 2019-09-17 02:10:00 UTC
gns3-server-2.1.16-7.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-9d1b468423

Comment 7 Fedora Update System 2019-09-17 02:14:01 UTC
gns3-server-2.1.16-7.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-ecd99aebf7

Comment 8 Fedora Update System 2019-09-24 15:54:47 UTC
gns3-server-2.1.16-7.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2019-09-25 01:07:16 UTC
gns3-server-2.1.16-7.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.