diff --git a/db/model/component.go b/db/model/component.go index f6a8bfbc0d..6d9c05bf20 100644 --- a/db/model/component.go +++ b/db/model/component.go @@ -59,6 +59,10 @@ const ( K8sAttributeNameSecurityContext = "securityContext" //K8sAttributeNameBootOrder - K8sAttributeNameBootOrder = "bootOrder" + //K8sAttributeNameReadinessProbe - + K8sAttributeNameReadinessProbe = "readinessProbe" + //K8sAttributeNameLiveNessProbe - + K8sAttributeNameLiveNessProbe = "livenessProbe" ) // ComponentK8sAttributes - diff --git a/worker/appm/conversion/version.go b/worker/appm/conversion/version.go index f6f050d185..89b2490a78 100644 --- a/worker/appm/conversion/version.go +++ b/worker/appm/conversion/version.go @@ -875,6 +875,29 @@ func createPorts(as *v1.AppService, dbmanager db.Manager) (ports []corev1.Contai } func createProbe(as *v1.AppService, dbmanager db.Manager, mode string) *corev1.Probe { + if mode == "liveness" { + var probe *corev1.Probe + probeAttribute, err := dbmanager.ComponentK8sAttributeDao().GetByComponentIDAndName(as.ServiceID, model.K8sAttributeNameLiveNessProbe) + if probeAttribute.AttributeValue != "" { + err = yaml.Unmarshal([]byte(probeAttribute.AttributeValue), probe) + if err != nil { + logrus.Errorf("create vm probe failure: %v", err) + return nil + } + return probe + } + } else { + var probe *corev1.Probe + probeAttribute, err := dbmanager.ComponentK8sAttributeDao().GetByComponentIDAndName(as.ServiceID, model.K8sAttributeNameReadinessProbe) + if probeAttribute.AttributeValue != "" { + err = yaml.Unmarshal([]byte(probeAttribute.AttributeValue), probe) + if err != nil { + logrus.Errorf("create vm probe failure: %v", err) + return nil + } + return probe + } + } probe, err := dbmanager.ServiceProbeDao().GetServiceUsedProbe(as.ServiceID, mode) if err == nil && probe != nil { if mode == "liveness" { @@ -935,6 +958,30 @@ func createProbe(as *v1.AppService, dbmanager db.Manager, mode string) *corev1.P } func createVMProbe(as *v1.AppService, dbmanager db.Manager, mode string) *kubevirtv1.Probe { + if mode == "liveness" { + var probe *kubevirtv1.Probe + probeAttribute, err := dbmanager.ComponentK8sAttributeDao().GetByComponentIDAndName(as.ServiceID, model.K8sAttributeNameLiveNessProbe) + if probeAttribute.AttributeValue != "" { + err = yaml.Unmarshal([]byte(probeAttribute.AttributeValue), probe) + if err != nil { + logrus.Errorf("create vm probe failure: %v", err) + return nil + } + return probe + } + } else { + var probe *kubevirtv1.Probe + probeAttribute, err := dbmanager.ComponentK8sAttributeDao().GetByComponentIDAndName(as.ServiceID, model.K8sAttributeNameReadinessProbe) + if probeAttribute.AttributeValue != "" { + err = yaml.Unmarshal([]byte(probeAttribute.AttributeValue), probe) + if err != nil { + logrus.Errorf("create vm probe failure: %v", err) + return nil + } + return probe + } + } + probe, err := dbmanager.ServiceProbeDao().GetServiceUsedProbe(as.ServiceID, mode) if err == nil && probe != nil { if mode == "liveness" {