Failover Custom Resource Definition

Spec schema

FailoverSpec defines the selected state of Failover.

dbclusterRef: string
newPrimary: string

Field

Type
Required or optional

 

Description
dbclusterRef
string
Required
dbclusterRef is the DBCluster name to initiate a failover. Create the Failover object in the same namespace as its referenced DBCluster.
newPrimary
string
Optional
newPrimary is the standby instance to promote as the new primary. If you leave this field empty, the system automatically picks the best instance to failover to.

Status schema

FailoverStatus defines the observed state of Failover.

conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
createTime: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
endTime: string
observedGeneration: integer
reconciled: boolean
startTime: string
state: string

Field

Type
Required or optional

 

Description
conditions[]
object
Optional
Represents the latest available observations of the Failover's current state.
conditions[].lastTransitionTime
string
Required
Last time the condition transitioned from one status to another, which occurs when the underlying condition changed. If the system does not know when the underlying condition changed, use the time when the API field changed.
conditions[].message
string
Required
A human readable message indicating details about the transition. This can be an empty string.
conditions[].observedGeneration
integer
Optional
Represents the .metadata.generation that the condition reflects. For example, if .metadata.generation is 12, but the .status.conditions[x].observedGeneration is 9, the condition is outdated compared to the instance's current state.
conditions[].reason
string
Required
Contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types can define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value must be a CamelCase string. This field might not be empty.
conditions[].status
string
Required
Status of the condition. The valid values are True, False, and Unknown.
conditions[].type
string
Required
Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available. Because arbitrary conditions can be useful, for example .node.status.conditions, the ability to deconflict is important. The regular expression that it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt).
createTime
string
Optional
Time when the system creates the internal failover workflow mechanism.
criticalIncidents[]
object
Required
List of all active Critical Incidents.
criticalIncidents[].code
string
Required
Error code of this particular error. Error codes are DBSE+numeric strings, like DBSE1012.
criticalIncidents[].createTime
string
Required
Timestamp when the origin created this Incident.
criticalIncidents[].message
string
Optional
Describes the incident or error that occurred.
criticalIncidents[].messageTemplateParams
object
Optional
Contains key-value pairs necessary for generating a user-friendly data-driven version of Message in the user interface.
criticalIncidents[].resource
object
Required
Contains information about the Database Service component that reported the incident, as well as information about the resource.
criticalIncidents[].resource.component
string
Required
Internal identifier of the Database Service subsystem that reported the incident.
criticalIncidents[].resource.location
object
Optional
Location.
criticalIncidents[].resource.location.cluster
string
Optional
Name of the cluster of the affected Cluster Manager resource.
criticalIncidents[].resource.location.group
string
Optional
Group name of the Cluster Manager resource.
criticalIncidents[].resource.location.kind
string
Optional
Kind of the Cluster Manager resource.
criticalIncidents[].resource.location.name
string
Optional
Name of the affected Cluster Manager resource.
criticalIncidents[].resource.location.namespace
string
Optional
Namespace of the affected Cluster Manager resource.
criticalIncidents[].resource.location.version
string
Optional
Version of the Cluster Manager resource.
criticalIncidents[].stackTrace[]
object
Optional
An unstructured list of messages from the stack trace.
criticalIncidents[].stackTrace[].component
string
Optional
The name of a Database Service component that logged the message.
criticalIncidents[].stackTrace[].message
string
Optional
Logged message.
criticalIncidents[].transientUntil
string
Optional
If present, indicates that the system must consider the issue transient until the specified time.
endTime
string
Optional
Time when failover reached its final state.
observedGeneration
integer
Optional
The controller observes the generation.
reconciled
boolean
Optional
Whether the controller reconciled the resource.
startTime
string
Optional
The time when the failover operation started.
state
string
Optional
Describes the current state of the failover operation. Possible values are InProgress, Success, Failed_RollbackInProgress, Failed_RollbackSuccess, and Failed_RollbackFailed. InProgress means the failover is still in progress. Success means that the failover completes. It completes when the system successfully promotes the new primary instance. Failed_RollbackInProgress means that the operator was unable to promote the new primary instance, and that it's attempting to restart the old primary instance. Failed_RollbackSuccess means that the operator was unable to promote the new primary instance, and that it successfully restarted the old primary instance. Failed_RollbackFailed means that the operator was unable to promote the new primary instance, and that the operator wasn't able to restart the old primary instance. You might need to manually repair the DBCluster.