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

Problem: Project backup files are not restored correctly #2227

Open
Sombeyyy opened this issue Jul 23, 2024 · 11 comments
Open

Problem: Project backup files are not restored correctly #2227

Sombeyyy opened this issue Jul 23, 2024 · 11 comments
Assignees
Labels

Comments

@Sombeyyy
Copy link

Issue

Project backup files are not restored correctly. After importing the backup file, variables defined in the task templates have disappeared.
Recreating the variables in this template results in the following error: "Invalid app_id:"
image

Steps to reproduce

  1. Create a project as usual
  2. Create a template as usual and set any number of variables that are required when the playbook is started
  3. Create a backup via Dashboard -> Settings -> Backup
  4. Delete the project drom step 1 or use another semaphore instance
  5. Restore the update via "Restore project..."
  6. Check whether variables are still present
  7. Recreate the variables in the template and then save them

Impact

Other

Installation method

Docker

Database

Postgres

Browser

Microsoft Edge

Semaphore Version

v2.10.22-e44910d-1721658561

Ansible Version

No response

Logs & errors

No response

Manual installation - system information

No response

Configuration

No response

Additional information

Template before the backup
image

Template after importing the backup
image

@fiftin fiftin added the bug label Jul 23, 2024
@fiftin fiftin self-assigned this Jul 23, 2024
@github-project-automation github-project-automation bot moved this to To triage in Bugfixing Jul 23, 2024
@kevingavran
Copy link

kevingavran commented Jul 30, 2024

Had the same issue. Fixed by manually adding the label in the NEW column "app" in the "project_template" table the correct app id (which is ansible)

Edit: got this issue after an update

@ezekiel
Copy link

ezekiel commented Jul 31, 2024

This affects more than just variable modification. Semaphore fails to Run any/all Tasks in a restored project because Semaphore doesn't know what to execute: Running app failed: exec: no command.

@kevingavran
Copy link

Yea got it working again after altering the db

@alphkn
Copy link

alphkn commented Aug 27, 2024

same here. Is there any quick solution? restoring project completely useless now.

@terman37
Copy link

Same for me. Restore is not working anymore since 2.10 and the ability to launch different apps.

Running app failed: exec: no command

@christianbur
Copy link

For me it was the browser cache, just try a different browser.

@pierrediancourt
Copy link

pierrediancourt commented Sep 19, 2024

Hello,
I encounter the exact same issues in version 2.10.22-e44910d-172165829
Another symptom of the same root issue is this icon being displayed (proof that the restored template has no "type" defined)
image

And here's another way to present the issue :
The projects restore API endpoint should show a property to define the type of task in templates
image
And of course the export button in the UI should generate a json file presenting this new property

As mentioned earlier the Backup/Restore features are totally unusable right now.
I think it's not the first time this set of feature breaks or that the API doc for this endpoint is not updated, maybe some automatic tests should added ?

Thank you for supporting this project !

@steadfasterX
Copy link
Contributor

steadfasterX commented Oct 4, 2024

I encountered the same issue as I use an ansible task to create semaphore templates over the API.

the missing key for that (and likely the restore) is app and should be set to ansible in my case (as these are ansible templates).

@fiftin it would be great if you could do pre-check tests in your build tests like that. if you can create a template over the API and are able to RUN it it would be good indicator that both restore and the API act as expected?!

for those who wanna know the quick and dirty fix:

use semaphore;
select name from project__template where app = "";
update project__template set app = "ansible" where app = "";

@fiftin
Copy link
Collaborator

fiftin commented Oct 5, 2024

Hi @steadfasterX,

The backup functionality isn't working properly. I'm fixing it right now.

@pierrediancourt
Copy link

pierrediancourt commented Oct 16, 2024

Hi,

This issue is resolved with the latest 2.10.30 release
I still recommend to :

And for the long run it would be great to do the following as part of the release process:

  • automate the testing of API endpoints such as this one
  • regenerate/redeploy the API endpoint doc as it's "Swagger-Powered"

Thank you very much for the fix @fiftin 🙏

@Hugobox
Copy link

Hugobox commented Dec 19, 2024

Hi! On semaphoreUI v2.10.43, clicking on the project restore button does a GET on http://server:port/api/project/restore which results in a 404 error. It should be /api/projects/restore (projects plural instead of singular).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Status: To triage
Development

No branches or pull requests

10 participants