Skip to content

Commit

Permalink
Check microshift.service for all healthchecks
Browse files Browse the repository at this point in the history
  • Loading branch information
pmtk committed Feb 13, 2025
1 parent 0c47c56 commit 858a6bf
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
14 changes: 14 additions & 0 deletions pkg/healthcheck/healthcheck.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@ func MicroShiftHealthcheck(ctx context.Context, timeout time.Duration) error {
}

func CustomWorkloadHealthcheck(ctx context.Context, timeout time.Duration, definition string) error {
if enabled, err := microshiftServiceShouldBeOk(ctx, timeout); err != nil {
printPrerunLog()
return err
} else if !enabled {
return nil
}

workloads := map[string]NamespaceWorkloads{}

err := json.Unmarshal([]byte(definition), &workloads)
Expand All @@ -47,6 +54,13 @@ func CustomWorkloadHealthcheck(ctx context.Context, timeout time.Duration, defin
}

func EasyCustomWorkloadHealthcheck(ctx context.Context, timeout time.Duration, namespace string, deployments, daemonsets, statefulsets []string) error {
if enabled, err := microshiftServiceShouldBeOk(ctx, timeout); err != nil {
printPrerunLog()
return err
} else if !enabled {
return nil
}

workloads := map[string]NamespaceWorkloads{
namespace: {
Deployments: deployments,
Expand Down
31 changes: 31 additions & 0 deletions test/suites/optional/healthchecks-disabled-service.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
*** Settings ***
Documentation Test if healthcheck exits quickly when MicroShift service is disabled
Resource ../../resources/common.resource
Resource ../../resources/microshift-process.resource
Library DateTime

Suite Setup Setup Suite
Suite Teardown Teardown Suite


*** Test Cases ***
Healthchecks Should Exit Fast And Successful When MicroShift Is Disabled
[Documentation] When microshift.service is disabled, the healtchecks should
... exit quickly and without an error. They should not attempt to query API Server.
[Tags] ushift-5381
[Setup] Disable MicroShift
${before}= Get Current Date
${stdout} ${stderr} ${rc}= SSHLibrary.Execute Command
... /etc/greenboot/check/required.d/41_microshift_running_check_multus.sh
... sudo=True
... return_rc=True
... return_stderr=True
... return_stdout=True
Should Be Equal As Integers 0 ${rc}
${after}= Get Current Date
Should Contain ${stderr} microshift.service is not enabled
${diff}= Subtract Date From Date ${after} ${before}
# Verify that the command returned very quickly - it didn't waste time trying to access API Server.
Should Be True ${diff} < 5 Multus healthcheck script took too long to finish
[Teardown] Enable MicroShift

0 comments on commit 858a6bf

Please sign in to comment.