gns3-gui
gns3-gui copied to clipboard
Export Portable Project doesn't export files on docker volumes if filename contains "#" or Special chars
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:
- Load a project that contains a siremis Docker container
- Ensure that Siremis has completed its initiial configuration
- stop the project
- Use File->Export Portable project
- 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 ."
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 👍
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.
@Pcrossley69 have you tried with the latest version? Do you still have these issues?