canonical / microk8s

MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge.
https://microk8s.io
Apache License 2.0
8.51k stars 772 forks source link

Enabling Kubeflow should use juju store by default #859

Closed msnidal closed 4 years ago

msnidal commented 4 years ago

Related to my comment https://github.com/ubuntu/microk8s/issues/753#issuecomment-564672777, if a user has a directory or file kubeflow in their working directory, microk8s.enable kubeflow will fail due to the ambiguous juju deploy command. Given the context of a microk8s user running this command, I think it makes sense to prefix the deploy command with a cs: to avoid this error.

Example case:

$ export KUBEFLOW_DEBUG=true
$ microk8s.enable kubeflow

Enabling dns...
Enabling storage...
Enabling dashboard...
Enabling ingress...
Enabling rbac...
Enabling juju...
Deploying Kubeflow...
13:15:13 INFO  juju.cmd supercommand.go:80 running juju [2.8-beta1  gc go1.10.4]
13:15:13 DEBUG juju.cmd supercommand.go:81   args: []string{"/var/snap/microk8s/1107/bin/juju", "--debug", "deploy", "kubeflow", "--channel", "stable", "--overlay", "/tmp/tmpedbdz14f"}
13:15:13 INFO  juju.juju api.go:67 connecting to API addresses: [10.152.183.254:17070]
13:15:13 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.254:17070/api"
13:15:13 INFO  juju.api apiclient.go:624 connection established to "wss://10.152.183.254:17070/api"
13:15:13 INFO  juju.juju api.go:67 connecting to API addresses: [10.152.183.254:17070]
13:15:13 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.254:17070/model/143d147d-2f1d-47d3-8199-e50c2cb91d5c/api"
13:15:13 INFO  juju.api apiclient.go:624 connection established to "wss://10.152.183.254:17070/model/143d147d-2f1d-47d3-8199-e50c2cb91d5c/api"
13:15:14 INFO  juju.juju api.go:67 connecting to API addresses: [10.152.183.254:17070]
13:15:14 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.254:17070/api"
13:15:14 INFO  juju.api apiclient.go:624 connection established to "wss://10.152.183.254:17070/api"
13:15:14 DEBUG juju.api monitor.go:35 RPC connection died
ERROR The charm or bundle "kubeflow" is ambiguous.
To deploy a local charm or bundle, run `juju deploy ./kubeflow`.
To deploy a charm or bundle from the store, run `juju deploy cs:kubeflow`.
13:15:14 DEBUG cmd supercommand.go:518 error stack: 
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1340: The charm or bundle "kubeflow" is ambiguous.
To deploy a local charm or bundle, run `juju deploy ./kubeflow`.
To deploy a charm or bundle from the store, run `juju deploy cs:kubeflow`.
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1228: 
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1193: 

Command '('microk8s-juju.wrapper', '--debug', 'deploy', 'kubeflow', '--channel', 'stable', '--overlay', '/tmp/tmpedbdz14f')' returned non-zero exit status 1
Failed to enable kubeflow
ktsakalozos commented 4 years ago

@msnidal thank you the work you put into debugging this and the suggestion @msnidal. I think it makes sense. Your thoughts @knkski?