{"action":"created","issue":{"url":"https://api.github.com/repos/kubeflow/examples/issues/42","repository_url":"https://api.github.com/repos/kubeflow/examples","labels_url":"https://api.github.com/repos/kubeflow/examples/issues/42/labels{/name}","comments_url":"https://api.github.com/repos/kubeflow/examples/issues/42/comments","events_url":"https://api.github.com/repos/kubeflow/examples/issues/42/events","html_url":"https://github.com/kubeflow/examples/pull/42","id":304038507,"number":42,"title":"Fixes #2: End to end model training/serving example using Argo, Kube Volume Controller, and Kubeflow","user":{"login":"elsonrodriguez","id":193030,"avatar_url":"https://avatars3.githubusercontent.com/u/193030?v=4","gravatar_id":"","url":"https://api.github.com/users/elsonrodriguez","html_url":"https://github.com/elsonrodriguez","followers_url":"https://api.github.com/users/elsonrodriguez/followers","following_url":"https://api.github.com/users/elsonrodriguez/following{/other_user}","gists_url":"https://api.github.com/users/elsonrodriguez/gists{/gist_id}","starred_url":"https://api.github.com/users/elsonrodriguez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elsonrodriguez/subscriptions","organizations_url":"https://api.github.com/users/elsonrodriguez/orgs","repos_url":"https://api.github.com/users/elsonrodriguez/repos","events_url":"https://api.github.com/users/elsonrodriguez/events{/privacy}","received_events_url":"https://api.github.com/users/elsonrodriguez/received_events","type":"User","site_admin":false},"labels":[{"id":839413455,"url":"https://api.github.com/repos/kubeflow/examples/labels/size/XXL","name":"size/XXL","color":"ededed","default":false}],"state":"open","locked":false,"assignee":{"login":"jlewi","id":777219,"avatar_url":"https://avatars3.githubusercontent.com/u/777219?v=4","gravatar_id":"","url":"https://api.github.com/users/jlewi","html_url":"https://github.com/jlewi","followers_url":"https://api.github.com/users/jlewi/followers","following_url":"https://api.github.com/users/jlewi/following{/other_user}","gists_url":"https://api.github.com/users/jlewi/gists{/gist_id}","starred_url":"https://api.github.com/users/jlewi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlewi/subscriptions","organizations_url":"https://api.github.com/users/jlewi/orgs","repos_url":"https://api.github.com/users/jlewi/repos","events_url":"https://api.github.com/users/jlewi/events{/privacy}","received_events_url":"https://api.github.com/users/jlewi/received_events","type":"User","site_admin":false},"assignees":[{"login":"jlewi","id":777219,"avatar_url":"https://avatars3.githubusercontent.com/u/777219?v=4","gravatar_id":"","url":"https://api.github.com/users/jlewi","html_url":"https://github.com/jlewi","followers_url":"https://api.github.com/users/jlewi/followers","following_url":"https://api.github.com/users/jlewi/following{/other_user}","gists_url":"https://api.github.com/users/jlewi/gists{/gist_id}","starred_url":"https://api.github.com/users/jlewi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlewi/subscriptions","organizations_url":"https://api.github.com/users/jlewi/orgs","repos_url":"https://api.github.com/users/jlewi/repos","events_url":"https://api.github.com/users/jlewi/events{/privacy}","received_events_url":"https://api.github.com/users/jlewi/received_events","type":"User","site_admin":false},{"login":"texasmichelle","id":7597993,"avatar_url":"https://avatars1.githubusercontent.com/u/7597993?v=4","gravatar_id":"","url":"https://api.github.com/users/texasmichelle","html_url":"https://github.com/texasmichelle","followers_url":"https://api.github.com/users/texasmichelle/followers","following_url":"https://api.github.com/users/texasmichelle/following{/other_user}","gists_url":"https://api.github.com/users/texasmichelle/gists{/gist_id}","starred_url":"https://api.github.com/users/texasmichelle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/texasmichelle/subscriptions","organizations_url":"https://api.github.com/users/texasmichelle/orgs","repos_url":"https://api.github.com/users/texasmichelle/repos","events_url":"https://api.github.com/users/texasmichelle/events{/privacy}","received_events_url":"https://api.github.com/users/texasmichelle/received_events","type":"User","site_admin":false}],"milestone":null,"comments":12,"created_at":"2018-03-10T03:46:02Z","updated_at":"2018-03-25T09:42:58Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/kubeflow/examples/pulls/42","html_url":"https://github.com/kubeflow/examples/pull/42","diff_url":"https://github.com/kubeflow/examples/pull/42.diff","patch_url":"https://github.com/kubeflow/examples/pull/42.patch"},"body":"This is intended as a way to guide people from existing patterns into training on Kubernetes.\r\n\r\nS3 is being used as a data store due to its ubiquity.\r\n\r\nWe're using the Kubeflow ksonnet code where we can, and intend to swap out more of the templates in argo as we modify ksonnet prototypes to support S3.\r\n\r\n<!-- Reviewable:start -->\r\n---\r\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/kubeflow/examples/42)\r\n<!-- Reviewable:end -->\r\n"},"comment":{"url":"https://api.github.com/repos/kubeflow/examples/issues/comments/375957672","html_url":"https://github.com/kubeflow/examples/pull/42#issuecomment-375957672","issue_url":"https://api.github.com/repos/kubeflow/examples/issues/42","id":375957672,"user":{"login":"elsonrodriguez","id":193030,"avatar_url":"https://avatars3.githubusercontent.com/u/193030?v=4","gravatar_id":"","url":"https://api.github.com/users/elsonrodriguez","html_url":"https://github.com/elsonrodriguez","followers_url":"https://api.github.com/users/elsonrodriguez/followers","following_url":"https://api.github.com/users/elsonrodriguez/following{/other_user}","gists_url":"https://api.github.com/users/elsonrodriguez/gists{/gist_id}","starred_url":"https://api.github.com/users/elsonrodriguez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elsonrodriguez/subscriptions","organizations_url":"https://api.github.com/users/elsonrodriguez/orgs","repos_url":"https://api.github.com/users/elsonrodriguez/repos","events_url":"https://api.github.com/users/elsonrodriguez/events{/privacy}","received_events_url":"https://api.github.com/users/elsonrodriguez/received_events","type":"User","site_admin":false},"created_at":"2018-03-25T09:42:58Z","updated_at":"2018-03-25T09:42:58Z","author_association":"NONE","body":"\n\n\n\nReview status: 0 of 14 files reviewed at latest revision, 14 unresolved discussions, some commit checks failed.\n\n---\n\n*[e2e/Dockerfile.ksonnet, line 1 at r6](https://reviewable.io:443/reviews/kubeflow/examples/42#-L7D0-EiixzJTXYsSB61-r6-1:-L8RUb0FCKYTnQaq_oV3:bvpjk59) ([raw file](https://github.com/kubeflow/examples/blob/0f7e9e51bea17f4df76bb8670aabe3e8aeb31655/e2e/Dockerfile.ksonnet#L1)):*\n<details><summary><i>Previously, jlewi (Jeremy Lewi) wrote…</i></summary><blockquote>\n\nFor GKE to tell people to just run gcloud container clusters get-credentials inside the image and this creates a .kubeconfig file.\n\nIf you don't think this is needed immediately for this example then I'd suggest removing it from this PR just because this PR is already massive and the more we can scope it the quicker we can it reviewed and committed.\n</blockquote></details>\n\nI can remove the ksonnet container, but I'm still utilizing it in the workflow to do the model serving piece, and plan on using it for everything else once I add S3 support to the other Kubeflow prototypes.\n\nI feel It's better to leave it in rather then let people wonder about what's in the ksonnet container.\n\nAlso relying on get-credentials breaks this for non GKE clusters.\n\n---\n\n*[e2e/README.md, line 188 at r9](https://reviewable.io:443/reviews/kubeflow/examples/42#-L8GTWCido34QHMJd6dR:-L8RW-d9lIL4c0HhYj1p:b-z5en9o) ([raw file](https://github.com/kubeflow/examples/blob/32a3596351084b9bee561f518bc524e39dd8ab0c/e2e/README.md#L188)):*\n<details><summary><i>Previously, jlewi (Jeremy Lewi) wrote…</i></summary><blockquote>\n\nCan we avoid using the KVC in this example and just read/write directly to S3?\n</blockquote></details>\n\nI tested this and it was painfully slow. Extracting the training data to S3 took forever. It's better to just use the built-in canned method that comes with the mnist examples to download and extract data to a local temporary directory every time. But this kills the idea of making this look like a real world example.\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/kubeflow/examples/42)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"elsonrodriguez"}}