提交 9bf01589 编写于 作者: W wubaodong

Merge branch 'hotfix/job-submit-error' into 'main'

fix: job failed submit when collector/learner missed

See merge request platform/CloudNative4AI/cluster-lifecycle/di-orchestrator!48
variables:
REGISTRY: registry.sensetime.com/cloudnative4ai
VERSION: v0.2.1
VERSION: v0.2.2
PROJECT: di-orchestrator
# dind config
DOCKER_HOST: tcp://localhost:2376
......
# di-operator version
VERSION ?= v0.2.1
VERSION ?= v0.2.2
MASTER_VERSION := $(VERSION)
COMMIT_SHORT_SHA=$(shell git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8)
......
......@@ -44,13 +44,13 @@ type DIJobSpec struct {
// Coordinator defines the coordinator of distributed DIJob.
// For serial DIJob, only coordinator is needed.
// +kubebuilder:validation:Required
Coordinator CoordinatorSpec `json:"coordinator"`
Coordinator *CoordinatorSpec `json:"coordinator"`
// +kubebuilder:validation:Optional
Collector CollectorSpec `json:"collector,"`
Collector *CollectorSpec `json:"collector,omitempty"`
// +kubebuilder:validation:Optional
Learner LearnerSpec `json:"learner,"`
Learner *LearnerSpec `json:"learner,omitempty"`
}
// Priority defines the priority of DIJob
......@@ -84,12 +84,12 @@ type CoordinatorSpec struct {
// CollectorSpec defines the desired state of CollectorSpec
type CollectorSpec struct {
Template corev1.PodTemplateSpec `json:"template,"`
Template corev1.PodTemplateSpec `json:"template"`
}
// Learner defines the desired state of Learner
type LearnerSpec struct {
Template corev1.PodTemplateSpec `json:"template,"`
Template corev1.PodTemplateSpec `json:"template"`
}
// DIJobStatus defines the observed state of DIJob
......@@ -170,7 +170,6 @@ type DIJobCondition struct {
// +kubebuilder:resource:shortName=dijob
// +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`
// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
// DIJob is the Schema for the dijobs API
type DIJob struct {
metav1.TypeMeta `json:",inline"`
......
......@@ -134,7 +134,7 @@ func NewDIJob() *DIJob {
Namespace: DIJobNamespace,
},
Spec: DIJobSpec{
Coordinator: CoordinatorSpec{
Coordinator: &CoordinatorSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
Containers: []corev1.Container{
......@@ -147,7 +147,7 @@ func NewDIJob() *DIJob {
},
},
},
Collector: CollectorSpec{
Collector: &CollectorSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
Containers: []corev1.Container{
......@@ -160,7 +160,7 @@ func NewDIJob() *DIJob {
},
},
},
Learner: LearnerSpec{
Learner: &LearnerSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
Containers: []corev1.Container{
......
......@@ -273,9 +273,21 @@ func (in *DIJobSpec) DeepCopyInto(out *DIJobSpec) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
in.Coordinator.DeepCopyInto(&out.Coordinator)
in.Collector.DeepCopyInto(&out.Collector)
in.Learner.DeepCopyInto(&out.Learner)
if in.Coordinator != nil {
in, out := &in.Coordinator, &out.Coordinator
*out = new(CoordinatorSpec)
(*in).DeepCopyInto(*out)
}
if in.Collector != nil {
in, out := &in.Collector, &out.Collector
*out = new(CollectorSpec)
(*in).DeepCopyInto(*out)
}
if in.Learner != nil {
in, out := &in.Learner, &out.Learner
*out = new(LearnerSpec)
(*in).DeepCopyInto(*out)
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DIJobSpec.
......
......@@ -16319,7 +16319,7 @@ spec:
- --leader-elect
command:
- /di-operator
image: registry.sensetime.com/cloudnative4ai/di-operator:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-operator:v0.2.2
imagePullPolicy: Always
livenessProbe:
httpGet:
......@@ -16370,7 +16370,7 @@ spec:
- --lease-lock-name=di-server
command:
- /di-server
image: registry.sensetime.com/cloudnative4ai/di-server:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-server:v0.2.2
imagePullPolicy: Always
livenessProbe:
httpGet:
......@@ -16410,7 +16410,7 @@ spec:
containers:
- command:
- /di-webhook
image: registry.sensetime.com/cloudnative4ai/di-webhook:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-webhook:v0.2.2
imagePullPolicy: Always
livenessProbe:
httpGet:
......@@ -27,7 +27,7 @@ spec:
- /di-operator
args:
- "--server-address=http://di-server.di-system:8080"
image: registry.sensetime.com/cloudnative4ai/di-operator:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-operator:v0.2.2
imagePullPolicy: Always
name: manager
securityContext:
......
......@@ -23,7 +23,7 @@ spec:
- "--leader-elect"
- "--lease-lock-namespace=di-system"
- "--lease-lock-name=di-server"
image: registry.sensetime.com/cloudnative4ai/di-server:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-server:v0.2.2
imagePullPolicy: Always
name: server
securityContext:
......
......@@ -18,7 +18,7 @@ spec:
containers:
- command:
- /di-webhook
image: registry.sensetime.com/cloudnative4ai/di-webhook:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-webhook:v0.2.2
imagePullPolicy: Always
name: webhook
securityContext:
......
......@@ -7,10 +7,10 @@ kind: Kustomization
images:
- name: registry.sensetime.com/cloudnative4ai/di-operator
newName: registry.sensetime.com/cloudnative4ai/di-operator
newTag: v0.2.1
newTag: v0.2.2
- name: registry.sensetime.com/cloudnative4ai/di-server
newName: registry.sensetime.com/cloudnative4ai/di-server
newTag: v0.2.1
newTag: v0.2.2
- name: registry.sensetime.com/cloudnative4ai/di-webhook
newName: registry.sensetime.com/cloudnative4ai/di-webhook
newTag: v0.2.1
newTag: v0.2.2
......@@ -325,7 +325,7 @@ spec:
- --leader-elect
command:
- /di-operator
image: registry.sensetime.com/cloudnative4ai/di-operator:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-operator:v0.2.2
imagePullPolicy: Always
livenessProbe:
httpGet:
......@@ -376,7 +376,7 @@ spec:
- --lease-lock-name=di-server
command:
- /di-server
image: registry.sensetime.com/cloudnative4ai/di-server:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-server:v0.2.2
imagePullPolicy: Always
livenessProbe:
httpGet:
......@@ -416,7 +416,7 @@ spec:
containers:
- command:
- /di-webhook
image: registry.sensetime.com/cloudnative4ai/di-webhook:v0.2.1
image: registry.sensetime.com/cloudnative4ai/di-webhook:v0.2.2
imagePullPolicy: Always
livenessProbe:
httpGet:
......
......@@ -25,7 +25,7 @@ func NewDIJob() *div1alpha1.DIJob {
Namespace: DIJobNamespace,
},
Spec: div1alpha1.DIJobSpec{
Coordinator: div1alpha1.CoordinatorSpec{
Coordinator: &div1alpha1.CoordinatorSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
Containers: []corev1.Container{
......@@ -38,7 +38,7 @@ func NewDIJob() *div1alpha1.DIJob {
},
},
},
Collector: div1alpha1.CollectorSpec{
Collector: &div1alpha1.CollectorSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
Containers: []corev1.Container{
......@@ -51,7 +51,7 @@ func NewDIJob() *div1alpha1.DIJob {
},
},
},
Learner: div1alpha1.LearnerSpec{
Learner: &div1alpha1.LearnerSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
Containers: []corev1.Container{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册