pachyderm / ddextension

Docker Desktop Extension
0 stars 0 forks source link

Unable to install this extension #1

Open collabnix opened 1 year ago

collabnix commented 1 year ago

I tried installing this extension(with kubernetes enabled under Preference tab), but it threw an error:

Screenshot 2022-12-05 at 10 37 17 AM
nitinjainsj commented 1 year ago

@collabnix Thanks for the report. Can you please tell me more about your env? Are you using windows/mac/Linux, x86 or arm arch?

This is a work in progress and has gone through minimal testing.

Thanks.

nitinjainsj commented 1 year ago

@collabnix BTW, if it failed to install pachctl, you have likely successfully installed pachyderm through the extension. You can follow the instruction for step 2 in our installation doc to install pachctl -- https://docs.pachyderm.com/2.4.x/getting-started/local-deploy/docker/#2-install-pachctl-cli

You should also be able to go to HTTP://localhost to connect to the Console

Hope that unblocks you. Please share if you are successful with your deployment.

nitinjainsj commented 1 year ago

@collabnix The latest changes I've pushed have simplified the handling of installing pachctl. If you end up trying it, let me know if it worked.

This is still very early, so I understand if you'd wait for it to get to a better state. I'd still like to know your env.

collabnix commented 1 year ago

@nitinjainsj I am using Docker Desktop for Mac running on Apple M1 Pro. I tried the latest version of extension and encounter the same issue.

image

I just followed the README.md and tried clicking on "Install" to see things happening but it still throws the same error.

nitinjainsj commented 1 year ago

@collabnix Thank you. I am going to find an M1 mac to test myself. In the interim, you can do "brew install pachctl@2.4" on your mac terminal.

If you have kubectl installed on your machine, can you post "kubectl get pods".

Also if the rest of the installation went through, you should be able to launch "Console" from the button.

I'll keep you posted as soon as I have a version that I feel should work in your env.

nitinjainsj commented 1 year ago

@collabnix I may have found the root cause for your issue. Can you tell me which shell are you using? On the terminal it should be 'echo $SHELL'

ajeetraina commented 1 year ago

Hi @nitinjainsj It would be great if this Extension takes care of Pachyderm binaries too, so that one can install it in a single shot.

Does "Install' button takes care of Helm and PachD both?

echo $SHELL
/bin/zsh
ajeetraina commented 1 year ago

Hi @nitinjainsj I installed Pachctl manually on my Mac terminal successfully.

pachctl
Access the Pachyderm API.

Environment variables:
  PACH_CONFIG=<path>, the path where pachctl will attempt to load your config.
  JAEGER_ENDPOINT=<host>:<port>, the Jaeger server to connect to, if PACH_TRACE
    is set
  PACH_TRACE={true,false}, if true, and JAEGER_ENDPOINT is set, attach a Jaeger
    trace to any outgoing RPCs.
  PACH_TRACE_DURATION=<duration>, the amount of time for which PPS should trace
    a pipeline after 'pachctl create-pipeline' (PACH_TRACE must also be set).

Usage:
  pachctl [command]

Administration Commands:
  auth         Auth commands manage access to data in a Pachyderm cluster
  enterprise   Enterprise commands enable Pachyderm Enterprise features
  idp          Commands to manage identity provider integrations

Commands by Action:
  copy         Copy a Pachyderm resource.
  create       Create a new instance of a Pachyderm resource.
  delete       Delete an existing Pachyderm resource.
  diff         Show the differences between two Pachyderm resources.
  edit         Edit the value of an existing Pachyderm resource.
  finish       Finish a Pachyderm resource.
  get          Get the raw data represented by a Pachyderm resource.
  glob         Print a list of Pachyderm resources matching a glob pattern.
  inspect      Show detailed information about a Pachyderm resource.
  list         Print a list of Pachyderm resources of a specific type.
  put          Insert data into Pachyderm.
  restart      Cancel and restart an ongoing task.
  squash       Squash an existing Pachyderm resource.
  start        Start a Pachyderm resource.
  stop         Cancel an ongoing task.
  subscribe    Wait for notifications of changes to a Pachyderm resource.
  update       Change the properties of an existing Pachyderm resource.
  wait         Wait for the side-effects of a Pachyderm resource to propagate.

Other Commands:
  buildinfo    Print go buildinfo.
  completion   Print or install terminal completion code.
  config       Manages the pachyderm config.
  debug        Debug commands for analyzing a running cluster.
  draw         Draw an ASCII representation of an existing Pachyderm resource.
  exit         Exit the pachctl shell.
  fsck         Run a file system consistency check on pfs.
  license      License commmands manage the Enterprise License service
  logs         Return logs from a job.
  mount        Mount pfs locally. This command blocks.
  port-forward Forward a port on the local machine to pachd. This command blocks.
  resume       Resume a stopped task.
  run          Manually run a Pachyderm resource.
  shell        Run the pachyderm shell.
  unmount      Unmount pfs.
  version      Print Pachyderm version information.

Additional help topics:
  branch       Docs for branches.
  commit       Docs for commits.
  datum        Docs for datums.
  file         Docs for files.
  job          Docs for jobs.
  object       Docs for objects.
  pipeline     Docs for pipelines.
  repo         Docs for repos.
  transaction  Docs for transactions.

Use "pachctl [command] --help" for more information about a command.
ajeetraina@Docker-Ajeet-Singh-Rainas-MacBook-Pro ddextension % 

I can even access it via Extension when I directly click "Console" button

image

But when I try to click "Install" button it complains that pachctl is not installed

image

Quick Suggestions:

The console button works great but it should open up the console in the Docker Desktop rather than redirecting it to an external Web URL.

nitinjainsj commented 1 year ago

@ajeetraina The extension will deploy everything you need... pachd, pachctl, console, notebook. If you type in kubectl get pods, you'll see all the pods running. The issue you are running into is a tricky one... pachctl needs to be installed on the user host machine (Mac, Linux, Windows). Every user has a slightly different setup and has different levels of permissions to install new software, different shells, etc. In your case, you are using zsh. The script running the install is a bash script. Hence in your env. it is not finding the right paths to check and/or install new software (pachctl) -- hence the failures. Our goal is to install the binary in the least privileged mode, so when we release it any user can install it on their system.

On the suggestion of opening Console in docker desktop -- since docker desktop has its native UI (i.e. not a browser) it will make porting any webapp (like Console) to DD a significant project (which is likely not worth the overall effort).

Based on your updates, seems like you've got everything running on your machine. Please join our community slack channel to ask for any help. Our team will be happy to assist you.