Skip to main content

GCP SQL Instance Status Check

Validates if a GCP Cloud SQL instance is in Running state.

Infrastructure type

  • Kubernetes

Use cases

GCP SQL Instance Status Check probe helps you:

  • Verify Cloud SQL instances remain available during chaos experiments
  • Validate database failover behavior and recovery
  • Monitor database health during network disruptions
  • Ensure database availability during infrastructure changes

Overview

This probe uses the GCP CLI to query Cloud SQL instance status and validates that the instance is in the 'RUNNABLE' state. It's essential for ensuring database availability during chaos experiments targeting GCP infrastructure.

Probe type

Command Probe

Prerequisites

  • Kubernetes cluster with chaos infrastructure installed
  • GCP credentials configured with appropriate IAM permissions:
    • cloudsql.instances.get
    • cloudsql.instances.list
  • Network connectivity to GCP API endpoints
  • Target Cloud SQL instance should exist in the specified project

Probe properties

Command

healthchecks -name gcp-sql-instance

Comparator

TypeCriteriaValue
stringcontains[Pass]

The probe passes when the command output contains [Pass], indicating the Cloud SQL instance is in the 'RUNNABLE' state.

Environment variables

VariableDescriptionRequiredDefault
SQL_INSTANCE_NAMEName of the Cloud SQL instance to check (e.g., my-sql-instance).Yes-
GCP_PROJECT_IDGCP Project ID where the instance is located (e.g., my-project-123456).Yes-

Run properties

PropertyDescriptionTypeDefault
timeoutMaximum time to wait for the probe to complete (e.g., 30s, 1m, 5m)String300s
intervalTime between probe executions (e.g., 5s, 30s, 1m)String10s
attemptNumber of retry attempts before marking the probe as failedInteger1
pollingIntervalTime between retry attempts (e.g., 1s, 5s, 10s)String-
initialDelayInitial delay before starting the probe (e.g., 0s, 10s, 30s)String-
stopOnFailureStop the experiment if the probe failsBooleanfalse
verbosityLog verbosity level (info, debug, trace)String-
retryNumber of times to retry the probe on failureInteger-

Probe definition

You can define this probe in your chaos experiment as follows:

probe:
- name: "gcp-sql-instance-health-check"
type: "cmdProbe"
mode: "Continuous"
cmdProbe/inputs:
command: "healthchecks -name gcp-sql-instance"
comparator:
type: "string"
criteria: "contains"
value: "[Pass]"
env:
- name: SQL_INSTANCE_NAME
value: "my-sql-instance"
- name: GCP_PROJECT_ID
value: "my-project-123456"
runProperties:
timeout: 300s
interval: 10s
attempt: 1
stopOnFailure: false