Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 1 addition & 15 deletions api/v1/runtimecomponent_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -765,20 +765,6 @@ func (cr *RuntimeComponent) GetManageTLS() *bool {
return cr.Spec.ManageTLS
}

func (cr *RuntimeComponent) GetManagedPort() int {
if cr.GetService() != nil && cr.GetService().GetPort() != 0 {
return int(cr.GetService().GetPort())
}
return 8080
}

func (cr *RuntimeComponent) GetManagedScheme() corev1.URIScheme {
if cr.GetManageTLS() == nil || *cr.GetManageTLS() {
return corev1.URISchemeHTTPS
}
return corev1.URISchemeHTTP
}

// GetDeployment returns deployment settings
func (cr *RuntimeComponent) GetDeployment() common.BaseComponentDeployment {
if cr.Spec.Deployment == nil {
Expand Down Expand Up @@ -1121,7 +1107,7 @@ func (cr *RuntimeComponent) Initialize() {
}

if cr.Spec.Service.Port == 0 {
cr.Spec.Service.Port = int32(cr.GetManagedPort())
cr.Spec.Service.Port = 8080
}

// If TargetPorts on Serviceports are not set, default them to the Port value in the CR
Expand Down
62 changes: 6 additions & 56 deletions common/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ func GetDefaultMicroProfileStartupProbe(ba BaseComponent) *corev1.Probe {
ProbeHandler: corev1.ProbeHandler{
HTTPGet: &corev1.HTTPGetAction{
Path: "/health/started",
Port: intstr.FromInt(ba.GetManagedPort()),
Scheme: ba.GetManagedScheme(),
Port: intstr.FromInt(int(ba.GetService().GetPort())),
Scheme: "HTTPS",
},
},
PeriodSeconds: 10,
Expand All @@ -27,8 +27,8 @@ func GetDefaultMicroProfileReadinessProbe(ba BaseComponent) *corev1.Probe {
ProbeHandler: corev1.ProbeHandler{
HTTPGet: &corev1.HTTPGetAction{
Path: "/health/ready",
Port: intstr.FromInt(ba.GetManagedPort()),
Scheme: ba.GetManagedScheme(),
Port: intstr.FromInt(int(ba.GetService().GetPort())),
Scheme: "HTTPS",
},
},
InitialDelaySeconds: 10,
Expand All @@ -44,8 +44,8 @@ func GetDefaultMicroProfileLivenessProbe(ba BaseComponent) *corev1.Probe {
ProbeHandler: corev1.ProbeHandler{
HTTPGet: &corev1.HTTPGetAction{
Path: "/health/live",
Port: intstr.FromInt(ba.GetManagedPort()),
Scheme: ba.GetManagedScheme(),
Port: intstr.FromInt(int(ba.GetService().GetPort())),
Scheme: "HTTPS",
},
},
InitialDelaySeconds: 60,
Expand All @@ -59,53 +59,3 @@ func GetDefaultMicroProfileLivenessProbe(ba BaseComponent) *corev1.Probe {
func GetComponentNameLabel(ba BaseComponent) string {
return ba.GetGroupName() + "/name"
}

func CustomizeProbeDefaults(config *corev1.Probe, defaultProbe *corev1.Probe) *corev1.Probe {
probe := defaultProbe
if config.ProbeHandler.Exec != nil {
probe.ProbeHandler.Exec = config.ProbeHandler.Exec
}
if config.ProbeHandler.GRPC != nil {
probe.ProbeHandler.GRPC = config.ProbeHandler.GRPC
}
if config.ProbeHandler.HTTPGet != nil {
if probe.ProbeHandler.HTTPGet == nil {
probe.ProbeHandler.HTTPGet = &corev1.HTTPGetAction{}
}
probe.ProbeHandler.HTTPGet.Port = config.ProbeHandler.HTTPGet.Port
if config.ProbeHandler.HTTPGet.Host != "" {
probe.ProbeHandler.HTTPGet.Host = config.ProbeHandler.HTTPGet.Host
}
if config.ProbeHandler.HTTPGet.Path != "" {
probe.ProbeHandler.HTTPGet.Path = config.ProbeHandler.HTTPGet.Path
}
if config.ProbeHandler.HTTPGet.Scheme != "" {
probe.ProbeHandler.HTTPGet.Scheme = config.ProbeHandler.HTTPGet.Scheme
}
if len(config.ProbeHandler.HTTPGet.HTTPHeaders) > 0 {
probe.ProbeHandler.HTTPGet.HTTPHeaders = config.ProbeHandler.HTTPGet.HTTPHeaders
}
}
if config.ProbeHandler.TCPSocket != nil {
probe.ProbeHandler.TCPSocket = config.ProbeHandler.TCPSocket
}
if config.InitialDelaySeconds != 0 {
probe.InitialDelaySeconds = config.InitialDelaySeconds
}
if config.TimeoutSeconds != 0 {
probe.TimeoutSeconds = config.TimeoutSeconds
}
if config.PeriodSeconds != 0 {
probe.PeriodSeconds = config.PeriodSeconds
}
if config.SuccessThreshold != 0 {
probe.SuccessThreshold = config.SuccessThreshold
}
if config.FailureThreshold != 0 {
probe.FailureThreshold = config.FailureThreshold
}
if config.TerminationGracePeriodSeconds != nil {
probe.TerminationGracePeriodSeconds = config.TerminationGracePeriodSeconds
}
return probe
}
2 changes: 0 additions & 2 deletions common/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -257,8 +257,6 @@ type BaseComponent interface {
GetTopologySpreadConstraints() BaseComponentTopologySpreadConstraints
GetSecurityContext() *corev1.SecurityContext
GetManageTLS() *bool
GetManagedPort() int
GetManagedScheme() corev1.URIScheme
GetDisableServiceLinks() *bool
GetTolerations() []corev1.Toleration
GetDNS() BaseComponentDNS
Expand Down
28 changes: 27 additions & 1 deletion utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -310,8 +310,34 @@ func customizeProbe(config *corev1.Probe, defaultProbeCallback func(ba common.Ba
return nil
}

// Probe handler is defined in config so use probe as is
if config.ProbeHandler != (corev1.ProbeHandler{}) {
return config
}

// Probe handler is not defined so use default values for the probe if values not set in probe config
return common.CustomizeProbeDefaults(config, defaultProbeCallback(ba))
return CustomizeProbeDefaults(config, defaultProbeCallback(ba))
}

func CustomizeProbeDefaults(config *corev1.Probe, defaultProbe *corev1.Probe) *corev1.Probe {
probe := defaultProbe
if config.InitialDelaySeconds != 0 {
probe.InitialDelaySeconds = config.InitialDelaySeconds
}
if config.TimeoutSeconds != 0 {
probe.TimeoutSeconds = config.TimeoutSeconds
}
if config.PeriodSeconds != 0 {
probe.PeriodSeconds = config.PeriodSeconds
}
if config.SuccessThreshold != 0 {
probe.SuccessThreshold = config.SuccessThreshold
}
if config.FailureThreshold != 0 {
probe.FailureThreshold = config.FailureThreshold
}

return probe
}

// CustomizeNetworkPolicy configures the network policy.
Expand Down
4 changes: 2 additions & 2 deletions utils/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ func TestCustomizeService(t *testing.T) {
CustomizeService(svc, runtime)
testCS := []Test{
{"Service number of exposed ports", 1, len(svc.Spec.Ports)},
{"Service first exposed port", runtime.Spec.Service.Port, svc.Spec.Ports[0].Port},
{"Sercice first exposed port", runtime.Spec.Service.Port, svc.Spec.Ports[0].Port},
{"Service first exposed target port", intstr.FromInt(int(runtime.Spec.Service.Port)), svc.Spec.Ports[0].TargetPort},
{"Service type", *runtime.Spec.Service.Type, svc.Spec.Type},
{"Service selector", name, svc.Spec.Selector["app.kubernetes.io/instance"]},
Expand Down Expand Up @@ -195,7 +195,7 @@ func optionalNodePortFunctionalityTests() []Test {
CustomizeService(svc, runtime)
testCS := []Test{
{"Service number of exposed ports", 1, len(svc.Spec.Ports)},
{"Service first exposed port", runtime.Spec.Service.Port, svc.Spec.Ports[0].Port},
{"Sercice first exposed port", runtime.Spec.Service.Port, svc.Spec.Ports[0].Port},
{"Service first exposed target port", intstr.FromInt(int(runtime.Spec.Service.Port)), svc.Spec.Ports[0].TargetPort},
{"Service type", *runtime.Spec.Service.Type, svc.Spec.Type},
{"Service selector", name, svc.Spec.Selector["app.kubernetes.io/instance"]},
Expand Down