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

Use ksonnet to easily define TFJobs to be run as tests #374

Merged
merged 13 commits into from
Feb 12, 2018

Conversation

jlewi
Copy link
Contributor

@jlewi jlewi commented Feb 7, 2018

Cleanup

  • Include smoke_tf.py inside the TFJob operator docker image; no reason we should have to build a separate image just to get that.

This change is Reviewable

jlewi added 6 commits February 6, 2018 13:18
* This will be used as a replacement for using helm.
* The ksonnet template is used to run a K8s job which runs the E2E test;
  ksonnet makes it easy to parameterize the test (e.g. namespace, image).
* This will be used to add an E2E test to our ksonnet repository to
  actually verify we can successfully submit jobs.
  kubeflow/kubeflow#207
Not sure this PR is what we want.
@coveralls
Copy link

coveralls commented Feb 7, 2018

Coverage Status

Coverage remained the same at 31.746% when pulling a8a959f on jlewi:e2e into bde716e on tensorflow:master.

@jlewi jlewi changed the title [Wip] Use ksonnet to easily define TFJobs to be run as tests Use ksonnet to easily define TFJobs to be run as tests Feb 7, 2018
@jlewi jlewi requested a review from gaocegege February 7, 2018 14:39
@jlewi
Copy link
Contributor Author

jlewi commented Feb 7, 2018

@gaocegege this is ready for review.

Copy link
Member

@gaocegege gaocegege left a comment

Choose a reason for hiding this comment

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

Generally LGTM! Only some nits.

RUN mkdir -p /opt/kubeflow/samples

COPY tf_smoke.py /opt/kubeflow/samples/
RUN chmod a+x /opt/kubeflow/samples/*
Copy link
Member

Choose a reason for hiding this comment

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

I think we should keep the operator image clean and small, but it is not in high priority, the code works for me.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's a good point. I think when our release infra is more mature and its easier to build multiple images that will make sense.

Practically speaking the sample added in this PR takes up no space. The biggest space is probably nodejs for the UI vs. operator.

Copy link
Member

Choose a reason for hiding this comment

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

SGTM, I will file an issue and we just keep it in the PR

Copy link
Member

Choose a reason for hiding this comment

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

Actually, I am thinking if we should separate the UI and the operator. Maybe we should place the UI in an independent repo.

{
"server": "https://35.229.18.238",
"namespace": "test"
}
Copy link
Member

Choose a reason for hiding this comment

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

Please add a new line here 😄

@@ -0,0 +1,4 @@
{
"server": "https://35.229.18.238",
Copy link
Member

Choose a reason for hiding this comment

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

What is the ip here? I think we should avoid hard coded address.


name = None
namespace = None
for pair in args.params.split(","):
Copy link
Member

Choose a reason for hiding this comment

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

I was wondering why we do not set two arguments namespace and name 🤔

@jlewi
Copy link
Contributor Author

jlewi commented Feb 8, 2018

Review status: 0 of 24 files reviewed at latest revision, 4 unresolved discussions.


py/test_runner.py, line 39 at r3 (raw file):

Previously, gaocegege (Ce Gao) wrote…

I was wondering why we do not set two arguments namespace and name 🤔

It seemed better to treat name and namespace consistently with all other parameters and not give them special treatement.


test/workflows/environments/jlewi-test/spec.json, line 2 at r3 (raw file):

Previously, gaocegege (Ce Gao) wrote…

What is the ip here? I think we should avoid hard coded address.

Its the K8s master associated with this environment.


test/workflows/environments/jlewi-test/spec.json, line 4 at r3 (raw file):

Previously, gaocegege (Ce Gao) wrote…

Please add a new line here 😄

Done.


Comments from Reviewable

@jlewi
Copy link
Contributor Author

jlewi commented Feb 11, 2018

@gaocegege PTAL. This is one of the PRs I'd like to be submitted before we move the repository to kubeflow.

Copy link
Member

@gaocegege gaocegege left a comment

Choose a reason for hiding this comment

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

RUN mkdir -p /opt/kubeflow/samples

COPY tf_smoke.py /opt/kubeflow/samples/
RUN chmod a+x /opt/kubeflow/samples/*
Copy link
Member

Choose a reason for hiding this comment

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

SGTM, I will file an issue and we just keep it in the PR

Copy link
Member

@gaocegege gaocegege left a comment

Choose a reason for hiding this comment

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

LGTM

@jlewi
Copy link
Contributor Author

jlewi commented Feb 12, 2018

All tests passed.

@jlewi jlewi merged commit 3607674 into kubeflow:master Feb 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants