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

Support success policy for TFJob #1165

Merged
merged 4 commits into from
Jun 1, 2020

Conversation

terrytangyuan
Copy link
Member

Signed-off-by: terrytangyuan [email protected]

@kubeflow-bot
Copy link

This change is Reviewable

@terrytangyuan
Copy link
Member Author

/cc @gaocegege @ChanYiLin

@k8s-ci-robot k8s-ci-robot requested a review from ChanYiLin May 27, 2020 13:35
@TravisBuddy
Copy link

Travis tests have failed

Hey @terrytangyuan,
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

View build log

hack/verify-codegen.sh
go: downloading golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7
Generating deepcopy funcs
Generating clientset for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/clientset
Generating listers for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/listers
Generating informers for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/informers
Generating defaulters for tensorflow/v1
Generating OpenAPI specification for tensorflow/v1
API rule violation: list_type_missing,github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1,TFJobList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,AvoidPods,PreferAvoidPods
API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Add
API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Drop
API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSPersistentVolumeSource,Monitors
API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSVolumeSource,Monitors
API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatusList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Args
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Env
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,EnvFrom
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeDevices
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeMounts
API rule violation: list_type_missing,k8s.io/api/core/v1,ContainerImage,Names
API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Addresses
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,NotReadyAddresses
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Ports
API rule violation: list_type_missing,k8s.io/api/core/v1,Endpoints,Subsets
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointsList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Args
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Env
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,EnvFrom
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Ports
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeDevices
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeMounts
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainers,EphemeralContainers
API rule violation: list_type_missing,k8s.io/api/core/v1,EventList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ExecAction,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,TargetWWNs
API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,WWIDs
API rule violation: list_type_missing,k8s.io/api/core/v1,HTTPGetAction,HTTPHeaders
API rule violation: list_type_missing,k8s.io/api/core/v1,HostAlias,Hostnames
API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,Portals
API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIVolumeSource,Portals
API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeSpec,Limits
API rule violation: list_type_missing,k8s.io/api/core/v1,List,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,LoadBalancerStatus,Ingress
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceSpec,Finalizers
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelector,NodeSelectorTerms
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchExpressions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchFields
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,PodCIDRs
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,Taints
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Addresses
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Images
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesAttached
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesInUse
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimSpec,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,MountOptions
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,RequiredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinityTerm,Namespaces
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAntiAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAntiAffinity,RequiredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Nameservers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Options
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Searches
API rule violation: list_type_missing,k8s.io/api/core/v1,PodExecOptions,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,PodList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,PodPortForwardOptions,Ports
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,SupplementalGroups
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,Sysctls
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Containers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,EphemeralContainers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,HostAliases
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ImagePullSecrets
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,InitContainers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ReadinessGates
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Tolerations
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Volumes
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,ContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,EphemeralContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,InitContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,PodIPs
API rule violation: list_type_missing,k8s.io/api/core/v1,PodTemplateList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ProjectedVolumeSource,Sources
API rule violation: list_type_missing,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors
API rule violation: list_type_missing,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors
API rule violation: list_type_missing,k8s.io/api/core/v1,RangeAllocation,Data
API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaSpec,Scopes
API rule violation: list_type_missing,k8s.io/api/core/v1,ScopeSelector,MatchExpressions
API rule violation: list_type_missing,k8s.io/api/core/v1,ScopedResourceSelectorRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,ImagePullSecrets
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,Secrets
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccountList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,ExternalIPs
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,LoadBalancerSourceRanges
API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorLabelRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorTerm,MatchLabelExpressions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,List,Items
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PartialObjectMetadataList,Items
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
API rule violation: names_match,k8s.io/api/core/v1,AzureDiskVolumeSource,DataDiskURI
API rule violation: names_match,k8s.io/api/core/v1,ContainerStatus,LastTerminationState
API rule violation: names_match,k8s.io/api/core/v1,DaemonEndpoint,Port
API rule violation: names_match,k8s.io/api/core/v1,Event,ReportingController
API rule violation: names_match,k8s.io/api/core/v1,FCVolumeSource,WWIDs
API rule violation: names_match,k8s.io/api/core/v1,GlusterfsPersistentVolumeSource,EndpointsName
API rule violation: names_match,k8s.io/api/core/v1,GlusterfsVolumeSource,EndpointsName
API rule violation: names_match,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,DiscoveryCHAPAuth
API rule violation: names_match,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,SessionCHAPAuth
API rule violation: names_match,k8s.io/api/core/v1,ISCSIVolumeSource,DiscoveryCHAPAuth
API rule violation: names_match,k8s.io/api/core/v1,ISCSIVolumeSource,SessionCHAPAuth
API rule violation: names_match,k8s.io/api/core/v1,NodeResources,Capacity
API rule violation: names_match,k8s.io/api/core/v1,NodeSpec,DoNotUse_ExternalID
API rule violation: names_match,k8s.io/api/core/v1,PersistentVolumeSource,CephFS
API rule violation: names_match,k8s.io/api/core/v1,PersistentVolumeSource,StorageOS
API rule violation: names_match,k8s.io/api/core/v1,PodSpec,DeprecatedServiceAccount
API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors
API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RBDImage
API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RBDPool
API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RadosUser
API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors
API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RBDImage
API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RBDPool
API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RadosUser
API rule violation: names_match,k8s.io/api/core/v1,VolumeSource,CephFS
API rule violation: names_match,k8s.io/api/core/v1,VolumeSource,StorageOS
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,Format
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,d
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,i
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,s
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,int64Amount,scale
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,int64Amount,value
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,IntVal
API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,StrVal
API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,Type
diffing hack/../pkg against freshly generated codegen
diff -Naupr hack/../pkg/apis/tensorflow/v1/openapi_generated.go hack/../_tmp/pkg/apis/tensorflow/v1/openapi_generated.go
--- hack/../pkg/apis/tensorflow/v1/openapi_generated.go	2020-05-27 13:36:32.354653841 +0000
+++ hack/../_tmp/pkg/apis/tensorflow/v1/openapi_generated.go	2020-05-27 13:35:04.000000000 +0000
@@ -410,13 +410,6 @@ func schema_pkg_apis_tensorflow_v1_TFJob
 							Format:      "int32",
 						},
 					},
-					"successPolicy": {
-						SchemaProps: spec.SchemaProps{
-							Description: "SuccessPolicy defines the policy to mark the TFJob as succeeded. Default to \"\", using the default rules.",
-							Type:        []string{"string"},
-							Format:      "",
-						},
-					},
 					"cleanPodPolicy": {
 						SchemaProps: spec.SchemaProps{
 							Description: "Defines the policy for cleaning up pods after the TFJob completes. Defaults to Running.",
diff -Naupr hack/../pkg/apis/tensorflow/v1/zz_generated.deepcopy.go hack/../_tmp/pkg/apis/tensorflow/v1/zz_generated.deepcopy.go
--- hack/../pkg/apis/tensorflow/v1/zz_generated.deepcopy.go	2020-05-27 13:36:15.278119841 +0000
+++ hack/../_tmp/pkg/apis/tensorflow/v1/zz_generated.deepcopy.go	2020-05-27 13:35:04.000000000 +0000
@@ -97,11 +97,6 @@ func (in *TFJobSpec) DeepCopyInto(out *T
 		*out = new(int32)
 		**out = **in
 	}
-	if in.SuccessPolicy != nil {
-		in, out := &in.SuccessPolicy, &out.SuccessPolicy
-		*out = new(SuccessPolicy)
-		**out = **in
-	}
 	if in.CleanPodPolicy != nil {
 		in, out := &in.CleanPodPolicy, &out.CleanPodPolicy
 		*out = new(commonv1.CleanPodPolicy)
hack/../pkg is out of date. Please run hack/update-codegen.sh
go build -o tf-operator.v1 github.com/kubeflow/tf-operator/cmd/tf-operator.v1
# github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1
pkg/apis/tensorflow/v1/defaults.go:101:28: cannot use &defaultPolicy (type *string) as type *SuccessPolicy in assignment
golangci-lint run ./...
pkg/apis/tensorflow/v1/defaults.go:101:30: cannot use &defaultPolicy (value of type *string) as *SuccessPolicy value in assignment (typecheck)
		tfjob.Spec.SuccessPolicy = &defaultPolicy
		                           ^
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/*.go,pkg/util/*/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go,pkg/apis/common/*/zz_generated.*.go,pkg/apis/common/*/*_generated.go"
FAIL	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1 [build failed]
FAIL
exit status 2: warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned
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/scheme
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/jobcontroller
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/control
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/logger
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/train
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/version
# github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1 [github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1.test]
pkg/apis/tensorflow/v1/defaults.go:101: cannot use &defaultPolicy (type *string) as type *SuccessPolicy in assignment
TravisBuddy Request Identifier: 488d6dc0-a01f-11ea-aa49-9d3926c79f60

Signed-off-by: terrytangyuan <[email protected]>
@TravisBuddy
Copy link

Travis tests have failed

Hey @terrytangyuan,
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

View build log

hack/verify-codegen.sh
go: downloading golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7
Generating deepcopy funcs
Generating clientset for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/clientset
Generating listers for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/listers
Generating informers for tensorflow:v1 at github.com/kubeflow/tf-operator/pkg/client/informers
Generating defaulters for tensorflow/v1
Generating OpenAPI specification for tensorflow/v1
API rule violation: list_type_missing,github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1,TFJobList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,AvoidPods,PreferAvoidPods
API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Add
API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Drop
API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSPersistentVolumeSource,Monitors
API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSVolumeSource,Monitors
API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatusList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Args
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Env
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,EnvFrom
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeDevices
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeMounts
API rule violation: list_type_missing,k8s.io/api/core/v1,ContainerImage,Names
API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Addresses
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,NotReadyAddresses
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Ports
API rule violation: list_type_missing,k8s.io/api/core/v1,Endpoints,Subsets
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointsList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Args
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Env
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,EnvFrom
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Ports
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeDevices
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeMounts
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainers,EphemeralContainers
API rule violation: list_type_missing,k8s.io/api/core/v1,EventList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ExecAction,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,TargetWWNs
API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,WWIDs
API rule violation: list_type_missing,k8s.io/api/core/v1,HTTPGetAction,HTTPHeaders
API rule violation: list_type_missing,k8s.io/api/core/v1,HostAlias,Hostnames
API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,Portals
API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIVolumeSource,Portals
API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeSpec,Limits
API rule violation: list_type_missing,k8s.io/api/core/v1,List,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,LoadBalancerStatus,Ingress
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceSpec,Finalizers
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelector,NodeSelectorTerms
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchExpressions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchFields
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,PodCIDRs
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,Taints
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Addresses
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Images
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesAttached
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesInUse
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimSpec,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,AccessModes
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,MountOptions
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,RequiredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinityTerm,Namespaces
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAntiAffinity,PreferredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAntiAffinity,RequiredDuringSchedulingIgnoredDuringExecution
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Nameservers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Options
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Searches
API rule violation: list_type_missing,k8s.io/api/core/v1,PodExecOptions,Command
API rule violation: list_type_missing,k8s.io/api/core/v1,PodList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,PodPortForwardOptions,Ports
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,SupplementalGroups
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,Sysctls
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Containers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,EphemeralContainers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,HostAliases
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ImagePullSecrets
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,InitContainers
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ReadinessGates
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Tolerations
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Volumes
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,ContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,EphemeralContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,InitContainerStatuses
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,PodIPs
API rule violation: list_type_missing,k8s.io/api/core/v1,PodTemplateList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ProjectedVolumeSource,Sources
API rule violation: list_type_missing,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors
API rule violation: list_type_missing,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors
API rule violation: list_type_missing,k8s.io/api/core/v1,RangeAllocation,Data
API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerStatus,Conditions
API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaSpec,Scopes
API rule violation: list_type_missing,k8s.io/api/core/v1,ScopeSelector,MatchExpressions
API rule violation: list_type_missing,k8s.io/api/core/v1,ScopedResourceSelectorRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretProjection,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretVolumeSource,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,ImagePullSecrets
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,Secrets
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccountList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceList,Items
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,ExternalIPs
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,LoadBalancerSourceRanges
API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorLabelRequirement,Values
API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorTerm,MatchLabelExpressions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,List,Items
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PartialObjectMetadataList,Items
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
API rule violation: names_match,k8s.io/api/core/v1,AzureDiskVolumeSource,DataDiskURI
API rule violation: names_match,k8s.io/api/core/v1,ContainerStatus,LastTerminationState
API rule violation: names_match,k8s.io/api/core/v1,DaemonEndpoint,Port
API rule violation: names_match,k8s.io/api/core/v1,Event,ReportingController
API rule violation: names_match,k8s.io/api/core/v1,FCVolumeSource,WWIDs
API rule violation: names_match,k8s.io/api/core/v1,GlusterfsPersistentVolumeSource,EndpointsName
API rule violation: names_match,k8s.io/api/core/v1,GlusterfsVolumeSource,EndpointsName
API rule violation: names_match,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,DiscoveryCHAPAuth
API rule violation: names_match,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,SessionCHAPAuth
API rule violation: names_match,k8s.io/api/core/v1,ISCSIVolumeSource,DiscoveryCHAPAuth
API rule violation: names_match,k8s.io/api/core/v1,ISCSIVolumeSource,SessionCHAPAuth
API rule violation: names_match,k8s.io/api/core/v1,NodeResources,Capacity
API rule violation: names_match,k8s.io/api/core/v1,NodeSpec,DoNotUse_ExternalID
API rule violation: names_match,k8s.io/api/core/v1,PersistentVolumeSource,CephFS
API rule violation: names_match,k8s.io/api/core/v1,PersistentVolumeSource,StorageOS
API rule violation: names_match,k8s.io/api/core/v1,PodSpec,DeprecatedServiceAccount
API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors
API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RBDImage
API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RBDPool
API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RadosUser
API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors
API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RBDImage
API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RBDPool
API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RadosUser
API rule violation: names_match,k8s.io/api/core/v1,VolumeSource,CephFS
API rule violation: names_match,k8s.io/api/core/v1,VolumeSource,StorageOS
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,Format
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,d
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,i
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,s
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,int64Amount,scale
API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,int64Amount,value
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType
API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,IntVal
API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,StrVal
API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,Type
diffing hack/../pkg against freshly generated codegen
diff -Naupr hack/../pkg/apis/tensorflow/v1/openapi_generated.go hack/../_tmp/pkg/apis/tensorflow/v1/openapi_generated.go
--- hack/../pkg/apis/tensorflow/v1/openapi_generated.go	2020-05-27 13:54:25.077443987 +0000
+++ hack/../_tmp/pkg/apis/tensorflow/v1/openapi_generated.go	2020-05-27 13:53:31.000000000 +0000
@@ -410,13 +410,6 @@ func schema_pkg_apis_tensorflow_v1_TFJob
 							Format:      "int32",
 						},
 					},
-					"successPolicy": {
-						SchemaProps: spec.SchemaProps{
-							Description: "SuccessPolicy defines the policy to mark the TFJob as succeeded. Default to \"\", using the default rules.",
-							Type:        []string{"string"},
-							Format:      "",
-						},
-					},
 					"cleanPodPolicy": {
 						SchemaProps: spec.SchemaProps{
 							Description: "Defines the policy for cleaning up pods after the TFJob completes. Defaults to Running.",
diff -Naupr hack/../pkg/apis/tensorflow/v1/zz_generated.deepcopy.go hack/../_tmp/pkg/apis/tensorflow/v1/zz_generated.deepcopy.go
--- hack/../pkg/apis/tensorflow/v1/zz_generated.deepcopy.go	2020-05-27 13:54:06.290841306 +0000
+++ hack/../_tmp/pkg/apis/tensorflow/v1/zz_generated.deepcopy.go	2020-05-27 13:53:31.000000000 +0000
@@ -97,11 +97,6 @@ func (in *TFJobSpec) DeepCopyInto(out *T
 		*out = new(int32)
 		**out = **in
 	}
-	if in.SuccessPolicy != nil {
-		in, out := &in.SuccessPolicy, &out.SuccessPolicy
-		*out = new(SuccessPolicy)
-		**out = **in
-	}
 	if in.CleanPodPolicy != nil {
 		in, out := &in.CleanPodPolicy, &out.CleanPodPolicy
 		*out = new(commonv1.CleanPodPolicy)
hack/../pkg is out of date. Please run hack/update-codegen.sh
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/*.go,pkg/util/*/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go,pkg/apis/common/*/zz_generated.*.go,pkg/apis/common/*/*_generated.go"
=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
    TestSetDefaultTFJob: defaults_test.go:268: set replicas: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
    TestSetDefaultTFJob: defaults_test.go:268: set replicas with default restartpolicy: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Never"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Never"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
    TestSetDefaultTFJob: defaults_test.go:268: set replicas with default port: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
    TestSetDefaultTFJob: defaults_test.go:268: set replicas adding default port: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "customPort",
                            "containerPort": 1234
                          },
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "customPort",
                            "containerPort": 1234
                          },
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
    TestSetDefaultTFJob: defaults_test.go:268: set custom cleanpod policy: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "All",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "customPort",
                            "containerPort": 1234
                          },
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "All",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "customPort",
                            "containerPort": 1234
                          },
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
--- FAIL: TestSetDefaultTFJob (0.00s)
=== RUN   TestIsChieforMaster
--- PASS: TestIsChieforMaster (0.00s)
FAIL
coverage: 11.2% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, 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/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/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/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, 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/train, github.com/kubeflow/tf-operator/pkg/version
FAIL	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1	0.026s
FAIL
exit status 1: warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned
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/scheme
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/jobcontroller
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/control
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/logger
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/train
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/version
TravisBuddy Request Identifier: e159b8e0-a021-11ea-aa49-9d3926c79f60

Signed-off-by: terrytangyuan <[email protected]>
@TravisBuddy
Copy link

Travis tests have failed

Hey @terrytangyuan,
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

View build log

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/*.go,pkg/util/*/*.go,pkg/apis/tensorflow/*/zz_generated.*.go,pkg/apis/tensorflow/*/*_generated.go,pkg/apis/common/*/zz_generated.*.go,pkg/apis/common/*/*_generated.go"
=== RUN   TestSetTypeNames
--- PASS: TestSetTypeNames (0.00s)
=== RUN   TestSetDefaultTFJob
    TestSetDefaultTFJob: defaults_test.go:268: set replicas with default restartpolicy: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Never"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Never"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
    TestSetDefaultTFJob: defaults_test.go:268: set replicas with default port: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
    TestSetDefaultTFJob: defaults_test.go:268: set replicas adding default port: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "customPort",
                            "containerPort": 1234
                          },
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "customPort",
                            "containerPort": 1234
                          },
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
    TestSetDefaultTFJob: defaults_test.go:268: set custom cleanpod policy: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "All",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "customPort",
                            "containerPort": 1234
                          },
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "All",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "customPort",
                            "containerPort": 1234
                          },
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
    TestSetDefaultTFJob: defaults_test.go:268: set replicas: Want
        {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }; Got
         {
          "metadata": {
            "creationTimestamp": null
          },
          "spec": {
            "successPolicy": "",
            "cleanPodPolicy": "Running",
            "tfReplicaSpecs": {
              "Worker": {
                "replicas": 1,
                "template": {
                  "metadata": {
                    "creationTimestamp": null
                  },
                  "spec": {
                    "containers": [
                      {
                        "name": "tensorflow",
                        "image": "test-image:latest",
                        "ports": [
                          {
                            "name": "tfjob-port",
                            "containerPort": 2222
                          }
                        ],
                        "resources": {}
                      }
                    ]
                  }
                },
                "restartPolicy": "Always"
              }
            }
          },
          "status": {
            "conditions": null,
            "replicaStatuses": null
          }
        }
--- FAIL: TestSetDefaultTFJob (0.00s)
=== RUN   TestIsChieforMaster
--- PASS: TestIsChieforMaster (0.00s)
FAIL
coverage: 11.1% of statements in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1, 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/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/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/tensorflow, github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1, github.com/kubeflow/tf-operator/pkg/common/jobcontroller, github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil, github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured, github.com/kubeflow/tf-operator/pkg/control, github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow, github.com/kubeflow/tf-operator/pkg/logger, 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/train, github.com/kubeflow/tf-operator/pkg/version
FAIL	github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1	0.026s
FAIL
exit status 1: warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/apis/tensorflow/validation
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned
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/scheme
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/clientset/versioned/typed/tensorflow/v1/fake
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/internalinterfaces
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/informers/externalversions/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/client/listers/tensorflow/v1
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/jobcontroller
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/util/v1/testutil
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/common/util/v1/unstructured
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/control
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/controller.v1/tensorflow
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/logger
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/train
warning: no packages being tested depend on matches for pattern github.com/kubeflow/tf-operator/pkg/version
TravisBuddy Request Identifier: d0990450-a023-11ea-aa49-9d3926c79f60

Signed-off-by: terrytangyuan <[email protected]>
@coveralls
Copy link

Coverage Status

Coverage increased (+0.2%) to 96.667% when pulling 9d9fee4 on terrytangyuan:success-policy into 07baabf on kubeflow:master.

@terrytangyuan
Copy link
Member Author

/retest

1 similar comment
@terrytangyuan
Copy link
Member Author

/retest

@terrytangyuan
Copy link
Member Author

/test kubeflow-tf-operator-presubmit

@gaocegege
Copy link
Member

The feature LGTM. But the name successPolicy is confusing for me.

And, should we keep the policy in common?

/cc @Jeffwan

@k8s-ci-robot k8s-ci-robot requested a review from Jeffwan May 28, 2020 01:50
@terrytangyuan
Copy link
Member Author

terrytangyuan commented May 28, 2020

I was thinking about moving this to Kubeflow/common as well but we need to see whether other operators have the same demands before doing that. Also it would take more time to switch to use the most recent Kubeflow/common so it’s better to keep this here for now.

@gaocegege
Copy link
Member

BTW, Is there the situation that the chief worker is succeeded but the one of the worker fails?

@terrytangyuan
Copy link
Member Author

Yes that is the use case.

Copy link
Member

@gaocegege gaocegege left a comment

Choose a reason for hiding this comment

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

/lgtm
/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

/retest

@terrytangyuan
Copy link
Member Author

/retest

@k8s-ci-robot
Copy link

@terrytangyuan: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
kubeflow-tf-operator-presubmit 9d9fee4 link /test kubeflow-tf-operator-presubmit

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@terrytangyuan terrytangyuan merged commit 2479837 into kubeflow:master Jun 1, 2020
@terrytangyuan terrytangyuan deleted the success-policy branch June 1, 2020 04:05
ChenYi015 pushed a commit to ChenYi015/training-operator that referenced this pull request Sep 20, 2024
* Support success policy for TFJob

Signed-off-by: terrytangyuan <[email protected]>

* Fix imports

Signed-off-by: terrytangyuan <[email protected]>

* Update generated code

Signed-off-by: terrytangyuan <[email protected]>

* Fix defaults_test.go

Signed-off-by: terrytangyuan <[email protected]>
(cherry picked from commit 2479837)
Signed-off-by: Yi Chen <[email protected]>
ChenYi015 pushed a commit to ChenYi015/training-operator that referenced this pull request Sep 20, 2024
* Support success policy for TFJob

Signed-off-by: terrytangyuan <[email protected]>

* Fix imports

Signed-off-by: terrytangyuan <[email protected]>

* Update generated code

Signed-off-by: terrytangyuan <[email protected]>

* Fix defaults_test.go

Signed-off-by: terrytangyuan <[email protected]>
(cherry picked from commit 2479837)
Signed-off-by: Yi Chen <[email protected]>
ChenYi015 pushed a commit to ChenYi015/training-operator that referenced this pull request Sep 20, 2024
* Support success policy for TFJob

Signed-off-by: terrytangyuan <[email protected]>

* Fix imports

Signed-off-by: terrytangyuan <[email protected]>

* Update generated code

Signed-off-by: terrytangyuan <[email protected]>

* Fix defaults_test.go

Signed-off-by: terrytangyuan <[email protected]>
(cherry picked from commit 2479837)
Signed-off-by: Yi Chen <[email protected]>
ChenYi015 pushed a commit to ChenYi015/training-operator that referenced this pull request Sep 20, 2024
* Support success policy for TFJob

Signed-off-by: terrytangyuan <[email protected]>

* Fix imports

Signed-off-by: terrytangyuan <[email protected]>

* Update generated code

Signed-off-by: terrytangyuan <[email protected]>

* Fix defaults_test.go

Signed-off-by: terrytangyuan <[email protected]>
(cherry picked from commit 2479837)
Signed-off-by: Yi Chen <[email protected]>
ChenYi015 pushed a commit to ChenYi015/training-operator that referenced this pull request Sep 29, 2024
* Support success policy for TFJob

Signed-off-by: terrytangyuan <[email protected]>

* Fix imports

Signed-off-by: terrytangyuan <[email protected]>

* Update generated code

Signed-off-by: terrytangyuan <[email protected]>

* Fix defaults_test.go

Signed-off-by: terrytangyuan <[email protected]>
(cherry picked from commit 2479837)
Signed-off-by: Yi Chen <[email protected]>
ChenYi015 pushed a commit to ChenYi015/training-operator that referenced this pull request Sep 29, 2024
* Support success policy for TFJob

Signed-off-by: terrytangyuan <[email protected]>

* Fix imports

Signed-off-by: terrytangyuan <[email protected]>

* Update generated code

Signed-off-by: terrytangyuan <[email protected]>

* Fix defaults_test.go

Signed-off-by: terrytangyuan <[email protected]>
(cherry picked from commit 2479837)
Signed-off-by: Yi Chen <[email protected]>
cheyang pushed a commit to AliyunContainerService/tf-operator that referenced this pull request Sep 29, 2024
* Support success policy for TFJob (kubeflow#1165)

* Support success policy for TFJob

Signed-off-by: terrytangyuan <[email protected]>

* Fix imports

Signed-off-by: terrytangyuan <[email protected]>

* Update generated code

Signed-off-by: terrytangyuan <[email protected]>

* Fix defaults_test.go

Signed-off-by: terrytangyuan <[email protected]>
(cherry picked from commit 2479837)
Signed-off-by: Yi Chen <[email protected]>

* Add validation for non-nil pointer

Signed-off-by: Yi Chen <[email protected]>

* Add kubebuilder marker for validating success policy

Signed-off-by: Yi Chen <[email protected]>

* Add make target generate

Signed-off-by: Yi Chen <[email protected]>

---------

Signed-off-by: terrytangyuan <[email protected]>
Signed-off-by: Yi Chen <[email protected]>
Co-authored-by: Yuan Tang <[email protected]>
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.

6 participants