gns3-gui icon indicating copy to clipboard operation
gns3-gui copied to clipboard

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

Open Pcrossley69 opened this issue 1 year ago • 3 comments

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 avatar Jan 04 '24 15:01 Pcrossley69

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 avatar Feb 22 '24 05:02 grossmj

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 avatar Feb 24 '24 11:02 grossmj

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

grossmj avatar Apr 23 '24 11:04 grossmj