Add ServingState to tablets, add helper function

Signed-off-by: Andrew Mason <amason@slack-corp.com>
This commit is contained in:
Andrew Mason 2020-12-12 14:05:59 -05:00
Родитель a5c00df26c
Коммит 1d6b5a527d
4 изменённых файлов: 97 добавлений и 32 удалений

Просмотреть файл

@ -26,6 +26,34 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type Tablet_ServingState int32
const (
Tablet_UNKNOWN Tablet_ServingState = 0
Tablet_SERVING Tablet_ServingState = 1
Tablet_NOT_SERVING Tablet_ServingState = 2
)
var Tablet_ServingState_name = map[int32]string{
0: "UNKNOWN",
1: "SERVING",
2: "NOT_SERVING",
}
var Tablet_ServingState_value = map[string]int32{
"UNKNOWN": 0,
"SERVING": 1,
"NOT_SERVING": 2,
}
func (x Tablet_ServingState) String() string {
return proto.EnumName(Tablet_ServingState_name, int32(x))
}
func (Tablet_ServingState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_609739e22a0a50b3, []int{1, 0}
}
// Cluster represents information about a Vitess cluster.
type Cluster struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
@ -77,11 +105,12 @@ func (m *Cluster) GetName() string {
// Tablet groups the topo information of a tablet together with the Vitess
// cluster it belongs to.
type Tablet struct {
Cluster *Cluster `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
Tablet *topodata.Tablet `protobuf:"bytes,2,opt,name=tablet,proto3" json:"tablet,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Cluster *Cluster `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
Tablet *topodata.Tablet `protobuf:"bytes,2,opt,name=tablet,proto3" json:"tablet,omitempty"`
State Tablet_ServingState `protobuf:"varint,3,opt,name=state,proto3,enum=vtadmin.Tablet_ServingState" json:"state,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Tablet) Reset() { *m = Tablet{} }
@ -123,6 +152,13 @@ func (m *Tablet) GetTablet() *topodata.Tablet {
return nil
}
func (m *Tablet) GetState() Tablet_ServingState {
if m != nil {
return m.State
}
return Tablet_UNKNOWN
}
// VTGate represents information about a single VTGate host.
type VTGate struct {
// Hostname is the shortname of the VTGate.
@ -409,6 +445,7 @@ func (m *GetTabletsResponse) GetTablets() []*Tablet {
}
func init() {
proto.RegisterEnum("vtadmin.Tablet_ServingState", Tablet_ServingState_name, Tablet_ServingState_value)
proto.RegisterType((*Cluster)(nil), "vtadmin.Cluster")
proto.RegisterType((*Tablet)(nil), "vtadmin.Tablet")
proto.RegisterType((*VTGate)(nil), "vtadmin.VTGate")
@ -422,33 +459,37 @@ func init() {
func init() { proto.RegisterFile("vtadmin.proto", fileDescriptor_609739e22a0a50b3) }
var fileDescriptor_609739e22a0a50b3 = []byte{
// 407 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x4f, 0xaf, 0xd2, 0x40,
0x14, 0xc5, 0x69, 0x81, 0x96, 0x5e, 0x22, 0xe0, 0x5d, 0xd5, 0x6a, 0x22, 0x99, 0xa8, 0x41, 0x13,
0x69, 0x52, 0xdd, 0xb0, 0x32, 0xe8, 0x82, 0xb8, 0x32, 0x69, 0x08, 0x0b, 0x17, 0x9a, 0x42, 0x27,
0xd8, 0x58, 0x98, 0xca, 0x0c, 0x24, 0xee, 0xfd, 0x80, 0x7e, 0xa4, 0x97, 0xf9, 0xd3, 0xe9, 0xe3,
0x4f, 0x5e, 0xde, 0x6e, 0xe6, 0x9c, 0x7b, 0xee, 0xfc, 0xee, 0x6d, 0x0a, 0x4f, 0x4e, 0x22, 0xcb,
0x77, 0xc5, 0x7e, 0x5a, 0x1d, 0x98, 0x60, 0xe8, 0x9b, 0x6b, 0x34, 0x10, 0xac, 0x62, 0x79, 0x26,
0x32, 0x6d, 0x90, 0xf7, 0xe0, 0x7f, 0x29, 0x8f, 0x5c, 0xd0, 0x03, 0x0e, 0xc0, 0x2d, 0xf2, 0xd0,
0x19, 0x3b, 0x93, 0x20, 0x75, 0x8b, 0x1c, 0x11, 0x3a, 0xfb, 0x6c, 0x47, 0x43, 0x57, 0x29, 0xea,
0x4c, 0x7e, 0x80, 0xb7, 0xcc, 0xd6, 0x25, 0x15, 0xf8, 0x0e, 0xfc, 0x8d, 0x0e, 0xaa, 0x48, 0x3f,
0x19, 0x4d, 0xeb, 0x27, 0x4d, 0xc3, 0xb4, 0x2e, 0xc0, 0x09, 0x78, 0x42, 0xa5, 0x54, 0x2f, 0x59,
0x6a, 0x29, 0x74, 0xb7, 0xd4, 0xf8, 0xe4, 0x9f, 0x03, 0xde, 0x6a, 0xb9, 0xc8, 0x04, 0xc5, 0x08,
0x7a, 0xbf, 0x18, 0x17, 0x0a, 0x41, 0x43, 0xd9, 0xbb, 0x44, 0xab, 0x18, 0x2b, 0x6b, 0x34, 0x79,
0x96, 0xda, 0x86, 0x96, 0x65, 0xd8, 0xd6, 0x9a, 0x3c, 0x63, 0xd8, 0x40, 0x76, 0x94, 0x6c, 0x91,
0x5e, 0x40, 0xf0, 0x9b, 0xfe, 0xe5, 0x55, 0xb6, 0xa1, 0x3c, 0xec, 0x8e, 0xdb, 0x93, 0x20, 0x6d,
0x04, 0x92, 0xc0, 0x70, 0x41, 0x85, 0xc4, 0xe0, 0x29, 0xfd, 0x73, 0xa4, 0x5c, 0xe0, 0x4b, 0xe8,
0x9b, 0xec, 0xcf, 0x22, 0xe7, 0xa1, 0xa3, 0x22, 0x60, 0xa4, 0xaf, 0x39, 0x27, 0x33, 0x18, 0x35,
0x19, 0x5e, 0xb1, 0x3d, 0xa7, 0xf8, 0x1a, 0xba, 0x5b, 0x29, 0xa8, 0xf2, 0x7e, 0x32, 0xb4, 0x2b,
0xd2, 0x33, 0xa6, 0xda, 0x25, 0xdf, 0x54, 0xd4, 0xac, 0xc2, 0xbc, 0xf7, 0xd0, 0xf8, 0x17, 0x2c,
0xee, 0x15, 0xcb, 0x47, 0x78, 0x6a, 0x1b, 0x3e, 0x7e, 0x82, 0x4f, 0x80, 0xf7, 0x53, 0x66, 0x86,
0xb7, 0xe0, 0xeb, 0x8f, 0x73, 0x3d, 0x85, 0x21, 0xae, 0xfd, 0xe4, 0xbf, 0x03, 0xfe, 0x6a, 0x39,
0x97, 0x1e, 0xce, 0xa1, 0x57, 0xaf, 0x03, 0x43, 0x9b, 0xb8, 0xd8, 0x6a, 0xf4, 0xec, 0x86, 0xa3,
0xdf, 0x25, 0x2d, 0x9c, 0x41, 0x60, 0x79, 0xf0, 0xac, 0xf2, 0x6c, 0x55, 0xd1, 0x25, 0x10, 0x69,
0xe1, 0x02, 0xa0, 0x19, 0x05, 0xa3, 0xeb, 0xac, 0x25, 0x78, 0x7e, 0xd3, 0xab, 0x19, 0x3e, 0xbf,
0xf9, 0xfe, 0xea, 0x54, 0x08, 0xca, 0xf9, 0xb4, 0x60, 0xb1, 0x3e, 0xc5, 0x5b, 0x16, 0x9f, 0x44,
0xac, 0xfe, 0x9f, 0xd8, 0x84, 0xd7, 0x9e, 0xba, 0x7e, 0xb8, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xc2,
0xb1, 0xce, 0x36, 0x78, 0x03, 0x00, 0x00,
// 473 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x5d, 0x8b, 0xd3, 0x40,
0x14, 0x6d, 0xb2, 0xdb, 0x66, 0x73, 0xa3, 0x6d, 0xbd, 0x4f, 0x31, 0x2e, 0x58, 0x82, 0x4a, 0x15,
0x6c, 0x20, 0xfa, 0xd2, 0x27, 0x59, 0x45, 0xca, 0x22, 0xa4, 0x30, 0xad, 0x15, 0x7c, 0x59, 0xb2,
0xcd, 0x50, 0x83, 0xd9, 0x4e, 0xec, 0xcc, 0x16, 0x7c, 0xf7, 0xef, 0x09, 0xfe, 0x24, 0x99, 0x8f,
0x4c, 0x77, 0xdb, 0x22, 0xbe, 0xdd, 0x7b, 0xee, 0x3d, 0x77, 0xce, 0x39, 0x24, 0xf0, 0x70, 0x2b,
0xf2, 0xe2, 0xa6, 0x5c, 0x8f, 0xea, 0x0d, 0x13, 0x0c, 0x3d, 0xd3, 0x46, 0x5d, 0xc1, 0x6a, 0x56,
0xe4, 0x22, 0xd7, 0x83, 0xf8, 0x35, 0x78, 0x1f, 0xaa, 0x5b, 0x2e, 0xe8, 0x06, 0xbb, 0xe0, 0x96,
0x45, 0xe8, 0x0c, 0x9c, 0xa1, 0x4f, 0xdc, 0xb2, 0x40, 0x84, 0xd3, 0x75, 0x7e, 0x43, 0x43, 0x57,
0x21, 0xaa, 0x8e, 0x7f, 0x3b, 0xd0, 0x99, 0xe7, 0xd7, 0x15, 0x15, 0xf8, 0x0a, 0xbc, 0xa5, 0x66,
0x2a, 0x4e, 0x90, 0xf6, 0x47, 0xcd, 0x9b, 0xe6, 0x22, 0x69, 0x16, 0x70, 0x08, 0x1d, 0xa1, 0x58,
0xea, 0x98, 0x5c, 0xb5, 0x32, 0xf4, 0x35, 0x62, 0xe6, 0x98, 0x42, 0x9b, 0x8b, 0x5c, 0xd0, 0xf0,
0x64, 0xe0, 0x0c, 0xbb, 0xe9, 0xb9, 0xbd, 0xa9, 0xf7, 0x46, 0x33, 0xba, 0xd9, 0x96, 0xeb, 0xd5,
0x4c, 0xee, 0x10, 0xbd, 0x1a, 0x8f, 0xe1, 0xc1, 0x5d, 0x18, 0x03, 0xf0, 0x3e, 0x67, 0x9f, 0xb2,
0xe9, 0x97, 0xac, 0xdf, 0x92, 0xcd, 0xec, 0x23, 0x59, 0x5c, 0x66, 0x93, 0xbe, 0x83, 0x3d, 0x08,
0xb2, 0xe9, 0xfc, 0xaa, 0x01, 0xdc, 0xf8, 0x97, 0x03, 0x9d, 0xc5, 0x7c, 0x22, 0x59, 0x11, 0x9c,
0x7d, 0x63, 0x5c, 0x28, 0xcb, 0x3a, 0x04, 0xdb, 0xcb, 0x28, 0x6a, 0xc6, 0xaa, 0x26, 0x0a, 0x59,
0x4b, 0x6c, 0x49, 0xab, 0x4a, 0x09, 0xf5, 0x89, 0xaa, 0x31, 0xdc, 0x65, 0x72, 0xaa, 0x60, 0x9b,
0xc0, 0x39, 0xf8, 0xdf, 0xe9, 0x4f, 0x5e, 0xe7, 0x4b, 0xca, 0xc3, 0xf6, 0xe0, 0x64, 0xe8, 0x93,
0x1d, 0x10, 0xa7, 0xd0, 0x9b, 0x50, 0x21, 0x65, 0x70, 0x42, 0x7f, 0xdc, 0x52, 0x2e, 0xf0, 0x29,
0x04, 0x86, 0x7b, 0x55, 0x16, 0x3c, 0x74, 0x14, 0x05, 0x0c, 0x74, 0x59, 0xf0, 0x78, 0x0c, 0xfd,
0x1d, 0x87, 0xd7, 0x6c, 0xcd, 0x29, 0x3e, 0x87, 0xf6, 0x4a, 0x02, 0x6a, 0x3d, 0x48, 0x7b, 0x36,
0x3d, 0xed, 0x91, 0xe8, 0x69, 0x3c, 0x55, 0x54, 0x93, 0xbc, 0x79, 0xef, 0x5f, 0xf6, 0xf7, 0xb4,
0xb8, 0x07, 0x5a, 0xde, 0xc2, 0x23, 0x7b, 0xf0, 0xff, 0x1d, 0xbc, 0x03, 0xbc, 0xcb, 0x32, 0x1e,
0x5e, 0x82, 0xa7, 0xbf, 0x85, 0x43, 0x17, 0x46, 0x71, 0x33, 0x4f, 0xff, 0x38, 0xe0, 0x2d, 0xe6,
0x17, 0x72, 0x86, 0x17, 0x70, 0xd6, 0xc4, 0x81, 0xa1, 0x65, 0xec, 0xa5, 0x1a, 0x3d, 0x3e, 0x32,
0xd1, 0xef, 0xc6, 0x2d, 0x1c, 0x83, 0x6f, 0xf5, 0xe0, 0xbd, 0xcd, 0x7b, 0x51, 0x45, 0xfb, 0x82,
0xe2, 0x16, 0x4e, 0x00, 0x76, 0x56, 0x30, 0x3a, 0xe4, 0x5a, 0x05, 0x4f, 0x8e, 0xce, 0x1a, 0x0d,
0xef, 0x5f, 0x7c, 0x7d, 0xb6, 0x2d, 0x05, 0xe5, 0x7c, 0x54, 0xb2, 0x44, 0x57, 0xc9, 0x8a, 0x25,
0x5b, 0x91, 0xa8, 0xff, 0x35, 0x31, 0xe4, 0xeb, 0x8e, 0x6a, 0xdf, 0xfc, 0x0d, 0x00, 0x00, 0xff,
0xff, 0x51, 0x4b, 0xaa, 0x23, 0xe8, 0x03, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

Просмотреть файл

@ -0,0 +1,3 @@
// Package vtadminproto provides helper functions for working with vtadminpb
// protobuf types.
package vtadminproto

Просмотреть файл

@ -0,0 +1,13 @@
package vtadminproto
import vtadminpb "vitess.io/vitess/go/vt/proto/vtadmin"
// ParseTabletServingState returns a ServingState value from the given string.
// If the string does not map to a valid value, this function returns UNKNOWN.
func ParseTabletServingState(state string) vtadminpb.Tablet_ServingState {
if s, ok := vtadminpb.Tablet_ServingState_value[state]; ok {
return vtadminpb.Tablet_ServingState(s)
}
return vtadminpb.Tablet_UNKNOWN
}

Просмотреть файл

@ -50,6 +50,14 @@ message Cluster {
message Tablet {
Cluster cluster = 1;
topodata.Tablet tablet = 2;
enum ServingState {
UNKNOWN = 0;
SERVING = 1;
NOT_SERVING = 2;
}
ServingState state = 3;
}
// VTGate represents information about a single VTGate host.