Documentation ¶
Overview ¶
Package orchestrator note NOTE that this code is copied from: https://github.com/github/orchestrator/blob/master/go/inst/instance.go We need just the types that's why is copied instead of imported.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsNotFound ¶ added in v0.2.5
IsNotFound checks if the given error is orchestrator error and it's cluster not found.
Types ¶
type BinlogCoordinates ¶
type BinlogCoordinates struct { LogFile string LogPos int64 Type BinlogType }
BinlogCoordinates described binary log coordinates in the form of log file & log position.
type BinlogType ¶
type BinlogType int
BinlogType can be BinaryLog or RelayLog
const ( // BinaryLog represents mysql binary logs BinaryLog BinlogType = iota // RelayLog represents mysql relay logs RelayLog )
type CandidatePromotionRule ¶
type CandidatePromotionRule string
CandidatePromotionRule describe the promotion preference/rule for an instance. It maps to promotion_rule column in candidate_database_instance
const ( MustPromoteRule CandidatePromotionRule = "must" PreferPromoteRule CandidatePromotionRule = "prefer" NeutralPromoteRule CandidatePromotionRule = "neutral" PreferNotPromoteRule CandidatePromotionRule = "prefer_not" MustNotPromoteRule CandidatePromotionRule = "must_not" )
nolint: golint
type Error ¶ added in v0.2.5
Error contains orchestrator error details
func NewErrorMsg ¶ added in v0.2.5
NewErrorMsg returns an orchestrator error with extra msg
type Instance ¶
type Instance struct { Key InstanceKey InstanceAlias string Uptime uint ServerID uint ServerUUID string Version string VersionComment string FlavorName string ReadOnly bool Binlog_format string BinlogRowImage string LogBinEnabled bool LogSlaveUpdatesEnabled bool SelfBinlogCoordinates BinlogCoordinates MasterKey InstanceKey IsDetachedMaster bool Slave_SQL_Running bool Slave_IO_Running bool HasReplicationFilters bool GTIDMode string SupportsOracleGTID bool UsingOracleGTID bool UsingMariaDBGTID bool UsingPseudoGTID bool ReadBinlogCoordinates BinlogCoordinates ExecBinlogCoordinates BinlogCoordinates IsDetached bool RelaylogCoordinates BinlogCoordinates LastSQLError string LastIOError string SecondsBehindMaster sql.NullInt64 SQLDelay uint ExecutedGtidSet string GtidPurged string SlaveLagSeconds sql.NullInt64 //SlaveHosts InstanceKeyMap ClusterName string SuggestedClusterAlias string DataCenter string PhysicalEnvironment string ReplicationDepth uint IsCoMaster bool HasReplicationCredentials bool ReplicationCredentialsAvailable bool SemiSyncEnforced bool SemiSyncMasterEnabled bool SemiSyncReplicaEnabled bool LastSeenTimestamp string IsLastCheckValid bool IsUpToDate bool IsRecentlyChecked bool SecondsSinceLastSeen sql.NullInt64 CountMySQLSnapshots int // Careful. IsCandidate and PromotionRule are used together // and probably need to be merged. IsCandidate's value may // be picked up from daabase_candidate_instance's value when // reading an instance from the db. IsCandidate bool PromotionRule CandidatePromotionRule IsDowntimed bool DowntimeReason string DowntimeOwner string DowntimeEndTimestamp string ElapsedDowntime time.Duration UnresolvedHostname string AllowTLS bool LastDiscoveryLatency time.Duration }
Instance represents the main structure that an node is represented in orchestrator nolint: golint,maligned
type InstanceKeyMap ¶
type InstanceKeyMap map[InstanceKey]bool
InstanceKeyMap is a convenience struct for listing InstanceKey-s
type Interface ¶
type Interface interface { Discover(host string, port int) error Forget(host string, port int) error Master(clusterHint string) (*Instance, error) Cluster(cluster string) ([]Instance, error) AuditRecovery(cluster string) ([]TopologyRecovery, error) AckRecovery(id int64, commnet string) error SetHostWritable(key InstanceKey) error SetHostReadOnly(key InstanceKey) error BeginMaintenance(key InstanceKey, owner, reason string) error EndMaintenance(key InstanceKey) error Maintenance() ([]Maintenance, error) }
Interface is the orchestrator client interface
func NewFromURI ¶
NewFromURI returns the orchestrator client configured to specified uri api endpoint
type Maintenance ¶
type Maintenance struct { MaintenanceId uint Key InstanceKey BeginTimestamp string SecondsElapsed uint IsActive bool Owner string Reason string }
Maintenance indicates a maintenance entry (also in the database) nolint: golint
type TopologyRecovery ¶
type TopologyRecovery struct { Id int64 UID string SuccessorKey *InstanceKey SuccessorAlias string IsActive bool IsSuccessful bool AllErrors []string RecoveryStartTimestamp string RecoveryEndTimestamp string ProcessingNodeHostname string ProcessingNodeToken string Acknowledged bool AcknowledgedAt string AcknowledgedBy string AcknowledgedComment string LastDetectionId int64 RelatedRecoveryId int64 }
TopologyRecovery is the structure from orchestrator that represents a recovery nolint: golint,maligned