rancher-sandbox/rancher-desktop

Not able to install OI extension on Linux

Closed this issue · 6 comments

1.17 RC1 Testing

I am not able to install the IO extension on Linux. On clicking the Install button on the catalog item, the status changes to "Installing.." and changes back to "Install" after a while. I noticed that the ghcr.io/open-webui/open-webui container image is not downloaded for some reason.

OS: Ubuntu 22.04.4 LTS

Repro steps:

  • Launch Rancher Desktop
  • Install the OI extension from the catalog

Here's the extensions.log

Loaded image: ghcr.io/rancher-sandbox/rancher-desktop/rdx-proxy:latest
2024-12-17T16:26:49.461Z: Image ghcr.io/rancher-sandbox/rancher-desktop-rdx-open-webui:v0.0.1 is allowed to install: undefined
2024-12-17T16:27:22.783Z: Running ghcr.io/rancher-sandbox/rancher-desktop-rdx-open-webui compose up for ghcr_io_rancher-sandbox_rancher-desktop-rdx-open-webui
2024-12-17T16:27:23.021Z: Failed to install extension ghcr.io/rancher-sandbox/rancher-desktop-rdx-open-webui, cleaning up: c [Error]: /opt/rancher-desktop/resources/resources/linux/docker-cli-plugins/docker-compose exited with code 1
    at ChildProcess.<anonymous> (/opt/rancher-desktop/resources/app.asar/dist/app/background.js:2:185352)
    at ChildProcess.emit (node:events:519:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
  command: [
    '/opt/rancher-desktop/resources/resources/linux/docker-cli-plugins/docker-compose',
    '--project-directory',
    '/home/guna/.local/share/rancher-desktop/extensions/Z2hjci5pby9yYW5jaGVyLXNhbmRib3gvcmFuY2hlci1kZXNrdG9wLXJkeC1vcGVuLXdlYnVp/compose',
    '--project-name',
    'ghcr_io_rancher-sandbox_rancher-desktop-rdx-open-webui',
    'up',
    '--quiet-pull',
    '--wait',
    '--remove-orphans'
  ],
  code: 1,
  [Symbol(child-process.command)]: '/opt/rancher-desktop/resources/resources/linux/docker-cli-plugins/docker-compose --project-directory /home/guna/.local/share/rancher-desktop/extensions/Z2hjci5pby9yYW5jaGVyLXNhbmRib3gvcmFuY2hlci1kZXNrdG9wLXJkeC1vcGVuLXdlYnVp/compose --project-name ghcr_io_rancher-sandbox_rancher-desktop-rdx-open-webui up --quiet-pull --wait --remove-orphans'
}
2024-12-17T16:38:33.670Z: ipcMain: "extensions/spawn/blocking" handle called with: {"command":["container","ls","--format={{json .}}","--no-trunc","--all=true"],"execId":"b0390a4caeb93993def1211fc6f41b4e-docker-cli-16","scope":"docker-cli"}
2024-12-17T16:38:33.679Z: ipcMain: "extensions/spawn/blocking" handle called with: {"command":["container","ls","--format={{json .}}","--no-trunc","--all=true"],"execId":"b0390a4caeb93993def1211fc6f41b4e-docker-cli-17","scope":"docker-cli"}
2024-12-17T16:38:33.718Z: ipcMain: "extensions/spawn/blocking" handle called with: {"command":["inspect","--format={{json .}}","e35b55bbf99648a2aec1b8b9e96e5f803f35039476e537a1f5fc89941ec66ed6","395d40e587b0371e8f7722bb11f0aedced0a108748bfcb73e416ab39bccca702","20e6599b2ad6a042470bdd4a8c02c37aad7b7dd760dd72dce3f6ee019fa66116","3e89743dfdf68c04c872cb13514fb7e4053ecfe84673054a4aa5dc8f5e51bfa6","cd50c68da6639d4865685c906d42420fcd96b2c93b1de84f8552b57d978ff06a","8fb25aada3e0f6e3d457014f491cbb2febe1df34ec3d243faf17e7843ad7c168","cb2ef0a25dd1f34f342bb0e7df0e602a39dc93db18e441d49e0a4...
2024-12-17T16:38:33.726Z: ipcMain: "extensions/spawn/blocking" handle called with: {"command":["inspect","--format={{json .}}","e35b55bbf99648a2aec1b8b9e96e5f803f35039476e537a1f5fc89941ec66ed6","395d40e587b0371e8f7722bb11f0aedced0a108748bfcb73e416ab39bccca702","20e6599b2ad6a042470bdd4a8c02c37aad7b7dd760dd72dce3f6ee019fa66116","3e89743dfdf68c04c872cb13514fb7e4053ecfe84673054a4aa5dc8f5e51bfa6","cd50c68da6639d4865685c906d42420fcd96b2c93b1de84f8552b57d978ff06a","8fb25aada3e0f6e3d457014f491cbb2febe1df34ec3d243faf17e7843ad7c168","cb2ef0a25dd1f34f342bb0e7df0e602a39dc93db18e441d49e0a4...
2024-12-17T16:53:35.102Z: ipcMain: "extensions/spawn/blocking" handle called with: {"command":["container","ls","--format={{json .}}","--no-trunc","--all=true"],"execId":"b0390a4caeb93993def1211fc6f41b4e-docker-cli-20","scope":"docker-cli"}
2024-12-17T16:53:35.111Z: ipcMain: "extensions/spawn/blocking" handle called with: {"command":["container","ls","--format={{json .}}","--no-trunc","--all=true"],"execId":"b0390a4caeb93993def1211fc6f41b4e-docker-cli-21","scope":"docker-cli"}
2024-12-17T16:53:35.143Z: ipcMain: "extensions/spawn/blocking" handle called with: {"command":["inspect","--format={{json .}}","e35b55bbf99648a2aec1b8b9e96e5f803f35039476e537a1f5fc89941ec66ed6","395d40e587b0371e8f7722bb11f0aedced0a108748bfcb73e416ab39bccca702","20e6599b2ad6a042470bdd4a8c02c37aad7b7dd760dd72dce3f6ee019fa66116","3e89743dfdf68c04c872cb13514fb7e4053ecfe84673054a4aa5dc8f5e51bfa6","cd50c68da6639d4865685c906d42420fcd96b2c93b1de84f8552b57d978ff06a","8fb25aada3e0f6e3d457014f491cbb2febe1df34ec3d243faf17e7843ad7c168","cb2ef0a25dd1f34f342bb0e7df0e602a39dc93db18e441d49e0a4...
2024-12-17T16:53:35.152Z: ipcMain: "extensions/spawn/blocking" handle called with: {"command":["inspect","--format={{json .}}","e35b55bbf99648a2aec1b8b9e96e5f803f35039476e537a1f5fc89941ec66ed6","395d40e587b0371e8f7722bb11f0aedced0a108748bfcb73e416ab39bccca702","20e6599b2ad6a042470bdd4a8c02c37aad7b7dd760dd72dce3f6ee019fa66116","3e89743dfdf68c04c872cb13514fb7e4053ecfe84673054a4aa5dc8f5e51bfa6","cd50c68da6639d4865685c906d42420fcd96b2c93b1de84f8552b57d978ff06a","8fb25aada3e0f6e3d457014f491cbb2febe1df34ec3d243faf17e7843ad7c168","cb2ef0a25dd1f34f342bb0e7df0e602a39dc93db18e441d49e0a4...

Full logs from the session:

logs.zip

From moby.log:

time="2024-12-17T08:27:22-08:00" level=warning msg="Using /home/guna/.local/share/rancher-desktop/extensions/Z2hjci5pby9yYW5jaGVyLXNhbmRib3gvcmFuY2hlci1kZXNrdG9wLXJkeC1vcGVuLXdlYnVp/compose/compose.yaml"
 open-webui Pulling 
 searxng Pulling 
error getting credentials - err: exit status 1, out: `pass not initialized: exit status 1: Error: password store is empty. Try "pass init".`

Ah Ok. But, in theory these images do not require me to login as they are public.
So, Is this still a bug that the image pull fails when pass is not initialized?

Also, I am now able to install the extension after I did pass init.

Hmm, we do have extra logic to check that pass is initialized before suggesting it:

protected async credHelperPassInitialized(): Promise<boolean> {

Odd that it's not working. Can you un-initialize pass and try pass ls and see if it correctly fails? Perhaps a newer version no longer reports the error?

Hmm, I could not reproduce after manually deleting ~/.password-store (such that pass ls shows the expected Try "pass init". message).

I couldn't repo after I did pass init. Closing the issue.