Description
Steps to Reproduce
None
Expected Result
None
Actual Result
None
Environment
None
Hardware Health
None
Error Message (if applicable)
None
Activity
Show:
Bug Clerk October 10, 2024 at 2:24 PM
This issue has now been closed. Comments made after this point may not be viewed by the TrueNAS Teams. Please open a new issue if you have found a problem or need to re-engage with the TrueNAS Engineering Teams.
Bug Clerk October 10, 2024 at 12:32 PM
24.10.0 PR: https://github.com/truenas/webui/pull/10842
Bug Clerk October 4, 2024 at 9:47 AM
Bug Clerk September 12, 2024 at 2:35 PM
Thank you for submitting this TrueNAS Bug Report! So that we can quickly investigate your issue, please attach a Debug file and any other information related to this issue through our secure and private upload service below. Debug files can be generated in the UI by navigating to System -> Advanced -> Save Debug.
https://ixsystems.atlassian.net/servicedesk/customer/portal/15/group/37/create/153
Complete
Pinned fields
Click on the next to a field label to start pinning.
Details
Assignee
Reporter
Story Points
1
Components
Priority
High
More fields
Time tracking
Katalon Platform
Linked Test Cases, Katalon Defect Results, Katalon Studio Test Results
Linked Test Cases, Katalon Defect Results, Katalon Studio Test Results
Created September 12, 2024 at 2:35 PM
Updated October 10, 2024 at 2:24 PM
Resolved October 10, 2024 at 2:24 PM
Steps to reproduce:
1. Install custom app
2. Click edit to edit it and UI says Error detected reading app
UI on step (2) makes a call
app.query '[['name', '=', 'app']] '{"extra": {"retrieve_config": true, "include_app_schema": true}}'
This call will return something like the following:
{ "name": "custom-1", "id": "custom-1", "active_workloads": { "containers": 1, "used_ports": [], "container_details": [ { "service_name": "nginx", "image": "nginx:latest", "port_config": [], "state": "exited", "volume_mounts": [], "id": "f815e2532cdb79c350f45bca39ac22098760891584956e0d0df55b89a213e57e" } ], "volumes": [], "images": [ "nginx:latest" ] }, "state": "CRASHED", "upgrade_available": false, "image_updates_available": false, "custom_app": true, "human_version": "1.0.0_custom", "metadata": { "app_version": "custom", "capabilities": [], "description": "This is a custom app where user can use his/her own docker compose file for deploying services", "home": "", "host_mounts": [], "maintainers": [], "name": "custom-app", "run_as_context": [], "sources": [], "title": "Custom App", "train": "stable", "version": "1.0.0" }, "migrated": false, "notes": null, "portals": {}, "version": "1.0.0", "config": { "services": { "nginx": { "image": "nginx:latest" } }, "version": "3" } }
Here
config
attr has the yaml user had provided, so UI needs to show that which the user can edit again and UI can send again toapp.update
.For
app.update
UI does not has to send these values asvalues
but rather use eithercustom_compose_config
orcustom_compose_config_string
attr - the former takes a serialized yaml file i.e a dictionary object and the latter takes the yaml as is.This is only true for custom apps and UI can see if it is custom or not by checking
custom_app
attr.