Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export Portable Project doesn't export files on docker volumes if filename contains "#" or Special chars #3555

Closed
Pcrossley69 opened this issue Jan 4, 2024 · 3 comments · Fixed by GNS3/gns3-server#2360

Comments

@Pcrossley69
Copy link

Describe the bug
Export portable project will save the contents of Docker volumes so that they can be reloaded with the scenario.
Unfortunately the export seems to have an issue with filenames that contain special characters.

When exporting a docker appliance running MYSQL all the files for the database were copied apart from the ones with names starting with "#".

e.g. the directory #innodb_redo

The absence of this directory will stop mysql from starting.

A similar thing occurred when exporting a docker appliance running an apache server:

The Web application I was using (SIREMIS) creates files that contain special characters - for this scenario the export failed completely
with the error

=> ExportProjectWorker thread stopping with an error: File 'project-files/docker/c0f9e1e6-2480-4d35-8850-c21a32c27451/var/www/siremis-5.3.0/siremis/themes/default/template/cpl/%%4F^4F0^4F0FFC97%%system_appbuilder_btn.tpl.html.php' not found on compute
File 'project-files/docker/c0f9e1e6-2480-4d35-8850-c21a32c27451/var/www/siremis-5.3.0/siremis/themes/default/template/cpl/%%4F^4F0^4F0FFC97%%system_appbuilder_btn.tpl.html.php' not found on compute

I assume the problem is the unprintable characters in the filenames.

GNS3 version and operating system (please complete the following information):

  • OS: Windows 10 22H2
  • GNS3 version: 2.2.44.1
  • Any use of the GNS3 VM or remote server: Vmware VM

To Reproduce
Steps to reproduce the behavior:

  1. Load a project that contains a siremis Docker container
  2. Ensure that Siremis has completed its initiial configuration
  3. stop the project
  4. Use File->Export Portable project
  5. The export fails with error messages

I have included a screenshot of the error as well as one f the directory listing that caused the problem
(I listed the files with both "ls" and "find ."

siremis errormsg
Siremis Directory

@Pcrossley69 Pcrossley69 added the Bug label Jan 4, 2024
@grossmj
Copy link
Member

grossmj commented Feb 22, 2024

When exporting a docker appliance running MYSQL all the files for the database were copied apart from the ones with names starting with "#".

e.g. the directory #innodb_redo

I ran some tests and it looks like empty directories are ignored, is #innodb_redo empty on your side?

The Web application I was using (SIREMIS) creates files that contain special characters - for this scenario the export failed completely with the error

Do you have a Docker image I could use to easily reproduce the error? Thanks 👍

@grossmj grossmj linked a pull request Feb 24, 2024 that will close this issue
@grossmj
Copy link
Member

grossmj commented Feb 24, 2024

I fixed the empty directory issue however I couldn't reproduce the second problem. I think this is because of Windows and I need to test that.

@grossmj
Copy link
Member

grossmj commented Apr 23, 2024

@Pcrossley69 have you tried with the latest version? Do you still have these issues?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants