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

cleanup jobs after finished #725

Merged
merged 2 commits into from
Jul 18, 2018
Merged

cleanup jobs after finished #725

merged 2 commits into from
Jul 18, 2018

Conversation

ccding
Copy link
Contributor

@ccding ccding commented Jul 12, 2018

this implements #718


This change is Reviewable

@googlebot
Copy link

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and have the pull request author add another comment and the bot will run again. If the bot doesn't comment, it means it doesn't think anything has changed.

@googlebot
Copy link

CLAs look good, thanks!

@coveralls
Copy link

coveralls commented Jul 12, 2018

Coverage Status

Coverage decreased (-0.2%) to 56.752% when pulling a9ef195 on cfork:delete into 9e396a4 on kubeflow:master.

@TravisBuddy
Copy link

Travis tests have failed

Hey @ccding,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

1st Build

goveralls -service=travis-ci -v -package ./pkg/... -ignore "pkg/client/*/*.go,pkg/client/*/*/*.go,pkg/client/*/*/*/*.go,pkg/client/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*/*.go,pkg/util/testutil/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go"
=== RUN   TestAddAccelertor
--- PASS: TestAddAccelertor (0.00s)
PASS
coverage: 2.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper	0.100s
=== RUN   TestSetDefaults_TFJob
--- PASS: TestSetDefaults_TFJob (0.00s)
PASS
coverage: 1.6% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1	0.101s
=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
--- PASS: TestSetDefaultTFJob (0.00s)
PASS
coverage: 2.7% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2	0.079s
=== RUN   TestValidateAlphaTwoTFJobSpec
--- PASS: TestValidateAlphaTwoTFJobSpec (0.00s)
=== RUN   TestValidate
--- PASS: TestValidate (0.00s)
PASS
coverage: 3.3% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation	0.087s
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2	[no test files]
=== RUN   TestCreatePods
--- PASS: TestCreatePods (0.01s)
=== RUN   TestCreateService
--- PASS: TestCreateService (0.00s)
=== RUN   TestCreateServicesWithControllerRef
--- PASS: TestCreateServicesWithControllerRef (0.00s)
=== RUN   TestClaimServices
--- PASS: TestClaimServices (0.00s)
PASS
coverage: 5.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/control	0.087s
?   	github.com/kubeflow/tf-operator/pkg/controller	[no test files]
=== RUN   TestAddPod
--- PASS: TestAddPod (0.30s)
=== RUN   TestClusterSpec
--- PASS: TestClusterSpec (0.00s)
=== RUN   TestRestartPolicy
--- PASS: TestRestartPolicy (0.00s)
=== RUN   TestExitCode
--- PASS: TestExitCode (0.00s)
=== RUN   TestAddService
--- PASS: TestAddService (0.30s)
=== RUN   TestFailed
--- PASS: TestFailed (0.00s)
=== RUN   TestStatus
--- PASS: TestStatus (0.00s)
=== RUN   TestNormalPath
--- PASS: TestNormalPath (0.01s)
=== RUN   TestRun
*** Test killed with quit: ran too long (10m0s).
FAIL	github.com/kubeflow/tf-operator/pkg/controller.v2	600.007s
exit status 1: warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/controller
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/trainer
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/k8sutil
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/signals
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/testutil
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/version
time="2018-07-12T18:28:30Z" level=info msg="Starting TFJob controller"
time="2018-07-12T18:28:30Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-12T18:28:31Z" level=info msg="Starting cleanup bot"
time="2018-07-12T18:28:31Z" level=info msg="Starting 1 workers"
time="2018-07-12T18:28:31Z" level=info msg="Started workers"
time="2018-07-12T18:28:31Z" level=info msg="Shutting down workers"
time="2018-07-12T18:28:31Z" level=info msg="Starting TFJob controller"
time="2018-07-12T18:28:31Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-12T18:28:31Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-12T18:28:31Z" level=info msg="Need to restart the pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (508.2µs)"
time="2018-07-12T18:28:31Z" level=info msg="Starting cleanup bot"
time="2018-07-12T18:28:31Z" level=info msg="Starting 1 workers"
time="2018-07-12T18:28:31Z" level=info msg="Started workers"
time="2018-07-12T18:28:31Z" level=info msg="Shutting down workers"
time="2018-07-12T18:28:31Z" level=info msg="Starting TFJob controller"
time="2018-07-12T18:28:31Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-12T18:28:31Z" level=info msg="Starting cleanup bot"
time="2018-07-12T18:28:31Z" level=info msg="Starting 1 workers"
time="2018-07-12T18:28:31Z" level=info msg="Started workers"
time="2018-07-12T18:28:31Z" level=info msg="Shutting down workers"
time="2018-07-12T18:28:31Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-12T18:28:31Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (273.735µs)"
time="2018-07-12T18:28:31Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new servi"2018-07-12T18:28:31Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (441.739µs)"
time="2018-07-12T18:28:31Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-12T18:28:31Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (535.149µs)"
time="2018-07-12T18:28:31Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-12T18:28:31Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (557.068µs)"
time="2018-07-12T18:28:31Z" level=info msg="Starting TFJob controller"
time="2018-07-12T18:28:31Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-12T18:28:31Z" level=info msg="Starting cleanup bot"
time="2018-07-12T18:28:31Z" level=info msg="Starting 1 workers"
time="2018-07-12T18:28:31Z" level=info msg="Started workers"
SIGQUIT: quit
PC=0x45f9f1 m=0 sigcode=0

goroutine 0 [idle]:
runtime.futex(0x1de1ad0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffed5006428, 0x41122b, ...)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/sys_linux_amd64.s:438 +0x21
runtime.futexsleep(0x1de1ad0, 0x0, 0xffffffffffffffff)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/os_linux.go:45 +0x62
runtime.notesleep(0x1de1ad0)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/lock_futex.go:151 +0x9b
runtime.stopm()
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/proc.go:1670 +0xe5
runtime.findrunnable(0xc42002f300, 0x0)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/proc.go:2125 +0x4d2
runtime.schedule()
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/proc.go:2245 +0x12c
runtime.park_m(0xc4205f8900)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/proc.go:2308 +0xb6
runtime.mcall(0x7ffed50065c0)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/asm_amd64.s:286 +0x5b

goroutine 1 [chan receive, 9 minutes]:
testing.(*T).Run(0xc42024a0f0, 0x1412e02, 0x7, 0x148c2d8, 0x482201)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:790 +0x2fc
testing.runTests.func1(0xc42024a0f0)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:1004 +0x64
testing.tRunner(0xc42024a0f0, 0xc420575d78)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:746 +0xd0
testing.runTests(0xc42026b9c0, 0x1dd7aa0, 0xd, 0xd, 0x10029010040bf1a)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:1002 +0x2d8
testing.(*M).Run(0xc420539f18, 0x16)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:921 +0x111
main.main()
	github.com/kubeflow/tf-operator/pkg/controller.v2/_test/_testmain.go:384 +0x1b5

goroutine 18 [chan receive]:
github.com/kubeflow/tf-operator/vendor/github.com/golang/glog.(*loggingT).flushDaemon(0x1de0c20)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/github.com/golang/glog/glog.go:882 +0x9f
created by github.com/kubeflow/tf-operator/vendor/github.com/golang/glog.init.0
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/github.com/golang/glog/glog.go:410 +0x203

goroutine 19 [syscall, 9 minutes]:
os/signal.signal_recv(0x0)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/sigqueue.go:131 +0xa6
os/signal.loop()
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/os/signal/signal_unix.go:28 +0x41

goroutine 96 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).Run(0xc42024be00, 0x1, 0xc420229e60, 0x0, 0x0)
	github.com/kubeflow/tf-operator/pkg/controller.v2/_test/_obj_test/controller.go:240 +0x4d8
github.com/kubeflow/tf-operator/pkg/controller%2ev2.TestRun(0xc42024bc20)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller_test.go:369 +0x230
testing.tRunner(0xc42024bc20, 0x148c2d8)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:746 +0xd0
created by testing.(*T).Run
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:789 +0x2de

goroutine 21 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/venpath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 32 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420223c20, 0xc420356160)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 33 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420223e00, 0xc420223dd0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 37 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc4201b2880)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 38 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc42061c030, 0xc420310b70)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 39 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc42061c210, 0xc42061c1e0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 51 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait.poller.func1.1(0xc4200245a0, 0x5f5e100, 0x0, 0xc420229e60)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:354 +0x197
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait.poller.func1
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:337 +0x8c

goroutine 53 [semacquire, 9 minutes]:
sync.runtime_notifyListWait(0xc420611750, 0xc400000000)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/sema.go:507 +0x110
sync.(*Cond).Wait(0xc420611740)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/sync/cond.go:56 +0x80
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*Type).Get(0xc4205f63c0, 0x0, 0x0, 0xc42032f700)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/queue.go:124 +0x95
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).Get(0xc4205f6410, 0x4, 0xc42032f7a6, 0xc420177db8)
	<autogenerated>:1 +0x3c
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*rateLimitingType).Get(0xc42067b300, 0xc420132c60, 0x0, 0x7f6d4fed6b80)
	<autogenerated>:1 +0x3c
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).processNextWorkItem(0xc42024be00, 0x834600)
	github.com/kubeflow/tf-operator/pkg/controller.v2/_test/_obj_test/controller.go:255 +0x65
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).runWorker(0xc42024be00)
	github.com/kubeflow/tf-operator/pkg/controller.v2/_test/_obj_test/controller.go:248 +0x49
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).(github.com/kubeflow/tf-operator/pkg/controller%2ev2.runWorker)-fm()
	github.com/kubeflow/tf-operator/pkg/controller.v2/_test/_obj_test/controller.go:235 +0x2a
githuent.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 66 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc4206730e0, 0xc4206730b0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 67 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).waitingLoop(0xc420667630)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:208 +0x39f
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.newDelayingQueue
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:54 +0x1c1

goroutine 68 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc4201372c0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 69 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc4206a97d0, 0xc4201fab90)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 70 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc4206a99b0, 0xc4206a9980)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 71 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).waitingLoop(0xc4206a7540)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:208 +0x39f
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.newDelayingQueue
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:54 +0x1c1

goroutine 72 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc420705400)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 73 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420714570, 0xc4201b1d40)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 74 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420714750, 0xc420714720)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 75 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).waitingLoop(0xc420703680)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:208 +0x39f
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.newDelayingQueue
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:54 +0x1c1

goroutine 76 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc42074b4c0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 77 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc4207508a0, 0xc42004f850)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 78 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420750a80, 0xc420750a50)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 79 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).waitingLoop(0xc420749310)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:208 +0x39f
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.newDelayingQueue
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:54 +0x1c1

goroutine 80 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc420137100)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 81 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420523050, 0xc420242480)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 82 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420523290, 0xc420523230)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 83 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).waitingLoop(0xc4203e4780)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:208 +0x39f
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.newDelayingQueue
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:54 +0x1c1

goroutine 84 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc4201b20c0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 85 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc4201b5200, 0xc4202b1c50)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 86 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc4201b54a0, 0xc4201b5470)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 87 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).waitingLoop(0xc420666730)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:208 +0x39f
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.newDelayingQueue
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:54 +0x1c1

goroutine 88 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc42024ca80)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 89 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420223740, 0xc4203573b0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 90 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc420223920, 0xc4202238f0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 91 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).waitingLoop(0xc4206a6960)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:208 +0x39f
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.newDelayingQueue
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:54 +0x1c1

goroutine 92 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc4203a3580)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 93 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc42061d1d0, 0xc42041ae90)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 94 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc42061d3b0, 0xc42061d380)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:226 +0x6e

goroutine 95 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.(*delayingType).waitingLoop(0xc420280280)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:208 +0x39f
created by github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue.newDelayingQueue
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:54 +0x1c1

goroutine 97 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.(*Broadcaster).loop(0xc420611600)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:208 +0x61
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch.NewBroadcaster
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/watch/mux.go:75 +0xfe

goroutine 98 [chan receive, 9 minutes]:
github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record.(*eventBroadcasterImpl).StartEventWatcher.func1(0x1d671e0, 0xc4206a8c30, 0xc42043cdc0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/client-go/tools/record/event.go:229 +0xac
created by github.com/kubeflow/tf-operatubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:337 +0x8c

goroutine 103 [select]:
github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait.poller.func1.1(0xc420229f80, 0x5f5e100, 0x0, 0xc420229e60)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:354 +0x197
created by github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait.poller.func1
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:337 +0x8c

rax    0xca
rbx    0x1de19c0
rcx    0x45f9f3
rdx    0x0
rdi    0x1de1ad0
rsi    0x0
rbp    0x7ffed50063f0
rsp    0x7ffed50063a8
r8     0x0
r9     0x0
r10    0x0
r11    0x286
r12    0x1
r13    0xc4206b4ba0
r14    0x1
r15    0x0
rip    0x45f9f1
rflags 0x286
cs     0x33
fs     0x0
gs     0x0

@ccding ccding changed the title [WIP] cleanup jobs after finished cleanup jobs after finished Jul 12, 2018
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.

return
}
for _, pod := range pods {
if err :=
Copy link
Member

Choose a reason for hiding this comment

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

Why should we delete all pods? I think it is better to follow the cleanpod policy.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@k8s-ci-robot k8s-ci-robot requested a review from jlewi July 13, 2018 03:29
@gaocegege
Copy link
Member

/ok-to-test

@@ -48,6 +48,10 @@ type TFJobSpec struct {
// Default to Running.
CleanPodPolicy *CleanPodPolicy `json:"cleanPodPolicy,omitempty"`

// CleanupTimeoutAfterFinished defines the timeout before cleaning finished jobs.
// Default to 0: doesn't clean up.
CleanupTimeoutAfterFinished *CleanupTimeoutAfterFinished `json:"cleanupTimeoutAfterFinished,omitempty"`
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm wondering whether we should have a single CleanPolicy which contains
{
CleanPolicyType (CleanRunningPod, CleanAllPods, CleanJob, None)
CleanupDelay
}
@gaocegege @jlewi what's your opinion ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Let's reach agreement here, then I will fix other comments. I personally like @jian-he 's proposal.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

will this deprecate the existing CleanPodPolicy?

Copy link
Member

Choose a reason for hiding this comment

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

It works for me. I think we could use AllReplicas, RunningReplicas, None and Job

/cc @jlewi

}

// deleteTFJob deletes all the pods and services in a tfJob.
func (tc *TFJobController) deleteTFJob(tfJob *tfv1alpha2.TFJob) {
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this function only removes the pods/services associated with the tfJob, what we want is to delete the entire tfJob including the tfJob itself. So, if we just delete the tfJob, the pods/services will be removed automatically

@@ -97,6 +98,15 @@ func (tc *TFJobController) deletePodsAndServices(tfJob *tfv1alpha2.TFJob, pods [

// Delete nothing when the cleanPodPolicy is None.
if *tfJob.Spec.CleanPodPolicy == tfv1alpha2.CleanPodPolicyNone {
// If CleanupTimeoutAfterFinished is specified, delete after that timeout.
Copy link
Contributor

Choose a reason for hiding this comment

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

This mixed the logic of cleaningup job and cleaning up of pods and may confuse user. How about separate the if condition ?

for {
select {
case ci := <-tc.cleanupInfoCh:
go func() {
Copy link
Contributor

Choose a reason for hiding this comment

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

How about check in reconcileTFJobs that if currentTime-Job.Status.CompletionTIme > timeout, if true, delete the job. Then we don't need to start a go routine for each timeout.

Copy link
Member

Choose a reason for hiding this comment

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

It will be better. If we use goroutine, we can not recover from the crash.

@ccding ccding force-pushed the delete branch 7 times, most recently from b436567 to e767ec7 Compare July 13, 2018 21:50
@TravisBuddy
Copy link

Travis tests have failed

Hey @ccding,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

2nd Build

gometalinter --config=linter_config.json --vendor ./...
pkg/controller.v2/controller_tfjob.go:166:2:warning: empty branch (SA9003) (staticcheck)
pkg/controller.v2/controller_tfjob.go:127:17:warning: error return value not checked (tc.doDeleteJob(tfJob)) (errcheck)
pkg/controller.v2/controller_tfjob.go:131:18:warning: error return value not checked (tc.doDeleteJob(tfJob)) (errcheck)

3rd Build

gometalinter --config=linter_config.json --vendor ./...
pkg/controller.v2/controller_tfjob.go:127:17:warning: error return value not checked (tc.doDeleteJob(tfJob)) (errcheck)
pkg/controller.v2/controller_tfjob.go:131:18:warning: error return value not checked (tc.doDeleteJob(tfJob)) (errcheck)

travis_time:end:043b0918:start=1531518015873401524,finish=1531518171760665157,duration=155887263633

@TravisBuddy
Copy link

Travis tests have failed

Hey @ccding,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

2nd Build

gometalinter --config=linter_config.json --vendor ./...
pkg/controller.v2/controller_tfjob.go:166:2:warning: empty branch (SA9003) (staticcheck)
pkg/controller.v2/controller_tfjob.go:127:17:warning: error return value not checked (tc.doDeleteJob(tfJob)) (errcheck)
pkg/controller.v2/controller_tfjob.go:131:18:warning: error return value not checked (tc.doDeleteJob(tfJob)) (errcheck)

travis_time:end:02daa1f1:start=1531518194565307743,finish=1531518323445446900,duration=128880139157

3rd Build

gometalinter --config=linter_config.json --vendor ./...
pkg/controller.v2/controller.go:471:41:warning: unused variable or constant invalid operation: tfjob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (varcheck)
pkg/controller.v2/controller_tfjob.go:150:6:warning: unused variable or constant invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (varcheck)
pkg/controller.v2/controller_tfjob.go:166:32:warning: unused variable or constant CleanPolicyJob not declared by package v1alpha2 (varcheck)
pkg/controller.v2/controller_tfjob.go:155:7:warning: error return value not checked (invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy) (errcheck)
pkg/controller.v2/controller_tfjob.go:150:32:error: undefined: "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".CleanPolicyNone (vet, vet)
pkg/controller.v2/controller_tfjob.go:166:32:warning: CleanPolicyJob not declared by package v1alpha2 (unconvert)
pkg/controller.v2/controller.go:471:17:error: tfjob.Spec.CleanPolicy undefined (type "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".TFJobSpec has no field or method CleanPolicy) (vet, vet)
pkg/controller.v2/controller_tfjob.go:166:32:error: undefined: "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".CleanPolicyJob (vet, vet)
pkg/controller.v2/controller.go:471:41:warning: invalid operation: tfjob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (unconvert)
pkg/controller.v2/controller_tfjob.go:155:7:warning: invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (unconvert)
pkg/controller.v2/controller.go:471:7:warning: unused variable or constant invalid operation: tfjob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (varcheck)
pkg/controller.v2/controller_tfjob.go:155:33:warning: error return value not checked (CleanPolicyRunningPods not declared by package v1alpha2) (errcheck)
pkg/controller.v2/controller.go:471:7:warning: invalid operation: tfjob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (gosimple, staticcheck, unconvert)
pkg/controller.v2/controller_tfjob.go:166:6:warning: invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (unconvert)
pkg/controller.v2/controller_tfjob.go:150:32:warning: unused variable or constant CleanPolicyNone not declared by package v1alpha2 (varcheck)
pkg/controller.v2/controller_tfjob.go:155:33:warning: unused variable or constant CleanPolicyRunningPods not declared by package v1alpha2 (varcheck)
pkg/controller.v2/controller_tfjob.go:150:32:warning: error return value not checked (CleanPolicyNone not declared by package v1alpha2) (errcheck)
pkg/controller.v2/controller_tfjob.go:166:32:warning: error return value not checked (CleanPolicyJob not declared by package v1alpha2) (errcheck)
pkg/controller.v2/controller.go:471:41:warning: error return value not checked (invalid operation: tfjob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy) (errcheck)
pkg/controller.v2/controller.go:471:67:error: undefined: "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".CleanPolicy (vet, vet)
pkg/controller.v2/controller_tfjob.go:155:17:error: tfJob.Spec.CleanPolicy undefined (type "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".TFJobSpec has no field or method CleanPolicy) (vet, vet)
pkg/controller.v2/controller_tfjob.go:155:33:error: undefined: "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".CleanPolicyRunningPods (vet, vet)
pkg/controller.v2/controller.go:471:67:warning: CleanPolicy not declared by package v1alpha2 (unconvert)
pkg/controller.v2/controller_tfjob.go:155:33:warning: CleanPolicyRunningPods not declared by package v1alpha2 (unconvert)
pkg/controller.v2/controller_tfjob.go:166:6:warning: unused variable or constant invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (varcheck)
pkg/controller.v2/controller.go:471:67:warning: error return value not checked (CleanPolicy not declared by package v1alpha2) (errcheck)
pkg/controller.v2/controller_tfjob.go:150:6:warning: error return value not checked (invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy) (errcheck)
pkg/controller.v2/controller_tfjob.go:166:6:warning: error return value not checked (invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy) (errcheck)
pkg/controller.v2/controller_tfjob.go:166:16:error: tfJob.Spec.CleanPolicy undefined (type "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".TFJobSpec has no field or method CleanPolicy) (vet, vet)
pkg/controller.v2/controller_tfjob.go:150:6:warning: invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (unconvert)
pkg/controller.v2/controller_tfjob.go:150:32:warning: CleanPolicyNone not declared by package v1alpha2 (unconvert)
pkg/controller.v2/controller.go:471:67:warning: unused variable or constant CleanPolicy not declared by package v1alpha2 (varcheck)
pkg/controller.v2/controller_tfjob.go:155:7:warning: unused variable or constant invalid operation: tfJob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy (varcheck)
pkg/controller.v2/controller.go:471:7:warning: error return value not checked (invalid operation: tfjob.Spec (variable of type github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2.TFJobSpec) has no field or method CleanPolicy) (errcheck)
pkg/controller.v2/controller_tfjob.go:150:16:error: tfJob.Spec.CleanPolicy undefined (type "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".TFJobSpec has no field or method CleanPolicy) (vet, vet)

travis_time:end:00e45007:start=1531518365068416232,finish=1531518451161558768,duration=86093142536
goveralls -service=travis-ci -v -package ./pkg/... -ignore "pkg/client/*/*.go,pkg/client/*/*/*.go,pkg/client/*/*/*/*.go,pkg/client/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*/*.go,pkg/util/testutil/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go"
=== RUN   TestAddAccelertor
--- PASS: TestAddAccelertor (0.00s)
PASS
coverage: 8.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper	0.038s	coverage: 8.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestSetDefaults_TFJob
--- PASS: TestSetDefaults_TFJob (0.00s)
PASS
coverage: 6.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1	0.037s	coverage: 6.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
--- PASS: TestSetDefaultTFJob (0.00s)
PASS
coverage: 20.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2	0.044s	coverage: 20.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestValidateAlphaTwoTFJobSpec
time="2018-07-13T21:47:40Z" level=warning msg="Image is undefined in the container"
time="2018-07-13T21:47:40Z" level=warning msg="There is no container named tensorflow in Worker"
--- PASS: TestValidateAlphaTwoTFJobSpec (0.00s)
=== RUN   TestValidate
--- PASS: TestValidate (0.00s)
PASS
coverage: 12.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation	0.038s	coverage: 12.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2	[no test files]
=== RUN   TestCreatePods
--- PASS: TestCreatePods (0.01s)
=== RUN   TestCreateService
time="2018-07-13T21:47:52Z" level=info msg="Controller test-tfjob created service empty_service"
--- PASS: TestCreateService (0.00s)
=== RUN   TestCreateServicesWithControllerRef
time="2018-07-13T21:47:52Z" level=info msg="Controller test-tfjob created service empty_service"
--- PASS: TestCreateServicesWithControllerRef (0.00s)
=== RUN   TestClaimServices
--- PASS: TestClaimServices (0.00s)
PASS
coverage: 44.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/control	0.065s	coverage: 44.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
?   	github.com/kubeflow/tf-operator/pkg/controller	[no test files]
FAIL	github.com/kubeflow/tf-operator/pkg/controller.v2 [build failed]
exit status 2: warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/controller
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/trainer
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/k8sutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/signals
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/testutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/version
# github.com/kubeflow/tf-operator/pkg/controller.v2
pkg/controller.v2/controller.go:471: tfjob.Spec.CleanPolicy undefined (type "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".TFJobSpec has no field or method CleanPolicy)
pkg/controller.v2/controller.go:471: undefined: "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".CleanPolicy
pkg/controller.v2/controller_tfjob.go:150: tfJob.Spec.CleanPolicy undefined (type "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".TFJobSpec has no field or method CleanPolicy)
pkg/controller.v2/controller_tfjob.go:150: undefined: "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".CleanPolicyNone
pkg/controller.v2/controller_tfjob.go:155: tfJob.Spec.CleanPolicy undefined (type "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".TFJobSpec has no field or method CleanPolicy)
pkg/controller.v2/controller_tfjob.go:155: undefined: "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".CleanPolicyRunningPods
pkg/controller.v2/controller_tfjob.go:166: tfJob.Spec.CleanPolicy undefined (type "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".TFJobSpec has no field or method CleanPolicy)
pkg/controller.v2/controller_tfjob.go:166: undefined: "github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2".CleanPolicyJob


travis_time:end:04a07260:start=1531518451165096265,finish=1531518477120736718,duration=25955640453

@jlewi
Copy link
Contributor

jlewi commented Jul 16, 2018

Can you explain why we want this feature? I don't see a rationale given in #718.

Why would we implement garbage collection this way? e.g. if we want to garbage collect old resources why wouldn't we just have an agent running in the cluster that we prune objects of a certain age that were done?

This way we could handle a single agent for multiples of resources e.g. Argo workflows.

@jlewi
Copy link
Contributor

jlewi commented Jul 16, 2018

I left some questions here in the issue as well.

@ccding ccding force-pushed the delete branch 2 times, most recently from 04def1e to 53f1090 Compare July 17, 2018 02:51
@gaocegege
Copy link
Member

@jlewi @jian-he @ccding

I think we could add delay field first, then keep CleanPodPolicy.

The problem of the PR wants to solve is that the etcd will be high loaded when the tfjobs are cumulate. Then we need to, for example, delete tfjobs which is completed several days ago.

Implementing a cleanup operator can solve it while the code will be similar to this PR. I think we could add delay first (default to 0). As for how to support the above use case, I think we could have a deeper dive for it.

My opinion is to implement it in this operator because it will cover more use cases. We should let the users decide whether to use their own cleanup operator or internal support in tfjob operator.

@TravisBuddy
Copy link

Travis tests have failed

Hey @ccding,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

2nd Build

goveralls -service=travis-ci -v -package ./pkg/... -ignore "pkg/client/*/*.go,pkg/client/*/*/*.go,pkg/client/*/*/*/*.go,pkg/client/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*/*.go,pkg/util/testutil/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go"
=== RUN   TestAddAccelertor
--- PASS: TestAddAccelertor (0.00s)
PASS
coverage: 1.8% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper	0.748s
=== RUN   TestSetDefaults_TFJob
--- PASS: TestSetDefaults_TFJob (0.00s)
PASS
coverage: 1.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1	0.072s
=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
--- PASS: TestSetDefaultTFJob (0.00s)
PASS
coverage: 2.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2	0.048s
=== RUN   TestValidateAlphaTwoTFJobSpec
--- PASS: TestValidateAlphaTwoTFJobSpec (0.00s)
=== RUN   TestValidate
--- PASS: TestValidate (0.00s)
PASS
coverage: 3.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation	0.069s
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2	[no test files]
=== RUN   TestCreatePods
--- PASS: TestCreatePods (0.01s)
=== RUN   TestCreateService
--- PASS: TestCreateService (0.00s)
=== RUN   TestCreateServicesWithControllerRef
--- PASS: TestCreateServicesWithControllerRef (0.00s)
=== RUN   TestClaimServices
--- PASS: TestClaimServices (0.00s)
PASS
coverage: 4.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/control	0.070s
?   	github.com/kubeflow/tf-operator/pkg/controller	[no test files]
=== RUN   TestAddPod
--- PASS: TestAddPod (0.30s)
=== RUN   TestClusterSpec
--- PASS: TestClusterSpec (0.00s)
=== RUN   TestRestartPolicy
--- PASS: TestRestartPolicy (0.00s)
=== RUN   TestExitCode
--- PASS: TestExitCode (0.00s)
=== RUN   TestAddService
--- PASS: TestAddService (0.30s)
=== RUN   TestFailed
--- PASS: TestFailed (0.00s)
=== RUN   TestStatus
--- PASS: TestStatus (0.00s)
=== RUN   TestNormalPath
--- PASS: TestNormalPath (0.01s)
=== RUN   TestRun
--- PASS: TestRun (0.50s)
=== RUN   TestSyncPdb
--- PASS: TestSyncPdb (0.00s)
=== RUN   TestAddTFJob
--- PASS: TestAddTFJob (0.30s)
=== RUN   TestCopyLabelsAndAnnotation
--- PASS: TestCopyLabelsAndAnnotation (0.00s)
=== RUN   TestDeletePodsAndServices
--- FAIL: TestDeletePodsAndServices (0.00s)
exit status 2
FAIL	github.com/kubeflow/tf-operator/pkg/controller.v2	1.468s
exit status 1: warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/controller
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/trainer
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/k8sutil
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/signals
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/testutil
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/version
time="2018-07-17T18:07:00Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:07:00Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:07:00Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:07:00Z" level=info msg="Started workers"
time="2018-07-17T18:07:00Z" level=info msg="Shutting down workers"
time="2018-07-17T18:07:00Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:07:00Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:07:00Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:00Z" level=info msg="Need to restart the pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:00Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:00Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (462.374µs)"
time="2018-07-17T18:07:00Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:07:00Z" level=info msg="Started workers"
time="2018-07-17T18:07:00Z" level=info msg="Shutting down workers"
time="2018-07-17T18:07:00Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:07:00Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:07:01Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:07:01Z" level=info msg="Started workers"
time="2018-07-17T18:07:01Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:01Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (356.385µs)"
time="2018-07-17T18:07:01Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:01Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (248.791µs)"
time="2018-07-17T18:07:01Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (649.579µs)"
time="2018-07-17T18:07:01Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:01Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (480.096µs)"
time="2018-07-17T18:07:01Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Shutting down workers"
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (1.114229ms)"
time="2018-07-17T18:07:01Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (352.773µs)"
time="2018-07-17T18:07:01Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (177.918µs)"
time="2018-07-17T18:07:01Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:01Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:07:01Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (395.541µs)"
time="2018-07-17T18:07:01Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:07:01Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:07:01Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:07:01Z" level=info msg="Started workers"
time="2018-07-17T18:07:01Z" level=info msg="Shutting down workers"
time="2018-07-17T18:07:01Z" level=info msg="TFJob test-tfjob is created."
time="2018-07-17T18:07:01Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:07:01Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:07:02Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:07:02Z" level=info msg="Started workers"
time="2018-07-17T18:07:02Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:02Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:02Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:07:02Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (223.749µs)"
time="2018-07-17T18:07:02Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:07:02Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (210.365µs)"
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x10ec0c8]

goroutine 114 [running]:
testing.tRunner.func1(0xc42049aa50)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:711 +0x2d2
panic(0x128e440, 0x1dce950)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/runtime/panic.go:491 +0x283
github.com/kubeflow/tf-operator/pkg/controller%2ev2.isAfterCleanDelay(0xc4206d26e0, 0x1)
	github.com/kubeflow/tf-operator/pkg/controller.v2/_test/_obj_test/controller_status.go:303 +0x148
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).reconcileTFJobs(0xc42049ac30, 0xc4206d26e0, 0xc4206d26e0, 0xc4203b79e8)
	github.com/kubeflow/tf-operator/pkg/controller.v2/_test/_obj_test/controller.go:436 +0x386
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).syncTFJob(0xc42049ac30, 0xc4203b79e0, 0x12, 0x0, 0x0, 0x0)
	github.com/kubeflow/tf-operator/pkg/controller.v2/_test/_obj_test/controller.go:351 +0x535
github.com/kubeflow/tf-operator/pkg/controller%2ev2.TestDeletePodsAndServices(0xc42049aa50)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller_tfjob_test.go:322 +0xa0a
testing.tRunner(0xc42049aa50, 0x148c2a8)
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:746 +0xd0
created by testing.(*T).Run
	/home/travis/.gimme/versions/go1.9.linux.amd64/src/testing/testing.go:789 +0x2de


travis_time:end:326bdf1e:start=1531850124248851987,finish=1531850822196509973,duration=697947657986

3rd Build

goveralls -service=travis-ci -v -package ./pkg/... -ignore "pkg/client/*/*.go,pkg/client/*/*/*.go,pkg/client/*/*/*/*.go,pkg/client/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*/*.go,pkg/util/testutil/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go"
=== RUN   TestAddAccelertor
--- PASS: TestAddAccelertor (0.00s)
PASS
coverage: 8.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper	0.075s	coverage: 8.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestSetDefaults_TFJob
--- PASS: TestSetDefaults_TFJob (0.00s)
PASS
coverage: 6.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1	0.041s	coverage: 6.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
--- PASS: TestSetDefaultTFJob (0.00s)
PASS
coverage: 9.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2	0.037s	coverage: 9.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestValidateAlphaTwoTFJobSpec
time="2018-07-17T18:02:18Z" level=warning msg="Image is undefined in the container"
time="2018-07-17T18:02:18Z" level=warning msg="There is no container named tensorflow in Worker"
--- PASS: TestValidateAlphaTwoTFJobSpec (0.00s)
=== RUN   TestValidate
--- PASS: TestValidate (0.00s)
PASS
coverage: 7.8% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation	0.046s	coverage: 7.8% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2	[no test files]
=== RUN   TestCreatePods
--- PASS: TestCreatePods (0.01s)
=== RUN   TestCreateService
time="2018-07-17T18:02:31Z" level=info msg="Controller test-tfjob created service empty_service"
--- PASS: TestCreateService (0.00s)
=== RUN   TestCreateServicesWithControllerRef
time="2018-07-17T18:02:31Z" level=info msg="Controller test-tfjob created service empty_service"
--- PASS: TestCreateServicesWithControllerRef (0.00s)
=== RUN   TestClaimServices
--- PASS: TestClaimServices (0.00s)
PASS
coverage: 44.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/control	0.067s	coverage: 44.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
?   	github.com/kubeflow/tf-operator/pkg/controller	[no test files]
=== RUN   TestAddPod
time="2018-07-17T18:02:40Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:02:40Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:02:40Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:02:40Z" level=info msg="Started workers"
--- PASS: TestAddPod (0.31s)
time="2018-07-17T18:02:40Z" level=info msg="Shutting down workers"
=== RUN   TestClusterSpec
--- PASS: TestClusterSpec (0.00s)
=== RUN   TestRestartPolicy
--- PASS: TestRestartPolicy (0.00s)
=== RUN   TestExitCode
time="2018-07-17T18:02:40Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:02:40Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Need to restart the pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (310.275µs)"
--- PASS: TestExitCode (0.00s)
=== RUN   TestAddService
time="2018-07-17T18:02:40Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:02:40Z" level=info msg="Started workers"
time="2018-07-17T18:02:40Z" level=info msg="Shutting down workers"
time="2018-07-17T18:02:40Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:02:40Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:02:40Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:02:40Z" level=info msg="Started workers"
--- PASS: TestAddService (0.30s)
=== RUN   TestFailed
--- PASS: TestFailed (0.00s)
=== RUN   TestStatus
--- PASS: TestStatus (0.00s)
=== RUN   TestNormalPath
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (532.525µs)"
time="2018-07-17T18:02:40Z" level=info msg="Shutting down workers"
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (404.193µs)"
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (261.433µs)"
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (414.101µs)"
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (3.568932ms)"
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (224.604µs)"
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (621.191µs)"
time="2018-07-17T18:02:40Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:40Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (237.819µs)"
--- PASS: TestNormalPath (0.01s)
=== RUN   TestRun
time="2018-07-17T18:02:40Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:02:40Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:02:41Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:02:41Z" level=info msg="Started workers"
time="2018-07-17T18:02:41Z" level=info msg="Shutting down workers"
--- PASS: TestRun (0.50s)
=== RUN   TestSyncPdb
--- PASS: TestSyncPdb (0.00s)
=== RUN   TestAddTFJob
time="2018-07-17T18:02:41Z" level=info msg="TFJob test-tfjob is created."
time="2018-07-17T18:02:41Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:02:41Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:02:41Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:02:41Z" level=info msg="Started workers"
--- PASS: TestAddTFJob (0.30s)
=== RUN   TestCopyLabelsAndAnnotation
time="2018-07-17T18:02:41Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:41Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:41Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:02:41Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (171.664µs)"
--- PASS: TestCopyLabelsAndAnnotation (0.00s)
=== RUN   TestDeletePodsAndServices
time="2018-07-17T18:02:41Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:02:41Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (183.095µs)"
--- FAIL: TestDeletePodsAndServices (0.00s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1016ca6]

goroutine 114 [running]:
testing.tRunner.func1(0xc4201fd590)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:742 +0x29d
panic(0x116eb00, 0x1c45e90)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/panic.go:505 +0x229
github.com/kubeflow/tf-operator/pkg/controller%2ev2.isAfterCleanDelay(0xc42057eb00, 0x1)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller_status.go:256 +0x116
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).reconcileTFJobs(0xc4201fd770, 0xc42057eb00, 0xc42057eb00, 0xc4207a2308)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller.go:466 +0x32f
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).syncTFJob(0xc4201fd770, 0xc4207a2300, 0x12, 0x0, 0x0, 0x0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller.go:392 +0x480
github.com/kubeflow/tf-operator/pkg/controller%2ev2.TestDeletePodsAndServices(0xc4201fd590)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller_tfjob_test.go:322 +0x9c9
testing.tRunner(0xc4201fd590, 0x13670d8)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:777 +0xd0
created by testing.(*T).Run
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:824 +0x2e0
FAIL	github.com/kubeflow/tf-operator/pkg/controller.v2	1.484s
exit status 1: warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/controller
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/trainer
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/k8sutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/signals
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/testutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/version


travis_time:end:265735f8:start=1531850527393211820,finish=1531850561755261377,duration=34362049557

@TravisBuddy
Copy link

Travis tests have failed

Hey @ccding,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

2nd Build

goveralls -service=travis-ci -v -package ./pkg/... -ignore "pkg/client/*/*.go,pkg/client/*/*/*.go,pkg/client/*/*/*/*.go,pkg/client/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*/*.go,pkg/util/testutil/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go"
=== RUN   TestAddAccelertor
--- PASS: TestAddAccelertor (0.00s)
PASS
coverage: 1.8% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper	0.075s
=== RUN   TestSetDefaults_TFJob
--- PASS: TestSetDefaults_TFJob (0.00s)
PASS
coverage: 1.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1	0.082s
=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
--- PASS: TestSetDefaultTFJob (0.00s)
PASS
coverage: 2.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2	0.063s
=== RUN   TestValidateAlphaTwoTFJobSpec
--- PASS: TestValidateAlphaTwoTFJobSpec (0.00s)
=== RUN   TestValidate
--- PASS: TestValidate (0.00s)
PASS
coverage: 3.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation	0.079s
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2	[no test files]
=== RUN   TestCreatePods
--- PASS: TestCreatePods (0.01s)
=== RUN   TestCreateService
--- PASS: TestCreateService (0.00s)
=== RUN   TestCreateServicesWithControllerRef
--- PASS: TestCreateServicesWithControllerRef (0.00s)
=== RUN   TestClaimServices
--- PASS: TestClaimServices (0.00s)
PASS
coverage: 4.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/control	0.063s
?   	github.com/kubeflow/tf-operator/pkg/controller	[no test files]
=== RUN   TestAddPod
--- PASS: TestAddPod (0.30s)
=== RUN   TestClusterSpec
--- PASS: TestClusterSpec (0.00s)
=== RUN   TestRestartPolicy
--- PASS: TestRestartPolicy (0.00s)
=== RUN   TestExitCode
--- PASS: TestExitCode (0.00s)
=== RUN   TestAddService
--- PASS: TestAddService (0.30s)
=== RUN   TestFailed
--- PASS: TestFailed (0.00s)
=== RUN   TestStatus
--- PASS: TestStatus (0.00s)
=== RUN   TestNormalPath
--- PASS: TestNormalPath (0.01s)
=== RUN   TestRun
--- PASS: TestRun (0.50s)
=== RUN   TestSyncPdb
--- PASS: TestSyncPdb (0.00s)
=== RUN   TestAddTFJob
--- PASS: TestAddTFJob (0.30s)
=== RUN   TestCopyLabelsAndAnnotation
--- PASS: TestCopyLabelsAndAnnotation (0.00s)
=== RUN   TestDeletePodsAndServices
--- FAIL: TestDeletePodsAndServices (0.00s)
exit status 2
FAIL	github.com/kubeflow/tf-operator/pkg/controller.v2	1.494s
exit status 1: warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/controller
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/trainer
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/k8sutil
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/signals
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/util/testutil
warning: no packages being tested depend on github.com/kubeflow/tf-operator/pkg/version
time="2018-07-17T18:26:21Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:26:21Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:26:21Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:26:21Z" level=info msg="Started workers"
time="2018-07-17T18:26:21Z" level=info msg="Shutting down workers"
time="2018-07-17T18:26:21Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:21Z" level=info msg="Need to restart the pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:21Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:21Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (385.582µs)"
time="2018-07-17T18:26:21Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:26:21Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:26:21Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:26:21Z" level=info msg="Started workers"
time="2018-07-17T18:26:21Z" level=info msg="Shutting down workers"
time="2018-07-17T18:26:21Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:26:21Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:26:22Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:26:22Z" level=info msg="Started workers"
time="2018-07-17T18:26:22Z" level=info msg="Shutting down workers"
time="2018-07-17T18:26:22Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:22Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (255.182µs)"
time="2018-07-17T18:26:22Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (471.319µs)"
time="2018-07-17T18:26:22Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (525.207µs)"
time="2018-07-17T18:26:22Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:22Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (485.076µs)"
time="2018-07-17T18:26:22Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (378.563µs)"
time="2018-07-17T18:26:22Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:26:22Z" level=info msg="Need Z" level=info msg="TFJob test-tfjob is created."
time="2018-07-17T18:26:22Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:26:22Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:26:22Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:26:22Z" level=info msg="Started workers"
time="2018-07-17T18:26:22Z" level=info msg="Shutting down workers"
time="2018-07-17T18:26:22Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:22Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:26:22Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (219.418µs)"
time="2018-07-17T18:26:22Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:26:22Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:26:22Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:26:22Z" level=info msg="Started workers"
time="2018-07-17T18:26:22Z" level=info msg="Shutting down workers"
time="2018-07-17T18:26:22Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:26:22Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (249.154µs)"
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x10ec0c8]

goroutine 122 [running]:

3rd Build

goveralls -service=travis-ci -v -package ./pkg/... -ignore "pkg/client/*/*.go,pkg/client/*/*/*.go,pkg/client/*/*/*/*.go,pkg/client/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*.go,pkg/client/*/*/*/*/*/*/*.go,pkg/util/testutil/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go"
=== RUN   TestAddAccelertor
--- PASS: TestAddAccelertor (0.00s)
PASS
coverage: 8.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper	0.073s	coverage: 8.4% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestSetDefaults_TFJob
--- PASS: TestSetDefaults_TFJob (0.00s)
PASS
coverage: 6.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1	0.053s	coverage: 6.5% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
--- PASS: TestSetDefaultTFJob (0.00s)
PASS
coverage: 9.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2	0.055s	coverage: 9.0% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
=== RUN   TestValidateAlphaTwoTFJobSpec
time="2018-07-17T18:13:18Z" level=warning msg="Image is undefined in the container"
time="2018-07-17T18:13:18Z" level=warning msg="There is no container named tensorflow in Worker"
--- PASS: TestValidateAlphaTwoTFJobSpec (0.00s)
=== RUN   TestValidate
--- PASS: TestValidate (0.00s)
PASS
coverage: 7.8% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation	0.055s	coverage: 7.8% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1	[no test files]
?   	github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2	[no test files]
=== RUN   TestCreatePods
--- PASS: TestCreatePods (0.02s)
=== RUN   TestCreateService
time="2018-07-17T18:13:36Z" level=info msg="Controller test-tfjob created service empty_service"
--- PASS: TestCreateService (0.00s)
=== RUN   TestCreateServicesWithControllerRef
time="2018-07-17T18:13:36Z" level=info msg="Controller test-tfjob created service empty_service"
--- PASS: TestCreateServicesWithControllerRef (0.00s)
=== RUN   TestClaimServices
--- PASS: TestClaimServices (0.00s)
PASS
coverage: 44.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
ok  	github.com/kubeflow/tf-operator/pkg/control	0.092s	coverage: 44.9% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/scheme, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha1, github.com/kubeflow/tf-operator/pkg/client/listers/kubeflow/v1alpha2, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller, github.com/kubeflow/tf-operator/pkg/controller.v2, github.com/kubeflow/tf-operator/pkg/generator, github.com/kubeflow/tf-operator/pkg/trainer, github.com/kubeflow/tf-operator/pkg/util, github.com/kubeflow/tf-operator/pkg/util/k8sutil, github.com/kubeflow/tf-operator/pkg/util/signals, github.com/kubeflow/tf-operator/pkg/util/testutil, github.com/kubeflow/tf-operator/pkg/util/train, github.com/kubeflow/tf-operator/pkg/util/unstructured, github.com/kubeflow/tf-operator/pkg/version
?   	github.com/kubeflow/tf-operator/pkg/controller	[no test files]
=== RUN   TestAddPod
time="2018-07-17T18:13:48Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:13:48Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:13:48Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:13:48Z" level=info msg="Started workers"
--- PASS: TestAddPod (0.30s)
time="2018-07-17T18:13:48Z" level=info msg="Shutting down workers"
=== RUN   TestClusterSpec
--- PASS: TestClusterSpec (0.00s)
=== RUN   TestRestartPolicy
--- PASS: TestRestartPolicy (0.00s)
=== RUN   TestExitCode
time="2018-07-17T18:13:48Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:13:48Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:13:48Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:48Z" level=info msg="Need to restart the pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:48Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:48Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (617.545µs)"
--- PASS: TestExitCode (0.00s)
=== RUN   TestAddService
time="2018-07-17T18:13:48Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:13:48Z" level=info msg="Started workers"
time="2018-07-17T18:13:48Z" level=info msg="Shutting down workers"
time="2018-07-17T18:13:48Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:13:48Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:13:49Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:13:49Z" level=info msg="Started workers"
--- PASS: TestAddService (0.30s)
=== RUN   TestFailed
--- PASS: TestFailed (0.00s)
=== RUN   TestStatus
--- PASS: TestStatus (0.00s)
=== RUN   TestNormalPath
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (686.687µs)"
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (547.875µs)"
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (367.1µs)"
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (769.773µs)"
time="2018-07-17T18:13:49Z" level=info msg="Shutting down workers"
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (1.298743ms)"
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (293.056µs)"
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-1" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-2" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-3" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: ps-0" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: ps-1" job=default/test-tfjob replica-type=ps uid=
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (1.019655ms)"
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (364.817µs)"
--- PASS: TestNormalPath (0.02s)
=== RUN   TestRun
time="2018-07-17T18:13:49Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:13:49Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:13:49Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:13:49Z" level=info msg="Started workers"
time="2018-07-17T18:13:49Z" level=info msg="Shutting down workers"
--- PASS: TestRun (0.50s)
=== RUN   TestSyncPdb
--- PASS: TestSyncPdb (0.00s)
=== RUN   TestAddTFJob
time="2018-07-17T18:13:49Z" level=info msg="TFJob test-tfjob is created."
time="2018-07-17T18:13:49Z" level=info msg="Starting TFJob controller"
time="2018-07-17T18:13:49Z" level=info msg="Waiting for informer caches to sync"
time="2018-07-17T18:13:49Z" level=info msg="Starting 1 workers"
time="2018-07-17T18:13:49Z" level=info msg="Started workers"
--- PASS: TestAddTFJob (0.30s)
=== RUN   TestCopyLabelsAndAnnotation
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Need to create new pod: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="need to create new service: worker-0" job=default/test-tfjob replica-type=worker uid=
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (388.791µs)"
--- PASS: TestCopyLabelsAndAnnotation (0.00s)
=== RUN   TestDeletePodsAndServices
time="2018-07-17T18:13:49Z" level=info msg="Reconcile TFJobs test-tfjob"
time="2018-07-17T18:13:49Z" level=info msg="Finished syncing tfjob \"default/test-tfjob\" (340.992µs)"
--- FAIL: TestDeletePodsAndServices (0.00s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1016ca6]

goroutine 115 [running]:
testing.tRunner.func1(0xc42041ea50)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:742 +0x29d
panic(0x116eb00, 0x1c45e90)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/panic.go:505 +0x229
github.com/kubeflow/tf-operator/pkg/controller%2ev2.isAfterCleanDelay(0xc42022f1e0, 0x1)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller_status.go:256 +0x116
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).reconcileTFJobs(0xc42041ec30, 0xc42022f1e0, 0xc42022f1e0, 0xc4203d5e88)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller.go:466 +0x32f
github.com/kubeflow/tf-operator/pkg/controller%2ev2.(*TFJobController).syncTFJob(0xc42041ec30, 0xc4203d5e80, 0x12, 0x0, 0x0, 0x0)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller.go:392 +0x480
github.com/kubeflow/tf-operator/pkg/controller%2ev2.TestDeletePodsAndServices(0xc42041ea50)
	/home/travis/gopath/src/github.com/kubeflow/tf-operator/pkg/controller.v2/controller_tfjob_test.go:322 +0x9c9
testing.tRunner(0xc42041ea50, 0x13670d8)
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:777 +0xd0
created by testing.(*T).Run
	/home/travis/.gimme/versions/go1.10.linux.amd64/src/testing/testing.go:824 +0x2e0
FAIL	github.com/kubeflow/tf-operator/pkg/controller.v2	1.520s
exit status 1: warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/apis/tensorflow/helper
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha1/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/kubeflow/v1alpha2/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/controller
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/trainer
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/k8sutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/signals
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/util/testutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/version


travis_time:end:0a7f6fd8:start=1531851184142164576,finish=1531851229918432847,duration=45776268271

@jlewi
Copy link
Contributor

jlewi commented Jul 18, 2018

@gaocegege If this use case is Garbage Collection to prevent overloading the etcd operator then that's a strong reason for doing it as a separate agent than can be used with multiple resources. We have the exact same garbage collection problems with all batch resources e.g.

  • PyTorch operator
  • K8s Job resource
  • Argo Workflows
  • ...

Why implement this in TFJob controller if we know we are just going to have to reimplement it for other operators.

Furthermore, it doesn't seem to be like garbage collection policy should be set per job by the user of the job. Garbage collection policy seems like a policy that should be set by admins.

Requiring users to set it won't work very well. All it will take is one user not setting the policy on their jobs and submitting a hyperparmeter tuning job to create a whole bunch of jobs that will overwhelm the cluster.

@ccding
Copy link
Contributor Author

ccding commented Jul 18, 2018

@jlewi I agree with you.

Changed the code to add delay to existing CleanPodPolicy @jian-he PTAL

Will work on an agent for clean up jobs.

@gaocegege
Copy link
Member

@ccding Thanks for your work!

@jian-he
Copy link
Contributor

jian-he commented Jul 18, 2018

@jlewi

Furthermore, it doesn't seem to be like garbage collection policy should be set per job by the user of the job. Garbage collection policy seems like a policy that should be set by admins.

We'll have a default value for all jobs set by admin, and gives the option for users to override it. There are scenarios where a large number of preliminary testing jobs don't need to stay for that long and can be removed right away.

@gaocegege
Copy link
Member

/lgtm
/approve

@k8s-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gaocegege

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:

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

@gaocegege
Copy link
Member

@jlewi

I think so. It works for me.

@k8s-ci-robot k8s-ci-robot merged commit 0b9d422 into kubeflow:master Jul 18, 2018
@jlewi
Copy link
Contributor

jlewi commented Jul 18, 2018

@gaocegege @jian-he @ccding

I'm a little lost. Is this PR actually cleaning up finished jobs? It looks like the code is just adding a delay before enforcing the pod deletion policy. Doesn't this just exacerbate the issue of overloading the master by letting more resources persist longer.

See comment in #718. There is a proposal in the K8s community to add a ttl field to jobs. I think we should follow a similar design.

@ccding
Copy link
Contributor Author

ccding commented Jul 18, 2018

@jlewi The original PR was to clean up finished jobs with delay (the delay was also used to delete pods). As you disagree with cleaning up jobs here, I changed the code to add delay for deleting pods per offline discussion with @jian-he. I forgot to change the title of this PR.

ccding pushed a commit to cfork/tf-operator that referenced this pull request Jul 23, 2018
@ccding ccding deleted the delete branch July 23, 2018 18:07
k8s-ci-robot pushed a commit that referenced this pull request Jul 23, 2018
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.

9 participants