Skip to content
This repository was archived by the owner on Sep 19, 2022. It is now read-only.

Commit 6a35704

Browse files
johnugeorgek8s-ci-robot
authored andcommitted
Ensure that PyTorch CRD exists (#99)
* Ensure that CRD exists * Rename
1 parent 9f03606 commit 6a35704

File tree

35 files changed

+9402
-9
lines changed

35 files changed

+9402
-9
lines changed

Gopkg.lock

Lines changed: 12 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ required = [
5252
name = "k8s.io/apimachinery"
5353
branch = "release-1.10"
5454

55+
[[constraint]]
56+
name = "k8s.io/apiextensions-apiserver"
57+
branch = "release-1.10"
58+
5559
[[constraint]]
5660
name = "k8s.io/code-generator"
5761
# We can not use master since the generated package name is changed from tensorflow to kubeflow.

cmd/pytorch-operator.v1beta1/app/options/options.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,5 @@ func (s *ServerOption) AddFlags(fs *flag.FlagSet) {
5454

5555
fs.BoolVar(&s.JSONLogFormat, "json-log-format", true,
5656
"Set true to use json style log format. Set false to use plaintext style log format")
57-
fs.BoolVar(&s.EnableGangScheduling, "enable-gang-scheduling", false, "Set true to enable gang scheduling by kube-arbitrator.")
57+
fs.BoolVar(&s.EnableGangScheduling, "enable-gang-scheduling", false, "Set true to enable gang scheduling by kube-batch.")
5858
}

cmd/pytorch-operator.v1beta1/app/server.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121

2222
log "github.com/sirupsen/logrus"
2323
"k8s.io/api/core/v1"
24+
crdclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
2425
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2526
kubeinformers "k8s.io/client-go/informers"
2627
kubeclientset "k8s.io/client-go/kubernetes"
@@ -154,6 +155,15 @@ func Run(opt *options.ServerOption) error {
154155
}
155156

156157
func createClientSets(config *restclientset.Config) (kubeclientset.Interface, kubeclientset.Interface, jobclientset.Interface, error) {
158+
159+
crdClient, err := crdclient.NewForConfig(config)
160+
161+
if err != nil {
162+
return nil, nil, nil, err
163+
}
164+
165+
checkCRDExists(crdClient, v1beta1.PytorchCRD)
166+
157167
kubeClientSet, err := kubeclientset.NewForConfig(restclientset.AddUserAgent(config, "pytorch-operator"))
158168
if err != nil {
159169
return nil, nil, nil, err
@@ -171,3 +181,12 @@ func createClientSets(config *restclientset.Config) (kubeclientset.Interface, ku
171181

172182
return kubeClientSet, leaderElectionClientSet, jobClientSet, nil
173183
}
184+
185+
func checkCRDExists(clientset crdclient.Interface, crdName string) {
186+
_, err := clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Get(crdName, metav1.GetOptions{})
187+
188+
if err != nil {
189+
log.Error(err)
190+
os.Exit(1)
191+
}
192+
}

pkg/apis/pytorch/v1beta1/register.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ const (
3939
Plural = "pytorchjobs"
4040
// Singular is the singular for pytorchJob.
4141
Singular = "pytorchjob"
42+
// PytorchCRD is the CRD name for PytorchJob.
43+
PytorchCRD = "pytorchjobs.kubeflow.org"
4244
)
4345

4446
var (

pkg/controller.v1beta1/pytorch/job.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ func (pc *PyTorchController) cleanupPyTorchJob(job *v1beta1.PyTorchJob) error {
156156
return nil
157157
}
158158

159-
// deletePyTorchJob delets the given PyTorchJob.
159+
// deletePyTorchJob deletes the given PyTorchJob.
160160
func (pc *PyTorchController) deletePyTorchJob(job *v1beta1.PyTorchJob) error {
161161
return pc.jobClientSet.KubeflowV1beta1().PyTorchJobs(job.Namespace).Delete(job.Name, &metav1.DeleteOptions{})
162162
}

pkg/controller.v1beta1/pytorch/pod.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import (
3535

3636
const (
3737
// podTemplateRestartPolicyReason is the warning reason when the restart
38-
// policy is setted in pod template.
38+
// policy is set in pod template.
3939
podTemplateRestartPolicyReason = "SettedPodTemplateRestartPolicy"
4040
exitedWithCodeReason = "ExitedWithCode"
4141
)

vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/deepcopy.go

Lines changed: 279 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)