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

Docs should show how to pull a particular release #524

Merged
merged 4 commits into from Apr 2, 2018

Conversation

jlewi
Copy link
Contributor

@jlewi jlewi commented Mar 28, 2018

Update the docs so that we explain to users how to pull a particular version of the ksonnet configs.

Related to

#506 Cut a 0.1 release
#215 Minimal release process


This change is Reviewable

@jlewi
Copy link
Contributor Author

jlewi commented Mar 28, 2018

/assign @willb

@jlewi
Copy link
Contributor Author

jlewi commented Mar 28, 2018

/test all

@jlewi
Copy link
Contributor Author

jlewi commented Mar 28, 2018

Here was the first failure

+ /usr/local/bin/checkout.sh /src
+ SRC_DIR=/src
+ mkdir -p /src/kubeflow
+ git clone https://github.com/kubeflow/kubeflow.git /src/kubeflow/kubeflow
Cloning into '/src/kubeflow/kubeflow'...
+ echo Job Name = kubeflow-presubmit
+ REPO_DIR=/src/kubeflow/kubeflow
+ cd /src/kubeflow/kubeflow
Job Name = kubeflow-presubmit
+ '[' '!' -z 524 ']'
+ git fetch origin pull/524/head:pr
From https://github.com/kubeflow/kubeflow
 * [new ref]         refs/pull/524/head -> pr
+ '[' '!' -z 7d9c2633d7ddf2a1957e685f9e7f287340be0e34 ']'
+ git checkout 7d9c2633d7ddf2a1957e685f9e7f287340be0e34
fatal: reference is not a tree: 7d9c2633d7ddf2a1957e685f9e7f287340be0e34

The ref is somehow missing the commit.

@ankushagarwal
Copy link
Contributor

I think there is a bug in ksonnet.

VERSION=v0.1.0-rc.0
ks registry add kubeflow github.com/kubeflow/kubeflow/tree/${VERSION}/kubeflow
ks pkg install kubeflow/core

These instructions seem to install the kubeflow/core from master branch rather than branch v0.1.0-rc.0

@ankushagarwal
Copy link
Contributor

ksonnet/ksonnet#398

@jlewi
Copy link
Contributor Author

jlewi commented Mar 29, 2018

The following seems to work

ks pkg install kubeflow/tf-job@${VERSION}

at least based on app.yaml.

@kkasravi
Copy link
Contributor

@jlewi @ankushagarwal FYI I have a bash script called kf. I can slack it to you although it's being converted to python as part of the tooling proposal which i'll be submitting this week. It creates things correctly including enabling IAP as shown in the output below. It will also set up soft links if the repo is a fork and cloned locally as described in the developer_guide.md (which isn't done below since we're just using a tagged version from the kubeflow/kubeflow repo). This script may be helpful since I've created kubeflow namespaces literally several hundred times as part of baking the script, including IAP enabled ones.
Note the hostname below when ks generates iap-ingress which you can try logging into rather than dev.kubeflow.com. You should get the IAP auth challenge and be redirected to jupyterhub w/ no challenge since it's using the IAPAuthenticator.

BTW @ankushagarwal iap.md is a great write up 👍

kf create -h

kf create [-h] [-d] [-r repo] [-b branch] [-i] namespace
 -h prints help info
 -d launches jupyterHubImage with "bash sleep inf"
 -r use a different github org/repo (default kubeflow/kubeflow)
 -b use a different github branch (default master)
 -i enable iap

 Create will create a kubernetes namespace and populate it with functionality to process ml models.

Below is the output of the command.
Note: kf -V will echo all commands and I've filtered out ks INFO statements.

$ ☞  kf -V create -b v0.1.0-rc.0 -i kam-kf-22
kubectl create ns kam-kf-22
namespace "kam-kf-22" created
kubectl config set-context gke_constant-cubist-173123_us-west1-a_dls-projects --namespace=kam-kf-22
Context "gke_constant-cubist-173123_us-west1-a_dls-projects" modified.
ks init kam-kf-22 --api-spec=version:v1.8.0
ks registry add kubeflow github.com/kubeflow/kubeflow/tree/v0.1.0-rc.0/kubeflow
ks pkg install kubeflow/core@v0.1.0-rc.0
ks pkg install kubeflow/argo@v0.1.0-rc.0
ks prototype use io.ksonnet.pkg.argo argo --namespace kam-kf-22 --name argo
ks generate core kubeflow-core --name=kubeflow-core --namespace=kam-kf-22
ks env add cloud
ks param set kubeflow-core cloud gke --env=cloud
ks apply cloud -c kubeflow-core
gcloud compute --project=constant-cubist-173123 addresses create kam-kf-22 --global
Created [https://www.googleapis.com/compute/v1/projects/constant-cubist-173123/global/addresses/kam-kf-22].
ks generate cert-manager cert-manager --namespace=kam-kf-22 --acmeEmail=kamkasravi@gmail.com
ks apply cloud -c cert-manager
ks generate iap-ingress iap-ingress --ipName=kam-kf-22 --namespace=kam-kf-22 --hostname=kamkasravi.com --clientID=XXXX --clientSecret=XXXX
ks apply cloud -c iap-ingress
ks param set kubeflow-core jupyterHubAuthenticator iap
ks apply cloud -c kubeflow-core
kubectl delete -n kam-kf-22 pods tf-hub-0
pod "tf-hub-0" deleted

Here are the resources created which show envoy, whoami and others as part of IAP

USER       NAME                              RESOURCE
kam-kf-22  envoy-config                      ConfigMap
kam-kf-22  jupyterhub-config                 ConfigMap
kam-kf-22  tf-job-operator-config            ConfigMap
kam-kf-22  ambassador                        Deployment
kam-kf-22  cert-manager                      Deployment
kam-kf-22  envoy                             Deployment
kam-kf-22  tf-job-operator                   Deployment
kam-kf-22  whoami-app                        Deployment
kam-kf-22  ambassador                        Endpoints
kam-kf-22  ambassador-admin                  Endpoints
kam-kf-22  envoy                             Endpoints
kam-kf-22  k8s-dashboard                     Endpoints
kam-kf-22  tf-hub-0                          Endpoints
kam-kf-22  tf-hub-lb                         Endpoints
kam-kf-22  whoami-app                        Endpoints
kam-kf-22  envoy-ingress                     Ingress
kam-kf-22  ambassador-5b74cd9c6b-928xr       Pod
kam-kf-22  ambassador-5b74cd9c6b-bnqcz       Pod
kam-kf-22  ambassador-5b74cd9c6b-zb4zm       Pod
kam-kf-22  cert-manager-64d8456756-n294m     Pod
kam-kf-22  envoy-869cbc7b9f-h8bbl            Pod
kam-kf-22  envoy-869cbc7b9f-tmsvk            Pod
kam-kf-22  envoy-869cbc7b9f-vwvxn            Pod
kam-kf-22  tf-hub-0                          Pod
kam-kf-22  tf-job-operator-5765ff7ccc-c4vzl  Pod
kam-kf-22  whoami-app-6d9d8dc867-gntzl       Pod
kam-kf-22  ambassador-5b74cd9c6b             ReplicaSet
kam-kf-22  cert-manager-64d8456756           ReplicaSet
kam-kf-22  envoy-869cbc7b9f                  ReplicaSet
kam-kf-22  tf-job-operator-5765ff7ccc        ReplicaSet
kam-kf-22  whoami-app-6d9d8dc867             ReplicaSet
kam-kf-22  ambassador                        ServiceAccount
kam-kf-22  cert-manager                      ServiceAccount
kam-kf-22  default                           ServiceAccount
kam-kf-22  envoy                             ServiceAccount
kam-kf-22  jupyter-hub                       ServiceAccount
kam-kf-22  tf-job-operator                   ServiceAccount
kam-kf-22  ambassador-token-6t25g            Secret
kam-kf-22  cert-manager-token-k624c          Secret
kam-kf-22  default-token-lbkm7               Secret
kam-kf-22  envoy-ingress-tls                 Secret
kam-kf-22  envoy-token-wchv5                 Secret
kam-kf-22  jupyter-hub-token-rd2kv           Secret
kam-kf-22  letsencrypt-prod-secret           Secret
kam-kf-22  tf-job-operator-token-qksjt       Secret
kam-kf-22  ambassador                        Service
kam-kf-22  ambassador-admin                  Service
kam-kf-22  envoy                             Service
kam-kf-22  k8s-dashboard                     Service
kam-kf-22  tf-hub-0                          Service
kam-kf-22  tf-hub-lb                         Service
kam-kf-22  whoami-app                        Service
kam-kf-22  tf-hub                            StatefulSet

@kkasravi
Copy link
Contributor

kkasravi commented Mar 29, 2018

Update - after rebasing from upstream/master i'm not able to go the iap domain - i noticed that centralui was added when i rebased - maybe envoy ingress is not redirecting correctly?
This is from master - not the release tag so it may not be relevant.

@jlewi
Copy link
Contributor Author

jlewi commented Mar 29, 2018

@kkasravi #525 (Central Dashboard) didn't make any changes to Ambassador routing so I'm not sure why it would have affected IAP. Can you open an issue if you're having problems with IAP.

# Which version of Kubeflow to use
# For a list of releases refer to:
# https://github.com/kubeflow/kubeflow/releases
VERSION=v0.1.0-rc.0
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to set rc.0 if this is last thing to do before actual 0.1.0?:) Also we should document how to use master besides pinned version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to put a tag that exists. We can update it in a subsequent change once we have an actual release.

@willb
Copy link
Contributor

willb commented Mar 29, 2018

@jlewi these instructions work for me and install the correct images (using the @${VERSION} syntax for ks pkg install). Minor nit: why rc.0 instead of rc0? Also, I agree with @inc0 that documenting how to use master is a good idea. (Release branches should show how to use the release in question first though!)

/lgtm

@jlewi
Copy link
Contributor Author

jlewi commented Mar 30, 2018

K8s does rc.0
https://github.com/kubernetes/kubernetes/releases/tag/v1.10.0-rc.1
https://github.com/kubernetes/kubernetes/releases?after=v1.10.0-beta.2

I suspect its so that its easy to parse the "tag" (rc/alpha/beta) and the number.

@jlewi
Copy link
Contributor Author

jlewi commented Mar 30, 2018

I thought about adding instructions to pull from master.
I'm hesitant to include that in the docs. It might make sense in the developer_guide but its less clear to me why we would want to encourage users to pull from head rather than using one of the releases.

@jlewi
Copy link
Contributor Author

jlewi commented Mar 30, 2018

/approve

@jlewi
Copy link
Contributor Author

jlewi commented Apr 2, 2018

/retest

@k8s-ci-robot k8s-ci-robot removed the lgtm label Apr 2, 2018
@ankushagarwal
Copy link
Contributor

/lgtm

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ankushagarwal, jlewi, willb

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [ankushagarwal,jlewi]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit 20dec55 into kubeflow:master Apr 2, 2018
swiftdiaries pushed a commit to swiftdiaries/kubeflow that referenced this pull request Apr 4, 2018
* Update the docs to explain how to pin to a particular version.

* Create a new commit to see about the presubmits.

* Version needs to be included in the pkg install step.
saffaalvi pushed a commit to StatCan/kubeflow that referenced this pull request Feb 11, 2021
* Update the docs to explain how to pin to a particular version.

* Create a new commit to see about the presubmits.

* Version needs to be included in the pkg install step.
yanniszark pushed a commit to arrikto/kubeflow that referenced this pull request Feb 15, 2021
elenzio9 pushed a commit to arrikto/kubeflow that referenced this pull request Oct 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants