Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
| ... | ... |
@@ -139,7 +139,7 @@ clone git github.com/docker/docker-credential-helpers v0.3.0 |
| 139 | 139 |
clone git github.com/docker/containerd 860f3a94940894ac0a106eff4bd1616a67407ee2 |
| 140 | 140 |
|
| 141 | 141 |
# cluster |
| 142 |
-clone git github.com/docker/swarmkit 45094b473cbdb2d45e4d8f703fb615989399ae29 |
|
| 142 |
+clone git github.com/docker/swarmkit 25572005febb76c2cc5f7e37d878615e6fe330f9 |
|
| 143 | 143 |
clone git github.com/golang/mock bd3c8e81be01eef76d4b503f5e687d2d1354d2d9 |
| 144 | 144 |
clone git github.com/gogo/protobuf 43a2e0b1c32252bfbbdf81f7faa7a88fb3fa4028 |
| 145 | 145 |
clone git github.com/cloudflare/cfssl 92f037e39eb103fb30f9151be40d9ed267fc4ae2 |
| ... | ... |
@@ -622,15 +622,18 @@ func (n *Node) runManager(ctx context.Context, securityConfig *ca.SecurityConfig |
| 622 | 622 |
|
| 623 | 623 |
select {
|
| 624 | 624 |
case <-ctx.Done(): |
| 625 |
+ m.Stop(context.Background()) // todo: this should be sync like other components |
|
| 625 | 626 |
case <-n.waitRole(ctx, ca.AgentRole): |
| 626 | 627 |
} |
| 627 | 628 |
|
| 628 |
- m.Stop(context.Background()) // todo: this should be sync like other components |
|
| 629 | 629 |
<-done |
| 630 | 630 |
|
| 631 | 631 |
ready = nil // ready event happens once, even on multiple starts |
| 632 | 632 |
n.Lock() |
| 633 | 633 |
n.manager = nil |
| 634 |
+ if n.conn != nil {
|
|
| 635 |
+ n.conn.Close() |
|
| 636 |
+ } |
|
| 634 | 637 |
n.Unlock() |
| 635 | 638 |
|
| 636 | 639 |
if ctx.Err() != nil {
|
| ... | ... |
@@ -349,20 +349,13 @@ func (m *ListNetworksResponse) Reset() { *m = ListNetworksRes
|
| 349 | 349 |
func (*ListNetworksResponse) ProtoMessage() {}
|
| 350 | 350 |
func (*ListNetworksResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{31} }
|
| 351 | 351 |
|
| 352 |
-type RemoveManagerResponse struct {
|
|
| 353 |
-} |
|
| 354 |
- |
|
| 355 |
-func (m *RemoveManagerResponse) Reset() { *m = RemoveManagerResponse{} }
|
|
| 356 |
-func (*RemoveManagerResponse) ProtoMessage() {}
|
|
| 357 |
-func (*RemoveManagerResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{32} }
|
|
| 358 |
- |
|
| 359 | 352 |
type GetClusterRequest struct {
|
| 360 | 353 |
ClusterID string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` |
| 361 | 354 |
} |
| 362 | 355 |
|
| 363 | 356 |
func (m *GetClusterRequest) Reset() { *m = GetClusterRequest{} }
|
| 364 | 357 |
func (*GetClusterRequest) ProtoMessage() {}
|
| 365 |
-func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{33} }
|
|
| 358 |
+func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{32} }
|
|
| 366 | 359 |
|
| 367 | 360 |
type GetClusterResponse struct {
|
| 368 | 361 |
Cluster *Cluster `protobuf:"bytes,1,opt,name=cluster" json:"cluster,omitempty"` |
| ... | ... |
@@ -370,7 +363,7 @@ type GetClusterResponse struct {
|
| 370 | 370 |
|
| 371 | 371 |
func (m *GetClusterResponse) Reset() { *m = GetClusterResponse{} }
|
| 372 | 372 |
func (*GetClusterResponse) ProtoMessage() {}
|
| 373 |
-func (*GetClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{34} }
|
|
| 373 |
+func (*GetClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{33} }
|
|
| 374 | 374 |
|
| 375 | 375 |
type ListClustersRequest struct {
|
| 376 | 376 |
Filters *ListClustersRequest_Filters `protobuf:"bytes,1,opt,name=filters" json:"filters,omitempty"` |
| ... | ... |
@@ -378,7 +371,7 @@ type ListClustersRequest struct {
|
| 378 | 378 |
|
| 379 | 379 |
func (m *ListClustersRequest) Reset() { *m = ListClustersRequest{} }
|
| 380 | 380 |
func (*ListClustersRequest) ProtoMessage() {}
|
| 381 |
-func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{35} }
|
|
| 381 |
+func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{34} }
|
|
| 382 | 382 |
|
| 383 | 383 |
type ListClustersRequest_Filters struct {
|
| 384 | 384 |
Names []string `protobuf:"bytes,1,rep,name=names" json:"names,omitempty"` |
| ... | ... |
@@ -389,7 +382,7 @@ type ListClustersRequest_Filters struct {
|
| 389 | 389 |
func (m *ListClustersRequest_Filters) Reset() { *m = ListClustersRequest_Filters{} }
|
| 390 | 390 |
func (*ListClustersRequest_Filters) ProtoMessage() {}
|
| 391 | 391 |
func (*ListClustersRequest_Filters) Descriptor() ([]byte, []int) {
|
| 392 |
- return fileDescriptorControl, []int{35, 0}
|
|
| 392 |
+ return fileDescriptorControl, []int{34, 0}
|
|
| 393 | 393 |
} |
| 394 | 394 |
|
| 395 | 395 |
type ListClustersResponse struct {
|
| ... | ... |
@@ -398,7 +391,7 @@ type ListClustersResponse struct {
|
| 398 | 398 |
|
| 399 | 399 |
func (m *ListClustersResponse) Reset() { *m = ListClustersResponse{} }
|
| 400 | 400 |
func (*ListClustersResponse) ProtoMessage() {}
|
| 401 |
-func (*ListClustersResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{36} }
|
|
| 401 |
+func (*ListClustersResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{35} }
|
|
| 402 | 402 |
|
| 403 | 403 |
type UpdateClusterRequest struct {
|
| 404 | 404 |
// ClusterID is the cluster ID to update. |
| ... | ... |
@@ -411,7 +404,7 @@ type UpdateClusterRequest struct {
|
| 411 | 411 |
|
| 412 | 412 |
func (m *UpdateClusterRequest) Reset() { *m = UpdateClusterRequest{} }
|
| 413 | 413 |
func (*UpdateClusterRequest) ProtoMessage() {}
|
| 414 |
-func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{37} }
|
|
| 414 |
+func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{36} }
|
|
| 415 | 415 |
|
| 416 | 416 |
type UpdateClusterResponse struct {
|
| 417 | 417 |
Cluster *Cluster `protobuf:"bytes,1,opt,name=cluster" json:"cluster,omitempty"` |
| ... | ... |
@@ -419,7 +412,7 @@ type UpdateClusterResponse struct {
|
| 419 | 419 |
|
| 420 | 420 |
func (m *UpdateClusterResponse) Reset() { *m = UpdateClusterResponse{} }
|
| 421 | 421 |
func (*UpdateClusterResponse) ProtoMessage() {}
|
| 422 |
-func (*UpdateClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{38} }
|
|
| 422 |
+func (*UpdateClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{37} }
|
|
| 423 | 423 |
|
| 424 | 424 |
func init() {
|
| 425 | 425 |
proto.RegisterType((*GetNodeRequest)(nil), "docker.swarmkit.v1.GetNodeRequest") |
| ... | ... |
@@ -458,7 +451,6 @@ func init() {
|
| 458 | 458 |
proto.RegisterType((*ListNetworksRequest)(nil), "docker.swarmkit.v1.ListNetworksRequest") |
| 459 | 459 |
proto.RegisterType((*ListNetworksRequest_Filters)(nil), "docker.swarmkit.v1.ListNetworksRequest.Filters") |
| 460 | 460 |
proto.RegisterType((*ListNetworksResponse)(nil), "docker.swarmkit.v1.ListNetworksResponse") |
| 461 |
- proto.RegisterType((*RemoveManagerResponse)(nil), "docker.swarmkit.v1.RemoveManagerResponse") |
|
| 462 | 461 |
proto.RegisterType((*GetClusterRequest)(nil), "docker.swarmkit.v1.GetClusterRequest") |
| 463 | 462 |
proto.RegisterType((*GetClusterResponse)(nil), "docker.swarmkit.v1.GetClusterResponse") |
| 464 | 463 |
proto.RegisterType((*ListClustersRequest)(nil), "docker.swarmkit.v1.ListClustersRequest") |
| ... | ... |
@@ -1193,16 +1185,6 @@ func (m *ListNetworksResponse) Copy() *ListNetworksResponse {
|
| 1193 | 1193 |
return o |
| 1194 | 1194 |
} |
| 1195 | 1195 |
|
| 1196 |
-func (m *RemoveManagerResponse) Copy() *RemoveManagerResponse {
|
|
| 1197 |
- if m == nil {
|
|
| 1198 |
- return nil |
|
| 1199 |
- } |
|
| 1200 |
- |
|
| 1201 |
- o := &RemoveManagerResponse{}
|
|
| 1202 |
- |
|
| 1203 |
- return o |
|
| 1204 |
-} |
|
| 1205 |
- |
|
| 1206 | 1196 |
func (m *GetClusterRequest) Copy() *GetClusterRequest {
|
| 1207 | 1197 |
if m == nil {
|
| 1208 | 1198 |
return nil |
| ... | ... |
@@ -1780,15 +1762,6 @@ func (this *ListNetworksResponse) GoString() string {
|
| 1780 | 1780 |
s = append(s, "}") |
| 1781 | 1781 |
return strings.Join(s, "") |
| 1782 | 1782 |
} |
| 1783 |
-func (this *RemoveManagerResponse) GoString() string {
|
|
| 1784 |
- if this == nil {
|
|
| 1785 |
- return "nil" |
|
| 1786 |
- } |
|
| 1787 |
- s := make([]string, 0, 4) |
|
| 1788 |
- s = append(s, "&api.RemoveManagerResponse{")
|
|
| 1789 |
- s = append(s, "}") |
|
| 1790 |
- return strings.Join(s, "") |
|
| 1791 |
-} |
|
| 1792 | 1783 |
func (this *GetClusterRequest) GoString() string {
|
| 1793 | 1784 |
if this == nil {
|
| 1794 | 1785 |
return "nil" |
| ... | ... |
@@ -3765,24 +3738,6 @@ func (m *ListNetworksResponse) MarshalTo(data []byte) (int, error) {
|
| 3765 | 3765 |
return i, nil |
| 3766 | 3766 |
} |
| 3767 | 3767 |
|
| 3768 |
-func (m *RemoveManagerResponse) Marshal() (data []byte, err error) {
|
|
| 3769 |
- size := m.Size() |
|
| 3770 |
- data = make([]byte, size) |
|
| 3771 |
- n, err := m.MarshalTo(data) |
|
| 3772 |
- if err != nil {
|
|
| 3773 |
- return nil, err |
|
| 3774 |
- } |
|
| 3775 |
- return data[:n], nil |
|
| 3776 |
-} |
|
| 3777 |
- |
|
| 3778 |
-func (m *RemoveManagerResponse) MarshalTo(data []byte) (int, error) {
|
|
| 3779 |
- var i int |
|
| 3780 |
- _ = i |
|
| 3781 |
- var l int |
|
| 3782 |
- _ = l |
|
| 3783 |
- return i, nil |
|
| 3784 |
-} |
|
| 3785 |
- |
|
| 3786 | 3768 |
func (m *GetClusterRequest) Marshal() (data []byte, err error) {
|
| 3787 | 3769 |
size := m.Size() |
| 3788 | 3770 |
data = make([]byte, size) |
| ... | ... |
@@ -4874,12 +4829,6 @@ func (m *ListNetworksResponse) Size() (n int) {
|
| 4874 | 4874 |
return n |
| 4875 | 4875 |
} |
| 4876 | 4876 |
|
| 4877 |
-func (m *RemoveManagerResponse) Size() (n int) {
|
|
| 4878 |
- var l int |
|
| 4879 |
- _ = l |
|
| 4880 |
- return n |
|
| 4881 |
-} |
|
| 4882 |
- |
|
| 4883 | 4877 |
func (m *GetClusterRequest) Size() (n int) {
|
| 4884 | 4878 |
var l int |
| 4885 | 4879 |
_ = l |
| ... | ... |
@@ -5404,15 +5353,6 @@ func (this *ListNetworksResponse) String() string {
|
| 5404 | 5404 |
}, "") |
| 5405 | 5405 |
return s |
| 5406 | 5406 |
} |
| 5407 |
-func (this *RemoveManagerResponse) String() string {
|
|
| 5408 |
- if this == nil {
|
|
| 5409 |
- return "nil" |
|
| 5410 |
- } |
|
| 5411 |
- s := strings.Join([]string{`&RemoveManagerResponse{`,
|
|
| 5412 |
- `}`, |
|
| 5413 |
- }, "") |
|
| 5414 |
- return s |
|
| 5415 |
-} |
|
| 5416 | 5407 |
func (this *GetClusterRequest) String() string {
|
| 5417 | 5408 |
if this == nil {
|
| 5418 | 5409 |
return "nil" |
| ... | ... |
@@ -9165,56 +9105,6 @@ func (m *ListNetworksResponse) Unmarshal(data []byte) error {
|
| 9165 | 9165 |
} |
| 9166 | 9166 |
return nil |
| 9167 | 9167 |
} |
| 9168 |
-func (m *RemoveManagerResponse) Unmarshal(data []byte) error {
|
|
| 9169 |
- l := len(data) |
|
| 9170 |
- iNdEx := 0 |
|
| 9171 |
- for iNdEx < l {
|
|
| 9172 |
- preIndex := iNdEx |
|
| 9173 |
- var wire uint64 |
|
| 9174 |
- for shift := uint(0); ; shift += 7 {
|
|
| 9175 |
- if shift >= 64 {
|
|
| 9176 |
- return ErrIntOverflowControl |
|
| 9177 |
- } |
|
| 9178 |
- if iNdEx >= l {
|
|
| 9179 |
- return io.ErrUnexpectedEOF |
|
| 9180 |
- } |
|
| 9181 |
- b := data[iNdEx] |
|
| 9182 |
- iNdEx++ |
|
| 9183 |
- wire |= (uint64(b) & 0x7F) << shift |
|
| 9184 |
- if b < 0x80 {
|
|
| 9185 |
- break |
|
| 9186 |
- } |
|
| 9187 |
- } |
|
| 9188 |
- fieldNum := int32(wire >> 3) |
|
| 9189 |
- wireType := int(wire & 0x7) |
|
| 9190 |
- if wireType == 4 {
|
|
| 9191 |
- return fmt.Errorf("proto: RemoveManagerResponse: wiretype end group for non-group")
|
|
| 9192 |
- } |
|
| 9193 |
- if fieldNum <= 0 {
|
|
| 9194 |
- return fmt.Errorf("proto: RemoveManagerResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
| 9195 |
- } |
|
| 9196 |
- switch fieldNum {
|
|
| 9197 |
- default: |
|
| 9198 |
- iNdEx = preIndex |
|
| 9199 |
- skippy, err := skipControl(data[iNdEx:]) |
|
| 9200 |
- if err != nil {
|
|
| 9201 |
- return err |
|
| 9202 |
- } |
|
| 9203 |
- if skippy < 0 {
|
|
| 9204 |
- return ErrInvalidLengthControl |
|
| 9205 |
- } |
|
| 9206 |
- if (iNdEx + skippy) > l {
|
|
| 9207 |
- return io.ErrUnexpectedEOF |
|
| 9208 |
- } |
|
| 9209 |
- iNdEx += skippy |
|
| 9210 |
- } |
|
| 9211 |
- } |
|
| 9212 |
- |
|
| 9213 |
- if iNdEx > l {
|
|
| 9214 |
- return io.ErrUnexpectedEOF |
|
| 9215 |
- } |
|
| 9216 |
- return nil |
|
| 9217 |
-} |
|
| 9218 | 9168 |
func (m *GetClusterRequest) Unmarshal(data []byte) error {
|
| 9219 | 9169 |
l := len(data) |
| 9220 | 9170 |
iNdEx := 0 |
| ... | ... |
@@ -10094,92 +9984,92 @@ var ( |
| 10094 | 10094 |
) |
| 10095 | 10095 |
|
| 10096 | 10096 |
var fileDescriptorControl = []byte{
|
| 10097 |
- // 1391 bytes of a gzipped FileDescriptorProto |
|
| 10098 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x6f, 0x1b, 0x45, |
|
| 10099 |
- 0x14, 0xc7, 0x4e, 0x1b, 0xd7, 0xcf, 0x75, 0xd2, 0x4c, 0x1d, 0x11, 0xb9, 0x21, 0x45, 0x5b, 0x48, |
|
| 10100 |
- 0x13, 0x29, 0x38, 0xe0, 0xa8, 0x22, 0x80, 0x04, 0x22, 0x09, 0x45, 0x16, 0x6d, 0xa8, 0x36, 0x14, |
|
| 10101 |
- 0x71, 0x8b, 0x1c, 0x7b, 0x1a, 0x96, 0xd8, 0x5e, 0xb3, 0xbb, 0x49, 0x1b, 0x71, 0xe1, 0x63, 0xf0, |
|
| 10102 |
- 0x19, 0x38, 0x70, 0xe7, 0xc4, 0x81, 0x4b, 0xc5, 0x89, 0x0b, 0x12, 0x48, 0x08, 0xb5, 0xfd, 0x00, |
|
| 10103 |
- 0x88, 0x0f, 0xc0, 0x81, 0x99, 0x9d, 0x37, 0xbb, 0xeb, 0xf1, 0xec, 0xac, 0x1d, 0xa7, 0xa2, 0x07, |
|
| 10104 |
- 0xab, 0xde, 0xd9, 0xdf, 0xfb, 0x37, 0xef, 0xf7, 0x5e, 0xde, 0x73, 0xa1, 0xdc, 0x72, 0x7b, 0x81, |
|
| 10105 |
- 0xe7, 0x76, 0x6a, 0x7d, 0xcf, 0x0d, 0x5c, 0x42, 0xda, 0x6e, 0xeb, 0x88, 0x7a, 0x35, 0xff, 0x61, |
|
| 10106 |
- 0xd3, 0xeb, 0x1e, 0x39, 0x41, 0xed, 0xe4, 0xad, 0x6a, 0xc9, 0xef, 0xd3, 0x96, 0x2f, 0x00, 0xd5, |
|
| 10107 |
- 0xb2, 0x7b, 0xf0, 0x15, 0x6d, 0x05, 0xf2, 0xb1, 0x14, 0x9c, 0xf6, 0xa9, 0x7c, 0xa8, 0x1c, 0xba, |
|
| 10108 |
- 0x87, 0x6e, 0xf8, 0x75, 0x9d, 0x7f, 0xc3, 0xd3, 0xab, 0xfd, 0xce, 0xf1, 0xa1, 0xd3, 0x5b, 0x17, |
|
| 10109 |
- 0xff, 0x88, 0x43, 0xeb, 0x16, 0xcc, 0x7c, 0x4c, 0x83, 0x5d, 0xb7, 0x4d, 0x6d, 0xfa, 0xf5, 0x31, |
|
| 10110 |
- 0xf5, 0x03, 0x72, 0x03, 0x0a, 0x3d, 0xf6, 0xb8, 0xef, 0xb4, 0x17, 0x72, 0xaf, 0xe6, 0x56, 0x8a, |
|
| 10111 |
- 0x5b, 0xf0, 0xec, 0xaf, 0xeb, 0xd3, 0x1c, 0xd1, 0xd8, 0xb1, 0xa7, 0xf9, 0xab, 0x46, 0xdb, 0xfa, |
|
| 10112 |
- 0x00, 0x66, 0x23, 0x31, 0xbf, 0xef, 0xf6, 0x7c, 0x4a, 0xd6, 0xe0, 0x02, 0x7f, 0x19, 0x0a, 0x95, |
|
| 10113 |
- 0xea, 0x0b, 0xb5, 0xe1, 0x00, 0x6a, 0x21, 0x3e, 0x44, 0x59, 0x3f, 0x4e, 0xc1, 0x95, 0x3b, 0x8e, |
|
| 10114 |
- 0x1f, 0xaa, 0xf0, 0xa5, 0xe9, 0xdb, 0x50, 0x78, 0xe0, 0x74, 0x02, 0xea, 0xf9, 0xa8, 0x65, 0x4d, |
|
| 10115 |
- 0xa7, 0x45, 0x15, 0xab, 0xdd, 0x16, 0x32, 0xb6, 0x14, 0xae, 0xfe, 0x99, 0x87, 0x02, 0x1e, 0x92, |
|
| 10116 |
- 0x0a, 0x5c, 0xec, 0x35, 0xbb, 0x94, 0x6b, 0x9c, 0x5a, 0x29, 0xda, 0xe2, 0x81, 0xac, 0x43, 0xc9, |
|
| 10117 |
- 0x69, 0xef, 0xf7, 0x3d, 0xfa, 0xc0, 0x79, 0xc4, 0xde, 0xe5, 0xf9, 0xbb, 0xad, 0x19, 0x16, 0x28, |
|
| 10118 |
- 0x34, 0x76, 0xee, 0xe1, 0xa9, 0x0d, 0x4e, 0x5b, 0x7e, 0x27, 0xf7, 0x60, 0xba, 0xd3, 0x3c, 0xa0, |
|
| 10119 |
- 0x1d, 0x7f, 0x61, 0x8a, 0x61, 0x4b, 0xf5, 0xcd, 0x71, 0x3c, 0xab, 0xdd, 0x09, 0x45, 0x3f, 0x62, |
|
| 10120 |
- 0x09, 0x3e, 0xb5, 0x51, 0x0f, 0x69, 0x40, 0xa9, 0x4b, 0xbb, 0x07, 0xec, 0xf5, 0x97, 0x4e, 0xdf, |
|
| 10121 |
- 0x5f, 0xb8, 0xc0, 0xd4, 0xce, 0xd4, 0x6f, 0xa6, 0x5d, 0xdb, 0x1e, 0x4b, 0x7d, 0xed, 0x6e, 0x84, |
|
| 10122 |
- 0xb7, 0x93, 0xb2, 0xa4, 0x0e, 0x17, 0x19, 0x73, 0x58, 0x1c, 0x17, 0x43, 0x25, 0x8b, 0xa9, 0x77, |
|
| 10123 |
- 0xcf, 0x40, 0xb6, 0x80, 0x56, 0xdf, 0x81, 0x52, 0xc2, 0x2b, 0x72, 0x05, 0xa6, 0x8e, 0xe8, 0xa9, |
|
| 10124 |
- 0xc8, 0xb8, 0xcd, 0xbf, 0xf2, 0x8b, 0x3b, 0x69, 0x76, 0x8e, 0x29, 0xbb, 0x1c, 0x7e, 0x26, 0x1e, |
|
| 10125 |
- 0xde, 0xcd, 0x6f, 0xe6, 0xac, 0x6d, 0x98, 0x4b, 0x44, 0x8a, 0xe9, 0xaf, 0xb1, 0x7b, 0xe6, 0x07, |
|
| 10126 |
- 0xe1, 0x3d, 0x9b, 0xf2, 0x2f, 0x60, 0xd6, 0xf7, 0x39, 0x98, 0xbb, 0xdf, 0x6f, 0x37, 0x03, 0x3a, |
|
| 10127 |
- 0x2e, 0xf9, 0xc8, 0xfb, 0x70, 0x39, 0x04, 0x9d, 0xb0, 0xf8, 0x1d, 0xb7, 0x17, 0x3a, 0x58, 0xaa, |
|
| 10128 |
- 0x5f, 0xd3, 0x59, 0xfc, 0x5c, 0x40, 0xec, 0x12, 0x17, 0xc0, 0x07, 0xf2, 0x26, 0x5c, 0xe0, 0x95, |
|
| 10129 |
- 0xc4, 0x32, 0xc9, 0xe5, 0x16, 0x4d, 0x57, 0x6e, 0x87, 0x48, 0x6b, 0x0b, 0x48, 0xd2, 0xd7, 0x33, |
|
| 10130 |
- 0x31, 0x7e, 0x13, 0xe6, 0x6c, 0xda, 0x75, 0x4f, 0xc6, 0x8e, 0xd7, 0xaa, 0x00, 0x49, 0x4a, 0x0a, |
|
| 10131 |
- 0xeb, 0x58, 0xb9, 0x9f, 0x35, 0xfd, 0xa3, 0x84, 0xb2, 0x80, 0x3d, 0x2a, 0xca, 0x38, 0x82, 0x2b, |
|
| 10132 |
- 0xe3, 0xaf, 0xa2, 0xca, 0x15, 0x62, 0x71, 0x1c, 0xfc, 0xa5, 0x29, 0x8e, 0x10, 0x1f, 0xa2, 0xe2, |
|
| 10133 |
- 0x38, 0xc6, 0x36, 0x1d, 0xc5, 0x91, 0xb4, 0x6e, 0xfd, 0x81, 0x9d, 0x80, 0x1f, 0x9e, 0xa1, 0x13, |
|
| 10134 |
- 0x24, 0xc5, 0x86, 0x3b, 0xc1, 0xbf, 0xff, 0x63, 0x27, 0xd0, 0x79, 0xa6, 0xed, 0x04, 0xcc, 0x05, |
|
| 10135 |
- 0x9f, 0x7a, 0x27, 0x4e, 0x8b, 0xf3, 0x40, 0x74, 0x02, 0x74, 0x61, 0x4f, 0x1c, 0x37, 0x76, 0x98, |
|
| 10136 |
- 0x0b, 0x08, 0x69, 0xb4, 0x7d, 0xb2, 0x0c, 0x97, 0x90, 0x35, 0xa2, 0xe4, 0x8b, 0x5b, 0x25, 0x86, |
|
| 10137 |
- 0x2e, 0x08, 0xda, 0xb0, 0xe8, 0x05, 0x6f, 0x7c, 0xb2, 0x03, 0x33, 0xac, 0xd4, 0x1c, 0x8f, 0xb6, |
|
| 10138 |
- 0xf7, 0xfd, 0x80, 0xb1, 0xd7, 0x5f, 0x98, 0x0e, 0x1b, 0xc4, 0x2b, 0x69, 0x29, 0xde, 0xe3, 0x28, |
|
| 10139 |
- 0xbb, 0x8c, 0x42, 0xe1, 0xd3, 0x79, 0x74, 0x0a, 0xbc, 0x89, 0xb8, 0x53, 0x70, 0x42, 0x18, 0x3b, |
|
| 10140 |
- 0x45, 0xc8, 0x10, 0x01, 0xb3, 0x3e, 0x81, 0xca, 0xb6, 0x47, 0x99, 0x2b, 0x78, 0x1b, 0x92, 0x23, |
|
| 10141 |
- 0x1b, 0x58, 0xc6, 0x82, 0x20, 0xd7, 0x75, 0x6a, 0x50, 0x22, 0x51, 0xc9, 0xbb, 0x30, 0xaf, 0x28, |
|
| 10142 |
- 0x43, 0xaf, 0x6e, 0x41, 0x01, 0x6f, 0x18, 0x15, 0x5e, 0x33, 0x28, 0xb4, 0x25, 0xd6, 0xfa, 0x10, |
|
| 10143 |
- 0xe6, 0x58, 0x39, 0x29, 0x9e, 0xad, 0x01, 0xc4, 0x09, 0xc5, 0x82, 0x28, 0xb3, 0x0c, 0x15, 0xa3, |
|
| 10144 |
- 0x7c, 0xda, 0xc5, 0x28, 0x9d, 0x2c, 0x3e, 0x92, 0x54, 0x31, 0x99, 0x3f, 0x3f, 0xe5, 0xa0, 0x22, |
|
| 10145 |
- 0x5a, 0xd5, 0x24, 0x3e, 0x31, 0xe6, 0xcc, 0x4a, 0xf4, 0x18, 0x5d, 0x76, 0x06, 0x65, 0x64, 0xa3, |
|
| 10146 |
- 0xdd, 0x18, 0x68, 0xb4, 0xa3, 0x67, 0x48, 0x09, 0x60, 0xb2, 0x1b, 0xd9, 0x81, 0x8a, 0xe8, 0x3a, |
|
| 10147 |
- 0x13, 0x25, 0xe9, 0x65, 0x98, 0x57, 0xb4, 0x60, 0xfb, 0xfa, 0x39, 0x0f, 0x57, 0x39, 0xc7, 0xf1, |
|
| 10148 |
- 0x3c, 0xea, 0x60, 0x0d, 0xb5, 0x83, 0xad, 0xa7, 0xf5, 0x09, 0x45, 0x72, 0xb8, 0x89, 0x3d, 0xc9, |
|
| 10149 |
- 0x9d, 0x7b, 0x13, 0xdb, 0x53, 0x9a, 0xd8, 0x7b, 0x63, 0x3a, 0xa7, 0xeb, 0x63, 0x93, 0x34, 0x8a, |
|
| 10150 |
- 0x4f, 0xa1, 0x32, 0x68, 0x0d, 0x73, 0xfe, 0x36, 0x5c, 0xc2, 0x1c, 0xc8, 0x76, 0x61, 0x4c, 0x7a, |
|
| 10151 |
- 0x04, 0x8e, 0x9b, 0xc6, 0x2e, 0x0d, 0x1e, 0xba, 0xde, 0xd1, 0x18, 0x4d, 0x03, 0x25, 0x74, 0x4d, |
|
| 10152 |
- 0x23, 0x52, 0x16, 0x53, 0xb2, 0x27, 0x8e, 0x4c, 0x94, 0x94, 0x52, 0x12, 0x6b, 0xdd, 0x0f, 0x9b, |
|
| 10153 |
- 0x86, 0xe2, 0x19, 0x61, 0xd3, 0x04, 0x4b, 0x26, 0xde, 0x57, 0xf8, 0x9d, 0x73, 0x14, 0x65, 0x38, |
|
| 10154 |
- 0x47, 0xf3, 0x31, 0x47, 0x51, 0x96, 0x73, 0x14, 0x01, 0x51, 0x23, 0x39, 0x27, 0x1f, 0xbf, 0x90, |
|
| 10155 |
- 0x65, 0x73, 0xee, 0x6e, 0x46, 0xa5, 0xa4, 0x78, 0x1a, 0x95, 0x12, 0x9e, 0x9f, 0xa1, 0x94, 0x14, |
|
| 10156 |
- 0xc9, 0x17, 0xab, 0x94, 0x52, 0x9c, 0x7b, 0x4e, 0xa5, 0x14, 0x5b, 0x8b, 0x4b, 0x09, 0x73, 0x60, |
|
| 10157 |
- 0x2c, 0x25, 0x99, 0x94, 0x08, 0x1c, 0xe7, 0xeb, 0x6e, 0xb3, 0xd7, 0x3c, 0xa4, 0x5e, 0x94, 0x2f, |
|
| 10158 |
- 0xf1, 0xb7, 0x6f, 0xbb, 0x73, 0xec, 0x07, 0xfc, 0x34, 0x6a, 0xab, 0x2d, 0x71, 0xa2, 0xb4, 0x55, |
|
| 10159 |
- 0xc4, 0x71, 0x2e, 0x20, 0x20, 0xa2, 0x6c, 0xa4, 0x22, 0xa6, 0x2c, 0x42, 0x4c, 0x94, 0x95, 0x52, |
|
| 10160 |
- 0x12, 0x1b, 0xf1, 0x07, 0x5f, 0x9c, 0x81, 0x3f, 0x8a, 0xe4, 0x8b, 0xc5, 0x9f, 0x14, 0xe7, 0x9e, |
|
| 10161 |
- 0x13, 0x7f, 0x62, 0x6b, 0x31, 0x7f, 0xf0, 0xa2, 0x8d, 0xfc, 0x91, 0x59, 0x89, 0xc0, 0x89, 0x91, |
|
| 10162 |
- 0x64, 0x12, 0xaa, 0xf0, 0x91, 0x44, 0xa2, 0xc7, 0x19, 0x49, 0x50, 0x66, 0x8c, 0x91, 0x04, 0xad, |
|
| 10163 |
- 0xeb, 0x46, 0x92, 0xf3, 0x21, 0x6a, 0xfd, 0xb7, 0x39, 0x28, 0x6c, 0x8b, 0x9f, 0x7b, 0x88, 0x03, |
|
| 10164 |
- 0x05, 0xfc, 0x25, 0x85, 0x58, 0x3a, 0xe1, 0xc1, 0x5f, 0x67, 0xaa, 0x37, 0x8c, 0x18, 0x2c, 0xcc, |
|
| 10165 |
- 0xf9, 0x5f, 0x7e, 0xf8, 0xfb, 0xbb, 0xfc, 0x2c, 0x94, 0x43, 0xd0, 0x1b, 0x5d, 0x51, 0xb7, 0xc4, |
|
| 10166 |
- 0x85, 0x62, 0xb4, 0xb7, 0x93, 0xd7, 0x46, 0xf9, 0x01, 0xa3, 0xfa, 0x7a, 0x06, 0xca, 0x6c, 0xd0, |
|
| 10167 |
- 0x03, 0x88, 0xd7, 0x66, 0xa2, 0xd5, 0x35, 0xf4, 0x13, 0x40, 0x75, 0x39, 0x0b, 0x96, 0x69, 0x33, |
|
| 10168 |
- 0x5e, 0x96, 0xf5, 0x36, 0x87, 0xd6, 0x70, 0xbd, 0x4d, 0xcd, 0xce, 0x9d, 0x62, 0x53, 0xe4, 0x90, |
|
| 10169 |
- 0xef, 0x2c, 0xa9, 0x39, 0x4c, 0x2c, 0xcb, 0xa9, 0x39, 0x1c, 0x58, 0x8b, 0xcd, 0x39, 0x0c, 0x37, |
|
| 10170 |
- 0xaa, 0xf4, 0x1c, 0x26, 0x57, 0xcf, 0xf4, 0x1c, 0x0e, 0xac, 0x65, 0x99, 0xf7, 0x19, 0x86, 0x67, |
|
| 10171 |
- 0xb8, 0xcf, 0x64, 0x84, 0xcb, 0x59, 0xb0, 0x4c, 0x9b, 0xf1, 0x46, 0xa4, 0xb7, 0x39, 0xb4, 0x74, |
|
| 10172 |
- 0xe9, 0x6d, 0x0e, 0x2f, 0x56, 0x69, 0x36, 0x1f, 0xc1, 0xe5, 0xe4, 0x04, 0x4a, 0x6e, 0x8e, 0x38, |
|
| 10173 |
- 0x11, 0x57, 0x57, 0xb2, 0x81, 0x66, 0xcb, 0xdf, 0x40, 0x79, 0x60, 0x25, 0x25, 0x5a, 0x8d, 0xba, |
|
| 10174 |
- 0x15, 0xb8, 0xba, 0x3a, 0x02, 0x32, 0xd3, 0xf8, 0xc0, 0xb6, 0xa5, 0x37, 0xae, 0xdb, 0x28, 0xf5, |
|
| 10175 |
- 0xc6, 0xb5, 0xab, 0x9b, 0xc1, 0xf8, 0xc0, 0x52, 0xa5, 0x37, 0xae, 0xdb, 0xde, 0xf4, 0xc6, 0xf5, |
|
| 10176 |
- 0x1b, 0x9a, 0x91, 0x64, 0x38, 0xee, 0xa4, 0x92, 0x6c, 0x70, 0xfa, 0x4d, 0x25, 0x99, 0x3a, 0xca, |
|
| 10177 |
- 0x9a, 0x49, 0x26, 0x67, 0xb3, 0x74, 0x92, 0x29, 0xb3, 0x62, 0x3a, 0xc9, 0xd4, 0x31, 0x2f, 0x93, |
|
| 10178 |
- 0x64, 0x32, 0x60, 0x03, 0xc9, 0x94, 0x98, 0x57, 0x47, 0x40, 0x8e, 0x98, 0x67, 0xa3, 0x71, 0xdd, |
|
| 10179 |
- 0xba, 0x61, 0xca, 0xf3, 0x88, 0xc6, 0x45, 0x9e, 0xf1, 0x6f, 0x70, 0x6a, 0x9e, 0x07, 0x47, 0x93, |
|
| 10180 |
- 0xd4, 0x3c, 0x2b, 0x03, 0x40, 0x46, 0x9e, 0xe5, 0x0c, 0x95, 0x9e, 0x67, 0x65, 0xa6, 0x4b, 0xcf, |
|
| 10181 |
- 0xb3, 0x3a, 0x8e, 0x65, 0xd6, 0xb3, 0x0c, 0xd8, 0x50, 0xcf, 0x4a, 0xcc, 0xab, 0x23, 0x20, 0x8d, |
|
| 10182 |
- 0xc6, 0xb7, 0x16, 0x1f, 0x3f, 0x5d, 0x7a, 0xe9, 0x77, 0xf6, 0xf9, 0xe7, 0xe9, 0x52, 0xee, 0xdb, |
|
| 10183 |
- 0x67, 0x4b, 0xb9, 0xc7, 0xec, 0xf3, 0x2b, 0xfb, 0x3c, 0x61, 0x9f, 0x83, 0xe9, 0xf0, 0x7f, 0x9c, |
|
| 10184 |
- 0x36, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x43, 0x84, 0x5f, 0x00, 0xea, 0x1a, 0x00, 0x00, |
|
| 10097 |
+ // 1384 bytes of a gzipped FileDescriptorProto |
|
| 10098 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0xcf, 0x6f, 0x1b, 0xc5, |
|
| 10099 |
+ 0x17, 0xff, 0xda, 0x69, 0xe2, 0xfa, 0xb9, 0x4e, 0x9a, 0xa9, 0xa3, 0x6f, 0xe4, 0x86, 0x14, 0x6d, |
|
| 10100 |
+ 0x21, 0x4d, 0xa4, 0xe0, 0x80, 0xa3, 0x8a, 0x00, 0x12, 0x88, 0x24, 0x14, 0x59, 0x94, 0x50, 0x6d, |
|
| 10101 |
+ 0x28, 0xe2, 0x16, 0x39, 0xf6, 0x34, 0x2c, 0xb1, 0xbd, 0x66, 0x77, 0x93, 0x36, 0xe2, 0xc2, 0x9f, |
|
| 10102 |
+ 0xc1, 0xdf, 0xc0, 0x81, 0x3b, 0x27, 0x0e, 0x5c, 0x2a, 0x4e, 0x5c, 0x90, 0x40, 0x42, 0xa8, 0xed, |
|
| 10103 |
+ 0x1f, 0x80, 0xf8, 0x03, 0x38, 0x30, 0xb3, 0xf3, 0x66, 0x77, 0x3d, 0x9e, 0x9d, 0xb5, 0xe3, 0x54, |
|
| 10104 |
+ 0xf4, 0x60, 0xd5, 0x3b, 0xfb, 0x79, 0xbf, 0xe6, 0x7d, 0xde, 0xcb, 0x7b, 0x2e, 0x94, 0x5b, 0x6e, |
|
| 10105 |
+ 0x2f, 0xf0, 0xdc, 0x4e, 0xad, 0xef, 0xb9, 0x81, 0x4b, 0x48, 0xdb, 0x6d, 0x1d, 0x53, 0xaf, 0xe6, |
|
| 10106 |
+ 0x3f, 0x6c, 0x7a, 0xdd, 0x63, 0x27, 0xa8, 0x9d, 0xbe, 0x51, 0x2d, 0xf9, 0x7d, 0xda, 0xf2, 0x05, |
|
| 10107 |
+ 0xa0, 0x5a, 0x76, 0x0f, 0xbf, 0xa4, 0xad, 0x40, 0x3e, 0x96, 0x82, 0xb3, 0x3e, 0x95, 0x0f, 0x95, |
|
| 10108 |
+ 0x23, 0xf7, 0xc8, 0x0d, 0xbf, 0x6e, 0xf0, 0x6f, 0x78, 0x7a, 0xad, 0xdf, 0x39, 0x39, 0x72, 0x7a, |
|
| 10109 |
+ 0x1b, 0xe2, 0x1f, 0x71, 0x68, 0xdd, 0x86, 0xd9, 0x0f, 0x69, 0xb0, 0xe7, 0xb6, 0xa9, 0x4d, 0xbf, |
|
| 10110 |
+ 0x3a, 0xa1, 0x7e, 0x40, 0x6e, 0x42, 0xa1, 0xc7, 0x1e, 0x0f, 0x9c, 0xf6, 0x62, 0xee, 0xe5, 0xdc, |
|
| 10111 |
+ 0x6a, 0x71, 0x1b, 0x9e, 0xfd, 0x79, 0x63, 0x86, 0x23, 0x1a, 0xbb, 0xf6, 0x0c, 0x7f, 0xd5, 0x68, |
|
| 10112 |
+ 0x5b, 0xef, 0xc1, 0x5c, 0x24, 0xe6, 0xf7, 0xdd, 0x9e, 0x4f, 0xc9, 0x3a, 0x5c, 0xe2, 0x2f, 0x43, |
|
| 10113 |
+ 0xa1, 0x52, 0x7d, 0xb1, 0x36, 0x1c, 0x40, 0x2d, 0xc4, 0x87, 0x28, 0xeb, 0x87, 0x29, 0xb8, 0x7a, |
|
| 10114 |
+ 0xd7, 0xf1, 0x43, 0x15, 0xbe, 0x34, 0x7d, 0x07, 0x0a, 0x0f, 0x9c, 0x4e, 0x40, 0x3d, 0x1f, 0xb5, |
|
| 10115 |
+ 0xac, 0xeb, 0xb4, 0xa8, 0x62, 0xb5, 0x3b, 0x42, 0xc6, 0x96, 0xc2, 0xd5, 0x3f, 0xf2, 0x50, 0xc0, |
|
| 10116 |
+ 0x43, 0x52, 0x81, 0xe9, 0x5e, 0xb3, 0x4b, 0xb9, 0xc6, 0xa9, 0xd5, 0xa2, 0x2d, 0x1e, 0xc8, 0x06, |
|
| 10117 |
+ 0x94, 0x9c, 0xf6, 0x41, 0xdf, 0xa3, 0x0f, 0x9c, 0x47, 0xec, 0x5d, 0x9e, 0xbf, 0xdb, 0x9e, 0x65, |
|
| 10118 |
+ 0x81, 0x42, 0x63, 0xf7, 0x1e, 0x9e, 0xda, 0xe0, 0xb4, 0xe5, 0x77, 0x72, 0x0f, 0x66, 0x3a, 0xcd, |
|
| 10119 |
+ 0x43, 0xda, 0xf1, 0x17, 0xa7, 0x18, 0xb6, 0x54, 0xdf, 0x1a, 0xc7, 0xb3, 0xda, 0xdd, 0x50, 0xf4, |
|
| 10120 |
+ 0x03, 0x96, 0xe0, 0x33, 0x1b, 0xf5, 0x90, 0x06, 0x94, 0xba, 0xb4, 0x7b, 0xc8, 0x5e, 0x7f, 0xe1, |
|
| 10121 |
+ 0xf4, 0xfd, 0xc5, 0x4b, 0x4c, 0xed, 0x6c, 0xfd, 0x56, 0xda, 0xb5, 0xed, 0xb3, 0xd4, 0xd7, 0x3e, |
|
| 10122 |
+ 0x8e, 0xf0, 0x76, 0x52, 0x96, 0xd4, 0x61, 0x9a, 0x31, 0x87, 0xc5, 0x31, 0x1d, 0x2a, 0x59, 0x4a, |
|
| 10123 |
+ 0xbd, 0x7b, 0x06, 0xb2, 0x05, 0xb4, 0xfa, 0x16, 0x94, 0x12, 0x5e, 0x91, 0xab, 0x30, 0x75, 0x4c, |
|
| 10124 |
+ 0xcf, 0x44, 0xc6, 0x6d, 0xfe, 0x95, 0x5f, 0xdc, 0x69, 0xb3, 0x73, 0x42, 0xd9, 0xe5, 0xf0, 0x33, |
|
| 10125 |
+ 0xf1, 0xf0, 0x76, 0x7e, 0x2b, 0x67, 0xed, 0xc0, 0x7c, 0x22, 0x52, 0x4c, 0x7f, 0x8d, 0xdd, 0x33, |
|
| 10126 |
+ 0x3f, 0x08, 0xef, 0xd9, 0x94, 0x7f, 0x01, 0xb3, 0xbe, 0xcb, 0xc1, 0xfc, 0xfd, 0x7e, 0xbb, 0x19, |
|
| 10127 |
+ 0xd0, 0x71, 0xc9, 0x47, 0xde, 0x85, 0x2b, 0x21, 0xe8, 0x94, 0xc5, 0xef, 0xb8, 0xbd, 0xd0, 0xc1, |
|
| 10128 |
+ 0x52, 0xfd, 0xba, 0xce, 0xe2, 0x67, 0x02, 0x62, 0x97, 0xb8, 0x00, 0x3e, 0x90, 0xd7, 0xe1, 0x12, |
|
| 10129 |
+ 0xaf, 0x24, 0x96, 0x49, 0x2e, 0xb7, 0x64, 0xba, 0x72, 0x3b, 0x44, 0x5a, 0xdb, 0x40, 0x92, 0xbe, |
|
| 10130 |
+ 0x9e, 0x8b, 0xf1, 0x5b, 0x30, 0x6f, 0xd3, 0xae, 0x7b, 0x3a, 0x76, 0xbc, 0x56, 0x05, 0x48, 0x52, |
|
| 10131 |
+ 0x52, 0x58, 0xc7, 0xca, 0xfd, 0xb4, 0xe9, 0x1f, 0x27, 0x94, 0x05, 0xec, 0x51, 0x51, 0xc6, 0x11, |
|
| 10132 |
+ 0x5c, 0x19, 0x7f, 0x15, 0x55, 0xae, 0x10, 0x8b, 0xe3, 0xe0, 0x2f, 0x4d, 0x71, 0x84, 0xf8, 0x10, |
|
| 10133 |
+ 0x15, 0xc7, 0x31, 0xb6, 0xe9, 0x28, 0x8e, 0xa4, 0x75, 0xeb, 0x77, 0xec, 0x04, 0xfc, 0xf0, 0x1c, |
|
| 10134 |
+ 0x9d, 0x20, 0x29, 0x36, 0xdc, 0x09, 0xfe, 0xf9, 0x0f, 0x3b, 0x81, 0xce, 0x33, 0x6d, 0x27, 0x60, |
|
| 10135 |
+ 0x2e, 0xf8, 0xd4, 0x3b, 0x75, 0x5a, 0x9c, 0x07, 0xa2, 0x13, 0xa0, 0x0b, 0xfb, 0xe2, 0xb8, 0xb1, |
|
| 10136 |
+ 0xcb, 0x5c, 0x40, 0x48, 0xa3, 0xed, 0x93, 0x15, 0xb8, 0x8c, 0xac, 0x11, 0x25, 0x5f, 0xdc, 0x2e, |
|
| 10137 |
+ 0x31, 0x74, 0x41, 0xd0, 0x86, 0x45, 0x2f, 0x78, 0xe3, 0x93, 0x5d, 0x98, 0x65, 0xa5, 0xe6, 0x78, |
|
| 10138 |
+ 0xb4, 0x7d, 0xe0, 0x07, 0x8c, 0xbd, 0xfe, 0xe2, 0x4c, 0xd8, 0x20, 0x5e, 0x4a, 0x4b, 0xf1, 0x3e, |
|
| 10139 |
+ 0x47, 0xd9, 0x65, 0x14, 0x0a, 0x9f, 0x2e, 0xa2, 0x53, 0xe0, 0x4d, 0xc4, 0x9d, 0x82, 0x13, 0xc2, |
|
| 10140 |
+ 0xd8, 0x29, 0x42, 0x86, 0x08, 0x98, 0xf5, 0x11, 0x54, 0x76, 0x3c, 0xca, 0x5c, 0xc1, 0xdb, 0x90, |
|
| 10141 |
+ 0x1c, 0xd9, 0xc4, 0x32, 0x16, 0x04, 0xb9, 0xa1, 0x53, 0x83, 0x12, 0x89, 0x4a, 0xde, 0x83, 0x05, |
|
| 10142 |
+ 0x45, 0x19, 0x7a, 0x75, 0x1b, 0x0a, 0x78, 0xc3, 0xa8, 0xf0, 0xba, 0x41, 0xa1, 0x2d, 0xb1, 0xd6, |
|
| 10143 |
+ 0xfb, 0x30, 0xcf, 0xca, 0x49, 0xf1, 0x6c, 0x1d, 0x20, 0x4e, 0x28, 0x16, 0x44, 0x99, 0x65, 0xa8, |
|
| 10144 |
+ 0x18, 0xe5, 0xd3, 0x2e, 0x46, 0xe9, 0x64, 0xf1, 0x91, 0xa4, 0x8a, 0xc9, 0xfc, 0xf9, 0x31, 0x07, |
|
| 10145 |
+ 0x15, 0xd1, 0xaa, 0x26, 0xf1, 0x89, 0x31, 0x67, 0x4e, 0xa2, 0xc7, 0xe8, 0xb2, 0xb3, 0x28, 0x23, |
|
| 10146 |
+ 0x1b, 0xed, 0xe6, 0x40, 0xa3, 0x1d, 0x3d, 0x43, 0x4a, 0x00, 0x93, 0xdd, 0xc8, 0x2e, 0x54, 0x44, |
|
| 10147 |
+ 0xd7, 0x99, 0x28, 0x49, 0xff, 0x87, 0x05, 0x45, 0x0b, 0xb6, 0xaf, 0x9f, 0xf2, 0x70, 0x8d, 0x73, |
|
| 10148 |
+ 0x1c, 0xcf, 0xa3, 0x0e, 0xd6, 0x50, 0x3b, 0xd8, 0x46, 0x5a, 0x9f, 0x50, 0x24, 0x87, 0x9b, 0xd8, |
|
| 10149 |
+ 0x93, 0xdc, 0x85, 0x37, 0xb1, 0x7d, 0xa5, 0x89, 0xbd, 0x33, 0xa6, 0x73, 0xba, 0x3e, 0x36, 0x49, |
|
| 10150 |
+ 0xa3, 0xf8, 0x04, 0x2a, 0x83, 0xd6, 0x30, 0xe7, 0x6f, 0xc2, 0x65, 0xcc, 0x81, 0x6c, 0x17, 0xc6, |
|
| 10151 |
+ 0xa4, 0x47, 0xe0, 0xb8, 0x69, 0xec, 0xd1, 0xe0, 0xa1, 0xeb, 0x1d, 0x8f, 0xd1, 0x34, 0x50, 0x42, |
|
| 10152 |
+ 0xd7, 0x34, 0x22, 0x65, 0x31, 0x25, 0x7b, 0xe2, 0xc8, 0x44, 0x49, 0x29, 0x25, 0xb1, 0xd6, 0xfd, |
|
| 10153 |
+ 0xb0, 0x69, 0x28, 0x9e, 0x11, 0x36, 0x4d, 0xb0, 0x64, 0xe2, 0x7d, 0x85, 0xdf, 0x39, 0x47, 0x51, |
|
| 10154 |
+ 0x86, 0x73, 0x34, 0x1f, 0x73, 0x14, 0x65, 0x39, 0x47, 0x11, 0x10, 0x35, 0x92, 0x0b, 0xf2, 0xf1, |
|
| 10155 |
+ 0x73, 0x59, 0x36, 0x17, 0xee, 0x66, 0x54, 0x4a, 0x8a, 0xa7, 0x51, 0x29, 0xe1, 0xf9, 0x39, 0x4a, |
|
| 10156 |
+ 0x49, 0x91, 0x7c, 0xb1, 0x4a, 0x29, 0xc5, 0xb9, 0xe7, 0x54, 0x4a, 0xb1, 0xb5, 0xb8, 0x94, 0x30, |
|
| 10157 |
+ 0x07, 0xc6, 0x52, 0x92, 0x49, 0x89, 0xc0, 0xf8, 0x27, 0x6e, 0xa7, 0x73, 0xe2, 0x33, 0x77, 0x13, |
|
| 10158 |
+ 0xdd, 0xb3, 0x25, 0x4e, 0x94, 0xee, 0x89, 0x38, 0x9e, 0x72, 0x04, 0x44, 0xcc, 0x8c, 0x54, 0xc4, |
|
| 10159 |
+ 0xcc, 0x44, 0x88, 0x89, 0x99, 0x52, 0x4a, 0x62, 0x23, 0x9a, 0xe0, 0x8b, 0x73, 0xd0, 0x44, 0x91, |
|
| 10160 |
+ 0x7c, 0xb1, 0x68, 0x92, 0xe2, 0xdc, 0x73, 0xa2, 0x49, 0x6c, 0x2d, 0xa6, 0x09, 0x5e, 0xb4, 0x91, |
|
| 10161 |
+ 0x26, 0x32, 0x2b, 0x11, 0x38, 0x31, 0x79, 0x4c, 0x42, 0x15, 0x3e, 0x79, 0x48, 0xf4, 0x38, 0x93, |
|
| 10162 |
+ 0x07, 0xca, 0x8c, 0x31, 0x79, 0xa0, 0x75, 0xdd, 0xe4, 0x71, 0x31, 0x44, 0xad, 0xff, 0x3a, 0x0f, |
|
| 10163 |
+ 0x85, 0x1d, 0xf1, 0xab, 0x0e, 0x71, 0xa0, 0x80, 0x3f, 0x98, 0x10, 0x4b, 0x27, 0x3c, 0xf8, 0x23, |
|
| 10164 |
+ 0x4c, 0xf5, 0xa6, 0x11, 0x83, 0xfd, 0x72, 0xe1, 0xe7, 0xef, 0xff, 0xfa, 0x36, 0x3f, 0x07, 0xe5, |
|
| 10165 |
+ 0x10, 0xf4, 0x5a, 0xb7, 0xd9, 0x6b, 0x1e, 0x51, 0x8f, 0xb8, 0x50, 0x8c, 0xd6, 0x73, 0xf2, 0xca, |
|
| 10166 |
+ 0x28, 0xbf, 0x53, 0x54, 0x5f, 0xcd, 0x40, 0x99, 0x0d, 0x7a, 0x00, 0xf1, 0x76, 0x4c, 0xb4, 0xba, |
|
| 10167 |
+ 0x86, 0x36, 0xfd, 0xea, 0x4a, 0x16, 0x2c, 0xd3, 0x66, 0xbc, 0x13, 0xeb, 0x6d, 0x0e, 0x6d, 0xdb, |
|
| 10168 |
+ 0x7a, 0x9b, 0x9a, 0xd5, 0x3a, 0xc5, 0xa6, 0xc8, 0x21, 0x5f, 0x4d, 0x52, 0x73, 0x98, 0xd8, 0x89, |
|
| 10169 |
+ 0x53, 0x73, 0x38, 0xb0, 0xfd, 0x9a, 0x73, 0x18, 0x2e, 0x4e, 0xe9, 0x39, 0x4c, 0x6e, 0x98, 0xe9, |
|
| 10170 |
+ 0x39, 0x1c, 0xd8, 0xbe, 0x32, 0xef, 0x33, 0x0c, 0xcf, 0x70, 0x9f, 0xc9, 0x08, 0x57, 0xb2, 0x60, |
|
| 10171 |
+ 0x99, 0x36, 0xe3, 0xc5, 0x47, 0x6f, 0x73, 0x68, 0xb7, 0xd2, 0xdb, 0x1c, 0xde, 0x9f, 0xd2, 0x6c, |
|
| 10172 |
+ 0x3e, 0x82, 0x2b, 0xc9, 0x41, 0x93, 0xdc, 0x1a, 0x71, 0xf0, 0xad, 0xae, 0x66, 0x03, 0xcd, 0x96, |
|
| 10173 |
+ 0xbf, 0x86, 0xf2, 0xc0, 0xe6, 0x49, 0xb4, 0x1a, 0x75, 0x9b, 0x6e, 0x75, 0x6d, 0x04, 0x64, 0xa6, |
|
| 10174 |
+ 0xf1, 0x81, 0xa5, 0x4a, 0x6f, 0x5c, 0xb7, 0x38, 0xea, 0x8d, 0x6b, 0x37, 0x34, 0x83, 0xf1, 0x81, |
|
| 10175 |
+ 0xdd, 0x49, 0x6f, 0x5c, 0xb7, 0xa4, 0xe9, 0x8d, 0xeb, 0x17, 0x31, 0x23, 0xc9, 0x70, 0xaa, 0x49, |
|
| 10176 |
+ 0x25, 0xd9, 0xe0, 0x90, 0x9b, 0x4a, 0x32, 0x75, 0x62, 0x35, 0x93, 0x4c, 0x8e, 0x60, 0xe9, 0x24, |
|
| 10177 |
+ 0x53, 0x46, 0xc2, 0x74, 0x92, 0xa9, 0xd3, 0x5c, 0x26, 0xc9, 0x64, 0xc0, 0x06, 0x92, 0x29, 0x31, |
|
| 10178 |
+ 0xaf, 0x8d, 0x80, 0x1c, 0x31, 0xcf, 0x46, 0xe3, 0xba, 0xad, 0xc2, 0x94, 0xe7, 0x11, 0x8d, 0x8b, |
|
| 10179 |
+ 0x3c, 0xe3, 0xdf, 0xe0, 0xd4, 0x3c, 0x0f, 0x8e, 0x26, 0xa9, 0x79, 0x56, 0x06, 0x80, 0x8c, 0x3c, |
|
| 10180 |
+ 0xcb, 0x19, 0x2a, 0x3d, 0xcf, 0xca, 0x4c, 0x97, 0x9e, 0x67, 0x75, 0x1c, 0xcb, 0xac, 0x67, 0x19, |
|
| 10181 |
+ 0xb0, 0xa1, 0x9e, 0x95, 0x98, 0xd7, 0x46, 0x40, 0x1a, 0x8d, 0x6f, 0x2f, 0x3d, 0x7e, 0xba, 0xfc, |
|
| 10182 |
+ 0xbf, 0xdf, 0xd8, 0xe7, 0xef, 0xa7, 0xcb, 0xb9, 0x6f, 0x9e, 0x2d, 0xe7, 0x1e, 0xb3, 0xcf, 0x2f, |
|
| 10183 |
+ 0xec, 0xf3, 0x84, 0x7d, 0x0e, 0x67, 0xc2, 0xff, 0x58, 0xda, 0xfc, 0x37, 0x00, 0x00, 0xff, 0xff, |
|
| 10184 |
+ 0x35, 0x0f, 0xc7, 0x5a, 0xd1, 0x1a, 0x00, 0x00, |
|
| 10185 | 10185 |
} |
| ... | ... |
@@ -49,8 +49,8 @@ type Node struct {
|
| 49 | 49 |
Description *NodeDescription `protobuf:"bytes,4,opt,name=description" json:"description,omitempty"` |
| 50 | 50 |
// Status provides the current status of the node, as seen by the manager. |
| 51 | 51 |
Status NodeStatus `protobuf:"bytes,5,opt,name=status" json:"status"` |
| 52 |
- // Status of the manager. If the node is not a manager, this field will not |
|
| 53 |
- // be set. |
|
| 52 |
+ // ManagerStatus provides the current status of the node's manager |
|
| 53 |
+ // component, if the node is a manager. |
|
| 54 | 54 |
ManagerStatus *ManagerStatus `protobuf:"bytes,6,opt,name=manager_status,json=managerStatus" json:"manager_status,omitempty"` |
| 55 | 55 |
// The node attachment to the ingress network. |
| 56 | 56 |
Attachment *NetworkAttachment `protobuf:"bytes,7,opt,name=attachment" json:"attachment,omitempty"` |
| ... | ... |
@@ -39,8 +39,8 @@ message Node {
|
| 39 | 39 |
// Status provides the current status of the node, as seen by the manager. |
| 40 | 40 |
NodeStatus status = 5 [(gogoproto.nullable) = false]; |
| 41 | 41 |
|
| 42 |
- // Status of the manager. If the node is not a manager, this field will not |
|
| 43 |
- // be set. |
|
| 42 |
+ // ManagerStatus provides the current status of the node's manager |
|
| 43 |
+ // component, if the node is a manager. |
|
| 44 | 44 |
ManagerStatus manager_status = 6; |
| 45 | 45 |
|
| 46 | 46 |
// The node attachment to the ingress network. |
| ... | ... |
@@ -64,6 +64,22 @@ func (x StoreActionKind) String() string {
|
| 64 | 64 |
} |
| 65 | 65 |
func (StoreActionKind) EnumDescriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }
|
| 66 | 66 |
|
| 67 |
+type RaftMember struct {
|
|
| 68 |
+ // RaftID specifies the internal ID used by the manager in a raft context, it can never be modified |
|
| 69 |
+ // and is used only for information purposes |
|
| 70 |
+ RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"` |
|
| 71 |
+ // NodeID is the node's ID. |
|
| 72 |
+ NodeID string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` |
|
| 73 |
+ // Addr specifies the address of the member |
|
| 74 |
+ Addr string `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"` |
|
| 75 |
+ // Status provides the current status of the manager from the perspective of another manager. |
|
| 76 |
+ Status RaftMemberStatus `protobuf:"bytes,4,opt,name=status" json:"status"` |
|
| 77 |
+} |
|
| 78 |
+ |
|
| 79 |
+func (m *RaftMember) Reset() { *m = RaftMember{} }
|
|
| 80 |
+func (*RaftMember) ProtoMessage() {}
|
|
| 81 |
+func (*RaftMember) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }
|
|
| 82 |
+ |
|
| 67 | 83 |
type JoinRequest struct {
|
| 68 | 84 |
// Addr specifies the address of the member |
| 69 | 85 |
Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` |
| ... | ... |
@@ -71,15 +87,16 @@ type JoinRequest struct {
|
| 71 | 71 |
|
| 72 | 72 |
func (m *JoinRequest) Reset() { *m = JoinRequest{} }
|
| 73 | 73 |
func (*JoinRequest) ProtoMessage() {}
|
| 74 |
-func (*JoinRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }
|
|
| 74 |
+func (*JoinRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{1} }
|
|
| 75 | 75 |
|
| 76 | 76 |
type JoinResponse struct {
|
| 77 |
- Members []*RaftMember `protobuf:"bytes,1,rep,name=members" json:"members,omitempty"` |
|
| 77 |
+ RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"` |
|
| 78 |
+ Members []*RaftMember `protobuf:"bytes,2,rep,name=members" json:"members,omitempty"` |
|
| 78 | 79 |
} |
| 79 | 80 |
|
| 80 | 81 |
func (m *JoinResponse) Reset() { *m = JoinResponse{} }
|
| 81 | 82 |
func (*JoinResponse) ProtoMessage() {}
|
| 82 |
-func (*JoinResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{1} }
|
|
| 83 |
+func (*JoinResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{2} }
|
|
| 83 | 84 |
|
| 84 | 85 |
type LeaveRequest struct {
|
| 85 | 86 |
Node *RaftMember `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"` |
| ... | ... |
@@ -87,14 +104,14 @@ type LeaveRequest struct {
|
| 87 | 87 |
|
| 88 | 88 |
func (m *LeaveRequest) Reset() { *m = LeaveRequest{} }
|
| 89 | 89 |
func (*LeaveRequest) ProtoMessage() {}
|
| 90 |
-func (*LeaveRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{2} }
|
|
| 90 |
+func (*LeaveRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{3} }
|
|
| 91 | 91 |
|
| 92 | 92 |
type LeaveResponse struct {
|
| 93 | 93 |
} |
| 94 | 94 |
|
| 95 | 95 |
func (m *LeaveResponse) Reset() { *m = LeaveResponse{} }
|
| 96 | 96 |
func (*LeaveResponse) ProtoMessage() {}
|
| 97 |
-func (*LeaveResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{3} }
|
|
| 97 |
+func (*LeaveResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{4} }
|
|
| 98 | 98 |
|
| 99 | 99 |
type ProcessRaftMessageRequest struct {
|
| 100 | 100 |
Message *raftpb.Message `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` |
| ... | ... |
@@ -102,14 +119,14 @@ type ProcessRaftMessageRequest struct {
|
| 102 | 102 |
|
| 103 | 103 |
func (m *ProcessRaftMessageRequest) Reset() { *m = ProcessRaftMessageRequest{} }
|
| 104 | 104 |
func (*ProcessRaftMessageRequest) ProtoMessage() {}
|
| 105 |
-func (*ProcessRaftMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{4} }
|
|
| 105 |
+func (*ProcessRaftMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{5} }
|
|
| 106 | 106 |
|
| 107 | 107 |
type ProcessRaftMessageResponse struct {
|
| 108 | 108 |
} |
| 109 | 109 |
|
| 110 | 110 |
func (m *ProcessRaftMessageResponse) Reset() { *m = ProcessRaftMessageResponse{} }
|
| 111 | 111 |
func (*ProcessRaftMessageResponse) ProtoMessage() {}
|
| 112 |
-func (*ProcessRaftMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{5} }
|
|
| 112 |
+func (*ProcessRaftMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{6} }
|
|
| 113 | 113 |
|
| 114 | 114 |
type ResolveAddressRequest struct {
|
| 115 | 115 |
// raft_id is the ID to resolve to an address. |
| ... | ... |
@@ -118,7 +135,7 @@ type ResolveAddressRequest struct {
|
| 118 | 118 |
|
| 119 | 119 |
func (m *ResolveAddressRequest) Reset() { *m = ResolveAddressRequest{} }
|
| 120 | 120 |
func (*ResolveAddressRequest) ProtoMessage() {}
|
| 121 |
-func (*ResolveAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{6} }
|
|
| 121 |
+func (*ResolveAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{7} }
|
|
| 122 | 122 |
|
| 123 | 123 |
type ResolveAddressResponse struct {
|
| 124 | 124 |
// Addr specifies the address of the member |
| ... | ... |
@@ -127,7 +144,7 @@ type ResolveAddressResponse struct {
|
| 127 | 127 |
|
| 128 | 128 |
func (m *ResolveAddressResponse) Reset() { *m = ResolveAddressResponse{} }
|
| 129 | 129 |
func (*ResolveAddressResponse) ProtoMessage() {}
|
| 130 |
-func (*ResolveAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{7} }
|
|
| 130 |
+func (*ResolveAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{8} }
|
|
| 131 | 131 |
|
| 132 | 132 |
// Contains one of many protobuf encoded objects to replicate |
| 133 | 133 |
// over the raft backend with a request ID to track when the |
| ... | ... |
@@ -139,7 +156,7 @@ type InternalRaftRequest struct {
|
| 139 | 139 |
|
| 140 | 140 |
func (m *InternalRaftRequest) Reset() { *m = InternalRaftRequest{} }
|
| 141 | 141 |
func (*InternalRaftRequest) ProtoMessage() {}
|
| 142 |
-func (*InternalRaftRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{8} }
|
|
| 142 |
+func (*InternalRaftRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{9} }
|
|
| 143 | 143 |
|
| 144 | 144 |
// StoreAction defines a taret and operation to apply on the storage system. |
| 145 | 145 |
type StoreAction struct {
|
| ... | ... |
@@ -155,7 +172,7 @@ type StoreAction struct {
|
| 155 | 155 |
|
| 156 | 156 |
func (m *StoreAction) Reset() { *m = StoreAction{} }
|
| 157 | 157 |
func (*StoreAction) ProtoMessage() {}
|
| 158 |
-func (*StoreAction) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{9} }
|
|
| 158 |
+func (*StoreAction) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{10} }
|
|
| 159 | 159 |
|
| 160 | 160 |
type isStoreAction_Target interface {
|
| 161 | 161 |
isStoreAction_Target() |
| ... | ... |
@@ -359,6 +376,7 @@ func _StoreAction_OneofSizer(msg proto.Message) (n int) {
|
| 359 | 359 |
} |
| 360 | 360 |
|
| 361 | 361 |
func init() {
|
| 362 |
+ proto.RegisterType((*RaftMember)(nil), "docker.swarmkit.v1.RaftMember") |
|
| 362 | 363 |
proto.RegisterType((*JoinRequest)(nil), "docker.swarmkit.v1.JoinRequest") |
| 363 | 364 |
proto.RegisterType((*JoinResponse)(nil), "docker.swarmkit.v1.JoinResponse") |
| 364 | 365 |
proto.RegisterType((*LeaveRequest)(nil), "docker.swarmkit.v1.LeaveRequest") |
| ... | ... |
@@ -384,36 +402,63 @@ func NewAuthenticatedWrapperRaftServer(local RaftServer, authorize func(context. |
| 384 | 384 |
} |
| 385 | 385 |
} |
| 386 | 386 |
|
| 387 |
-func (p *authenticatedWrapperRaftServer) Join(ctx context.Context, r *JoinRequest) (*JoinResponse, error) {
|
|
| 387 |
+func (p *authenticatedWrapperRaftServer) ProcessRaftMessage(ctx context.Context, r *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) {
|
|
| 388 | 388 |
|
| 389 | 389 |
if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
|
| 390 | 390 |
return nil, err |
| 391 | 391 |
} |
| 392 |
- return p.local.Join(ctx, r) |
|
| 392 |
+ return p.local.ProcessRaftMessage(ctx, r) |
|
| 393 | 393 |
} |
| 394 | 394 |
|
| 395 |
-func (p *authenticatedWrapperRaftServer) Leave(ctx context.Context, r *LeaveRequest) (*LeaveResponse, error) {
|
|
| 395 |
+func (p *authenticatedWrapperRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddressRequest) (*ResolveAddressResponse, error) {
|
|
| 396 | 396 |
|
| 397 | 397 |
if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
|
| 398 | 398 |
return nil, err |
| 399 | 399 |
} |
| 400 |
- return p.local.Leave(ctx, r) |
|
| 400 |
+ return p.local.ResolveAddress(ctx, r) |
|
| 401 | 401 |
} |
| 402 | 402 |
|
| 403 |
-func (p *authenticatedWrapperRaftServer) ProcessRaftMessage(ctx context.Context, r *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) {
|
|
| 403 |
+type authenticatedWrapperRaftMembershipServer struct {
|
|
| 404 |
+ local RaftMembershipServer |
|
| 405 |
+ authorize func(context.Context, []string) error |
|
| 406 |
+} |
|
| 407 |
+ |
|
| 408 |
+func NewAuthenticatedWrapperRaftMembershipServer(local RaftMembershipServer, authorize func(context.Context, []string) error) RaftMembershipServer {
|
|
| 409 |
+ return &authenticatedWrapperRaftMembershipServer{
|
|
| 410 |
+ local: local, |
|
| 411 |
+ authorize: authorize, |
|
| 412 |
+ } |
|
| 413 |
+} |
|
| 414 |
+ |
|
| 415 |
+func (p *authenticatedWrapperRaftMembershipServer) Join(ctx context.Context, r *JoinRequest) (*JoinResponse, error) {
|
|
| 404 | 416 |
|
| 405 | 417 |
if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
|
| 406 | 418 |
return nil, err |
| 407 | 419 |
} |
| 408 |
- return p.local.ProcessRaftMessage(ctx, r) |
|
| 420 |
+ return p.local.Join(ctx, r) |
|
| 409 | 421 |
} |
| 410 | 422 |
|
| 411 |
-func (p *authenticatedWrapperRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddressRequest) (*ResolveAddressResponse, error) {
|
|
| 423 |
+func (p *authenticatedWrapperRaftMembershipServer) Leave(ctx context.Context, r *LeaveRequest) (*LeaveResponse, error) {
|
|
| 412 | 424 |
|
| 413 | 425 |
if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
|
| 414 | 426 |
return nil, err |
| 415 | 427 |
} |
| 416 |
- return p.local.ResolveAddress(ctx, r) |
|
| 428 |
+ return p.local.Leave(ctx, r) |
|
| 429 |
+} |
|
| 430 |
+ |
|
| 431 |
+func (m *RaftMember) Copy() *RaftMember {
|
|
| 432 |
+ if m == nil {
|
|
| 433 |
+ return nil |
|
| 434 |
+ } |
|
| 435 |
+ |
|
| 436 |
+ o := &RaftMember{
|
|
| 437 |
+ RaftID: m.RaftID, |
|
| 438 |
+ NodeID: m.NodeID, |
|
| 439 |
+ Addr: m.Addr, |
|
| 440 |
+ Status: *m.Status.Copy(), |
|
| 441 |
+ } |
|
| 442 |
+ |
|
| 443 |
+ return o |
|
| 417 | 444 |
} |
| 418 | 445 |
|
| 419 | 446 |
func (m *JoinRequest) Copy() *JoinRequest {
|
| ... | ... |
@@ -433,7 +478,9 @@ func (m *JoinResponse) Copy() *JoinResponse {
|
| 433 | 433 |
return nil |
| 434 | 434 |
} |
| 435 | 435 |
|
| 436 |
- o := &JoinResponse{}
|
|
| 436 |
+ o := &JoinResponse{
|
|
| 437 |
+ RaftID: m.RaftID, |
|
| 438 |
+ } |
|
| 437 | 439 |
|
| 438 | 440 |
if m.Members != nil {
|
| 439 | 441 |
o.Members = make([]*RaftMember, 0, len(m.Members)) |
| ... | ... |
@@ -565,6 +612,19 @@ func (m *StoreAction) Copy() *StoreAction {
|
| 565 | 565 |
return o |
| 566 | 566 |
} |
| 567 | 567 |
|
| 568 |
+func (this *RaftMember) GoString() string {
|
|
| 569 |
+ if this == nil {
|
|
| 570 |
+ return "nil" |
|
| 571 |
+ } |
|
| 572 |
+ s := make([]string, 0, 8) |
|
| 573 |
+ s = append(s, "&api.RaftMember{")
|
|
| 574 |
+ s = append(s, "RaftID: "+fmt.Sprintf("%#v", this.RaftID)+",\n")
|
|
| 575 |
+ s = append(s, "NodeID: "+fmt.Sprintf("%#v", this.NodeID)+",\n")
|
|
| 576 |
+ s = append(s, "Addr: "+fmt.Sprintf("%#v", this.Addr)+",\n")
|
|
| 577 |
+ s = append(s, "Status: "+strings.Replace(this.Status.GoString(), `&`, ``, 1)+",\n") |
|
| 578 |
+ s = append(s, "}") |
|
| 579 |
+ return strings.Join(s, "") |
|
| 580 |
+} |
|
| 568 | 581 |
func (this *JoinRequest) GoString() string {
|
| 569 | 582 |
if this == nil {
|
| 570 | 583 |
return "nil" |
| ... | ... |
@@ -579,8 +639,9 @@ func (this *JoinResponse) GoString() string {
|
| 579 | 579 |
if this == nil {
|
| 580 | 580 |
return "nil" |
| 581 | 581 |
} |
| 582 |
- s := make([]string, 0, 5) |
|
| 582 |
+ s := make([]string, 0, 6) |
|
| 583 | 583 |
s = append(s, "&api.JoinResponse{")
|
| 584 |
+ s = append(s, "RaftID: "+fmt.Sprintf("%#v", this.RaftID)+",\n")
|
|
| 584 | 585 |
if this.Members != nil {
|
| 585 | 586 |
s = append(s, "Members: "+fmt.Sprintf("%#v", this.Members)+",\n")
|
| 586 | 587 |
} |
| ... | ... |
@@ -752,10 +813,6 @@ const _ = grpc.SupportPackageIsVersion2 |
| 752 | 752 |
// Client API for Raft service |
| 753 | 753 |
|
| 754 | 754 |
type RaftClient interface {
|
| 755 |
- // Join adds a RaftMember to the raft cluster. |
|
| 756 |
- Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error) |
|
| 757 |
- // Leave removes a RaftMember from the raft cluster. |
|
| 758 |
- Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*LeaveResponse, error) |
|
| 759 | 755 |
// ProcessRaftMessage sends a raft message to be processed on a raft member, it is |
| 760 | 756 |
// called from the RaftMember willing to send a message to its destination ('To' field)
|
| 761 | 757 |
ProcessRaftMessage(ctx context.Context, in *ProcessRaftMessageRequest, opts ...grpc.CallOption) (*ProcessRaftMessageResponse, error) |
| ... | ... |
@@ -771,24 +828,6 @@ func NewRaftClient(cc *grpc.ClientConn) RaftClient {
|
| 771 | 771 |
return &raftClient{cc}
|
| 772 | 772 |
} |
| 773 | 773 |
|
| 774 |
-func (c *raftClient) Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error) {
|
|
| 775 |
- out := new(JoinResponse) |
|
| 776 |
- err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Raft/Join", in, out, c.cc, opts...) |
|
| 777 |
- if err != nil {
|
|
| 778 |
- return nil, err |
|
| 779 |
- } |
|
| 780 |
- return out, nil |
|
| 781 |
-} |
|
| 782 |
- |
|
| 783 |
-func (c *raftClient) Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*LeaveResponse, error) {
|
|
| 784 |
- out := new(LeaveResponse) |
|
| 785 |
- err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Raft/Leave", in, out, c.cc, opts...) |
|
| 786 |
- if err != nil {
|
|
| 787 |
- return nil, err |
|
| 788 |
- } |
|
| 789 |
- return out, nil |
|
| 790 |
-} |
|
| 791 |
- |
|
| 792 | 774 |
func (c *raftClient) ProcessRaftMessage(ctx context.Context, in *ProcessRaftMessageRequest, opts ...grpc.CallOption) (*ProcessRaftMessageResponse, error) {
|
| 793 | 775 |
out := new(ProcessRaftMessageResponse) |
| 794 | 776 |
err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Raft/ProcessRaftMessage", in, out, c.cc, opts...) |
| ... | ... |
@@ -810,10 +849,6 @@ func (c *raftClient) ResolveAddress(ctx context.Context, in *ResolveAddressReque |
| 810 | 810 |
// Server API for Raft service |
| 811 | 811 |
|
| 812 | 812 |
type RaftServer interface {
|
| 813 |
- // Join adds a RaftMember to the raft cluster. |
|
| 814 |
- Join(context.Context, *JoinRequest) (*JoinResponse, error) |
|
| 815 |
- // Leave removes a RaftMember from the raft cluster. |
|
| 816 |
- Leave(context.Context, *LeaveRequest) (*LeaveResponse, error) |
|
| 817 | 813 |
// ProcessRaftMessage sends a raft message to be processed on a raft member, it is |
| 818 | 814 |
// called from the RaftMember willing to send a message to its destination ('To' field)
|
| 819 | 815 |
ProcessRaftMessage(context.Context, *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) |
| ... | ... |
@@ -825,102 +860,201 @@ func RegisterRaftServer(s *grpc.Server, srv RaftServer) {
|
| 825 | 825 |
s.RegisterService(&_Raft_serviceDesc, srv) |
| 826 | 826 |
} |
| 827 | 827 |
|
| 828 |
-func _Raft_Join_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
| 829 |
- in := new(JoinRequest) |
|
| 828 |
+func _Raft_ProcessRaftMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
| 829 |
+ in := new(ProcessRaftMessageRequest) |
|
| 830 | 830 |
if err := dec(in); err != nil {
|
| 831 | 831 |
return nil, err |
| 832 | 832 |
} |
| 833 | 833 |
if interceptor == nil {
|
| 834 |
- return srv.(RaftServer).Join(ctx, in) |
|
| 834 |
+ return srv.(RaftServer).ProcessRaftMessage(ctx, in) |
|
| 835 | 835 |
} |
| 836 | 836 |
info := &grpc.UnaryServerInfo{
|
| 837 | 837 |
Server: srv, |
| 838 |
- FullMethod: "/docker.swarmkit.v1.Raft/Join", |
|
| 838 |
+ FullMethod: "/docker.swarmkit.v1.Raft/ProcessRaftMessage", |
|
| 839 | 839 |
} |
| 840 | 840 |
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
| 841 |
- return srv.(RaftServer).Join(ctx, req.(*JoinRequest)) |
|
| 841 |
+ return srv.(RaftServer).ProcessRaftMessage(ctx, req.(*ProcessRaftMessageRequest)) |
|
| 842 | 842 |
} |
| 843 | 843 |
return interceptor(ctx, in, info, handler) |
| 844 | 844 |
} |
| 845 | 845 |
|
| 846 |
-func _Raft_Leave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
| 847 |
- in := new(LeaveRequest) |
|
| 846 |
+func _Raft_ResolveAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
| 847 |
+ in := new(ResolveAddressRequest) |
|
| 848 | 848 |
if err := dec(in); err != nil {
|
| 849 | 849 |
return nil, err |
| 850 | 850 |
} |
| 851 | 851 |
if interceptor == nil {
|
| 852 |
- return srv.(RaftServer).Leave(ctx, in) |
|
| 852 |
+ return srv.(RaftServer).ResolveAddress(ctx, in) |
|
| 853 | 853 |
} |
| 854 | 854 |
info := &grpc.UnaryServerInfo{
|
| 855 | 855 |
Server: srv, |
| 856 |
- FullMethod: "/docker.swarmkit.v1.Raft/Leave", |
|
| 856 |
+ FullMethod: "/docker.swarmkit.v1.Raft/ResolveAddress", |
|
| 857 | 857 |
} |
| 858 | 858 |
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
| 859 |
- return srv.(RaftServer).Leave(ctx, req.(*LeaveRequest)) |
|
| 859 |
+ return srv.(RaftServer).ResolveAddress(ctx, req.(*ResolveAddressRequest)) |
|
| 860 | 860 |
} |
| 861 | 861 |
return interceptor(ctx, in, info, handler) |
| 862 | 862 |
} |
| 863 | 863 |
|
| 864 |
-func _Raft_ProcessRaftMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
| 865 |
- in := new(ProcessRaftMessageRequest) |
|
| 864 |
+var _Raft_serviceDesc = grpc.ServiceDesc{
|
|
| 865 |
+ ServiceName: "docker.swarmkit.v1.Raft", |
|
| 866 |
+ HandlerType: (*RaftServer)(nil), |
|
| 867 |
+ Methods: []grpc.MethodDesc{
|
|
| 868 |
+ {
|
|
| 869 |
+ MethodName: "ProcessRaftMessage", |
|
| 870 |
+ Handler: _Raft_ProcessRaftMessage_Handler, |
|
| 871 |
+ }, |
|
| 872 |
+ {
|
|
| 873 |
+ MethodName: "ResolveAddress", |
|
| 874 |
+ Handler: _Raft_ResolveAddress_Handler, |
|
| 875 |
+ }, |
|
| 876 |
+ }, |
|
| 877 |
+ Streams: []grpc.StreamDesc{},
|
|
| 878 |
+} |
|
| 879 |
+ |
|
| 880 |
+// Client API for RaftMembership service |
|
| 881 |
+ |
|
| 882 |
+type RaftMembershipClient interface {
|
|
| 883 |
+ // Join adds a RaftMember to the raft cluster. |
|
| 884 |
+ Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error) |
|
| 885 |
+ // Leave removes a RaftMember from the raft cluster. |
|
| 886 |
+ Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*LeaveResponse, error) |
|
| 887 |
+} |
|
| 888 |
+ |
|
| 889 |
+type raftMembershipClient struct {
|
|
| 890 |
+ cc *grpc.ClientConn |
|
| 891 |
+} |
|
| 892 |
+ |
|
| 893 |
+func NewRaftMembershipClient(cc *grpc.ClientConn) RaftMembershipClient {
|
|
| 894 |
+ return &raftMembershipClient{cc}
|
|
| 895 |
+} |
|
| 896 |
+ |
|
| 897 |
+func (c *raftMembershipClient) Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error) {
|
|
| 898 |
+ out := new(JoinResponse) |
|
| 899 |
+ err := grpc.Invoke(ctx, "/docker.swarmkit.v1.RaftMembership/Join", in, out, c.cc, opts...) |
|
| 900 |
+ if err != nil {
|
|
| 901 |
+ return nil, err |
|
| 902 |
+ } |
|
| 903 |
+ return out, nil |
|
| 904 |
+} |
|
| 905 |
+ |
|
| 906 |
+func (c *raftMembershipClient) Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*LeaveResponse, error) {
|
|
| 907 |
+ out := new(LeaveResponse) |
|
| 908 |
+ err := grpc.Invoke(ctx, "/docker.swarmkit.v1.RaftMembership/Leave", in, out, c.cc, opts...) |
|
| 909 |
+ if err != nil {
|
|
| 910 |
+ return nil, err |
|
| 911 |
+ } |
|
| 912 |
+ return out, nil |
|
| 913 |
+} |
|
| 914 |
+ |
|
| 915 |
+// Server API for RaftMembership service |
|
| 916 |
+ |
|
| 917 |
+type RaftMembershipServer interface {
|
|
| 918 |
+ // Join adds a RaftMember to the raft cluster. |
|
| 919 |
+ Join(context.Context, *JoinRequest) (*JoinResponse, error) |
|
| 920 |
+ // Leave removes a RaftMember from the raft cluster. |
|
| 921 |
+ Leave(context.Context, *LeaveRequest) (*LeaveResponse, error) |
|
| 922 |
+} |
|
| 923 |
+ |
|
| 924 |
+func RegisterRaftMembershipServer(s *grpc.Server, srv RaftMembershipServer) {
|
|
| 925 |
+ s.RegisterService(&_RaftMembership_serviceDesc, srv) |
|
| 926 |
+} |
|
| 927 |
+ |
|
| 928 |
+func _RaftMembership_Join_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
| 929 |
+ in := new(JoinRequest) |
|
| 866 | 930 |
if err := dec(in); err != nil {
|
| 867 | 931 |
return nil, err |
| 868 | 932 |
} |
| 869 | 933 |
if interceptor == nil {
|
| 870 |
- return srv.(RaftServer).ProcessRaftMessage(ctx, in) |
|
| 934 |
+ return srv.(RaftMembershipServer).Join(ctx, in) |
|
| 871 | 935 |
} |
| 872 | 936 |
info := &grpc.UnaryServerInfo{
|
| 873 | 937 |
Server: srv, |
| 874 |
- FullMethod: "/docker.swarmkit.v1.Raft/ProcessRaftMessage", |
|
| 938 |
+ FullMethod: "/docker.swarmkit.v1.RaftMembership/Join", |
|
| 875 | 939 |
} |
| 876 | 940 |
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
| 877 |
- return srv.(RaftServer).ProcessRaftMessage(ctx, req.(*ProcessRaftMessageRequest)) |
|
| 941 |
+ return srv.(RaftMembershipServer).Join(ctx, req.(*JoinRequest)) |
|
| 878 | 942 |
} |
| 879 | 943 |
return interceptor(ctx, in, info, handler) |
| 880 | 944 |
} |
| 881 | 945 |
|
| 882 |
-func _Raft_ResolveAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
| 883 |
- in := new(ResolveAddressRequest) |
|
| 946 |
+func _RaftMembership_Leave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
| 947 |
+ in := new(LeaveRequest) |
|
| 884 | 948 |
if err := dec(in); err != nil {
|
| 885 | 949 |
return nil, err |
| 886 | 950 |
} |
| 887 | 951 |
if interceptor == nil {
|
| 888 |
- return srv.(RaftServer).ResolveAddress(ctx, in) |
|
| 952 |
+ return srv.(RaftMembershipServer).Leave(ctx, in) |
|
| 889 | 953 |
} |
| 890 | 954 |
info := &grpc.UnaryServerInfo{
|
| 891 | 955 |
Server: srv, |
| 892 |
- FullMethod: "/docker.swarmkit.v1.Raft/ResolveAddress", |
|
| 956 |
+ FullMethod: "/docker.swarmkit.v1.RaftMembership/Leave", |
|
| 893 | 957 |
} |
| 894 | 958 |
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
| 895 |
- return srv.(RaftServer).ResolveAddress(ctx, req.(*ResolveAddressRequest)) |
|
| 959 |
+ return srv.(RaftMembershipServer).Leave(ctx, req.(*LeaveRequest)) |
|
| 896 | 960 |
} |
| 897 | 961 |
return interceptor(ctx, in, info, handler) |
| 898 | 962 |
} |
| 899 | 963 |
|
| 900 |
-var _Raft_serviceDesc = grpc.ServiceDesc{
|
|
| 901 |
- ServiceName: "docker.swarmkit.v1.Raft", |
|
| 902 |
- HandlerType: (*RaftServer)(nil), |
|
| 964 |
+var _RaftMembership_serviceDesc = grpc.ServiceDesc{
|
|
| 965 |
+ ServiceName: "docker.swarmkit.v1.RaftMembership", |
|
| 966 |
+ HandlerType: (*RaftMembershipServer)(nil), |
|
| 903 | 967 |
Methods: []grpc.MethodDesc{
|
| 904 | 968 |
{
|
| 905 | 969 |
MethodName: "Join", |
| 906 |
- Handler: _Raft_Join_Handler, |
|
| 970 |
+ Handler: _RaftMembership_Join_Handler, |
|
| 907 | 971 |
}, |
| 908 | 972 |
{
|
| 909 | 973 |
MethodName: "Leave", |
| 910 |
- Handler: _Raft_Leave_Handler, |
|
| 911 |
- }, |
|
| 912 |
- {
|
|
| 913 |
- MethodName: "ProcessRaftMessage", |
|
| 914 |
- Handler: _Raft_ProcessRaftMessage_Handler, |
|
| 915 |
- }, |
|
| 916 |
- {
|
|
| 917 |
- MethodName: "ResolveAddress", |
|
| 918 |
- Handler: _Raft_ResolveAddress_Handler, |
|
| 974 |
+ Handler: _RaftMembership_Leave_Handler, |
|
| 919 | 975 |
}, |
| 920 | 976 |
}, |
| 921 | 977 |
Streams: []grpc.StreamDesc{},
|
| 922 | 978 |
} |
| 923 | 979 |
|
| 980 |
+func (m *RaftMember) Marshal() (data []byte, err error) {
|
|
| 981 |
+ size := m.Size() |
|
| 982 |
+ data = make([]byte, size) |
|
| 983 |
+ n, err := m.MarshalTo(data) |
|
| 984 |
+ if err != nil {
|
|
| 985 |
+ return nil, err |
|
| 986 |
+ } |
|
| 987 |
+ return data[:n], nil |
|
| 988 |
+} |
|
| 989 |
+ |
|
| 990 |
+func (m *RaftMember) MarshalTo(data []byte) (int, error) {
|
|
| 991 |
+ var i int |
|
| 992 |
+ _ = i |
|
| 993 |
+ var l int |
|
| 994 |
+ _ = l |
|
| 995 |
+ if m.RaftID != 0 {
|
|
| 996 |
+ data[i] = 0x8 |
|
| 997 |
+ i++ |
|
| 998 |
+ i = encodeVarintRaft(data, i, uint64(m.RaftID)) |
|
| 999 |
+ } |
|
| 1000 |
+ if len(m.NodeID) > 0 {
|
|
| 1001 |
+ data[i] = 0x12 |
|
| 1002 |
+ i++ |
|
| 1003 |
+ i = encodeVarintRaft(data, i, uint64(len(m.NodeID))) |
|
| 1004 |
+ i += copy(data[i:], m.NodeID) |
|
| 1005 |
+ } |
|
| 1006 |
+ if len(m.Addr) > 0 {
|
|
| 1007 |
+ data[i] = 0x1a |
|
| 1008 |
+ i++ |
|
| 1009 |
+ i = encodeVarintRaft(data, i, uint64(len(m.Addr))) |
|
| 1010 |
+ i += copy(data[i:], m.Addr) |
|
| 1011 |
+ } |
|
| 1012 |
+ data[i] = 0x22 |
|
| 1013 |
+ i++ |
|
| 1014 |
+ i = encodeVarintRaft(data, i, uint64(m.Status.Size())) |
|
| 1015 |
+ n1, err := m.Status.MarshalTo(data[i:]) |
|
| 1016 |
+ if err != nil {
|
|
| 1017 |
+ return 0, err |
|
| 1018 |
+ } |
|
| 1019 |
+ i += n1 |
|
| 1020 |
+ return i, nil |
|
| 1021 |
+} |
|
| 1022 |
+ |
|
| 924 | 1023 |
func (m *JoinRequest) Marshal() (data []byte, err error) {
|
| 925 | 1024 |
size := m.Size() |
| 926 | 1025 |
data = make([]byte, size) |
| ... | ... |
@@ -960,9 +1094,14 @@ func (m *JoinResponse) MarshalTo(data []byte) (int, error) {
|
| 960 | 960 |
_ = i |
| 961 | 961 |
var l int |
| 962 | 962 |
_ = l |
| 963 |
+ if m.RaftID != 0 {
|
|
| 964 |
+ data[i] = 0x8 |
|
| 965 |
+ i++ |
|
| 966 |
+ i = encodeVarintRaft(data, i, uint64(m.RaftID)) |
|
| 967 |
+ } |
|
| 963 | 968 |
if len(m.Members) > 0 {
|
| 964 | 969 |
for _, msg := range m.Members {
|
| 965 |
- data[i] = 0xa |
|
| 970 |
+ data[i] = 0x12 |
|
| 966 | 971 |
i++ |
| 967 | 972 |
i = encodeVarintRaft(data, i, uint64(msg.Size())) |
| 968 | 973 |
n, err := msg.MarshalTo(data[i:]) |
| ... | ... |
@@ -994,11 +1133,11 @@ func (m *LeaveRequest) MarshalTo(data []byte) (int, error) {
|
| 994 | 994 |
data[i] = 0xa |
| 995 | 995 |
i++ |
| 996 | 996 |
i = encodeVarintRaft(data, i, uint64(m.Node.Size())) |
| 997 |
- n1, err := m.Node.MarshalTo(data[i:]) |
|
| 997 |
+ n2, err := m.Node.MarshalTo(data[i:]) |
|
| 998 | 998 |
if err != nil {
|
| 999 | 999 |
return 0, err |
| 1000 | 1000 |
} |
| 1001 |
- i += n1 |
|
| 1001 |
+ i += n2 |
|
| 1002 | 1002 |
} |
| 1003 | 1003 |
return i, nil |
| 1004 | 1004 |
} |
| ... | ... |
@@ -1040,11 +1179,11 @@ func (m *ProcessRaftMessageRequest) MarshalTo(data []byte) (int, error) {
|
| 1040 | 1040 |
data[i] = 0xa |
| 1041 | 1041 |
i++ |
| 1042 | 1042 |
i = encodeVarintRaft(data, i, uint64(m.Message.Size())) |
| 1043 |
- n2, err := m.Message.MarshalTo(data[i:]) |
|
| 1043 |
+ n3, err := m.Message.MarshalTo(data[i:]) |
|
| 1044 | 1044 |
if err != nil {
|
| 1045 | 1045 |
return 0, err |
| 1046 | 1046 |
} |
| 1047 |
- i += n2 |
|
| 1047 |
+ i += n3 |
|
| 1048 | 1048 |
} |
| 1049 | 1049 |
return i, nil |
| 1050 | 1050 |
} |
| ... | ... |
@@ -1170,11 +1309,11 @@ func (m *StoreAction) MarshalTo(data []byte) (int, error) {
|
| 1170 | 1170 |
i = encodeVarintRaft(data, i, uint64(m.Action)) |
| 1171 | 1171 |
} |
| 1172 | 1172 |
if m.Target != nil {
|
| 1173 |
- nn3, err := m.Target.MarshalTo(data[i:]) |
|
| 1173 |
+ nn4, err := m.Target.MarshalTo(data[i:]) |
|
| 1174 | 1174 |
if err != nil {
|
| 1175 | 1175 |
return 0, err |
| 1176 | 1176 |
} |
| 1177 |
- i += nn3 |
|
| 1177 |
+ i += nn4 |
|
| 1178 | 1178 |
} |
| 1179 | 1179 |
return i, nil |
| 1180 | 1180 |
} |
| ... | ... |
@@ -1185,11 +1324,11 @@ func (m *StoreAction_Node) MarshalTo(data []byte) (int, error) {
|
| 1185 | 1185 |
data[i] = 0x12 |
| 1186 | 1186 |
i++ |
| 1187 | 1187 |
i = encodeVarintRaft(data, i, uint64(m.Node.Size())) |
| 1188 |
- n4, err := m.Node.MarshalTo(data[i:]) |
|
| 1188 |
+ n5, err := m.Node.MarshalTo(data[i:]) |
|
| 1189 | 1189 |
if err != nil {
|
| 1190 | 1190 |
return 0, err |
| 1191 | 1191 |
} |
| 1192 |
- i += n4 |
|
| 1192 |
+ i += n5 |
|
| 1193 | 1193 |
} |
| 1194 | 1194 |
return i, nil |
| 1195 | 1195 |
} |
| ... | ... |
@@ -1199,11 +1338,11 @@ func (m *StoreAction_Service) MarshalTo(data []byte) (int, error) {
|
| 1199 | 1199 |
data[i] = 0x1a |
| 1200 | 1200 |
i++ |
| 1201 | 1201 |
i = encodeVarintRaft(data, i, uint64(m.Service.Size())) |
| 1202 |
- n5, err := m.Service.MarshalTo(data[i:]) |
|
| 1202 |
+ n6, err := m.Service.MarshalTo(data[i:]) |
|
| 1203 | 1203 |
if err != nil {
|
| 1204 | 1204 |
return 0, err |
| 1205 | 1205 |
} |
| 1206 |
- i += n5 |
|
| 1206 |
+ i += n6 |
|
| 1207 | 1207 |
} |
| 1208 | 1208 |
return i, nil |
| 1209 | 1209 |
} |
| ... | ... |
@@ -1213,11 +1352,11 @@ func (m *StoreAction_Task) MarshalTo(data []byte) (int, error) {
|
| 1213 | 1213 |
data[i] = 0x22 |
| 1214 | 1214 |
i++ |
| 1215 | 1215 |
i = encodeVarintRaft(data, i, uint64(m.Task.Size())) |
| 1216 |
- n6, err := m.Task.MarshalTo(data[i:]) |
|
| 1216 |
+ n7, err := m.Task.MarshalTo(data[i:]) |
|
| 1217 | 1217 |
if err != nil {
|
| 1218 | 1218 |
return 0, err |
| 1219 | 1219 |
} |
| 1220 |
- i += n6 |
|
| 1220 |
+ i += n7 |
|
| 1221 | 1221 |
} |
| 1222 | 1222 |
return i, nil |
| 1223 | 1223 |
} |
| ... | ... |
@@ -1227,11 +1366,11 @@ func (m *StoreAction_Network) MarshalTo(data []byte) (int, error) {
|
| 1227 | 1227 |
data[i] = 0x2a |
| 1228 | 1228 |
i++ |
| 1229 | 1229 |
i = encodeVarintRaft(data, i, uint64(m.Network.Size())) |
| 1230 |
- n7, err := m.Network.MarshalTo(data[i:]) |
|
| 1230 |
+ n8, err := m.Network.MarshalTo(data[i:]) |
|
| 1231 | 1231 |
if err != nil {
|
| 1232 | 1232 |
return 0, err |
| 1233 | 1233 |
} |
| 1234 |
- i += n7 |
|
| 1234 |
+ i += n8 |
|
| 1235 | 1235 |
} |
| 1236 | 1236 |
return i, nil |
| 1237 | 1237 |
} |
| ... | ... |
@@ -1241,11 +1380,11 @@ func (m *StoreAction_Cluster) MarshalTo(data []byte) (int, error) {
|
| 1241 | 1241 |
data[i] = 0x32 |
| 1242 | 1242 |
i++ |
| 1243 | 1243 |
i = encodeVarintRaft(data, i, uint64(m.Cluster.Size())) |
| 1244 |
- n8, err := m.Cluster.MarshalTo(data[i:]) |
|
| 1244 |
+ n9, err := m.Cluster.MarshalTo(data[i:]) |
|
| 1245 | 1245 |
if err != nil {
|
| 1246 | 1246 |
return 0, err |
| 1247 | 1247 |
} |
| 1248 |
- i += n8 |
|
| 1248 |
+ i += n9 |
|
| 1249 | 1249 |
} |
| 1250 | 1250 |
return i, nil |
| 1251 | 1251 |
} |
| ... | ... |
@@ -1322,10 +1461,10 @@ func (p *raftProxyRaftServer) runCtxMods(ctx context.Context) (context.Context, |
| 1322 | 1322 |
return ctx, nil |
| 1323 | 1323 |
} |
| 1324 | 1324 |
|
| 1325 |
-func (p *raftProxyRaftServer) Join(ctx context.Context, r *JoinRequest) (*JoinResponse, error) {
|
|
| 1325 |
+func (p *raftProxyRaftServer) ProcessRaftMessage(ctx context.Context, r *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) {
|
|
| 1326 | 1326 |
|
| 1327 | 1327 |
if p.cluster.IsLeader() {
|
| 1328 |
- return p.local.Join(ctx, r) |
|
| 1328 |
+ return p.local.ProcessRaftMessage(ctx, r) |
|
| 1329 | 1329 |
} |
| 1330 | 1330 |
ctx, err := p.runCtxMods(ctx) |
| 1331 | 1331 |
if err != nil {
|
| ... | ... |
@@ -1335,13 +1474,13 @@ func (p *raftProxyRaftServer) Join(ctx context.Context, r *JoinRequest) (*JoinRe |
| 1335 | 1335 |
if err != nil {
|
| 1336 | 1336 |
return nil, err |
| 1337 | 1337 |
} |
| 1338 |
- return NewRaftClient(conn).Join(ctx, r) |
|
| 1338 |
+ return NewRaftClient(conn).ProcessRaftMessage(ctx, r) |
|
| 1339 | 1339 |
} |
| 1340 | 1340 |
|
| 1341 |
-func (p *raftProxyRaftServer) Leave(ctx context.Context, r *LeaveRequest) (*LeaveResponse, error) {
|
|
| 1341 |
+func (p *raftProxyRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddressRequest) (*ResolveAddressResponse, error) {
|
|
| 1342 | 1342 |
|
| 1343 | 1343 |
if p.cluster.IsLeader() {
|
| 1344 |
- return p.local.Leave(ctx, r) |
|
| 1344 |
+ return p.local.ResolveAddress(ctx, r) |
|
| 1345 | 1345 |
} |
| 1346 | 1346 |
ctx, err := p.runCtxMods(ctx) |
| 1347 | 1347 |
if err != nil {
|
| ... | ... |
@@ -1351,13 +1490,58 @@ func (p *raftProxyRaftServer) Leave(ctx context.Context, r *LeaveRequest) (*Leav |
| 1351 | 1351 |
if err != nil {
|
| 1352 | 1352 |
return nil, err |
| 1353 | 1353 |
} |
| 1354 |
- return NewRaftClient(conn).Leave(ctx, r) |
|
| 1354 |
+ return NewRaftClient(conn).ResolveAddress(ctx, r) |
|
| 1355 | 1355 |
} |
| 1356 | 1356 |
|
| 1357 |
-func (p *raftProxyRaftServer) ProcessRaftMessage(ctx context.Context, r *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) {
|
|
| 1357 |
+type raftProxyRaftMembershipServer struct {
|
|
| 1358 |
+ local RaftMembershipServer |
|
| 1359 |
+ connSelector *raftpicker.ConnSelector |
|
| 1360 |
+ cluster raftpicker.RaftCluster |
|
| 1361 |
+ ctxMods []func(context.Context) (context.Context, error) |
|
| 1362 |
+} |
|
| 1363 |
+ |
|
| 1364 |
+func NewRaftProxyRaftMembershipServer(local RaftMembershipServer, connSelector *raftpicker.ConnSelector, cluster raftpicker.RaftCluster, ctxMod func(context.Context) (context.Context, error)) RaftMembershipServer {
|
|
| 1365 |
+ redirectChecker := func(ctx context.Context) (context.Context, error) {
|
|
| 1366 |
+ s, ok := transport.StreamFromContext(ctx) |
|
| 1367 |
+ if !ok {
|
|
| 1368 |
+ return ctx, grpc.Errorf(codes.InvalidArgument, "remote addr is not found in context") |
|
| 1369 |
+ } |
|
| 1370 |
+ addr := s.ServerTransport().RemoteAddr().String() |
|
| 1371 |
+ md, ok := metadata.FromContext(ctx) |
|
| 1372 |
+ if ok && len(md["redirect"]) != 0 {
|
|
| 1373 |
+ return ctx, grpc.Errorf(codes.ResourceExhausted, "more than one redirect to leader from: %s", md["redirect"]) |
|
| 1374 |
+ } |
|
| 1375 |
+ if !ok {
|
|
| 1376 |
+ md = metadata.New(map[string]string{})
|
|
| 1377 |
+ } |
|
| 1378 |
+ md["redirect"] = append(md["redirect"], addr) |
|
| 1379 |
+ return metadata.NewContext(ctx, md), nil |
|
| 1380 |
+ } |
|
| 1381 |
+ mods := []func(context.Context) (context.Context, error){redirectChecker}
|
|
| 1382 |
+ mods = append(mods, ctxMod) |
|
| 1383 |
+ |
|
| 1384 |
+ return &raftProxyRaftMembershipServer{
|
|
| 1385 |
+ local: local, |
|
| 1386 |
+ cluster: cluster, |
|
| 1387 |
+ connSelector: connSelector, |
|
| 1388 |
+ ctxMods: mods, |
|
| 1389 |
+ } |
|
| 1390 |
+} |
|
| 1391 |
+func (p *raftProxyRaftMembershipServer) runCtxMods(ctx context.Context) (context.Context, error) {
|
|
| 1392 |
+ var err error |
|
| 1393 |
+ for _, mod := range p.ctxMods {
|
|
| 1394 |
+ ctx, err = mod(ctx) |
|
| 1395 |
+ if err != nil {
|
|
| 1396 |
+ return ctx, err |
|
| 1397 |
+ } |
|
| 1398 |
+ } |
|
| 1399 |
+ return ctx, nil |
|
| 1400 |
+} |
|
| 1401 |
+ |
|
| 1402 |
+func (p *raftProxyRaftMembershipServer) Join(ctx context.Context, r *JoinRequest) (*JoinResponse, error) {
|
|
| 1358 | 1403 |
|
| 1359 | 1404 |
if p.cluster.IsLeader() {
|
| 1360 |
- return p.local.ProcessRaftMessage(ctx, r) |
|
| 1405 |
+ return p.local.Join(ctx, r) |
|
| 1361 | 1406 |
} |
| 1362 | 1407 |
ctx, err := p.runCtxMods(ctx) |
| 1363 | 1408 |
if err != nil {
|
| ... | ... |
@@ -1367,13 +1551,13 @@ func (p *raftProxyRaftServer) ProcessRaftMessage(ctx context.Context, r *Process |
| 1367 | 1367 |
if err != nil {
|
| 1368 | 1368 |
return nil, err |
| 1369 | 1369 |
} |
| 1370 |
- return NewRaftClient(conn).ProcessRaftMessage(ctx, r) |
|
| 1370 |
+ return NewRaftMembershipClient(conn).Join(ctx, r) |
|
| 1371 | 1371 |
} |
| 1372 | 1372 |
|
| 1373 |
-func (p *raftProxyRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddressRequest) (*ResolveAddressResponse, error) {
|
|
| 1373 |
+func (p *raftProxyRaftMembershipServer) Leave(ctx context.Context, r *LeaveRequest) (*LeaveResponse, error) {
|
|
| 1374 | 1374 |
|
| 1375 | 1375 |
if p.cluster.IsLeader() {
|
| 1376 |
- return p.local.ResolveAddress(ctx, r) |
|
| 1376 |
+ return p.local.Leave(ctx, r) |
|
| 1377 | 1377 |
} |
| 1378 | 1378 |
ctx, err := p.runCtxMods(ctx) |
| 1379 | 1379 |
if err != nil {
|
| ... | ... |
@@ -1383,7 +1567,26 @@ func (p *raftProxyRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddr |
| 1383 | 1383 |
if err != nil {
|
| 1384 | 1384 |
return nil, err |
| 1385 | 1385 |
} |
| 1386 |
- return NewRaftClient(conn).ResolveAddress(ctx, r) |
|
| 1386 |
+ return NewRaftMembershipClient(conn).Leave(ctx, r) |
|
| 1387 |
+} |
|
| 1388 |
+ |
|
| 1389 |
+func (m *RaftMember) Size() (n int) {
|
|
| 1390 |
+ var l int |
|
| 1391 |
+ _ = l |
|
| 1392 |
+ if m.RaftID != 0 {
|
|
| 1393 |
+ n += 1 + sovRaft(uint64(m.RaftID)) |
|
| 1394 |
+ } |
|
| 1395 |
+ l = len(m.NodeID) |
|
| 1396 |
+ if l > 0 {
|
|
| 1397 |
+ n += 1 + l + sovRaft(uint64(l)) |
|
| 1398 |
+ } |
|
| 1399 |
+ l = len(m.Addr) |
|
| 1400 |
+ if l > 0 {
|
|
| 1401 |
+ n += 1 + l + sovRaft(uint64(l)) |
|
| 1402 |
+ } |
|
| 1403 |
+ l = m.Status.Size() |
|
| 1404 |
+ n += 1 + l + sovRaft(uint64(l)) |
|
| 1405 |
+ return n |
|
| 1387 | 1406 |
} |
| 1388 | 1407 |
|
| 1389 | 1408 |
func (m *JoinRequest) Size() (n int) {
|
| ... | ... |
@@ -1399,6 +1602,9 @@ func (m *JoinRequest) Size() (n int) {
|
| 1399 | 1399 |
func (m *JoinResponse) Size() (n int) {
|
| 1400 | 1400 |
var l int |
| 1401 | 1401 |
_ = l |
| 1402 |
+ if m.RaftID != 0 {
|
|
| 1403 |
+ n += 1 + sovRaft(uint64(m.RaftID)) |
|
| 1404 |
+ } |
|
| 1402 | 1405 |
if len(m.Members) > 0 {
|
| 1403 | 1406 |
for _, e := range m.Members {
|
| 1404 | 1407 |
l = e.Size() |
| ... | ... |
@@ -1545,6 +1751,19 @@ func sovRaft(x uint64) (n int) {
|
| 1545 | 1545 |
func sozRaft(x uint64) (n int) {
|
| 1546 | 1546 |
return sovRaft(uint64((x << 1) ^ uint64((int64(x) >> 63)))) |
| 1547 | 1547 |
} |
| 1548 |
+func (this *RaftMember) String() string {
|
|
| 1549 |
+ if this == nil {
|
|
| 1550 |
+ return "nil" |
|
| 1551 |
+ } |
|
| 1552 |
+ s := strings.Join([]string{`&RaftMember{`,
|
|
| 1553 |
+ `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
|
|
| 1554 |
+ `NodeID:` + fmt.Sprintf("%v", this.NodeID) + `,`,
|
|
| 1555 |
+ `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
|
|
| 1556 |
+ `Status:` + strings.Replace(strings.Replace(this.Status.String(), "RaftMemberStatus", "RaftMemberStatus", 1), `&`, ``, 1) + `,`, |
|
| 1557 |
+ `}`, |
|
| 1558 |
+ }, "") |
|
| 1559 |
+ return s |
|
| 1560 |
+} |
|
| 1548 | 1561 |
func (this *JoinRequest) String() string {
|
| 1549 | 1562 |
if this == nil {
|
| 1550 | 1563 |
return "nil" |
| ... | ... |
@@ -1560,6 +1779,7 @@ func (this *JoinResponse) String() string {
|
| 1560 | 1560 |
return "nil" |
| 1561 | 1561 |
} |
| 1562 | 1562 |
s := strings.Join([]string{`&JoinResponse{`,
|
| 1563 |
+ `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
|
|
| 1563 | 1564 |
`Members:` + strings.Replace(fmt.Sprintf("%v", this.Members), "RaftMember", "RaftMember", 1) + `,`,
|
| 1564 | 1565 |
`}`, |
| 1565 | 1566 |
}, "") |
| ... | ... |
@@ -1703,6 +1923,163 @@ func valueToStringRaft(v interface{}) string {
|
| 1703 | 1703 |
pv := reflect.Indirect(rv).Interface() |
| 1704 | 1704 |
return fmt.Sprintf("*%v", pv)
|
| 1705 | 1705 |
} |
| 1706 |
+func (m *RaftMember) Unmarshal(data []byte) error {
|
|
| 1707 |
+ l := len(data) |
|
| 1708 |
+ iNdEx := 0 |
|
| 1709 |
+ for iNdEx < l {
|
|
| 1710 |
+ preIndex := iNdEx |
|
| 1711 |
+ var wire uint64 |
|
| 1712 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 1713 |
+ if shift >= 64 {
|
|
| 1714 |
+ return ErrIntOverflowRaft |
|
| 1715 |
+ } |
|
| 1716 |
+ if iNdEx >= l {
|
|
| 1717 |
+ return io.ErrUnexpectedEOF |
|
| 1718 |
+ } |
|
| 1719 |
+ b := data[iNdEx] |
|
| 1720 |
+ iNdEx++ |
|
| 1721 |
+ wire |= (uint64(b) & 0x7F) << shift |
|
| 1722 |
+ if b < 0x80 {
|
|
| 1723 |
+ break |
|
| 1724 |
+ } |
|
| 1725 |
+ } |
|
| 1726 |
+ fieldNum := int32(wire >> 3) |
|
| 1727 |
+ wireType := int(wire & 0x7) |
|
| 1728 |
+ if wireType == 4 {
|
|
| 1729 |
+ return fmt.Errorf("proto: RaftMember: wiretype end group for non-group")
|
|
| 1730 |
+ } |
|
| 1731 |
+ if fieldNum <= 0 {
|
|
| 1732 |
+ return fmt.Errorf("proto: RaftMember: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
| 1733 |
+ } |
|
| 1734 |
+ switch fieldNum {
|
|
| 1735 |
+ case 1: |
|
| 1736 |
+ if wireType != 0 {
|
|
| 1737 |
+ return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
|
|
| 1738 |
+ } |
|
| 1739 |
+ m.RaftID = 0 |
|
| 1740 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 1741 |
+ if shift >= 64 {
|
|
| 1742 |
+ return ErrIntOverflowRaft |
|
| 1743 |
+ } |
|
| 1744 |
+ if iNdEx >= l {
|
|
| 1745 |
+ return io.ErrUnexpectedEOF |
|
| 1746 |
+ } |
|
| 1747 |
+ b := data[iNdEx] |
|
| 1748 |
+ iNdEx++ |
|
| 1749 |
+ m.RaftID |= (uint64(b) & 0x7F) << shift |
|
| 1750 |
+ if b < 0x80 {
|
|
| 1751 |
+ break |
|
| 1752 |
+ } |
|
| 1753 |
+ } |
|
| 1754 |
+ case 2: |
|
| 1755 |
+ if wireType != 2 {
|
|
| 1756 |
+ return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
|
|
| 1757 |
+ } |
|
| 1758 |
+ var stringLen uint64 |
|
| 1759 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 1760 |
+ if shift >= 64 {
|
|
| 1761 |
+ return ErrIntOverflowRaft |
|
| 1762 |
+ } |
|
| 1763 |
+ if iNdEx >= l {
|
|
| 1764 |
+ return io.ErrUnexpectedEOF |
|
| 1765 |
+ } |
|
| 1766 |
+ b := data[iNdEx] |
|
| 1767 |
+ iNdEx++ |
|
| 1768 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
| 1769 |
+ if b < 0x80 {
|
|
| 1770 |
+ break |
|
| 1771 |
+ } |
|
| 1772 |
+ } |
|
| 1773 |
+ intStringLen := int(stringLen) |
|
| 1774 |
+ if intStringLen < 0 {
|
|
| 1775 |
+ return ErrInvalidLengthRaft |
|
| 1776 |
+ } |
|
| 1777 |
+ postIndex := iNdEx + intStringLen |
|
| 1778 |
+ if postIndex > l {
|
|
| 1779 |
+ return io.ErrUnexpectedEOF |
|
| 1780 |
+ } |
|
| 1781 |
+ m.NodeID = string(data[iNdEx:postIndex]) |
|
| 1782 |
+ iNdEx = postIndex |
|
| 1783 |
+ case 3: |
|
| 1784 |
+ if wireType != 2 {
|
|
| 1785 |
+ return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
|
|
| 1786 |
+ } |
|
| 1787 |
+ var stringLen uint64 |
|
| 1788 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 1789 |
+ if shift >= 64 {
|
|
| 1790 |
+ return ErrIntOverflowRaft |
|
| 1791 |
+ } |
|
| 1792 |
+ if iNdEx >= l {
|
|
| 1793 |
+ return io.ErrUnexpectedEOF |
|
| 1794 |
+ } |
|
| 1795 |
+ b := data[iNdEx] |
|
| 1796 |
+ iNdEx++ |
|
| 1797 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
| 1798 |
+ if b < 0x80 {
|
|
| 1799 |
+ break |
|
| 1800 |
+ } |
|
| 1801 |
+ } |
|
| 1802 |
+ intStringLen := int(stringLen) |
|
| 1803 |
+ if intStringLen < 0 {
|
|
| 1804 |
+ return ErrInvalidLengthRaft |
|
| 1805 |
+ } |
|
| 1806 |
+ postIndex := iNdEx + intStringLen |
|
| 1807 |
+ if postIndex > l {
|
|
| 1808 |
+ return io.ErrUnexpectedEOF |
|
| 1809 |
+ } |
|
| 1810 |
+ m.Addr = string(data[iNdEx:postIndex]) |
|
| 1811 |
+ iNdEx = postIndex |
|
| 1812 |
+ case 4: |
|
| 1813 |
+ if wireType != 2 {
|
|
| 1814 |
+ return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
|
|
| 1815 |
+ } |
|
| 1816 |
+ var msglen int |
|
| 1817 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 1818 |
+ if shift >= 64 {
|
|
| 1819 |
+ return ErrIntOverflowRaft |
|
| 1820 |
+ } |
|
| 1821 |
+ if iNdEx >= l {
|
|
| 1822 |
+ return io.ErrUnexpectedEOF |
|
| 1823 |
+ } |
|
| 1824 |
+ b := data[iNdEx] |
|
| 1825 |
+ iNdEx++ |
|
| 1826 |
+ msglen |= (int(b) & 0x7F) << shift |
|
| 1827 |
+ if b < 0x80 {
|
|
| 1828 |
+ break |
|
| 1829 |
+ } |
|
| 1830 |
+ } |
|
| 1831 |
+ if msglen < 0 {
|
|
| 1832 |
+ return ErrInvalidLengthRaft |
|
| 1833 |
+ } |
|
| 1834 |
+ postIndex := iNdEx + msglen |
|
| 1835 |
+ if postIndex > l {
|
|
| 1836 |
+ return io.ErrUnexpectedEOF |
|
| 1837 |
+ } |
|
| 1838 |
+ if err := m.Status.Unmarshal(data[iNdEx:postIndex]); err != nil {
|
|
| 1839 |
+ return err |
|
| 1840 |
+ } |
|
| 1841 |
+ iNdEx = postIndex |
|
| 1842 |
+ default: |
|
| 1843 |
+ iNdEx = preIndex |
|
| 1844 |
+ skippy, err := skipRaft(data[iNdEx:]) |
|
| 1845 |
+ if err != nil {
|
|
| 1846 |
+ return err |
|
| 1847 |
+ } |
|
| 1848 |
+ if skippy < 0 {
|
|
| 1849 |
+ return ErrInvalidLengthRaft |
|
| 1850 |
+ } |
|
| 1851 |
+ if (iNdEx + skippy) > l {
|
|
| 1852 |
+ return io.ErrUnexpectedEOF |
|
| 1853 |
+ } |
|
| 1854 |
+ iNdEx += skippy |
|
| 1855 |
+ } |
|
| 1856 |
+ } |
|
| 1857 |
+ |
|
| 1858 |
+ if iNdEx > l {
|
|
| 1859 |
+ return io.ErrUnexpectedEOF |
|
| 1860 |
+ } |
|
| 1861 |
+ return nil |
|
| 1862 |
+} |
|
| 1706 | 1863 |
func (m *JoinRequest) Unmarshal(data []byte) error {
|
| 1707 | 1864 |
l := len(data) |
| 1708 | 1865 |
iNdEx := 0 |
| ... | ... |
@@ -1812,6 +2189,25 @@ func (m *JoinResponse) Unmarshal(data []byte) error {
|
| 1812 | 1812 |
} |
| 1813 | 1813 |
switch fieldNum {
|
| 1814 | 1814 |
case 1: |
| 1815 |
+ if wireType != 0 {
|
|
| 1816 |
+ return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
|
|
| 1817 |
+ } |
|
| 1818 |
+ m.RaftID = 0 |
|
| 1819 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 1820 |
+ if shift >= 64 {
|
|
| 1821 |
+ return ErrIntOverflowRaft |
|
| 1822 |
+ } |
|
| 1823 |
+ if iNdEx >= l {
|
|
| 1824 |
+ return io.ErrUnexpectedEOF |
|
| 1825 |
+ } |
|
| 1826 |
+ b := data[iNdEx] |
|
| 1827 |
+ iNdEx++ |
|
| 1828 |
+ m.RaftID |= (uint64(b) & 0x7F) << shift |
|
| 1829 |
+ if b < 0x80 {
|
|
| 1830 |
+ break |
|
| 1831 |
+ } |
|
| 1832 |
+ } |
|
| 1833 |
+ case 2: |
|
| 1815 | 1834 |
if wireType != 2 {
|
| 1816 | 1835 |
return fmt.Errorf("proto: wrong wireType = %d for field Members", wireType)
|
| 1817 | 1836 |
} |
| ... | ... |
@@ -2712,53 +3108,58 @@ var ( |
| 2712 | 2712 |
) |
| 2713 | 2713 |
|
| 2714 | 2714 |
var fileDescriptorRaft = []byte{
|
| 2715 |
- // 757 bytes of a gzipped FileDescriptorProto |
|
| 2716 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x95, 0xcf, 0x52, 0xd3, 0x40, |
|
| 2717 |
- 0x1c, 0xc7, 0xfb, 0x27, 0xb4, 0xba, 0xe5, 0xdf, 0x2c, 0x82, 0x25, 0x32, 0x05, 0xc2, 0x41, 0x60, |
|
| 2718 |
- 0x24, 0x1d, 0xeb, 0x41, 0x47, 0xbd, 0xb4, 0xa5, 0x33, 0x54, 0xa0, 0x65, 0x42, 0xab, 0xdc, 0x30, |
|
| 2719 |
- 0x4d, 0x96, 0x1a, 0xdb, 0x66, 0x6b, 0x76, 0x5b, 0xc6, 0x8b, 0xc3, 0xd1, 0xe1, 0x05, 0xf4, 0xe2, |
|
| 2720 |
- 0x49, 0xcf, 0x3e, 0x80, 0x4f, 0xc0, 0x78, 0xf2, 0xe8, 0x78, 0x50, 0xe1, 0x01, 0xd4, 0x47, 0x70, |
|
| 2721 |
- 0x77, 0x93, 0x20, 0x96, 0xb4, 0x70, 0xd8, 0x76, 0xbb, 0xfb, 0xf9, 0x7e, 0xbf, 0x9b, 0xdd, 0xec, |
|
| 2722 |
- 0xaf, 0x00, 0x38, 0xfa, 0x1e, 0x55, 0xdb, 0x0e, 0xa6, 0x18, 0x42, 0x13, 0x1b, 0x0d, 0xe4, 0xa8, |
|
| 2723 |
- 0x64, 0x5f, 0x77, 0x5a, 0x0d, 0x8b, 0xaa, 0xdd, 0xdb, 0xf2, 0x08, 0xae, 0x3d, 0x47, 0x06, 0x25, |
|
| 2724 |
- 0x2e, 0x22, 0x27, 0xe8, 0xcb, 0x36, 0xf2, 0x7f, 0xac, 0xd4, 0x2d, 0xfa, 0xac, 0x53, 0x53, 0x0d, |
|
| 2725 |
- 0xdc, 0x4a, 0x1b, 0xd8, 0x41, 0x98, 0xa4, 0x11, 0x35, 0xcc, 0x34, 0xb7, 0x14, 0x1f, 0xed, 0x5a, |
|
| 2726 |
- 0xfa, 0x9f, 0xbd, 0x7c, 0xad, 0x8e, 0xeb, 0x58, 0x74, 0xd3, 0xbc, 0xe7, 0x8d, 0x4e, 0xb4, 0x9b, |
|
| 2727 |
- 0x9d, 0xba, 0x65, 0xa7, 0xdd, 0x2f, 0x77, 0x50, 0x99, 0x07, 0x89, 0x47, 0xd8, 0xb2, 0x35, 0xf4, |
|
| 2728 |
- 0xa2, 0x83, 0x08, 0x85, 0x10, 0x48, 0xba, 0x69, 0x3a, 0xc9, 0xf0, 0x5c, 0x78, 0xf1, 0xaa, 0x26, |
|
| 2729 |
- 0xfa, 0xca, 0x1a, 0x18, 0x76, 0x11, 0xd2, 0xc6, 0x36, 0x41, 0xf0, 0x1e, 0x88, 0xb7, 0x50, 0xab, |
|
| 2730 |
- 0x86, 0x1c, 0xc2, 0xb0, 0xe8, 0x62, 0x22, 0x93, 0x52, 0xcf, 0x3f, 0x8e, 0xaa, 0xb1, 0xe5, 0x6c, |
|
| 2731 |
- 0x0a, 0x4c, 0xf3, 0x71, 0x25, 0x07, 0x86, 0x37, 0x90, 0xde, 0x45, 0x7e, 0x5a, 0x06, 0x48, 0x36, |
|
| 2732 |
- 0x36, 0x91, 0x48, 0xbb, 0xd8, 0x46, 0xb0, 0xca, 0x18, 0x18, 0xf1, 0x3c, 0xdc, 0xe5, 0x28, 0x1b, |
|
| 2733 |
- 0x60, 0x7a, 0xcb, 0xc1, 0x06, 0x22, 0xc4, 0x65, 0x09, 0xd1, 0xeb, 0xa7, 0x09, 0x4b, 0x7c, 0xad, |
|
| 2734 |
- 0x62, 0xc4, 0x0b, 0x19, 0x53, 0xdd, 0xed, 0x52, 0x7d, 0xd0, 0x9f, 0xbf, 0x2f, 0x1d, 0xbc, 0x51, |
|
| 2735 |
- 0x42, 0xca, 0x0c, 0x90, 0x83, 0xdc, 0xbc, 0xac, 0x87, 0x60, 0x92, 0xf5, 0x71, 0xb3, 0x8b, 0xb2, |
|
| 2736 |
- 0x6c, 0x67, 0x38, 0xe4, 0xe5, 0x2c, 0x80, 0x38, 0xf7, 0xdd, 0xb5, 0x4c, 0x91, 0x23, 0xe5, 0xc0, |
|
| 2737 |
- 0xc9, 0xf7, 0xd9, 0x18, 0xb7, 0x28, 0xae, 0x6a, 0x31, 0x3e, 0x55, 0x34, 0x95, 0x5b, 0x60, 0xaa, |
|
| 2738 |
- 0x57, 0xed, 0x6d, 0x69, 0xd0, 0xb6, 0xef, 0x81, 0x89, 0xa2, 0x4d, 0x91, 0x63, 0xeb, 0x4d, 0xee, |
|
| 2739 |
- 0xe3, 0x27, 0x4d, 0x81, 0xc8, 0x69, 0x48, 0x8c, 0x85, 0x44, 0x58, 0x00, 0x1b, 0x81, 0x77, 0x41, |
|
| 2740 |
- 0x4c, 0x37, 0xa8, 0x85, 0xed, 0x64, 0x44, 0x1c, 0xca, 0x6c, 0xd0, 0x6e, 0x6e, 0x53, 0xf6, 0xf2, |
|
| 2741 |
- 0x64, 0x05, 0xa6, 0x79, 0xb8, 0xf2, 0x23, 0x02, 0x12, 0x67, 0xc6, 0xe1, 0x83, 0x53, 0x23, 0x1e, |
|
| 2742 |
- 0x32, 0x9a, 0x59, 0xb8, 0xc0, 0x68, 0xdd, 0xb2, 0x4d, 0xdf, 0x0c, 0xaa, 0xde, 0x89, 0x46, 0xc4, |
|
| 2743 |
- 0x66, 0x27, 0x83, 0xa4, 0x25, 0x36, 0xbf, 0x16, 0x72, 0x4f, 0x93, 0xad, 0x3a, 0x4e, 0x90, 0xd3, |
|
| 2744 |
- 0xb5, 0x0c, 0x94, 0x8c, 0x0a, 0xc9, 0x8d, 0xc0, 0x34, 0x17, 0x61, 0x2a, 0x9f, 0xe6, 0x41, 0x54, |
|
| 2745 |
- 0x27, 0x8d, 0xa4, 0xd4, 0x3f, 0xa8, 0xc2, 0xe6, 0x79, 0x10, 0xe7, 0x78, 0x90, 0x8d, 0xe8, 0x3e, |
|
| 2746 |
- 0x76, 0x1a, 0xc9, 0xa1, 0xfe, 0x41, 0x25, 0x17, 0xe1, 0x41, 0x1e, 0xcd, 0x85, 0x46, 0xb3, 0x43, |
|
| 2747 |
- 0xd8, 0x41, 0x24, 0x63, 0xfd, 0x85, 0x79, 0x17, 0xe1, 0x42, 0x8f, 0xce, 0x5d, 0x01, 0x31, 0xaa, |
|
| 2748 |
- 0x3b, 0x75, 0x44, 0x97, 0x7f, 0x87, 0xc1, 0x58, 0xcf, 0x86, 0xc1, 0x9b, 0x20, 0x5e, 0x2d, 0xad, |
|
| 2749 |
- 0x97, 0xca, 0x4f, 0x4a, 0xe3, 0x21, 0x59, 0x3e, 0x7c, 0x37, 0x37, 0xd5, 0x43, 0x54, 0xed, 0x86, |
|
| 2750 |
- 0x8d, 0xf7, 0x6d, 0x76, 0x47, 0x26, 0xb6, 0x2b, 0x65, 0xad, 0xb0, 0x9b, 0xcd, 0x57, 0x8a, 0xe5, |
|
| 2751 |
- 0xd2, 0x6e, 0x5e, 0x2b, 0x64, 0x2b, 0x85, 0xf1, 0xb0, 0x3c, 0xcd, 0x44, 0x93, 0x3d, 0xa2, 0xbc, |
|
| 2752 |
- 0x83, 0x74, 0x8a, 0xce, 0x69, 0xaa, 0x5b, 0xab, 0x5c, 0x13, 0x09, 0xd4, 0x54, 0xdb, 0x66, 0x90, |
|
| 2753 |
- 0x46, 0x2b, 0x6c, 0x96, 0x1f, 0x17, 0xc6, 0xa3, 0x81, 0x1a, 0x0d, 0xb5, 0x70, 0x17, 0xc9, 0xd7, |
|
| 2754 |
- 0x5f, 0xbf, 0x4f, 0x85, 0x3e, 0x7d, 0x48, 0xf5, 0x3e, 0x5d, 0xe6, 0x5b, 0x14, 0x48, 0xfc, 0xa5, |
|
| 2755 |
- 0x85, 0x4f, 0x81, 0xc4, 0x6b, 0x07, 0x0c, 0x7c, 0x1b, 0xcf, 0x14, 0x1e, 0x79, 0xae, 0x3f, 0xe0, |
|
| 2756 |
- 0xdd, 0xbd, 0xc9, 0xcf, 0x1f, 0x7f, 0xbd, 0x8d, 0xb0, 0xeb, 0x2f, 0x88, 0x95, 0x96, 0x6e, 0xb3, |
|
| 2757 |
- 0x9b, 0xe9, 0x40, 0x03, 0x0c, 0x89, 0x7a, 0x00, 0x03, 0x1d, 0xce, 0x96, 0x1b, 0x79, 0x7e, 0x00, |
|
| 2758 |
- 0x31, 0x38, 0xe4, 0x30, 0x0c, 0xe0, 0xf9, 0xb2, 0x00, 0x57, 0x82, 0x0c, 0xfb, 0x16, 0x23, 0x59, |
|
| 2759 |
- 0xbd, 0x2c, 0x3e, 0x78, 0x31, 0xaf, 0xc0, 0xe8, 0xff, 0x65, 0x04, 0x2e, 0x05, 0x56, 0xce, 0xa0, |
|
| 2760 |
- 0x42, 0x25, 0x2f, 0x5f, 0x06, 0x1d, 0x98, 0x9f, 0x9b, 0x39, 0x3a, 0x4e, 0x85, 0xbe, 0xb2, 0xf6, |
|
| 2761 |
- 0xe7, 0x38, 0x15, 0x3e, 0x38, 0x49, 0x85, 0x8f, 0x58, 0xfb, 0xc2, 0xda, 0x4f, 0xd6, 0x76, 0xa2, |
|
| 2762 |
- 0x3b, 0x52, 0x2d, 0x26, 0xfe, 0x5b, 0xee, 0xfc, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xeb, 0xbf, 0x94, |
|
| 2763 |
- 0x02, 0xf3, 0x06, 0x00, 0x00, |
|
| 2715 |
+ // 833 bytes of a gzipped FileDescriptorProto |
|
| 2716 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x95, 0x4d, 0x53, 0xdb, 0x46, |
|
| 2717 |
+ 0x18, 0xc7, 0x2d, 0x59, 0xc8, 0xed, 0x9a, 0xb7, 0x59, 0x0a, 0x35, 0x2a, 0x63, 0x40, 0x74, 0xa6, |
|
| 2718 |
+ 0x85, 0x29, 0xf2, 0xd4, 0x3d, 0xb4, 0xd3, 0xf6, 0x62, 0x1b, 0xcf, 0xd4, 0x05, 0x6c, 0x46, 0xd8, |
|
| 2719 |
+ 0x2d, 0x37, 0x2a, 0x4b, 0x8b, 0x51, 0x6d, 0x6b, 0x5d, 0xed, 0xda, 0x4c, 0x2f, 0x19, 0x8e, 0x19, |
|
| 2720 |
+ 0xae, 0x39, 0x24, 0x97, 0x9c, 0x92, 0x33, 0x1f, 0x20, 0x9f, 0x80, 0xc9, 0x29, 0xb7, 0xe4, 0x44, |
|
| 2721 |
+ 0x02, 0x1f, 0x20, 0xc9, 0x47, 0xc8, 0xae, 0x5e, 0x0c, 0x31, 0xb2, 0xf1, 0x41, 0xb0, 0xec, 0xfe, |
|
| 2722 |
+ 0xfe, 0xcf, 0xff, 0xd9, 0x67, 0xf7, 0x59, 0x00, 0x70, 0x8d, 0x23, 0xaa, 0x75, 0x5c, 0x4c, 0x31, |
|
| 2723 |
+ 0x84, 0x16, 0x36, 0x9b, 0xc8, 0xd5, 0xc8, 0x89, 0xe1, 0xb6, 0x9b, 0x36, 0xd5, 0x7a, 0x3f, 0x2a, |
|
| 2724 |
+ 0x53, 0xb8, 0xfe, 0x2f, 0x32, 0x29, 0xf1, 0x11, 0x25, 0x49, 0xff, 0xef, 0xa0, 0xf0, 0x8f, 0xcd, |
|
| 2725 |
+ 0x86, 0x4d, 0x8f, 0xbb, 0x75, 0xcd, 0xc4, 0xed, 0x8c, 0x89, 0x5d, 0x84, 0x49, 0x06, 0x51, 0xd3, |
|
| 2726 |
+ 0xca, 0xf0, 0x90, 0xde, 0x8f, 0x4e, 0x3d, 0x73, 0x13, 0x5e, 0xf9, 0xaa, 0x81, 0x1b, 0xd8, 0x1b, |
|
| 2727 |
+ 0x66, 0xf8, 0x28, 0x98, 0x9d, 0xeb, 0xb4, 0xba, 0x0d, 0xdb, 0xc9, 0xf8, 0xbf, 0xfc, 0x49, 0xf5, |
|
| 2728 |
+ 0x5c, 0x00, 0x40, 0x67, 0xca, 0x5d, 0xd4, 0xae, 0x23, 0x17, 0xae, 0x81, 0x04, 0x8f, 0x73, 0x68, |
|
| 2729 |
+ 0x5b, 0x29, 0x61, 0x45, 0xf8, 0x5e, 0xca, 0x83, 0xeb, 0xcb, 0x65, 0x99, 0x03, 0xa5, 0x2d, 0x5d, |
|
| 2730 |
+ 0xe6, 0x4b, 0x25, 0x8b, 0x43, 0x0e, 0xb6, 0x10, 0x87, 0x44, 0x06, 0x7d, 0xe9, 0x43, 0x65, 0x36, |
|
| 2731 |
+ 0xc5, 0x21, 0xbe, 0xc4, 0x20, 0x08, 0x24, 0xc3, 0xb2, 0xdc, 0x54, 0x9c, 0x13, 0xba, 0x37, 0x86, |
|
| 2732 |
+ 0x79, 0x20, 0x13, 0x6a, 0xd0, 0x2e, 0x49, 0x49, 0x6c, 0x36, 0x99, 0xfd, 0x56, 0xbb, 0x5b, 0x07, |
|
| 2733 |
+ 0xed, 0x26, 0x9b, 0x7d, 0x8f, 0xcd, 0x4b, 0x17, 0x97, 0xcb, 0x31, 0x3d, 0x50, 0xaa, 0xab, 0x20, |
|
| 2734 |
+ 0xf9, 0x27, 0xb6, 0x1d, 0x1d, 0xfd, 0xd7, 0x45, 0x84, 0xf6, 0x6d, 0x84, 0x1b, 0x1b, 0xb5, 0x0d, |
|
| 2735 |
+ 0x26, 0x7d, 0x84, 0x74, 0xb0, 0x43, 0xd0, 0x78, 0x9b, 0xfa, 0x05, 0x24, 0xda, 0x9e, 0x2b, 0x61, |
|
| 2736 |
+ 0x9b, 0x8a, 0xb3, 0xe4, 0xd2, 0xa3, 0x93, 0xd3, 0x43, 0x5c, 0xcd, 0x83, 0xc9, 0x1d, 0x64, 0xf4, |
|
| 2737 |
+ 0x50, 0x98, 0x52, 0x16, 0x48, 0xbc, 0x06, 0x9e, 0xd7, 0xfd, 0x61, 0x3c, 0x56, 0x9d, 0x01, 0x53, |
|
| 2738 |
+ 0x41, 0x0c, 0x3f, 0x67, 0x75, 0x07, 0x2c, 0xee, 0xb9, 0xd8, 0x44, 0x84, 0xf8, 0x2c, 0x21, 0x46, |
|
| 2739 |
+ 0xa3, 0xef, 0xb0, 0xce, 0x73, 0xf5, 0x66, 0x02, 0x93, 0x19, 0xcd, 0xbf, 0x04, 0x5a, 0x08, 0x86, |
|
| 2740 |
+ 0xeb, 0xbf, 0x4a, 0xa7, 0x8f, 0xd5, 0x98, 0xba, 0x04, 0x94, 0xa8, 0x68, 0x81, 0xd7, 0xef, 0x60, |
|
| 2741 |
+ 0x9e, 0x8d, 0x71, 0xab, 0x87, 0x72, 0xac, 0x7c, 0x1c, 0x0a, 0x7c, 0xc6, 0x29, 0x9c, 0xfa, 0x03, |
|
| 2742 |
+ 0x58, 0x18, 0x54, 0x07, 0x75, 0x8f, 0x3a, 0x9b, 0x23, 0x30, 0x57, 0x72, 0x28, 0x72, 0x1d, 0xa3, |
|
| 2743 |
+ 0xc5, 0xe3, 0x84, 0x4e, 0x0b, 0x40, 0xec, 0x9b, 0xc8, 0xcc, 0x44, 0x64, 0x06, 0x6c, 0x06, 0xfe, |
|
| 2744 |
+ 0x0c, 0x64, 0xc3, 0xa4, 0x36, 0x76, 0x82, 0x43, 0x59, 0x8e, 0xaa, 0xe6, 0x3e, 0x65, 0x2d, 0x91, |
|
| 2745 |
+ 0xf3, 0x30, 0x3d, 0xc0, 0xd5, 0xb7, 0x22, 0x48, 0xde, 0x9a, 0x87, 0xbf, 0xf5, 0x03, 0x71, 0x93, |
|
| 2746 |
+ 0xe9, 0xec, 0xda, 0x3d, 0x81, 0xb6, 0x6d, 0xc7, 0x0a, 0x83, 0x41, 0x2d, 0x38, 0x51, 0xd1, 0x2b, |
|
| 2747 |
+ 0x76, 0x2a, 0x4a, 0xca, 0x6f, 0xff, 0x1f, 0x31, 0xff, 0x34, 0x59, 0xd6, 0x09, 0x82, 0xdc, 0x9e, |
|
| 2748 |
+ 0x6d, 0x22, 0xef, 0xfa, 0x27, 0xb3, 0xdf, 0x44, 0xba, 0xf9, 0x08, 0x53, 0x85, 0x34, 0x37, 0xa2, |
|
| 2749 |
+ 0x06, 0x69, 0x06, 0xed, 0x11, 0x69, 0x54, 0x65, 0xeb, 0xdc, 0x88, 0x73, 0xdc, 0xc8, 0x41, 0xf4, |
|
| 2750 |
+ 0x04, 0xbb, 0xcd, 0xd4, 0xc4, 0x70, 0xa3, 0xb2, 0x8f, 0x70, 0xa3, 0x80, 0xe6, 0x42, 0xb3, 0xd5, |
|
| 2751 |
+ 0x25, 0xec, 0x20, 0x52, 0xf2, 0x70, 0x61, 0xc1, 0x47, 0xb8, 0x30, 0xa0, 0xf3, 0x5f, 0x00, 0x99, |
|
| 2752 |
+ 0x1a, 0x6e, 0x03, 0xd1, 0x8d, 0x0f, 0x02, 0x98, 0x19, 0x28, 0x18, 0xfc, 0x0e, 0x24, 0x6a, 0xe5, |
|
| 2753 |
+ 0xed, 0x72, 0xe5, 0xef, 0xf2, 0x6c, 0x4c, 0x51, 0xce, 0x9e, 0xae, 0x2c, 0x0c, 0x10, 0x35, 0xa7, |
|
| 2754 |
+ 0xe9, 0xe0, 0x13, 0x87, 0xf5, 0xc8, 0xdc, 0x7e, 0xb5, 0xa2, 0x17, 0x0f, 0x73, 0x85, 0x6a, 0xa9, |
|
| 2755 |
+ 0x52, 0x3e, 0x2c, 0xe8, 0xc5, 0x5c, 0xb5, 0x38, 0x2b, 0x28, 0x8b, 0x4c, 0x34, 0x3f, 0x20, 0x2a, |
|
| 2756 |
+ 0xb8, 0xc8, 0xa0, 0xe8, 0x8e, 0xa6, 0xb6, 0xb7, 0xc5, 0x35, 0x62, 0xa4, 0xa6, 0xd6, 0xb1, 0xa2, |
|
| 2757 |
+ 0x34, 0x7a, 0x71, 0xb7, 0xf2, 0x57, 0x71, 0x36, 0x1e, 0xa9, 0xd1, 0x51, 0x1b, 0xf7, 0x90, 0xf2, |
|
| 2758 |
+ 0xf5, 0xc3, 0x67, 0xe9, 0xd8, 0x8b, 0xe7, 0xe9, 0xc1, 0xdd, 0x65, 0x1f, 0x89, 0x40, 0xe2, 0x97, |
|
| 2759 |
+ 0x16, 0x9e, 0x09, 0x00, 0xde, 0xed, 0x27, 0xb8, 0x19, 0x55, 0xc3, 0xa1, 0x5d, 0xac, 0x68, 0xe3, |
|
| 2760 |
+ 0xe2, 0x41, 0x9b, 0xce, 0xbf, 0x3c, 0x7f, 0xff, 0x44, 0x64, 0x2f, 0x85, 0xc7, 0x6f, 0xb6, 0x0d, |
|
| 2761 |
+ 0x87, 0xad, 0xba, 0xf0, 0x01, 0x98, 0xfe, 0xbc, 0xff, 0xe0, 0x7a, 0xe4, 0x93, 0x13, 0xd5, 0xe1, |
|
| 2762 |
+ 0xca, 0xc6, 0x38, 0xe8, 0x48, 0xff, 0xec, 0x6b, 0x81, 0x25, 0xd0, 0x7f, 0xcf, 0xc8, 0xb1, 0xdd, |
|
| 2763 |
+ 0x81, 0xff, 0x00, 0x89, 0x3f, 0xc0, 0x30, 0xb2, 0x5b, 0x6f, 0xbd, 0xde, 0xca, 0xca, 0x70, 0x60, |
|
| 2764 |
+ 0xf4, 0xa6, 0x4d, 0x30, 0xe1, 0xbd, 0x97, 0x30, 0x32, 0xc2, 0xed, 0xe7, 0x58, 0x59, 0x1d, 0x41, |
|
| 2765 |
+ 0x8c, 0x34, 0xc9, 0x2f, 0x5d, 0x5c, 0xa5, 0x63, 0x6f, 0xd8, 0xf7, 0xf1, 0x2a, 0x2d, 0x9c, 0x5e, |
|
| 2766 |
+ 0xa7, 0x85, 0x0b, 0xf6, 0xbd, 0x62, 0xdf, 0x3b, 0xf6, 0x1d, 0xc4, 0x0f, 0xa4, 0xba, 0xec, 0xfd, |
|
| 2767 |
+ 0x13, 0xfd, 0xe9, 0x53, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa4, 0xfb, 0x14, 0x74, 0xdc, 0x07, 0x00, |
|
| 2768 |
+ 0x00, |
|
| 2764 | 2769 |
} |
| ... | ... |
@@ -10,35 +10,56 @@ import weak "plugin/plugin.proto"; |
| 10 | 10 |
|
| 11 | 11 |
// Raft defines the RPC communication between raft nodes. |
| 12 | 12 |
service Raft {
|
| 13 |
- // Join adds a RaftMember to the raft cluster. |
|
| 14 |
- rpc Join(JoinRequest) returns (JoinResponse) {
|
|
| 13 |
+ // ProcessRaftMessage sends a raft message to be processed on a raft member, it is |
|
| 14 |
+ // called from the RaftMember willing to send a message to its destination ('To' field)
|
|
| 15 |
+ rpc ProcessRaftMessage(ProcessRaftMessageRequest) returns (ProcessRaftMessageResponse) {
|
|
| 15 | 16 |
option (docker.protobuf.plugin.tls_authorization) = { roles: "swarm-manager" };
|
| 16 | 17 |
}; |
| 17 | 18 |
|
| 18 |
- // Leave removes a RaftMember from the raft cluster. |
|
| 19 |
- rpc Leave(LeaveRequest) returns (LeaveResponse) {
|
|
| 19 |
+ // ResolveAddress returns the address where the node with the given ID can be reached. |
|
| 20 |
+ rpc ResolveAddress(ResolveAddressRequest) returns (ResolveAddressResponse) {
|
|
| 20 | 21 |
option (docker.protobuf.plugin.tls_authorization) = { roles: "swarm-manager" };
|
| 21 | 22 |
}; |
| 23 |
+} |
|
| 22 | 24 |
|
| 23 |
- // ProcessRaftMessage sends a raft message to be processed on a raft member, it is |
|
| 24 |
- // called from the RaftMember willing to send a message to its destination ('To' field)
|
|
| 25 |
- rpc ProcessRaftMessage(ProcessRaftMessageRequest) returns (ProcessRaftMessageResponse) {
|
|
| 25 |
+// RaftMembership defines RPCs for adding and removing members from the |
|
| 26 |
+// cluster. These RPCs must always run on the leader, so they are in a separate |
|
| 27 |
+// service to support the raft proxy. |
|
| 28 |
+service RaftMembership {
|
|
| 29 |
+ // Join adds a RaftMember to the raft cluster. |
|
| 30 |
+ rpc Join(JoinRequest) returns (JoinResponse) {
|
|
| 26 | 31 |
option (docker.protobuf.plugin.tls_authorization) = { roles: "swarm-manager" };
|
| 27 | 32 |
}; |
| 28 | 33 |
|
| 29 |
- // ResolveAddress returns the address where the node with the given ID can be reached. |
|
| 30 |
- rpc ResolveAddress(ResolveAddressRequest) returns (ResolveAddressResponse) {
|
|
| 34 |
+ // Leave removes a RaftMember from the raft cluster. |
|
| 35 |
+ rpc Leave(LeaveRequest) returns (LeaveResponse) {
|
|
| 31 | 36 |
option (docker.protobuf.plugin.tls_authorization) = { roles: "swarm-manager" };
|
| 32 | 37 |
}; |
| 33 | 38 |
} |
| 34 | 39 |
|
| 40 |
+message RaftMember {
|
|
| 41 |
+ // RaftID specifies the internal ID used by the manager in a raft context, it can never be modified |
|
| 42 |
+ // and is used only for information purposes |
|
| 43 |
+ uint64 raft_id = 1 [(gogoproto.customname) = "RaftID"]; |
|
| 44 |
+ |
|
| 45 |
+ // NodeID is the node's ID. |
|
| 46 |
+ string node_id = 2 [(gogoproto.customname) = "NodeID"]; |
|
| 47 |
+ |
|
| 48 |
+ // Addr specifies the address of the member |
|
| 49 |
+ string addr = 3; |
|
| 50 |
+ |
|
| 51 |
+ // Status provides the current status of the manager from the perspective of another manager. |
|
| 52 |
+ RaftMemberStatus status = 4 [(gogoproto.nullable) = false]; |
|
| 53 |
+} |
|
| 54 |
+ |
|
| 35 | 55 |
message JoinRequest {
|
| 36 | 56 |
// Addr specifies the address of the member |
| 37 | 57 |
string addr = 1; |
| 38 | 58 |
} |
| 39 | 59 |
|
| 40 | 60 |
message JoinResponse {
|
| 41 |
- repeated RaftMember members = 1; |
|
| 61 |
+ uint64 raft_id = 1 [(gogoproto.customname) = "RaftID"]; |
|
| 62 |
+ repeated RaftMember members = 2; |
|
| 42 | 63 |
} |
| 43 | 64 |
|
| 44 | 65 |
message LeaveRequest {
|
| ... | ... |
@@ -1086,30 +1086,30 @@ var ( |
| 1086 | 1086 |
) |
| 1087 | 1087 |
|
| 1088 | 1088 |
var fileDescriptorSnapshot = []byte{
|
| 1089 |
- // 387 bytes of a gzipped FileDescriptorProto |
|
| 1089 |
+ // 386 bytes of a gzipped FileDescriptorProto |
|
| 1090 | 1090 |
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x92, 0xbf, 0x4e, 0xf3, 0x30, |
| 1091 |
- 0x14, 0xc5, 0x9b, 0xf4, 0x4f, 0x2a, 0x57, 0xed, 0xf7, 0x61, 0x31, 0x44, 0x05, 0x05, 0x08, 0x0c, |
|
| 1092 |
- 0x9d, 0x02, 0x94, 0x01, 0x16, 0x18, 0xca, 0xc4, 0x40, 0x07, 0x17, 0x55, 0xac, 0x69, 0x6a, 0xda, |
|
| 1093 |
- 0x50, 0x12, 0x47, 0xb6, 0x49, 0xc5, 0xc6, 0x73, 0xf0, 0x44, 0x1d, 0x19, 0x99, 0x10, 0x65, 0x61, |
|
| 1094 |
- 0xe5, 0x11, 0xb0, 0xe3, 0x24, 0xaa, 0x44, 0xca, 0x70, 0x25, 0xdb, 0xfa, 0x9d, 0x73, 0x6e, 0x6e, |
|
| 1095 |
- 0x2e, 0x68, 0xb1, 0xd0, 0x8d, 0xd8, 0x94, 0x70, 0x27, 0xa2, 0x84, 0x13, 0x08, 0xc7, 0xc4, 0x9b, |
|
| 1096 |
- 0x61, 0xea, 0xb0, 0xb9, 0x4b, 0x83, 0x99, 0xcf, 0x9d, 0xf8, 0xb8, 0xdd, 0x24, 0xa3, 0x7b, 0xec, |
|
| 1097 |
- 0x71, 0xa6, 0x90, 0x76, 0x83, 0x3f, 0x45, 0x38, 0xbb, 0x6c, 0x4e, 0xc8, 0x84, 0x24, 0xc7, 0x43, |
|
| 1098 |
- 0x79, 0x52, 0xaf, 0xf6, 0x8b, 0x0e, 0x9a, 0x03, 0x4e, 0x28, 0x1e, 0xa4, 0xee, 0xd0, 0x01, 0xd5, |
|
| 1099 |
- 0x90, 0x8c, 0x31, 0x33, 0xb5, 0xdd, 0x72, 0xa7, 0xd1, 0x35, 0x9d, 0xdf, 0x39, 0x4e, 0x5f, 0x00, |
|
| 1100 |
- 0x48, 0x61, 0xf0, 0x14, 0xd4, 0x19, 0xa6, 0xb1, 0xef, 0x09, 0x89, 0x9e, 0x48, 0xb6, 0x8a, 0x24, |
|
| 1101 |
- 0x03, 0xc5, 0xa0, 0x1c, 0x96, 0xc2, 0x10, 0xf3, 0x39, 0xa1, 0x33, 0x66, 0x96, 0xd7, 0x0b, 0xfb, |
|
| 1102 |
- 0x8a, 0x41, 0x39, 0x2c, 0x3b, 0xe4, 0x2e, 0x13, 0xaa, 0xca, 0xfa, 0x0e, 0x6f, 0x04, 0x80, 0x14, |
|
| 1103 |
- 0x26, 0x83, 0xbc, 0x87, 0x47, 0xc6, 0x31, 0x65, 0x66, 0x75, 0x7d, 0xd0, 0xa5, 0x62, 0x50, 0x0e, |
|
| 1104 |
- 0xdb, 0x18, 0xfc, 0x4b, 0x1f, 0xf3, 0xe9, 0x9c, 0x01, 0x23, 0xc0, 0xc1, 0x48, 0x5a, 0xa9, 0xf9, |
|
| 1105 |
- 0x58, 0x45, 0x56, 0xc8, 0xbd, 0xe3, 0xd7, 0x09, 0x86, 0x32, 0x1c, 0x9a, 0xc0, 0xa0, 0x38, 0x20, |
|
| 1106 |
- 0x31, 0x1e, 0x27, 0x63, 0xaa, 0xa0, 0xec, 0x6a, 0x7f, 0x69, 0xa0, 0x9e, 0x07, 0x5c, 0x00, 0x23, |
|
| 1107 |
- 0x16, 0xb8, 0x4f, 0x42, 0x11, 0xa0, 0x75, 0x5a, 0xdd, 0x83, 0xc2, 0x69, 0x66, 0xbb, 0x30, 0x54, |
|
| 1108 |
- 0x2c, 0xca, 0x44, 0xf0, 0x0a, 0x80, 0x34, 0x71, 0xea, 0x47, 0x22, 0x49, 0x13, 0x3d, 0xee, 0xff, |
|
| 1109 |
- 0xf1, 0xb9, 0x99, 0x53, 0xaf, 0xb2, 0x78, 0xdf, 0x29, 0xa1, 0x15, 0x31, 0x3c, 0x07, 0x55, 0x26, |
|
| 1110 |
- 0x57, 0x43, 0xfc, 0x1d, 0xe9, 0xb2, 0x57, 0xd8, 0xc8, 0xea, 0xee, 0xa4, 0x1e, 0x4a, 0x65, 0x6f, |
|
| 1111 |
- 0x00, 0x23, 0xed, 0x0e, 0xd6, 0x80, 0x3e, 0x3c, 0xfa, 0x5f, 0xea, 0x6d, 0x2f, 0x96, 0x56, 0xe9, |
|
| 1112 |
- 0x4d, 0xd4, 0xf7, 0xd2, 0xd2, 0x9e, 0x3f, 0x2d, 0x6d, 0x21, 0xea, 0x55, 0xd4, 0x87, 0xa8, 0x5b, |
|
| 1113 |
- 0x7d, 0x54, 0x4b, 0x96, 0xf2, 0xe4, 0x27, 0x00, 0x00, 0xff, 0xff, 0x16, 0x1e, 0xaa, 0x44, 0xec, |
|
| 1114 |
- 0x02, 0x00, 0x00, |
|
| 1091 |
+ 0x14, 0xc5, 0x9b, 0xf4, 0x4f, 0xaa, 0xfb, 0xa9, 0xfd, 0xc0, 0x62, 0x88, 0x0a, 0x0a, 0x10, 0x18, |
|
| 1092 |
+ 0x3a, 0x05, 0x28, 0x03, 0x2c, 0x30, 0x94, 0x89, 0x81, 0x0e, 0x2e, 0xaa, 0x58, 0xd3, 0xd4, 0xb4, |
|
| 1093 |
+ 0xa1, 0x24, 0xae, 0x6c, 0x93, 0xae, 0x3c, 0x07, 0x4f, 0xd4, 0x91, 0x91, 0x09, 0x51, 0x16, 0x56, |
|
| 1094 |
+ 0x1e, 0x01, 0x27, 0x4e, 0xa2, 0x4a, 0xa4, 0x0c, 0x57, 0x72, 0xac, 0xdf, 0x39, 0xe7, 0xe6, 0xfa, |
|
| 1095 |
+ 0x42, 0x93, 0x87, 0xee, 0x8c, 0x4f, 0xa8, 0x70, 0x66, 0x8c, 0x0a, 0x8a, 0xd0, 0x88, 0x7a, 0x53, |
|
| 1096 |
+ 0xc2, 0x1c, 0x3e, 0x77, 0x59, 0x30, 0xf5, 0x85, 0x13, 0x9d, 0xb4, 0x1a, 0x74, 0xf8, 0x40, 0x3c, |
|
| 1097 |
+ 0xc1, 0x15, 0xd2, 0x02, 0xe6, 0xde, 0xa7, 0x78, 0x6b, 0x6b, 0x4c, 0xc7, 0x34, 0x39, 0x1e, 0xc5, |
|
| 1098 |
+ 0x27, 0x75, 0x6b, 0xbf, 0xe8, 0xd0, 0xe8, 0x0b, 0xca, 0x48, 0x3f, 0x35, 0x47, 0x0e, 0x54, 0x43, |
|
| 1099 |
+ 0x3a, 0x22, 0xdc, 0xd4, 0xf6, 0xca, 0xed, 0x7f, 0x1d, 0xd3, 0xf9, 0x1d, 0xe3, 0xf4, 0x24, 0x80, |
|
| 1100 |
+ 0x15, 0x86, 0xce, 0xa0, 0xce, 0x09, 0x8b, 0x7c, 0x4f, 0x4a, 0xf4, 0x44, 0xb2, 0x5d, 0x24, 0xe9, |
|
| 1101 |
+ 0x2b, 0x06, 0xe7, 0x70, 0x2c, 0x0c, 0x89, 0x98, 0x53, 0x36, 0xe5, 0x66, 0x79, 0xbd, 0xb0, 0xa7, |
|
| 1102 |
+ 0x18, 0x9c, 0xc3, 0x71, 0x87, 0xc2, 0xe5, 0x52, 0x55, 0x59, 0xdf, 0xe1, 0xad, 0x04, 0xb0, 0xc2, |
|
| 1103 |
+ 0xe2, 0x20, 0xef, 0xf1, 0x89, 0x0b, 0xc2, 0xb8, 0x59, 0x5d, 0x1f, 0x74, 0xa5, 0x18, 0x9c, 0xc3, |
|
| 1104 |
+ 0x36, 0x81, 0xff, 0xe9, 0x65, 0x3e, 0x9d, 0x73, 0x30, 0x02, 0x12, 0x0c, 0x63, 0x2b, 0x35, 0x1f, |
|
| 1105 |
+ 0xab, 0xc8, 0x0a, 0xcb, 0xb1, 0xdf, 0x24, 0x18, 0xce, 0x70, 0x64, 0x82, 0xc1, 0x48, 0x40, 0x23, |
|
| 1106 |
+ 0x32, 0x4a, 0xc6, 0x54, 0xc1, 0xd9, 0xa7, 0xfd, 0xa5, 0x41, 0x3d, 0x0f, 0xb8, 0x04, 0x23, 0x92, |
|
| 1107 |
+ 0xb8, 0x4f, 0x43, 0x19, 0xa0, 0xb5, 0x9b, 0x9d, 0xc3, 0xc2, 0x69, 0x66, 0xab, 0x30, 0x50, 0x2c, |
|
| 1108 |
+ 0xce, 0x44, 0xe8, 0x1a, 0x20, 0x4d, 0x9c, 0xf8, 0x33, 0x99, 0xa4, 0xc9, 0x1e, 0x0f, 0xfe, 0xf8, |
|
| 1109 |
+ 0xdd, 0xcc, 0xa9, 0x5b, 0x59, 0xbc, 0xef, 0x96, 0xf0, 0x8a, 0x18, 0x5d, 0x40, 0x95, 0xc7, 0xab, |
|
| 1110 |
+ 0x21, 0x5f, 0x27, 0x76, 0xd9, 0x2f, 0x6c, 0x64, 0x75, 0x77, 0x52, 0x0f, 0xa5, 0xb2, 0x37, 0xc1, |
|
| 1111 |
+ 0x48, 0xbb, 0x43, 0x35, 0xd0, 0x07, 0xc7, 0x1b, 0xa5, 0xee, 0xce, 0x62, 0x69, 0x95, 0xde, 0x64, |
|
| 1112 |
+ 0x7d, 0x2f, 0x2d, 0xed, 0xf9, 0xd3, 0xd2, 0x16, 0xb2, 0x5e, 0x65, 0x7d, 0xc8, 0xba, 0xd3, 0x87, |
|
| 1113 |
+ 0xb5, 0x64, 0x29, 0x4f, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xd9, 0x1a, 0xd9, 0xeb, 0x02, |
|
| 1114 |
+ 0x00, 0x00, |
|
| 1115 | 1115 |
} |
| ... | ... |
@@ -405,6 +405,10 @@ type ContainerSpec struct {
|
| 405 | 405 |
// service definitions will used immutable references, either through tags |
| 406 | 406 |
// that don't change or verifiable digests. |
| 407 | 407 |
Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` |
| 408 |
+ // RegistryAuth is the registry auth token obtained from the client, required |
|
| 409 |
+ // to pull private images |
|
| 410 |
+ // TODO(nishanttotla): This field will later be deprecated |
|
| 411 |
+ RegistryAuth string `protobuf:"bytes,64,opt,name=registry_auth,json=registryAuth,proto3" json:"registry_auth,omitempty"` |
|
| 408 | 412 |
// Labels defines labels to be added to the container at creation time. If |
| 409 | 413 |
// collisions with system labels occur, these labels will be overridden. |
| 410 | 414 |
// |
| ... | ... |
@@ -625,6 +629,7 @@ func (m *ContainerSpec) Copy() *ContainerSpec {
|
| 625 | 625 |
|
| 626 | 626 |
o := &ContainerSpec{
|
| 627 | 627 |
Image: m.Image, |
| 628 |
+ RegistryAuth: m.RegistryAuth, |
|
| 628 | 629 |
Dir: m.Dir, |
| 629 | 630 |
User: m.User, |
| 630 | 631 |
StopGracePeriod: m.StopGracePeriod.Copy(), |
| ... | ... |
@@ -835,9 +840,10 @@ func (this *ContainerSpec) GoString() string {
|
| 835 | 835 |
if this == nil {
|
| 836 | 836 |
return "nil" |
| 837 | 837 |
} |
| 838 |
- s := make([]string, 0, 13) |
|
| 838 |
+ s := make([]string, 0, 14) |
|
| 839 | 839 |
s = append(s, "&api.ContainerSpec{")
|
| 840 | 840 |
s = append(s, "Image: "+fmt.Sprintf("%#v", this.Image)+",\n")
|
| 841 |
+ s = append(s, "RegistryAuth: "+fmt.Sprintf("%#v", this.RegistryAuth)+",\n")
|
|
| 841 | 842 |
keysForLabels := make([]string, 0, len(this.Labels)) |
| 842 | 843 |
for k, _ := range this.Labels {
|
| 843 | 844 |
keysForLabels = append(keysForLabels, k) |
| ... | ... |
@@ -1344,6 +1350,14 @@ func (m *ContainerSpec) MarshalTo(data []byte) (int, error) {
|
| 1344 | 1344 |
} |
| 1345 | 1345 |
i += n14 |
| 1346 | 1346 |
} |
| 1347 |
+ if len(m.RegistryAuth) > 0 {
|
|
| 1348 |
+ data[i] = 0x82 |
|
| 1349 |
+ i++ |
|
| 1350 |
+ data[i] = 0x4 |
|
| 1351 |
+ i++ |
|
| 1352 |
+ i = encodeVarintSpecs(data, i, uint64(len(m.RegistryAuth))) |
|
| 1353 |
+ i += copy(data[i:], m.RegistryAuth) |
|
| 1354 |
+ } |
|
| 1347 | 1355 |
return i, nil |
| 1348 | 1356 |
} |
| 1349 | 1357 |
|
| ... | ... |
@@ -1716,6 +1730,10 @@ func (m *ContainerSpec) Size() (n int) {
|
| 1716 | 1716 |
l = m.StopGracePeriod.Size() |
| 1717 | 1717 |
n += 1 + l + sovSpecs(uint64(l)) |
| 1718 | 1718 |
} |
| 1719 |
+ l = len(m.RegistryAuth) |
|
| 1720 |
+ if l > 0 {
|
|
| 1721 |
+ n += 2 + l + sovSpecs(uint64(l)) |
|
| 1722 |
+ } |
|
| 1719 | 1723 |
return n |
| 1720 | 1724 |
} |
| 1721 | 1725 |
|
| ... | ... |
@@ -1912,6 +1930,7 @@ func (this *ContainerSpec) String() string {
|
| 1912 | 1912 |
`User:` + fmt.Sprintf("%v", this.User) + `,`,
|
| 1913 | 1913 |
`Mounts:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Mounts), "Mount", "Mount", 1), `&`, ``, 1) + `,`,
|
| 1914 | 1914 |
`StopGracePeriod:` + strings.Replace(fmt.Sprintf("%v", this.StopGracePeriod), "Duration", "docker_swarmkit_v11.Duration", 1) + `,`,
|
| 1915 |
+ `RegistryAuth:` + fmt.Sprintf("%v", this.RegistryAuth) + `,`,
|
|
| 1915 | 1916 |
`}`, |
| 1916 | 1917 |
}, "") |
| 1917 | 1918 |
return s |
| ... | ... |
@@ -3158,6 +3177,35 @@ func (m *ContainerSpec) Unmarshal(data []byte) error {
|
| 3158 | 3158 |
return err |
| 3159 | 3159 |
} |
| 3160 | 3160 |
iNdEx = postIndex |
| 3161 |
+ case 64: |
|
| 3162 |
+ if wireType != 2 {
|
|
| 3163 |
+ return fmt.Errorf("proto: wrong wireType = %d for field RegistryAuth", wireType)
|
|
| 3164 |
+ } |
|
| 3165 |
+ var stringLen uint64 |
|
| 3166 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 3167 |
+ if shift >= 64 {
|
|
| 3168 |
+ return ErrIntOverflowSpecs |
|
| 3169 |
+ } |
|
| 3170 |
+ if iNdEx >= l {
|
|
| 3171 |
+ return io.ErrUnexpectedEOF |
|
| 3172 |
+ } |
|
| 3173 |
+ b := data[iNdEx] |
|
| 3174 |
+ iNdEx++ |
|
| 3175 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
| 3176 |
+ if b < 0x80 {
|
|
| 3177 |
+ break |
|
| 3178 |
+ } |
|
| 3179 |
+ } |
|
| 3180 |
+ intStringLen := int(stringLen) |
|
| 3181 |
+ if intStringLen < 0 {
|
|
| 3182 |
+ return ErrInvalidLengthSpecs |
|
| 3183 |
+ } |
|
| 3184 |
+ postIndex := iNdEx + intStringLen |
|
| 3185 |
+ if postIndex > l {
|
|
| 3186 |
+ return io.ErrUnexpectedEOF |
|
| 3187 |
+ } |
|
| 3188 |
+ m.RegistryAuth = string(data[iNdEx:postIndex]) |
|
| 3189 |
+ iNdEx = postIndex |
|
| 3161 | 3190 |
default: |
| 3162 | 3191 |
iNdEx = preIndex |
| 3163 | 3192 |
skippy, err := skipSpecs(data[iNdEx:]) |
| ... | ... |
@@ -3801,82 +3849,84 @@ var ( |
| 3801 | 3801 |
) |
| 3802 | 3802 |
|
| 3803 | 3803 |
var fileDescriptorSpecs = []byte{
|
| 3804 |
- // 1224 bytes of a gzipped FileDescriptorProto |
|
| 3805 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x4d, 0x6f, 0x1b, 0x45, |
|
| 3806 |
- 0x18, 0x8e, 0xe3, 0x8d, 0xb3, 0x9e, 0x4d, 0x5a, 0x77, 0x54, 0x5a, 0xd7, 0x2d, 0x49, 0x6a, 0x15, |
|
| 3807 |
- 0x28, 0x48, 0x38, 0x60, 0x50, 0x5b, 0xbe, 0x84, 0xb6, 0xb6, 0x49, 0x4d, 0x89, 0x6b, 0x4d, 0xda, |
|
| 3808 |
- 0x70, 0x8c, 0xc6, 0xbb, 0x53, 0x67, 0x95, 0xf5, 0xce, 0x32, 0x3b, 0x76, 0x95, 0x1b, 0xc7, 0x8a, |
|
| 3809 |
- 0x03, 0xe2, 0xc2, 0x05, 0x89, 0x13, 0xff, 0x81, 0xdf, 0x90, 0x23, 0x37, 0x38, 0x55, 0xb4, 0xbf, |
|
| 3810 |
- 0x00, 0x89, 0x3f, 0xc0, 0x3b, 0xb3, 0x63, 0x7b, 0x4d, 0x37, 0xed, 0x25, 0x87, 0x95, 0xe6, 0xe3, |
|
| 3811 |
- 0x79, 0x9e, 0x99, 0x79, 0x3f, 0x17, 0x39, 0x49, 0xcc, 0xbc, 0xa4, 0x11, 0x0b, 0x2e, 0x39, 0xc6, |
|
| 3812 |
- 0x3e, 0xf7, 0x8e, 0x98, 0x68, 0x24, 0x4f, 0xa8, 0x18, 0x1d, 0x05, 0xb2, 0x31, 0xf9, 0xb0, 0xe6, |
|
| 3813 |
- 0xc8, 0xe3, 0x98, 0x19, 0x40, 0xed, 0xe2, 0x90, 0x0f, 0xb9, 0x1e, 0x6e, 0xab, 0x91, 0x59, 0xbd, |
|
| 3814 |
- 0xec, 0x8f, 0x05, 0x95, 0x01, 0x8f, 0xb6, 0xa7, 0x83, 0x74, 0xa3, 0xfe, 0xa3, 0x85, 0xec, 0x1e, |
|
| 3815 |
- 0xf7, 0xd9, 0x1e, 0x9c, 0x81, 0x77, 0x90, 0x43, 0xa3, 0x88, 0x4b, 0x0d, 0x48, 0xaa, 0x85, 0xad, |
|
| 3816 |
- 0xc2, 0x4d, 0xa7, 0xb9, 0xd9, 0x78, 0xf9, 0xc8, 0x86, 0x3b, 0x87, 0xdd, 0xb5, 0x4e, 0x9e, 0x6d, |
|
| 3817 |
- 0x2e, 0x91, 0x2c, 0x13, 0x7f, 0x80, 0x2c, 0xc1, 0x43, 0x56, 0x5d, 0x06, 0x85, 0x73, 0xcd, 0x6b, |
|
| 3818 |
- 0x79, 0x0a, 0xea, 0x50, 0x02, 0x18, 0xa2, 0x91, 0x70, 0x34, 0x1a, 0xb1, 0xd1, 0x80, 0x89, 0xe4, |
|
| 3819 |
- 0x30, 0x88, 0xab, 0x45, 0xcd, 0x7b, 0xe7, 0x34, 0x9e, 0xba, 0x6c, 0x63, 0x77, 0x06, 0x27, 0x19, |
|
| 3820 |
- 0x2a, 0xde, 0x45, 0x6b, 0x74, 0x42, 0x83, 0x90, 0x0e, 0x82, 0x30, 0x90, 0xc7, 0x55, 0x4b, 0x4b, |
|
| 3821 |
- 0xbd, 0xfb, 0x4a, 0x29, 0x37, 0x43, 0x20, 0x0b, 0xf4, 0xba, 0x8f, 0xd0, 0xfc, 0x20, 0xfc, 0x36, |
|
| 3822 |
- 0x5a, 0xed, 0x77, 0x7a, 0xed, 0x6e, 0x6f, 0xa7, 0xb2, 0x54, 0xbb, 0xf2, 0xc3, 0xaf, 0x5b, 0x6f, |
|
| 3823 |
- 0x28, 0x8d, 0x39, 0xa0, 0xcf, 0x22, 0x3f, 0x88, 0x86, 0xf8, 0x26, 0xb2, 0xdd, 0x56, 0xab, 0xd3, |
|
| 3824 |
- 0x7f, 0xd8, 0x69, 0x57, 0x0a, 0xb5, 0x1a, 0x00, 0x2f, 0x2d, 0x02, 0x5d, 0xcf, 0x63, 0xb1, 0x64, |
|
| 3825 |
- 0x7e, 0xcd, 0x7a, 0xfa, 0xdb, 0xc6, 0x52, 0xfd, 0x69, 0x01, 0xad, 0x65, 0x2f, 0x01, 0x07, 0x95, |
|
| 3826 |
- 0xdc, 0xd6, 0xc3, 0xee, 0x7e, 0x07, 0xce, 0x99, 0xd1, 0xb3, 0x08, 0xd7, 0x93, 0xc1, 0x84, 0xe1, |
|
| 3827 |
- 0x1b, 0x68, 0xa5, 0xef, 0x3e, 0xda, 0xeb, 0xc0, 0x29, 0xb3, 0xeb, 0x64, 0x61, 0x7d, 0x3a, 0x4e, |
|
| 3828 |
- 0x34, 0xaa, 0x4d, 0xdc, 0x6e, 0xaf, 0xb2, 0x9c, 0x8f, 0x6a, 0x0b, 0x1a, 0x44, 0xe6, 0x2a, 0xbf, |
|
| 3829 |
- 0x5b, 0xc8, 0xd9, 0x63, 0x62, 0x12, 0x78, 0x67, 0x1c, 0x13, 0xb7, 0x90, 0x25, 0x69, 0x72, 0xa4, |
|
| 3830 |
- 0x63, 0xc2, 0xc9, 0x8f, 0x89, 0x87, 0xb0, 0xaf, 0x0e, 0x35, 0x74, 0x8d, 0x57, 0x91, 0x21, 0x58, |
|
| 3831 |
- 0x1c, 0x06, 0x1e, 0x05, 0x7b, 0xe9, 0xc8, 0x70, 0x9a, 0x6f, 0xe5, 0xb1, 0xc9, 0x0c, 0x65, 0xee, |
|
| 3832 |
- 0x7f, 0x6f, 0x89, 0x64, 0xa8, 0xf8, 0x33, 0x54, 0x1a, 0x86, 0x7c, 0x40, 0x43, 0x1d, 0x13, 0x4e, |
|
| 3833 |
- 0xf3, 0x7a, 0x9e, 0xc8, 0x8e, 0x46, 0xcc, 0x05, 0x0c, 0x05, 0xdf, 0x41, 0xa5, 0x71, 0xec, 0x83, |
|
| 3834 |
- 0x4e, 0xb5, 0xa4, 0xc9, 0x5b, 0x79, 0xe4, 0x47, 0x1a, 0xd1, 0xe2, 0xd1, 0xe3, 0x60, 0x48, 0x0c, |
|
| 3835 |
- 0x1e, 0xef, 0x21, 0x3b, 0x62, 0xf2, 0x09, 0x17, 0x47, 0x49, 0x75, 0x75, 0xab, 0x08, 0xdc, 0xdb, |
|
| 3836 |
- 0x79, 0xdc, 0x8c, 0xcd, 0x1b, 0xbd, 0x14, 0xef, 0x4a, 0x49, 0xbd, 0xc3, 0x11, 0x8b, 0xa4, 0x91, |
|
| 3837 |
- 0x9c, 0x09, 0xe1, 0xcf, 0x91, 0x0d, 0xa1, 0x16, 0xf3, 0x20, 0x92, 0x55, 0xfb, 0xf4, 0x0b, 0x75, |
|
| 3838 |
- 0x0c, 0x46, 0xa9, 0x92, 0x19, 0xa3, 0x76, 0x1f, 0x5d, 0x3e, 0xe5, 0x08, 0x7c, 0x09, 0x95, 0x24, |
|
| 3839 |
- 0x15, 0x43, 0x26, 0xb5, 0xa7, 0xcb, 0xc4, 0xcc, 0x70, 0x15, 0xad, 0xd2, 0x30, 0xa0, 0x09, 0x4b, |
|
| 3840 |
- 0xc0, 0x81, 0x45, 0xd8, 0x98, 0x4e, 0xef, 0x96, 0x90, 0x35, 0x82, 0x78, 0xaa, 0x6f, 0xa3, 0x0b, |
|
| 3841 |
- 0x2f, 0x79, 0x00, 0xd7, 0x90, 0x6d, 0x3c, 0x90, 0x86, 0x8e, 0x45, 0x66, 0xf3, 0xfa, 0x79, 0xb4, |
|
| 3842 |
- 0xbe, 0x60, 0xed, 0xfa, 0x2f, 0xcb, 0xc8, 0x9e, 0x86, 0x00, 0x76, 0x51, 0xd9, 0xe3, 0x91, 0x84, |
|
| 3843 |
- 0xc0, 0x64, 0xc2, 0x44, 0x5d, 0xae, 0xc3, 0x5a, 0x53, 0x90, 0x62, 0x81, 0xc3, 0xe6, 0x2c, 0xfc, |
|
| 3844 |
- 0x15, 0x2a, 0x0b, 0x96, 0xf0, 0xb1, 0xf0, 0xf4, 0xad, 0x95, 0xc4, 0xcd, 0xfc, 0xc0, 0x49, 0x41, |
|
| 3845 |
- 0x84, 0x7d, 0x37, 0x0e, 0x04, 0x53, 0xd6, 0x48, 0xc8, 0x9c, 0x0a, 0x81, 0xb3, 0x0a, 0x13, 0x30, |
|
| 3846 |
- 0x84, 0x7c, 0x55, 0xe4, 0x90, 0x14, 0xd2, 0xe7, 0xf0, 0xba, 0x63, 0x32, 0x65, 0x00, 0xb9, 0x1c, |
|
| 3847 |
- 0x87, 0xd4, 0xd3, 0xaa, 0xd5, 0x15, 0x4d, 0x7f, 0x33, 0x8f, 0xde, 0x9f, 0x82, 0xc8, 0x1c, 0x7f, |
|
| 3848 |
- 0xb7, 0x0c, 0x27, 0x8f, 0x23, 0x19, 0x8c, 0x58, 0xfd, 0xa7, 0x22, 0x5a, 0x5f, 0x78, 0x2b, 0xbe, |
|
| 3849 |
- 0x88, 0x56, 0x82, 0x11, 0x1d, 0x32, 0xe3, 0xa9, 0x74, 0x82, 0x3b, 0xa8, 0x04, 0x69, 0xcd, 0xc2, |
|
| 3850 |
- 0xd4, 0x4f, 0x4e, 0xf3, 0xfd, 0xd7, 0x1a, 0xad, 0xf1, 0x8d, 0xc6, 0x77, 0x22, 0x29, 0x8e, 0x89, |
|
| 3851 |
- 0x21, 0x2b, 0x7f, 0x7b, 0x7c, 0x34, 0xa2, 0x91, 0x4a, 0x39, 0xed, 0x6f, 0x33, 0xc5, 0x18, 0x59, |
|
| 3852 |
- 0x10, 0x12, 0x09, 0x98, 0x42, 0x2d, 0xeb, 0x31, 0xae, 0xa0, 0x22, 0x8b, 0x26, 0xf0, 0x3c, 0xb5, |
|
| 3853 |
- 0xa4, 0x86, 0x6a, 0xc5, 0x0f, 0x84, 0x4e, 0x16, 0x58, 0x81, 0xa1, 0xe2, 0x41, 0x2d, 0x12, 0x90, |
|
| 3854 |
- 0x03, 0x6a, 0x49, 0x8f, 0xf1, 0x6d, 0x54, 0x1a, 0x71, 0x78, 0x60, 0x02, 0x41, 0xac, 0x2e, 0x7b, |
|
| 3855 |
- 0x25, 0xef, 0xb2, 0xbb, 0x0a, 0x61, 0x4a, 0x82, 0x81, 0xe3, 0x7b, 0xe8, 0x42, 0x22, 0x79, 0x7c, |
|
| 3856 |
- 0x30, 0x14, 0x60, 0xaa, 0x83, 0x98, 0x89, 0x80, 0xfb, 0xd5, 0xf2, 0xe9, 0x95, 0xa5, 0x6d, 0xba, |
|
| 3857 |
- 0x1e, 0x39, 0xaf, 0x68, 0x3b, 0x8a, 0xd5, 0xd7, 0xa4, 0xda, 0x27, 0xc8, 0xc9, 0xbc, 0x5f, 0xdd, |
|
| 3858 |
- 0xfb, 0x88, 0x1d, 0x1b, 0x93, 0xaa, 0xa1, 0x32, 0xf3, 0x84, 0x86, 0xe3, 0xb4, 0x99, 0x81, 0x99, |
|
| 3859 |
- 0xf5, 0xe4, 0xd3, 0xe5, 0x3b, 0x85, 0xfa, 0xbf, 0x50, 0xb5, 0xb3, 0x19, 0x86, 0x5b, 0x69, 0x2a, |
|
| 3860 |
- 0x68, 0xf6, 0xb9, 0xe6, 0xf6, 0xeb, 0x32, 0x52, 0x07, 0x5e, 0x38, 0x56, 0xf7, 0xda, 0x55, 0xdd, |
|
| 3861 |
- 0x50, 0x93, 0xf1, 0xc7, 0x68, 0x25, 0xe6, 0x42, 0x4e, 0xfd, 0xb7, 0x91, 0x1b, 0x2c, 0x00, 0x30, |
|
| 3862 |
- 0x35, 0x21, 0x05, 0xd7, 0x0f, 0xd1, 0xb9, 0x45, 0x35, 0x28, 0xfa, 0xc5, 0xfd, 0x6e, 0x1f, 0xfa, |
|
| 3863 |
- 0xc7, 0x55, 0x28, 0xf9, 0x97, 0x17, 0x37, 0xf7, 0x03, 0x21, 0xc7, 0x34, 0xec, 0xf6, 0xf1, 0x7b, |
|
| 3864 |
- 0xd0, 0x1a, 0x7a, 0x7b, 0x84, 0x40, 0x03, 0xd9, 0x04, 0xdc, 0xd5, 0x45, 0x9c, 0xda, 0x02, 0x83, |
|
| 3865 |
- 0xfb, 0x84, 0x0f, 0x66, 0x0d, 0xe2, 0xe7, 0x65, 0xe4, 0x98, 0xea, 0x71, 0xb6, 0x0d, 0xe2, 0x4b, |
|
| 3866 |
- 0xb4, 0xee, 0x0b, 0x68, 0x6a, 0xe2, 0xc0, 0xd3, 0x4f, 0x33, 0x29, 0x5b, 0xcb, 0xf5, 0xa7, 0x06, |
|
| 3867 |
- 0x92, 0xb5, 0x94, 0x60, 0x6a, 0xd7, 0x75, 0xb4, 0x16, 0xc4, 0x93, 0x5b, 0x07, 0x2c, 0xa2, 0x83, |
|
| 3868 |
- 0xd0, 0xf4, 0x0a, 0x9b, 0x38, 0x6a, 0xad, 0x93, 0x2e, 0xa9, 0x7a, 0x04, 0xc6, 0x67, 0x22, 0x32, |
|
| 3869 |
- 0x5d, 0xc0, 0x26, 0xb3, 0x39, 0xfe, 0x02, 0x59, 0x41, 0x4c, 0x47, 0x26, 0x49, 0x73, 0x5f, 0xd0, |
|
| 3870 |
- 0xed, 0xbb, 0xbb, 0x0f, 0xe2, 0xf4, 0x05, 0xf6, 0x8b, 0x67, 0x9b, 0x96, 0x5a, 0x20, 0x9a, 0x56, |
|
| 3871 |
- 0xff, 0xb3, 0x88, 0x9c, 0x56, 0x38, 0x4e, 0xa4, 0x49, 0xcf, 0x33, 0xb3, 0xcb, 0xb7, 0xe8, 0x02, |
|
| 3872 |
- 0xd5, 0xbf, 0x0b, 0x34, 0x52, 0xb1, 0xae, 0xeb, 0x8b, 0xb1, 0xcd, 0x8d, 0x5c, 0xb9, 0x19, 0x38, |
|
| 3873 |
- 0xad, 0x45, 0x46, 0xb3, 0x42, 0xff, 0xb7, 0x0e, 0x9d, 0x69, 0x9d, 0x0b, 0xef, 0x10, 0x0a, 0x55, |
|
| 3874 |
- 0x9a, 0x1c, 0xa6, 0xb9, 0xe6, 0xfe, 0x76, 0x3d, 0xc8, 0x02, 0x53, 0x7b, 0x1b, 0xdd, 0x45, 0x0d, |
|
| 3875 |
- 0x68, 0x94, 0x96, 0xa0, 0x8f, 0xa7, 0x95, 0x32, 0x37, 0x7a, 0x09, 0xec, 0x2f, 0x48, 0x68, 0x06, |
|
| 3876 |
- 0xfe, 0x1a, 0x21, 0x3f, 0x48, 0x62, 0x2a, 0x41, 0x4e, 0x18, 0x2f, 0xe4, 0x3e, 0xb0, 0x3d, 0x43, |
|
| 3877 |
- 0x2d, 0xa8, 0x64, 0xd8, 0xf8, 0x3e, 0x74, 0x0f, 0x3a, 0x8d, 0xa3, 0xd2, 0xe9, 0x75, 0xa1, 0xe5, |
|
| 3878 |
- 0x1a, 0x89, 0x8a, 0x92, 0x00, 0x8f, 0xda, 0xd3, 0x15, 0x62, 0x7b, 0xd4, 0xec, 0x5d, 0x3b, 0x79, |
|
| 3879 |
- 0xbe, 0xb1, 0xf4, 0x17, 0x7c, 0xff, 0x3c, 0xdf, 0x28, 0x7c, 0xff, 0x62, 0xa3, 0x70, 0x02, 0xdf, |
|
| 3880 |
- 0x1f, 0xf0, 0xfd, 0x0d, 0xdf, 0xa0, 0xa4, 0x7f, 0xa4, 0x3f, 0xfa, 0x2f, 0x00, 0x00, 0xff, 0xff, |
|
| 3881 |
- 0x4e, 0xfb, 0xdd, 0xf6, 0xa7, 0x0b, 0x00, 0x00, |
|
| 3804 |
+ // 1249 bytes of a gzipped FileDescriptorProto |
|
| 3805 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x73, 0x1b, 0x35, |
|
| 3806 |
+ 0x14, 0x8f, 0xe3, 0x8d, 0xb3, 0xd6, 0x26, 0xad, 0xab, 0x29, 0xad, 0xeb, 0x96, 0x24, 0x35, 0x05, |
|
| 3807 |
+ 0x0a, 0x33, 0x38, 0x60, 0x98, 0xb6, 0xfc, 0x1b, 0xd8, 0xda, 0x26, 0x35, 0x25, 0xae, 0x47, 0x69, |
|
| 3808 |
+ 0xcb, 0x31, 0x23, 0xef, 0xaa, 0x8e, 0x26, 0xeb, 0xdd, 0x45, 0x2b, 0xbb, 0x93, 0x1b, 0xc7, 0x0e, |
|
| 3809 |
+ 0x07, 0x6e, 0x5c, 0x98, 0xe1, 0xc4, 0x67, 0x80, 0xcf, 0x90, 0x23, 0x37, 0x38, 0x75, 0x68, 0x3f, |
|
| 3810 |
+ 0x01, 0x33, 0x7c, 0x01, 0x9e, 0xb4, 0xb2, 0xbd, 0xa6, 0x9b, 0xf6, 0x92, 0xc3, 0xce, 0x48, 0x4f, |
|
| 3811 |
+ 0xbf, 0xdf, 0x4f, 0xd2, 0x7b, 0x4f, 0xef, 0x2d, 0x72, 0x92, 0x98, 0x79, 0x49, 0x23, 0x16, 0x91, |
|
| 3812 |
+ 0x8c, 0x30, 0xf6, 0x23, 0xef, 0x90, 0x89, 0x46, 0xf2, 0x98, 0x8a, 0xd1, 0x21, 0x97, 0x8d, 0xc9, |
|
| 3813 |
+ 0x07, 0x35, 0x47, 0x1e, 0xc5, 0xcc, 0x00, 0x6a, 0xe7, 0x87, 0xd1, 0x30, 0xd2, 0xc3, 0x6d, 0x35, |
|
| 3814 |
+ 0x32, 0xd6, 0x8b, 0xfe, 0x58, 0x50, 0xc9, 0xa3, 0x70, 0x7b, 0x3a, 0x48, 0x17, 0xea, 0x3f, 0x5a, |
|
| 3815 |
+ 0xc8, 0xee, 0x45, 0x3e, 0xdb, 0x83, 0x3d, 0xf0, 0x0e, 0x72, 0x68, 0x18, 0x46, 0x52, 0x03, 0x92, |
|
| 3816 |
+ 0x6a, 0x61, 0xab, 0x70, 0xdd, 0x69, 0x6e, 0x36, 0x5e, 0xdc, 0xb2, 0xe1, 0xce, 0x61, 0xb7, 0xad, |
|
| 3817 |
+ 0xe3, 0xa7, 0x9b, 0x4b, 0x24, 0xcb, 0xc4, 0xef, 0x23, 0x4b, 0x44, 0x01, 0xab, 0x2e, 0x83, 0xc2, |
|
| 3818 |
+ 0x99, 0xe6, 0x95, 0x3c, 0x05, 0xb5, 0x29, 0x01, 0x0c, 0xd1, 0x48, 0xd8, 0x1a, 0x8d, 0xd8, 0x68, |
|
| 3819 |
+ 0xc0, 0x44, 0x72, 0xc0, 0xe3, 0x6a, 0x51, 0xf3, 0xde, 0x3e, 0x89, 0xa7, 0x0e, 0xdb, 0xd8, 0x9d, |
|
| 3820 |
+ 0xc1, 0x49, 0x86, 0x8a, 0x77, 0xd1, 0x1a, 0x9d, 0x50, 0x1e, 0xd0, 0x01, 0x0f, 0xb8, 0x3c, 0xaa, |
|
| 3821 |
+ 0x5a, 0x5a, 0xea, 0x9d, 0x97, 0x4a, 0xb9, 0x19, 0x02, 0x59, 0xa0, 0xd7, 0x7d, 0x84, 0xe6, 0x1b, |
|
| 3822 |
+ 0xe1, 0xb7, 0xd0, 0x6a, 0xbf, 0xd3, 0x6b, 0x77, 0x7b, 0x3b, 0x95, 0xa5, 0xda, 0xa5, 0x1f, 0x7e, |
|
| 3823 |
+ 0xd9, 0x7a, 0x4d, 0x69, 0xcc, 0x01, 0x7d, 0x16, 0xfa, 0x3c, 0x1c, 0xe2, 0xeb, 0xc8, 0x76, 0x5b, |
|
| 3824 |
+ 0xad, 0x4e, 0xff, 0x7e, 0xa7, 0x5d, 0x29, 0xd4, 0x6a, 0x00, 0xbc, 0xb0, 0x08, 0x74, 0x3d, 0x8f, |
|
| 3825 |
+ 0xc5, 0x92, 0xf9, 0x35, 0xeb, 0xc9, 0xaf, 0x1b, 0x4b, 0xf5, 0x27, 0x05, 0xb4, 0x96, 0x3d, 0x04, |
|
| 3826 |
+ 0x6c, 0x54, 0x72, 0x5b, 0xf7, 0xbb, 0x0f, 0x3b, 0xb0, 0xcf, 0x8c, 0x9e, 0x45, 0xb8, 0x9e, 0xe4, |
|
| 3827 |
+ 0x13, 0x86, 0xaf, 0xa1, 0x95, 0xbe, 0xfb, 0x60, 0xaf, 0x03, 0xbb, 0xcc, 0x8e, 0x93, 0x85, 0xf5, |
|
| 3828 |
+ 0xe9, 0x38, 0xd1, 0xa8, 0x36, 0x71, 0xbb, 0xbd, 0xca, 0x72, 0x3e, 0xaa, 0x2d, 0x28, 0x0f, 0xcd, |
|
| 3829 |
+ 0x51, 0x7e, 0xb7, 0x90, 0xb3, 0xc7, 0xc4, 0x84, 0x7b, 0xa7, 0x9c, 0x13, 0x37, 0x90, 0x25, 0x69, |
|
| 3830 |
+ 0x72, 0xa8, 0x73, 0xc2, 0xc9, 0xcf, 0x89, 0xfb, 0xb0, 0xae, 0x36, 0x35, 0x74, 0x8d, 0x57, 0x99, |
|
| 3831 |
+ 0x21, 0x58, 0x1c, 0x70, 0x8f, 0x82, 0xbf, 0x74, 0x66, 0x38, 0xcd, 0x37, 0xf3, 0xd8, 0x64, 0x86, |
|
| 3832 |
+ 0x32, 0xe7, 0xbf, 0xb3, 0x44, 0x32, 0x54, 0xfc, 0x29, 0x2a, 0x0d, 0x83, 0x68, 0x40, 0x03, 0x9d, |
|
| 3833 |
+ 0x13, 0x4e, 0xf3, 0x6a, 0x9e, 0xc8, 0x8e, 0x46, 0xcc, 0x05, 0x0c, 0x05, 0xdf, 0x42, 0xa5, 0x71, |
|
| 3834 |
+ 0xec, 0x83, 0x4e, 0xb5, 0xa4, 0xc9, 0x5b, 0x79, 0xe4, 0x07, 0x1a, 0xd1, 0x8a, 0xc2, 0x47, 0x7c, |
|
| 3835 |
+ 0x48, 0x0c, 0x1e, 0xef, 0x21, 0x3b, 0x64, 0xf2, 0x71, 0x24, 0x0e, 0x93, 0xea, 0xea, 0x56, 0x11, |
|
| 3836 |
+ 0xb8, 0x37, 0xf3, 0xb8, 0x19, 0x9f, 0x37, 0x7a, 0x29, 0xde, 0x95, 0x92, 0x7a, 0x07, 0x23, 0x16, |
|
| 3837 |
+ 0x4a, 0x23, 0x39, 0x13, 0xc2, 0x9f, 0x21, 0x1b, 0x52, 0x2d, 0x8e, 0x78, 0x28, 0xab, 0xf6, 0xc9, |
|
| 3838 |
+ 0x07, 0xea, 0x18, 0x8c, 0x52, 0x25, 0x33, 0x46, 0xed, 0x2e, 0xba, 0x78, 0xc2, 0x16, 0xf8, 0x02, |
|
| 3839 |
+ 0x2a, 0x49, 0x2a, 0x86, 0x4c, 0xea, 0x48, 0x97, 0x89, 0x99, 0xe1, 0x2a, 0x5a, 0xa5, 0x01, 0xa7, |
|
| 3840 |
+ 0x09, 0x4b, 0x20, 0x80, 0x45, 0x58, 0x98, 0x4e, 0x6f, 0x97, 0x90, 0x35, 0x82, 0x7c, 0xaa, 0x6f, |
|
| 3841 |
+ 0xa3, 0x73, 0x2f, 0x44, 0x00, 0xd7, 0x90, 0x6d, 0x22, 0x90, 0xa6, 0x8e, 0x45, 0x66, 0xf3, 0xfa, |
|
| 3842 |
+ 0x59, 0xb4, 0xbe, 0xe0, 0xed, 0xfa, 0xcf, 0xcb, 0xc8, 0x9e, 0xa6, 0x00, 0x76, 0x51, 0xd9, 0x8b, |
|
| 3843 |
+ 0x42, 0x09, 0x89, 0xc9, 0x84, 0xc9, 0xba, 0xdc, 0x80, 0xb5, 0xa6, 0x20, 0xc5, 0x82, 0x80, 0xcd, |
|
| 3844 |
+ 0x59, 0xf8, 0x2b, 0x54, 0x16, 0x2c, 0x89, 0xc6, 0xc2, 0xd3, 0xa7, 0x56, 0x12, 0xd7, 0xf3, 0x13, |
|
| 3845 |
+ 0x27, 0x05, 0x11, 0xf6, 0xdd, 0x98, 0x0b, 0xa6, 0xbc, 0x91, 0x90, 0x39, 0x15, 0x12, 0x67, 0x15, |
|
| 3846 |
+ 0x26, 0xe0, 0x08, 0xf9, 0xb2, 0xcc, 0x21, 0x29, 0xa4, 0x1f, 0xc1, 0xed, 0x8e, 0xc8, 0x94, 0x01, |
|
| 3847 |
+ 0xe4, 0x72, 0x1c, 0x50, 0x4f, 0xab, 0x56, 0x57, 0x34, 0xfd, 0xf5, 0x3c, 0x7a, 0x7f, 0x0a, 0x22, |
|
| 3848 |
+ 0x73, 0xfc, 0xed, 0x32, 0xec, 0x3c, 0x0e, 0x25, 0x1f, 0xb1, 0xfa, 0x6f, 0x45, 0xb4, 0xbe, 0x70, |
|
| 3849 |
+ 0x57, 0x7c, 0x1e, 0xad, 0xf0, 0x11, 0x1d, 0x32, 0x13, 0xa9, 0x74, 0x82, 0x3b, 0xa8, 0x04, 0xcf, |
|
| 3850 |
+ 0x9a, 0x05, 0x69, 0x9c, 0x9c, 0xe6, 0x7b, 0xaf, 0x74, 0x5a, 0xe3, 0x1b, 0x8d, 0xef, 0x84, 0x52, |
|
| 3851 |
+ 0x1c, 0x11, 0x43, 0x56, 0xf1, 0xf6, 0xa2, 0xd1, 0x88, 0x86, 0xea, 0xc9, 0xe9, 0x78, 0x9b, 0x29, |
|
| 3852 |
+ 0xc6, 0xc8, 0x82, 0x94, 0x48, 0xc0, 0x15, 0xca, 0xac, 0xc7, 0xb8, 0x82, 0x8a, 0x2c, 0x9c, 0xc0, |
|
| 3853 |
+ 0xf5, 0x94, 0x49, 0x0d, 0x95, 0xc5, 0xe7, 0x42, 0x3f, 0x16, 0xb0, 0xc0, 0x50, 0xf1, 0xa0, 0x16, |
|
| 3854 |
+ 0x09, 0x78, 0x03, 0xca, 0xa4, 0xc7, 0xf8, 0x26, 0x2a, 0x8d, 0x22, 0xb8, 0x60, 0x02, 0x49, 0xac, |
|
| 3855 |
+ 0x0e, 0x7b, 0x29, 0xef, 0xb0, 0xbb, 0x0a, 0x61, 0x4a, 0x82, 0x81, 0xe3, 0x3b, 0xe8, 0x5c, 0x22, |
|
| 3856 |
+ 0xa3, 0x78, 0x7f, 0x28, 0xc0, 0x55, 0xfb, 0x31, 0x13, 0x3c, 0xf2, 0xab, 0xe5, 0x93, 0x2b, 0x4b, |
|
| 3857 |
+ 0xdb, 0x74, 0x3d, 0x72, 0x56, 0xd1, 0x76, 0x14, 0xab, 0xaf, 0x49, 0xf8, 0x0d, 0xb4, 0x2e, 0xd8, |
|
| 3858 |
+ 0x90, 0x27, 0x70, 0xf9, 0x7d, 0x3a, 0x96, 0x07, 0xd5, 0x2f, 0xf5, 0xf9, 0xd6, 0xa6, 0x46, 0x17, |
|
| 3859 |
+ 0x6c, 0xb5, 0x8f, 0x91, 0x93, 0x71, 0x92, 0xba, 0xdc, 0x21, 0x3b, 0x32, 0x7e, 0x57, 0x43, 0x15, |
|
| 3860 |
+ 0x8b, 0x09, 0x0d, 0xc6, 0x69, 0xc7, 0x83, 0x58, 0xe8, 0xc9, 0x27, 0xcb, 0xb7, 0x0a, 0xf5, 0x7f, |
|
| 3861 |
+ 0xa1, 0xb4, 0x67, 0x9f, 0x21, 0x6e, 0xa5, 0xef, 0x45, 0xb3, 0xcf, 0x34, 0xb7, 0x5f, 0xf5, 0x6c, |
|
| 3862 |
+ 0x75, 0x76, 0x06, 0x63, 0x75, 0xf8, 0x5d, 0xd5, 0x32, 0x35, 0x19, 0x7f, 0x84, 0x56, 0xe2, 0x48, |
|
| 3863 |
+ 0xc8, 0x69, 0x90, 0x37, 0x72, 0x33, 0x0a, 0x00, 0xa6, 0x70, 0xa4, 0xe0, 0xfa, 0x01, 0x3a, 0xb3, |
|
| 3864 |
+ 0xa8, 0x06, 0x9d, 0xa1, 0xf8, 0xb0, 0xdb, 0x87, 0x26, 0x73, 0x19, 0xfa, 0xc2, 0xc5, 0xc5, 0xc5, |
|
| 3865 |
+ 0x87, 0x5c, 0xc8, 0x31, 0x0d, 0xba, 0x7d, 0xfc, 0x2e, 0xf4, 0x8f, 0xde, 0x1e, 0x21, 0xd0, 0x65, |
|
| 3866 |
+ 0x36, 0x01, 0x77, 0x79, 0x11, 0xa7, 0x96, 0x20, 0x2a, 0x3e, 0x89, 0x06, 0xb3, 0x2e, 0xf2, 0xd3, |
|
| 3867 |
+ 0x32, 0x72, 0x4c, 0x89, 0x39, 0xdd, 0x2e, 0xf2, 0x05, 0x5a, 0xf7, 0x05, 0x74, 0x3e, 0xb1, 0xef, |
|
| 3868 |
+ 0xe9, 0xab, 0x99, 0x77, 0x5d, 0xcb, 0x0d, 0xba, 0x06, 0x92, 0xb5, 0x94, 0x60, 0x0a, 0xdc, 0x55, |
|
| 3869 |
+ 0xb4, 0xc6, 0xe3, 0xc9, 0x8d, 0x7d, 0x16, 0xd2, 0x41, 0x60, 0x1a, 0x8a, 0x4d, 0x1c, 0x65, 0xeb, |
|
| 3870 |
+ 0xa4, 0x26, 0x55, 0xb4, 0xc0, 0xf9, 0x4c, 0x84, 0xa6, 0x55, 0xd8, 0x64, 0x36, 0xc7, 0x9f, 0x23, |
|
| 3871 |
+ 0x8b, 0xc7, 0x74, 0x64, 0x5e, 0x72, 0xee, 0x0d, 0xba, 0x7d, 0x77, 0xf7, 0x5e, 0x9c, 0xde, 0xc0, |
|
| 3872 |
+ 0x7e, 0xfe, 0x74, 0xd3, 0x52, 0x06, 0xa2, 0x69, 0xf5, 0x3f, 0x8b, 0xc8, 0x69, 0x05, 0xe3, 0x44, |
|
| 3873 |
+ 0x9a, 0x37, 0x7c, 0x6a, 0x7e, 0xf9, 0x16, 0x9d, 0xa3, 0xfa, 0x9f, 0x82, 0x86, 0xea, 0x41, 0xe8, |
|
| 3874 |
+ 0x22, 0x64, 0x7c, 0x73, 0x2d, 0x57, 0x6e, 0x06, 0x4e, 0x0b, 0x96, 0xd1, 0xac, 0xd0, 0xff, 0xd9, |
|
| 3875 |
+ 0xa1, 0x7d, 0xad, 0x47, 0xc2, 0x3b, 0x80, 0x6a, 0x96, 0xbe, 0x20, 0xd3, 0x81, 0x73, 0xff, 0xcd, |
|
| 3876 |
+ 0xee, 0x65, 0x81, 0xa9, 0xbf, 0x8d, 0xee, 0xa2, 0x06, 0x74, 0x53, 0x4b, 0xd0, 0x47, 0xd3, 0x72, |
|
| 3877 |
+ 0x9a, 0x9b, 0xbd, 0x04, 0xd6, 0x17, 0x24, 0x34, 0x03, 0x7f, 0x8d, 0x90, 0xcf, 0x93, 0x98, 0x4a, |
|
| 3878 |
+ 0x90, 0x13, 0x26, 0x0a, 0xb9, 0x17, 0x6c, 0xcf, 0x50, 0x0b, 0x2a, 0x19, 0x36, 0xbe, 0x0b, 0x2d, |
|
| 3879 |
+ 0x86, 0x4e, 0xf3, 0xa8, 0x74, 0x72, 0xf1, 0x68, 0xb9, 0x46, 0xa2, 0xa2, 0x24, 0x20, 0xa2, 0xf6, |
|
| 3880 |
+ 0xd4, 0x42, 0x6c, 0x8f, 0x9a, 0xb5, 0x2b, 0xc7, 0xcf, 0x36, 0x96, 0xfe, 0x82, 0xef, 0x9f, 0x67, |
|
| 3881 |
+ 0x1b, 0x85, 0xef, 0x9f, 0x6f, 0x14, 0x8e, 0xe1, 0xfb, 0x03, 0xbe, 0xbf, 0xe1, 0x1b, 0x94, 0xf4, |
|
| 3882 |
+ 0xdf, 0xf6, 0x87, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x6e, 0x60, 0xc5, 0xcc, 0x0b, 0x00, |
|
| 3883 |
+ 0x00, |
|
| 3882 | 3884 |
} |
| ... | ... |
@@ -127,6 +127,11 @@ message ContainerSpec {
|
| 127 | 127 |
// that don't change or verifiable digests. |
| 128 | 128 |
string image = 1; |
| 129 | 129 |
|
| 130 |
+ // RegistryAuth is the registry auth token obtained from the client, required |
|
| 131 |
+ // to pull private images |
|
| 132 |
+ // TODO(nishanttotla): This field will later be deprecated |
|
| 133 |
+ string registry_auth = 64; |
|
| 134 |
+ |
|
| 130 | 135 |
// Labels defines labels to be added to the container at creation time. If |
| 131 | 136 |
// collisions with system labels occur, these labels will be overridden. |
| 132 | 137 |
// |
| ... | ... |
@@ -44,7 +44,6 @@ |
| 44 | 44 |
OrchestrationConfig |
| 45 | 45 |
DispatcherConfig |
| 46 | 46 |
RaftConfig |
| 47 |
- RaftMember |
|
| 48 | 47 |
Placement |
| 49 | 48 |
RootCA |
| 50 | 49 |
Certificate |
| ... | ... |
@@ -99,7 +98,6 @@ |
| 99 | 99 |
RemoveNetworkResponse |
| 100 | 100 |
ListNetworksRequest |
| 101 | 101 |
ListNetworksResponse |
| 102 |
- RemoveManagerResponse |
|
| 103 | 102 |
GetClusterRequest |
| 104 | 103 |
GetClusterResponse |
| 105 | 104 |
ListClustersRequest |
| ... | ... |
@@ -123,6 +121,7 @@ |
| 123 | 123 |
StoreSnapshot |
| 124 | 124 |
ClusterSnapshot |
| 125 | 125 |
Snapshot |
| 126 |
+ RaftMember |
|
| 126 | 127 |
JoinRequest |
| 127 | 128 |
JoinResponse |
| 128 | 129 |
LeaveRequest |
| ... | ... |
@@ -481,7 +480,7 @@ func (x EncryptionKey_Algorithm) String() string {
|
| 481 | 481 |
return proto.EnumName(EncryptionKey_Algorithm_name, int32(x)) |
| 482 | 482 |
} |
| 483 | 483 |
func (EncryptionKey_Algorithm) EnumDescriptor() ([]byte, []int) {
|
| 484 |
- return fileDescriptorTypes, []int{32, 0}
|
|
| 484 |
+ return fileDescriptorTypes, []int{31, 0}
|
|
| 485 | 485 |
} |
| 486 | 486 |
|
| 487 | 487 |
// Version tracks the last time an object in the store was updated. |
| ... | ... |
@@ -1009,20 +1008,6 @@ func (m *RaftConfig) Reset() { *m = RaftConfig{} }
|
| 1009 | 1009 |
func (*RaftConfig) ProtoMessage() {}
|
| 1010 | 1010 |
func (*RaftConfig) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{27} }
|
| 1011 | 1011 |
|
| 1012 |
-type RaftMember struct {
|
|
| 1013 |
- // RaftID specifies the internal ID used by the manager in a raft context, it can never be modified |
|
| 1014 |
- // and is used only for information purposes |
|
| 1015 |
- RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"` |
|
| 1016 |
- // Addr specifies the address of the member |
|
| 1017 |
- Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` |
|
| 1018 |
- // Status provides the current status of the manager from the perspective of another manager. |
|
| 1019 |
- Status RaftMemberStatus `protobuf:"bytes,3,opt,name=status" json:"status"` |
|
| 1020 |
-} |
|
| 1021 |
- |
|
| 1022 |
-func (m *RaftMember) Reset() { *m = RaftMember{} }
|
|
| 1023 |
-func (*RaftMember) ProtoMessage() {}
|
|
| 1024 |
-func (*RaftMember) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{28} }
|
|
| 1025 |
- |
|
| 1026 | 1012 |
// Placement specifies task distribution constraints. |
| 1027 | 1013 |
type Placement struct {
|
| 1028 | 1014 |
// constraints specifies a set of requirements a node should meet for a task. |
| ... | ... |
@@ -1031,7 +1016,7 @@ type Placement struct {
|
| 1031 | 1031 |
|
| 1032 | 1032 |
func (m *Placement) Reset() { *m = Placement{} }
|
| 1033 | 1033 |
func (*Placement) ProtoMessage() {}
|
| 1034 |
-func (*Placement) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{29} }
|
|
| 1034 |
+func (*Placement) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{28} }
|
|
| 1035 | 1035 |
|
| 1036 | 1036 |
type RootCA struct {
|
| 1037 | 1037 |
// CAKey is the root CA private key. |
| ... | ... |
@@ -1044,7 +1029,7 @@ type RootCA struct {
|
| 1044 | 1044 |
|
| 1045 | 1045 |
func (m *RootCA) Reset() { *m = RootCA{} }
|
| 1046 | 1046 |
func (*RootCA) ProtoMessage() {}
|
| 1047 |
-func (*RootCA) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{30} }
|
|
| 1047 |
+func (*RootCA) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{29} }
|
|
| 1048 | 1048 |
|
| 1049 | 1049 |
type Certificate struct {
|
| 1050 | 1050 |
Role NodeRole `protobuf:"varint,1,opt,name=role,proto3,enum=docker.swarmkit.v1.NodeRole" json:"role,omitempty"` |
| ... | ... |
@@ -1057,7 +1042,7 @@ type Certificate struct {
|
| 1057 | 1057 |
|
| 1058 | 1058 |
func (m *Certificate) Reset() { *m = Certificate{} }
|
| 1059 | 1059 |
func (*Certificate) ProtoMessage() {}
|
| 1060 |
-func (*Certificate) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{31} }
|
|
| 1060 |
+func (*Certificate) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{30} }
|
|
| 1061 | 1061 |
|
| 1062 | 1062 |
// Symmetric keys to encrypt inter-agent communication. |
| 1063 | 1063 |
type EncryptionKey struct {
|
| ... | ... |
@@ -1073,16 +1058,24 @@ type EncryptionKey struct {
|
| 1073 | 1073 |
|
| 1074 | 1074 |
func (m *EncryptionKey) Reset() { *m = EncryptionKey{} }
|
| 1075 | 1075 |
func (*EncryptionKey) ProtoMessage() {}
|
| 1076 |
-func (*EncryptionKey) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{32} }
|
|
| 1076 |
+func (*EncryptionKey) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{31} }
|
|
| 1077 | 1077 |
|
| 1078 |
-// ManagerStatus provides information about the status of a manager in the cluster. |
|
| 1078 |
+// ManagerStatus provides informations about the state of a manager in the cluster. |
|
| 1079 | 1079 |
type ManagerStatus struct {
|
| 1080 |
- Raft RaftMember `protobuf:"bytes,1,opt,name=raft" json:"raft"` |
|
| 1080 |
+ // RaftID specifies the internal ID used by the manager in a raft context, it can never be modified |
|
| 1081 |
+ // and is used only for information purposes |
|
| 1082 |
+ RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"` |
|
| 1083 |
+ // Addr is the address advertised to raft. |
|
| 1084 |
+ Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` |
|
| 1085 |
+ // Leader is set to true if this node is the raft leader. |
|
| 1086 |
+ Leader bool `protobuf:"varint,3,opt,name=leader,proto3" json:"leader,omitempty"` |
|
| 1087 |
+ // Reachability specifies whether this node is reachable. |
|
| 1088 |
+ Reachability RaftMemberStatus_Reachability `protobuf:"varint,4,opt,name=reachability,proto3,enum=docker.swarmkit.v1.RaftMemberStatus_Reachability" json:"reachability,omitempty"` |
|
| 1081 | 1089 |
} |
| 1082 | 1090 |
|
| 1083 | 1091 |
func (m *ManagerStatus) Reset() { *m = ManagerStatus{} }
|
| 1084 | 1092 |
func (*ManagerStatus) ProtoMessage() {}
|
| 1085 |
-func (*ManagerStatus) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{33} }
|
|
| 1093 |
+func (*ManagerStatus) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{32} }
|
|
| 1086 | 1094 |
|
| 1087 | 1095 |
func init() {
|
| 1088 | 1096 |
proto.RegisterType((*Version)(nil), "docker.swarmkit.v1.Version") |
| ... | ... |
@@ -1117,7 +1110,6 @@ func init() {
|
| 1117 | 1117 |
proto.RegisterType((*OrchestrationConfig)(nil), "docker.swarmkit.v1.OrchestrationConfig") |
| 1118 | 1118 |
proto.RegisterType((*DispatcherConfig)(nil), "docker.swarmkit.v1.DispatcherConfig") |
| 1119 | 1119 |
proto.RegisterType((*RaftConfig)(nil), "docker.swarmkit.v1.RaftConfig") |
| 1120 |
- proto.RegisterType((*RaftMember)(nil), "docker.swarmkit.v1.RaftMember") |
|
| 1121 | 1120 |
proto.RegisterType((*Placement)(nil), "docker.swarmkit.v1.Placement") |
| 1122 | 1121 |
proto.RegisterType((*RootCA)(nil), "docker.swarmkit.v1.RootCA") |
| 1123 | 1122 |
proto.RegisterType((*Certificate)(nil), "docker.swarmkit.v1.Certificate") |
| ... | ... |
@@ -1624,20 +1616,6 @@ func (m *RaftConfig) Copy() *RaftConfig {
|
| 1624 | 1624 |
return o |
| 1625 | 1625 |
} |
| 1626 | 1626 |
|
| 1627 |
-func (m *RaftMember) Copy() *RaftMember {
|
|
| 1628 |
- if m == nil {
|
|
| 1629 |
- return nil |
|
| 1630 |
- } |
|
| 1631 |
- |
|
| 1632 |
- o := &RaftMember{
|
|
| 1633 |
- RaftID: m.RaftID, |
|
| 1634 |
- Addr: m.Addr, |
|
| 1635 |
- Status: *m.Status.Copy(), |
|
| 1636 |
- } |
|
| 1637 |
- |
|
| 1638 |
- return o |
|
| 1639 |
-} |
|
| 1640 |
- |
|
| 1641 | 1627 |
func (m *Placement) Copy() *Placement {
|
| 1642 | 1628 |
if m == nil {
|
| 1643 | 1629 |
return nil |
| ... | ... |
@@ -1706,7 +1684,10 @@ func (m *ManagerStatus) Copy() *ManagerStatus {
|
| 1706 | 1706 |
} |
| 1707 | 1707 |
|
| 1708 | 1708 |
o := &ManagerStatus{
|
| 1709 |
- Raft: *m.Raft.Copy(), |
|
| 1709 |
+ RaftID: m.RaftID, |
|
| 1710 |
+ Addr: m.Addr, |
|
| 1711 |
+ Leader: m.Leader, |
|
| 1712 |
+ Reachability: m.Reachability, |
|
| 1710 | 1713 |
} |
| 1711 | 1714 |
|
| 1712 | 1715 |
return o |
| ... | ... |
@@ -2187,18 +2168,6 @@ func (this *RaftConfig) GoString() string {
|
| 2187 | 2187 |
s = append(s, "}") |
| 2188 | 2188 |
return strings.Join(s, "") |
| 2189 | 2189 |
} |
| 2190 |
-func (this *RaftMember) GoString() string {
|
|
| 2191 |
- if this == nil {
|
|
| 2192 |
- return "nil" |
|
| 2193 |
- } |
|
| 2194 |
- s := make([]string, 0, 7) |
|
| 2195 |
- s = append(s, "&api.RaftMember{")
|
|
| 2196 |
- s = append(s, "RaftID: "+fmt.Sprintf("%#v", this.RaftID)+",\n")
|
|
| 2197 |
- s = append(s, "Addr: "+fmt.Sprintf("%#v", this.Addr)+",\n")
|
|
| 2198 |
- s = append(s, "Status: "+strings.Replace(this.Status.GoString(), `&`, ``, 1)+",\n") |
|
| 2199 |
- s = append(s, "}") |
|
| 2200 |
- return strings.Join(s, "") |
|
| 2201 |
-} |
|
| 2202 | 2190 |
func (this *Placement) GoString() string {
|
| 2203 | 2191 |
if this == nil {
|
| 2204 | 2192 |
return "nil" |
| ... | ... |
@@ -2252,9 +2221,12 @@ func (this *ManagerStatus) GoString() string {
|
| 2252 | 2252 |
if this == nil {
|
| 2253 | 2253 |
return "nil" |
| 2254 | 2254 |
} |
| 2255 |
- s := make([]string, 0, 5) |
|
| 2255 |
+ s := make([]string, 0, 8) |
|
| 2256 | 2256 |
s = append(s, "&api.ManagerStatus{")
|
| 2257 |
- s = append(s, "Raft: "+strings.Replace(this.Raft.GoString(), `&`, ``, 1)+",\n") |
|
| 2257 |
+ s = append(s, "RaftID: "+fmt.Sprintf("%#v", this.RaftID)+",\n")
|
|
| 2258 |
+ s = append(s, "Addr: "+fmt.Sprintf("%#v", this.Addr)+",\n")
|
|
| 2259 |
+ s = append(s, "Leader: "+fmt.Sprintf("%#v", this.Leader)+",\n")
|
|
| 2260 |
+ s = append(s, "Reachability: "+fmt.Sprintf("%#v", this.Reachability)+",\n")
|
|
| 2258 | 2261 |
s = append(s, "}") |
| 2259 | 2262 |
return strings.Join(s, "") |
| 2260 | 2263 |
} |
| ... | ... |
@@ -3484,43 +3456,6 @@ func (m *RaftConfig) MarshalTo(data []byte) (int, error) {
|
| 3484 | 3484 |
return i, nil |
| 3485 | 3485 |
} |
| 3486 | 3486 |
|
| 3487 |
-func (m *RaftMember) Marshal() (data []byte, err error) {
|
|
| 3488 |
- size := m.Size() |
|
| 3489 |
- data = make([]byte, size) |
|
| 3490 |
- n, err := m.MarshalTo(data) |
|
| 3491 |
- if err != nil {
|
|
| 3492 |
- return nil, err |
|
| 3493 |
- } |
|
| 3494 |
- return data[:n], nil |
|
| 3495 |
-} |
|
| 3496 |
- |
|
| 3497 |
-func (m *RaftMember) MarshalTo(data []byte) (int, error) {
|
|
| 3498 |
- var i int |
|
| 3499 |
- _ = i |
|
| 3500 |
- var l int |
|
| 3501 |
- _ = l |
|
| 3502 |
- if m.RaftID != 0 {
|
|
| 3503 |
- data[i] = 0x8 |
|
| 3504 |
- i++ |
|
| 3505 |
- i = encodeVarintTypes(data, i, uint64(m.RaftID)) |
|
| 3506 |
- } |
|
| 3507 |
- if len(m.Addr) > 0 {
|
|
| 3508 |
- data[i] = 0x12 |
|
| 3509 |
- i++ |
|
| 3510 |
- i = encodeVarintTypes(data, i, uint64(len(m.Addr))) |
|
| 3511 |
- i += copy(data[i:], m.Addr) |
|
| 3512 |
- } |
|
| 3513 |
- data[i] = 0x1a |
|
| 3514 |
- i++ |
|
| 3515 |
- i = encodeVarintTypes(data, i, uint64(m.Status.Size())) |
|
| 3516 |
- n19, err := m.Status.MarshalTo(data[i:]) |
|
| 3517 |
- if err != nil {
|
|
| 3518 |
- return 0, err |
|
| 3519 |
- } |
|
| 3520 |
- i += n19 |
|
| 3521 |
- return i, nil |
|
| 3522 |
-} |
|
| 3523 |
- |
|
| 3524 | 3487 |
func (m *Placement) Marshal() (data []byte, err error) {
|
| 3525 | 3488 |
size := m.Size() |
| 3526 | 3489 |
data = make([]byte, size) |
| ... | ... |
@@ -3619,11 +3554,11 @@ func (m *Certificate) MarshalTo(data []byte) (int, error) {
|
| 3619 | 3619 |
data[i] = 0x1a |
| 3620 | 3620 |
i++ |
| 3621 | 3621 |
i = encodeVarintTypes(data, i, uint64(m.Status.Size())) |
| 3622 |
- n20, err := m.Status.MarshalTo(data[i:]) |
|
| 3622 |
+ n19, err := m.Status.MarshalTo(data[i:]) |
|
| 3623 | 3623 |
if err != nil {
|
| 3624 | 3624 |
return 0, err |
| 3625 | 3625 |
} |
| 3626 |
- i += n20 |
|
| 3626 |
+ i += n19 |
|
| 3627 | 3627 |
if len(m.Certificate) > 0 {
|
| 3628 | 3628 |
data[i] = 0x22 |
| 3629 | 3629 |
i++ |
| ... | ... |
@@ -3694,14 +3629,32 @@ func (m *ManagerStatus) MarshalTo(data []byte) (int, error) {
|
| 3694 | 3694 |
_ = i |
| 3695 | 3695 |
var l int |
| 3696 | 3696 |
_ = l |
| 3697 |
- data[i] = 0xa |
|
| 3698 |
- i++ |
|
| 3699 |
- i = encodeVarintTypes(data, i, uint64(m.Raft.Size())) |
|
| 3700 |
- n21, err := m.Raft.MarshalTo(data[i:]) |
|
| 3701 |
- if err != nil {
|
|
| 3702 |
- return 0, err |
|
| 3697 |
+ if m.RaftID != 0 {
|
|
| 3698 |
+ data[i] = 0x8 |
|
| 3699 |
+ i++ |
|
| 3700 |
+ i = encodeVarintTypes(data, i, uint64(m.RaftID)) |
|
| 3701 |
+ } |
|
| 3702 |
+ if len(m.Addr) > 0 {
|
|
| 3703 |
+ data[i] = 0x12 |
|
| 3704 |
+ i++ |
|
| 3705 |
+ i = encodeVarintTypes(data, i, uint64(len(m.Addr))) |
|
| 3706 |
+ i += copy(data[i:], m.Addr) |
|
| 3707 |
+ } |
|
| 3708 |
+ if m.Leader {
|
|
| 3709 |
+ data[i] = 0x18 |
|
| 3710 |
+ i++ |
|
| 3711 |
+ if m.Leader {
|
|
| 3712 |
+ data[i] = 1 |
|
| 3713 |
+ } else {
|
|
| 3714 |
+ data[i] = 0 |
|
| 3715 |
+ } |
|
| 3716 |
+ i++ |
|
| 3717 |
+ } |
|
| 3718 |
+ if m.Reachability != 0 {
|
|
| 3719 |
+ data[i] = 0x20 |
|
| 3720 |
+ i++ |
|
| 3721 |
+ i = encodeVarintTypes(data, i, uint64(m.Reachability)) |
|
| 3703 | 3722 |
} |
| 3704 |
- i += n21 |
|
| 3705 | 3723 |
return i, nil |
| 3706 | 3724 |
} |
| 3707 | 3725 |
|
| ... | ... |
@@ -4250,21 +4203,6 @@ func (m *RaftConfig) Size() (n int) {
|
| 4250 | 4250 |
return n |
| 4251 | 4251 |
} |
| 4252 | 4252 |
|
| 4253 |
-func (m *RaftMember) Size() (n int) {
|
|
| 4254 |
- var l int |
|
| 4255 |
- _ = l |
|
| 4256 |
- if m.RaftID != 0 {
|
|
| 4257 |
- n += 1 + sovTypes(uint64(m.RaftID)) |
|
| 4258 |
- } |
|
| 4259 |
- l = len(m.Addr) |
|
| 4260 |
- if l > 0 {
|
|
| 4261 |
- n += 1 + l + sovTypes(uint64(l)) |
|
| 4262 |
- } |
|
| 4263 |
- l = m.Status.Size() |
|
| 4264 |
- n += 1 + l + sovTypes(uint64(l)) |
|
| 4265 |
- return n |
|
| 4266 |
-} |
|
| 4267 |
- |
|
| 4268 | 4253 |
func (m *Placement) Size() (n int) {
|
| 4269 | 4254 |
var l int |
| 4270 | 4255 |
_ = l |
| ... | ... |
@@ -4341,8 +4279,19 @@ func (m *EncryptionKey) Size() (n int) {
|
| 4341 | 4341 |
func (m *ManagerStatus) Size() (n int) {
|
| 4342 | 4342 |
var l int |
| 4343 | 4343 |
_ = l |
| 4344 |
- l = m.Raft.Size() |
|
| 4345 |
- n += 1 + l + sovTypes(uint64(l)) |
|
| 4344 |
+ if m.RaftID != 0 {
|
|
| 4345 |
+ n += 1 + sovTypes(uint64(m.RaftID)) |
|
| 4346 |
+ } |
|
| 4347 |
+ l = len(m.Addr) |
|
| 4348 |
+ if l > 0 {
|
|
| 4349 |
+ n += 1 + l + sovTypes(uint64(l)) |
|
| 4350 |
+ } |
|
| 4351 |
+ if m.Leader {
|
|
| 4352 |
+ n += 2 |
|
| 4353 |
+ } |
|
| 4354 |
+ if m.Reachability != 0 {
|
|
| 4355 |
+ n += 1 + sovTypes(uint64(m.Reachability)) |
|
| 4356 |
+ } |
|
| 4346 | 4357 |
return n |
| 4347 | 4358 |
} |
| 4348 | 4359 |
|
| ... | ... |
@@ -4788,18 +4737,6 @@ func (this *RaftConfig) String() string {
|
| 4788 | 4788 |
}, "") |
| 4789 | 4789 |
return s |
| 4790 | 4790 |
} |
| 4791 |
-func (this *RaftMember) String() string {
|
|
| 4792 |
- if this == nil {
|
|
| 4793 |
- return "nil" |
|
| 4794 |
- } |
|
| 4795 |
- s := strings.Join([]string{`&RaftMember{`,
|
|
| 4796 |
- `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
|
|
| 4797 |
- `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
|
|
| 4798 |
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "RaftMemberStatus", "RaftMemberStatus", 1), `&`, ``, 1) + `,`, |
|
| 4799 |
- `}`, |
|
| 4800 |
- }, "") |
|
| 4801 |
- return s |
|
| 4802 |
-} |
|
| 4803 | 4791 |
func (this *Placement) String() string {
|
| 4804 | 4792 |
if this == nil {
|
| 4805 | 4793 |
return "nil" |
| ... | ... |
@@ -4854,7 +4791,10 @@ func (this *ManagerStatus) String() string {
|
| 4854 | 4854 |
return "nil" |
| 4855 | 4855 |
} |
| 4856 | 4856 |
s := strings.Join([]string{`&ManagerStatus{`,
|
| 4857 |
- `Raft:` + strings.Replace(strings.Replace(this.Raft.String(), "RaftMember", "RaftMember", 1), `&`, ``, 1) + `,`, |
|
| 4857 |
+ `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
|
|
| 4858 |
+ `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
|
|
| 4859 |
+ `Leader:` + fmt.Sprintf("%v", this.Leader) + `,`,
|
|
| 4860 |
+ `Reachability:` + fmt.Sprintf("%v", this.Reachability) + `,`,
|
|
| 4858 | 4861 |
`}`, |
| 4859 | 4862 |
}, "") |
| 4860 | 4863 |
return s |
| ... | ... |
@@ -8992,134 +8932,6 @@ func (m *RaftConfig) Unmarshal(data []byte) error {
|
| 8992 | 8992 |
} |
| 8993 | 8993 |
return nil |
| 8994 | 8994 |
} |
| 8995 |
-func (m *RaftMember) Unmarshal(data []byte) error {
|
|
| 8996 |
- l := len(data) |
|
| 8997 |
- iNdEx := 0 |
|
| 8998 |
- for iNdEx < l {
|
|
| 8999 |
- preIndex := iNdEx |
|
| 9000 |
- var wire uint64 |
|
| 9001 |
- for shift := uint(0); ; shift += 7 {
|
|
| 9002 |
- if shift >= 64 {
|
|
| 9003 |
- return ErrIntOverflowTypes |
|
| 9004 |
- } |
|
| 9005 |
- if iNdEx >= l {
|
|
| 9006 |
- return io.ErrUnexpectedEOF |
|
| 9007 |
- } |
|
| 9008 |
- b := data[iNdEx] |
|
| 9009 |
- iNdEx++ |
|
| 9010 |
- wire |= (uint64(b) & 0x7F) << shift |
|
| 9011 |
- if b < 0x80 {
|
|
| 9012 |
- break |
|
| 9013 |
- } |
|
| 9014 |
- } |
|
| 9015 |
- fieldNum := int32(wire >> 3) |
|
| 9016 |
- wireType := int(wire & 0x7) |
|
| 9017 |
- if wireType == 4 {
|
|
| 9018 |
- return fmt.Errorf("proto: RaftMember: wiretype end group for non-group")
|
|
| 9019 |
- } |
|
| 9020 |
- if fieldNum <= 0 {
|
|
| 9021 |
- return fmt.Errorf("proto: RaftMember: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
| 9022 |
- } |
|
| 9023 |
- switch fieldNum {
|
|
| 9024 |
- case 1: |
|
| 9025 |
- if wireType != 0 {
|
|
| 9026 |
- return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
|
|
| 9027 |
- } |
|
| 9028 |
- m.RaftID = 0 |
|
| 9029 |
- for shift := uint(0); ; shift += 7 {
|
|
| 9030 |
- if shift >= 64 {
|
|
| 9031 |
- return ErrIntOverflowTypes |
|
| 9032 |
- } |
|
| 9033 |
- if iNdEx >= l {
|
|
| 9034 |
- return io.ErrUnexpectedEOF |
|
| 9035 |
- } |
|
| 9036 |
- b := data[iNdEx] |
|
| 9037 |
- iNdEx++ |
|
| 9038 |
- m.RaftID |= (uint64(b) & 0x7F) << shift |
|
| 9039 |
- if b < 0x80 {
|
|
| 9040 |
- break |
|
| 9041 |
- } |
|
| 9042 |
- } |
|
| 9043 |
- case 2: |
|
| 9044 |
- if wireType != 2 {
|
|
| 9045 |
- return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
|
|
| 9046 |
- } |
|
| 9047 |
- var stringLen uint64 |
|
| 9048 |
- for shift := uint(0); ; shift += 7 {
|
|
| 9049 |
- if shift >= 64 {
|
|
| 9050 |
- return ErrIntOverflowTypes |
|
| 9051 |
- } |
|
| 9052 |
- if iNdEx >= l {
|
|
| 9053 |
- return io.ErrUnexpectedEOF |
|
| 9054 |
- } |
|
| 9055 |
- b := data[iNdEx] |
|
| 9056 |
- iNdEx++ |
|
| 9057 |
- stringLen |= (uint64(b) & 0x7F) << shift |
|
| 9058 |
- if b < 0x80 {
|
|
| 9059 |
- break |
|
| 9060 |
- } |
|
| 9061 |
- } |
|
| 9062 |
- intStringLen := int(stringLen) |
|
| 9063 |
- if intStringLen < 0 {
|
|
| 9064 |
- return ErrInvalidLengthTypes |
|
| 9065 |
- } |
|
| 9066 |
- postIndex := iNdEx + intStringLen |
|
| 9067 |
- if postIndex > l {
|
|
| 9068 |
- return io.ErrUnexpectedEOF |
|
| 9069 |
- } |
|
| 9070 |
- m.Addr = string(data[iNdEx:postIndex]) |
|
| 9071 |
- iNdEx = postIndex |
|
| 9072 |
- case 3: |
|
| 9073 |
- if wireType != 2 {
|
|
| 9074 |
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
|
|
| 9075 |
- } |
|
| 9076 |
- var msglen int |
|
| 9077 |
- for shift := uint(0); ; shift += 7 {
|
|
| 9078 |
- if shift >= 64 {
|
|
| 9079 |
- return ErrIntOverflowTypes |
|
| 9080 |
- } |
|
| 9081 |
- if iNdEx >= l {
|
|
| 9082 |
- return io.ErrUnexpectedEOF |
|
| 9083 |
- } |
|
| 9084 |
- b := data[iNdEx] |
|
| 9085 |
- iNdEx++ |
|
| 9086 |
- msglen |= (int(b) & 0x7F) << shift |
|
| 9087 |
- if b < 0x80 {
|
|
| 9088 |
- break |
|
| 9089 |
- } |
|
| 9090 |
- } |
|
| 9091 |
- if msglen < 0 {
|
|
| 9092 |
- return ErrInvalidLengthTypes |
|
| 9093 |
- } |
|
| 9094 |
- postIndex := iNdEx + msglen |
|
| 9095 |
- if postIndex > l {
|
|
| 9096 |
- return io.ErrUnexpectedEOF |
|
| 9097 |
- } |
|
| 9098 |
- if err := m.Status.Unmarshal(data[iNdEx:postIndex]); err != nil {
|
|
| 9099 |
- return err |
|
| 9100 |
- } |
|
| 9101 |
- iNdEx = postIndex |
|
| 9102 |
- default: |
|
| 9103 |
- iNdEx = preIndex |
|
| 9104 |
- skippy, err := skipTypes(data[iNdEx:]) |
|
| 9105 |
- if err != nil {
|
|
| 9106 |
- return err |
|
| 9107 |
- } |
|
| 9108 |
- if skippy < 0 {
|
|
| 9109 |
- return ErrInvalidLengthTypes |
|
| 9110 |
- } |
|
| 9111 |
- if (iNdEx + skippy) > l {
|
|
| 9112 |
- return io.ErrUnexpectedEOF |
|
| 9113 |
- } |
|
| 9114 |
- iNdEx += skippy |
|
| 9115 |
- } |
|
| 9116 |
- } |
|
| 9117 |
- |
|
| 9118 |
- if iNdEx > l {
|
|
| 9119 |
- return io.ErrUnexpectedEOF |
|
| 9120 |
- } |
|
| 9121 |
- return nil |
|
| 9122 |
-} |
|
| 9123 | 8995 |
func (m *Placement) Unmarshal(data []byte) error {
|
| 9124 | 8996 |
l := len(data) |
| 9125 | 8997 |
iNdEx := 0 |
| ... | ... |
@@ -9708,10 +9520,29 @@ func (m *ManagerStatus) Unmarshal(data []byte) error {
|
| 9708 | 9708 |
} |
| 9709 | 9709 |
switch fieldNum {
|
| 9710 | 9710 |
case 1: |
| 9711 |
+ if wireType != 0 {
|
|
| 9712 |
+ return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
|
|
| 9713 |
+ } |
|
| 9714 |
+ m.RaftID = 0 |
|
| 9715 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 9716 |
+ if shift >= 64 {
|
|
| 9717 |
+ return ErrIntOverflowTypes |
|
| 9718 |
+ } |
|
| 9719 |
+ if iNdEx >= l {
|
|
| 9720 |
+ return io.ErrUnexpectedEOF |
|
| 9721 |
+ } |
|
| 9722 |
+ b := data[iNdEx] |
|
| 9723 |
+ iNdEx++ |
|
| 9724 |
+ m.RaftID |= (uint64(b) & 0x7F) << shift |
|
| 9725 |
+ if b < 0x80 {
|
|
| 9726 |
+ break |
|
| 9727 |
+ } |
|
| 9728 |
+ } |
|
| 9729 |
+ case 2: |
|
| 9711 | 9730 |
if wireType != 2 {
|
| 9712 |
- return fmt.Errorf("proto: wrong wireType = %d for field Raft", wireType)
|
|
| 9731 |
+ return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
|
|
| 9713 | 9732 |
} |
| 9714 |
- var msglen int |
|
| 9733 |
+ var stringLen uint64 |
|
| 9715 | 9734 |
for shift := uint(0); ; shift += 7 {
|
| 9716 | 9735 |
if shift >= 64 {
|
| 9717 | 9736 |
return ErrIntOverflowTypes |
| ... | ... |
@@ -9721,22 +9552,60 @@ func (m *ManagerStatus) Unmarshal(data []byte) error {
|
| 9721 | 9721 |
} |
| 9722 | 9722 |
b := data[iNdEx] |
| 9723 | 9723 |
iNdEx++ |
| 9724 |
- msglen |= (int(b) & 0x7F) << shift |
|
| 9724 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
| 9725 | 9725 |
if b < 0x80 {
|
| 9726 | 9726 |
break |
| 9727 | 9727 |
} |
| 9728 | 9728 |
} |
| 9729 |
- if msglen < 0 {
|
|
| 9729 |
+ intStringLen := int(stringLen) |
|
| 9730 |
+ if intStringLen < 0 {
|
|
| 9730 | 9731 |
return ErrInvalidLengthTypes |
| 9731 | 9732 |
} |
| 9732 |
- postIndex := iNdEx + msglen |
|
| 9733 |
+ postIndex := iNdEx + intStringLen |
|
| 9733 | 9734 |
if postIndex > l {
|
| 9734 | 9735 |
return io.ErrUnexpectedEOF |
| 9735 | 9736 |
} |
| 9736 |
- if err := m.Raft.Unmarshal(data[iNdEx:postIndex]); err != nil {
|
|
| 9737 |
- return err |
|
| 9738 |
- } |
|
| 9737 |
+ m.Addr = string(data[iNdEx:postIndex]) |
|
| 9739 | 9738 |
iNdEx = postIndex |
| 9739 |
+ case 3: |
|
| 9740 |
+ if wireType != 0 {
|
|
| 9741 |
+ return fmt.Errorf("proto: wrong wireType = %d for field Leader", wireType)
|
|
| 9742 |
+ } |
|
| 9743 |
+ var v int |
|
| 9744 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 9745 |
+ if shift >= 64 {
|
|
| 9746 |
+ return ErrIntOverflowTypes |
|
| 9747 |
+ } |
|
| 9748 |
+ if iNdEx >= l {
|
|
| 9749 |
+ return io.ErrUnexpectedEOF |
|
| 9750 |
+ } |
|
| 9751 |
+ b := data[iNdEx] |
|
| 9752 |
+ iNdEx++ |
|
| 9753 |
+ v |= (int(b) & 0x7F) << shift |
|
| 9754 |
+ if b < 0x80 {
|
|
| 9755 |
+ break |
|
| 9756 |
+ } |
|
| 9757 |
+ } |
|
| 9758 |
+ m.Leader = bool(v != 0) |
|
| 9759 |
+ case 4: |
|
| 9760 |
+ if wireType != 0 {
|
|
| 9761 |
+ return fmt.Errorf("proto: wrong wireType = %d for field Reachability", wireType)
|
|
| 9762 |
+ } |
|
| 9763 |
+ m.Reachability = 0 |
|
| 9764 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 9765 |
+ if shift >= 64 {
|
|
| 9766 |
+ return ErrIntOverflowTypes |
|
| 9767 |
+ } |
|
| 9768 |
+ if iNdEx >= l {
|
|
| 9769 |
+ return io.ErrUnexpectedEOF |
|
| 9770 |
+ } |
|
| 9771 |
+ b := data[iNdEx] |
|
| 9772 |
+ iNdEx++ |
|
| 9773 |
+ m.Reachability |= (RaftMemberStatus_Reachability(b) & 0x7F) << shift |
|
| 9774 |
+ if b < 0x80 {
|
|
| 9775 |
+ break |
|
| 9776 |
+ } |
|
| 9777 |
+ } |
|
| 9740 | 9778 |
default: |
| 9741 | 9779 |
iNdEx = preIndex |
| 9742 | 9780 |
skippy, err := skipTypes(data[iNdEx:]) |
| ... | ... |
@@ -9864,189 +9733,188 @@ var ( |
| 9864 | 9864 |
) |
| 9865 | 9865 |
|
| 9866 | 9866 |
var fileDescriptorTypes = []byte{
|
| 9867 |
- // 2940 bytes of a gzipped FileDescriptorProto |
|
| 9868 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x58, 0xcb, 0x73, 0x1b, 0xc7, |
|
| 9869 |
- 0xd1, 0x27, 0x9e, 0x04, 0x06, 0x20, 0x09, 0xad, 0x64, 0x99, 0x82, 0xf9, 0x51, 0xfa, 0xd6, 0x52, |
|
| 9870 |
- 0x2c, 0x3f, 0x02, 0x5b, 0xb4, 0x93, 0x52, 0xec, 0x72, 0xec, 0xc5, 0x83, 0x22, 0x22, 0x12, 0x44, |
|
| 9871 |
- 0x0d, 0x48, 0xaa, 0x7c, 0x48, 0x50, 0xcb, 0xc5, 0x90, 0x58, 0x73, 0xb1, 0x8b, 0xec, 0x2e, 0x48, |
|
| 9872 |
- 0xa1, 0x52, 0xa9, 0x92, 0x73, 0x49, 0xe2, 0x53, 0xee, 0x29, 0x57, 0x2a, 0x95, 0x5c, 0xf3, 0x0f, |
|
| 9873 |
- 0xe4, 0xa4, 0xa3, 0x8e, 0x49, 0xa5, 0x2a, 0xe5, 0x93, 0x2b, 0x76, 0x0e, 0xb9, 0xa6, 0x2a, 0xa9, |
|
| 9874 |
- 0xf8, 0x90, 0x1c, 0xd2, 0x3d, 0x8f, 0xc5, 0x43, 0x2b, 0x5a, 0x8a, 0x0f, 0x28, 0xec, 0xf4, 0xfc, |
|
| 9875 |
- 0xba, 0xa7, 0xbb, 0xa7, 0xa7, 0xbb, 0x67, 0x48, 0x21, 0x1c, 0x0f, 0x59, 0x50, 0x19, 0xfa, 0x5e, |
|
| 9876 |
- 0xe8, 0x69, 0x5a, 0xcf, 0xb3, 0x4e, 0x98, 0x5f, 0x09, 0xce, 0x4c, 0x7f, 0x70, 0x62, 0x87, 0x95, |
|
| 9877 |
- 0xd3, 0x5b, 0xe5, 0x2b, 0xa1, 0x3d, 0x60, 0x41, 0x68, 0x0e, 0x86, 0xaf, 0x47, 0x5f, 0x02, 0x5e, |
|
| 9878 |
- 0x7e, 0xbe, 0x37, 0xf2, 0xcd, 0xd0, 0xf6, 0xdc, 0xd7, 0xd5, 0x87, 0x9c, 0xb8, 0x74, 0xec, 0x1d, |
|
| 9879 |
- 0x7b, 0xfc, 0xf3, 0x75, 0xfc, 0x12, 0x54, 0xfd, 0x2a, 0x59, 0x3c, 0x60, 0x7e, 0x00, 0x30, 0xed, |
|
| 9880 |
- 0x12, 0xc9, 0xd8, 0x6e, 0x8f, 0xdd, 0x5f, 0x4d, 0x5c, 0x4b, 0xdc, 0x4c, 0x53, 0x31, 0xd0, 0x7f, |
|
| 9881 |
- 0x9d, 0x20, 0x05, 0xc3, 0x75, 0xbd, 0x90, 0xcb, 0x0a, 0x34, 0x8d, 0xa4, 0x5d, 0x73, 0xc0, 0x38, |
|
| 9882 |
- 0x28, 0x4f, 0xf9, 0xb7, 0x56, 0x23, 0x59, 0xc7, 0x3c, 0x64, 0x4e, 0xb0, 0x9a, 0xbc, 0x96, 0xba, |
|
| 9883 |
- 0x59, 0xd8, 0x78, 0xb5, 0xf2, 0xb8, 0xce, 0x95, 0x29, 0x21, 0x95, 0x6d, 0x8e, 0x6e, 0xb8, 0xa1, |
|
| 9884 |
- 0x3f, 0xa6, 0x92, 0xb5, 0xfc, 0x1d, 0x52, 0x98, 0x22, 0x6b, 0x25, 0x92, 0x3a, 0x61, 0x63, 0xb9, |
|
| 9885 |
- 0x0c, 0x7e, 0xa2, 0x7e, 0xa7, 0xa6, 0x33, 0x62, 0xb0, 0x08, 0xd2, 0xc4, 0xe0, 0xed, 0xe4, 0xed, |
|
| 9886 |
- 0x84, 0xfe, 0x01, 0xc9, 0x53, 0x16, 0x78, 0x23, 0xdf, 0x62, 0x81, 0xf6, 0x32, 0xc9, 0xbb, 0xa6, |
|
| 9887 |
- 0xeb, 0x75, 0xad, 0xe1, 0x28, 0xe0, 0xec, 0xa9, 0x6a, 0xf1, 0x8b, 0xcf, 0xae, 0xe6, 0x5a, 0x40, |
|
| 9888 |
- 0xac, 0xb5, 0xf7, 0x03, 0x9a, 0xc3, 0xe9, 0x1a, 0xcc, 0x6a, 0xff, 0x4f, 0x8a, 0x03, 0x36, 0xf0, |
|
| 9889 |
- 0xfc, 0x71, 0xf7, 0x70, 0x1c, 0xb2, 0x80, 0x0b, 0x4e, 0xd1, 0x82, 0xa0, 0x55, 0x91, 0xa4, 0xff, |
|
| 9890 |
- 0x22, 0x41, 0x2e, 0x29, 0xd9, 0x94, 0xfd, 0x70, 0x64, 0xfb, 0x6c, 0xc0, 0xdc, 0x30, 0xd0, 0xbe, |
|
| 9891 |
- 0x05, 0x36, 0xdb, 0x03, 0x3b, 0x14, 0x6b, 0x14, 0x36, 0xfe, 0x2f, 0xce, 0xe6, 0x48, 0x2b, 0x2a, |
|
| 9892 |
- 0xc1, 0x9a, 0x41, 0x8a, 0x3e, 0x0b, 0x98, 0x7f, 0x2a, 0x3c, 0xc1, 0x97, 0xfc, 0x4a, 0xe6, 0x19, |
|
| 9893 |
- 0x16, 0x7d, 0x93, 0xe4, 0xda, 0x8e, 0x19, 0x1e, 0x79, 0xfe, 0x40, 0xd3, 0x49, 0xd1, 0xf4, 0xad, |
|
| 9894 |
- 0xbe, 0x1d, 0x32, 0x2b, 0x1c, 0xf9, 0x6a, 0x57, 0x66, 0x68, 0xda, 0x65, 0x92, 0xf4, 0xc4, 0x42, |
|
| 9895 |
- 0xf9, 0x6a, 0x16, 0x3c, 0x91, 0xdc, 0xed, 0x50, 0xa0, 0xe8, 0xef, 0x90, 0x0b, 0x6d, 0x67, 0x74, |
|
| 9896 |
- 0x6c, 0xbb, 0x75, 0x16, 0x58, 0xbe, 0x3d, 0x44, 0xe9, 0xb8, 0xbd, 0x18, 0x7c, 0x6a, 0x7b, 0xf1, |
|
| 9897 |
- 0x3b, 0xda, 0xf2, 0xe4, 0x64, 0xcb, 0xf5, 0x9f, 0x26, 0xc9, 0x85, 0x86, 0x0b, 0xcc, 0x6c, 0x9a, |
|
| 9898 |
- 0xfb, 0x06, 0x59, 0x66, 0x9c, 0xd8, 0x3d, 0x15, 0x41, 0x25, 0xe5, 0x2c, 0x09, 0xaa, 0x8a, 0xb4, |
|
| 9899 |
- 0xe6, 0x5c, 0xbc, 0xdc, 0x8a, 0x33, 0xff, 0x31, 0xe9, 0x71, 0x51, 0xa3, 0x35, 0xc8, 0xe2, 0x90, |
|
| 9900 |
- 0x1b, 0x11, 0xac, 0xa6, 0xb8, 0xac, 0x1b, 0x71, 0xb2, 0x1e, 0xb3, 0xb3, 0x9a, 0x7e, 0xf4, 0xd9, |
|
| 9901 |
- 0xd5, 0x05, 0xaa, 0x78, 0xbf, 0x4e, 0xf0, 0xfd, 0x35, 0x41, 0x56, 0x5a, 0x5e, 0x6f, 0xc6, 0x0f, |
|
| 9902 |
- 0x65, 0x92, 0xeb, 0x7b, 0x41, 0x38, 0x75, 0x50, 0xa2, 0xb1, 0x76, 0x9b, 0xe4, 0x86, 0x72, 0xfb, |
|
| 9903 |
- 0xe4, 0xee, 0xaf, 0xc5, 0xab, 0x2c, 0x30, 0x34, 0x42, 0x6b, 0xef, 0x90, 0xbc, 0xaf, 0x62, 0x02, |
|
| 9904 |
- 0xac, 0x7d, 0x8a, 0xc0, 0x99, 0xe0, 0xb5, 0x77, 0x49, 0x56, 0x6c, 0xc2, 0x6a, 0x9a, 0x73, 0xde, |
|
| 9905 |
- 0x78, 0x2a, 0x9f, 0x53, 0xc9, 0xa4, 0x7f, 0x9a, 0x20, 0x25, 0x6a, 0x1e, 0x85, 0x3b, 0x6c, 0x70, |
|
| 9906 |
- 0xc8, 0xfc, 0x0e, 0x1c, 0x64, 0x38, 0x3f, 0x97, 0x61, 0x1f, 0x99, 0xd9, 0x63, 0x3e, 0x37, 0x32, |
|
| 9907 |
- 0x47, 0xe5, 0x48, 0xdb, 0xc7, 0x20, 0x37, 0xad, 0xbe, 0x79, 0x68, 0x3b, 0x76, 0x38, 0xe6, 0x66, |
|
| 9908 |
- 0x2e, 0xc7, 0xef, 0xf2, 0xbc, 0x4c, 0x50, 0x7e, 0xc2, 0x48, 0x67, 0xc4, 0x68, 0xab, 0x64, 0x11, |
|
| 9909 |
- 0x72, 0x5d, 0x60, 0x1e, 0x33, 0x6e, 0x7d, 0x9e, 0xaa, 0x21, 0x84, 0x72, 0x71, 0x9a, 0x4f, 0x2b, |
|
| 9910 |
- 0x90, 0xc5, 0xfd, 0xd6, 0xdd, 0xd6, 0xee, 0xbd, 0x56, 0x69, 0x41, 0x5b, 0x21, 0x85, 0xfd, 0x16, |
|
| 9911 |
- 0x6d, 0x18, 0xb5, 0x2d, 0xa3, 0xba, 0xdd, 0x28, 0x25, 0xb4, 0x25, 0x48, 0x17, 0xd1, 0x30, 0xa9, |
|
| 9912 |
- 0xff, 0x2a, 0x41, 0x08, 0x6e, 0xa0, 0x34, 0xea, 0x6d, 0x92, 0x81, 0x7c, 0x1a, 0x8a, 0x8d, 0x5b, |
|
| 9913 |
- 0xde, 0xb8, 0x1e, 0xa7, 0xf5, 0x04, 0x5e, 0xc1, 0x3f, 0x46, 0x05, 0xcb, 0xb4, 0x86, 0xc9, 0x79, |
|
| 9914 |
- 0x0d, 0x33, 0x1c, 0x39, 0xab, 0x5a, 0x8e, 0xa4, 0xeb, 0xf8, 0x95, 0xd0, 0xf2, 0x24, 0x03, 0x3a, |
|
| 9915 |
- 0xd5, 0x3f, 0x28, 0x25, 0x21, 0xf8, 0x8a, 0xf5, 0x66, 0xa7, 0xb6, 0xdb, 0x6a, 0x35, 0x6a, 0x7b, |
|
| 9916 |
- 0x8d, 0x7a, 0x29, 0xa5, 0xdf, 0x20, 0x99, 0xe6, 0x00, 0xa4, 0x68, 0x6b, 0x18, 0x01, 0x47, 0xcc, |
|
| 9917 |
- 0x67, 0xae, 0xa5, 0x02, 0x6b, 0x42, 0xd0, 0xff, 0xb5, 0x48, 0x32, 0x3b, 0xde, 0xc8, 0x0d, 0xb5, |
|
| 9918 |
- 0x8d, 0xa9, 0x53, 0xbc, 0xbc, 0xb1, 0x1e, 0x67, 0x02, 0x07, 0x56, 0xf6, 0x00, 0x25, 0x4f, 0x39, |
|
| 9919 |
- 0x6c, 0xa6, 0x88, 0x15, 0xa9, 0xba, 0x1c, 0x21, 0x3d, 0x34, 0xfd, 0x63, 0x16, 0x4a, 0xa7, 0xcb, |
|
| 9920 |
- 0x11, 0xc6, 0xf8, 0x99, 0x6f, 0x87, 0xe6, 0xa1, 0x23, 0x42, 0x2a, 0x47, 0xa3, 0xb1, 0xb6, 0x45, |
|
| 9921 |
- 0x8a, 0x87, 0x50, 0x3e, 0xba, 0xde, 0x50, 0x64, 0xb9, 0xcc, 0x93, 0x43, 0x4e, 0xe8, 0x51, 0x05, |
|
| 9922 |
- 0xf4, 0xae, 0x00, 0xd3, 0xc2, 0xe1, 0x64, 0xa0, 0xb5, 0xc8, 0xf2, 0xa9, 0xe7, 0x8c, 0x06, 0x2c, |
|
| 9923 |
- 0x92, 0x95, 0xe5, 0xb2, 0x5e, 0x7a, 0xb2, 0xac, 0x03, 0x8e, 0x57, 0xd2, 0x96, 0x4e, 0xa7, 0x87, |
|
| 9924 |
- 0xe5, 0x9f, 0xa4, 0x48, 0x61, 0x6a, 0x31, 0xad, 0x43, 0x0a, 0x50, 0x08, 0x87, 0xe6, 0x31, 0x4f, |
|
| 9925 |
- 0xae, 0xd2, 0x61, 0xb7, 0x9e, 0x4a, 0xd1, 0x4a, 0x7b, 0xc2, 0x48, 0xa7, 0xa5, 0xe8, 0x9f, 0x24, |
|
| 9926 |
- 0x49, 0x61, 0x6a, 0x52, 0x7b, 0x85, 0xe4, 0x68, 0x9b, 0x36, 0x0f, 0x8c, 0xbd, 0x46, 0x69, 0xa1, |
|
| 9927 |
- 0xbc, 0xf6, 0xf1, 0x27, 0xd7, 0x56, 0xb9, 0xb4, 0x69, 0x01, 0x6d, 0xdf, 0x3e, 0xc5, 0xf8, 0xb8, |
|
| 9928 |
- 0x49, 0x16, 0x15, 0x34, 0x51, 0x7e, 0x01, 0xa0, 0xcf, 0xcf, 0x43, 0xa7, 0x90, 0xb4, 0xb3, 0x65, |
|
| 9929 |
- 0x50, 0x08, 0x91, 0x64, 0x3c, 0x92, 0x76, 0xfa, 0xa6, 0xcf, 0x7a, 0xda, 0x37, 0x48, 0x56, 0x02, |
|
| 9930 |
- 0x53, 0xe5, 0x32, 0x00, 0x2f, 0xcf, 0x03, 0x27, 0x38, 0xda, 0xd9, 0x36, 0x0e, 0x1a, 0xa5, 0x74, |
|
| 9931 |
- 0x3c, 0x8e, 0x76, 0x1c, 0xf3, 0x94, 0x69, 0xd7, 0x21, 0x98, 0x39, 0x2c, 0x53, 0xbe, 0x02, 0xb0, |
|
| 9932 |
- 0xe7, 0x1e, 0x13, 0x87, 0xa8, 0xf2, 0xea, 0xcf, 0x7e, 0xb3, 0xbe, 0xf0, 0xfb, 0xdf, 0xae, 0x97, |
|
| 9933 |
- 0xe6, 0xa7, 0xcb, 0xff, 0x4c, 0x90, 0xa5, 0x99, 0x5d, 0xc2, 0x60, 0x1a, 0x7a, 0xc3, 0x91, 0xa3, |
|
| 9934 |
- 0xce, 0x1d, 0x04, 0x93, 0x1a, 0x6b, 0x77, 0xe7, 0xaa, 0xc5, 0x9b, 0x4f, 0xb9, 0xf5, 0xb1, 0xf5, |
|
| 9935 |
- 0xe2, 0x3d, 0xb2, 0xd4, 0x03, 0xff, 0x31, 0xbf, 0x6b, 0x79, 0xee, 0x91, 0x7d, 0x2c, 0xf3, 0x68, |
|
| 9936 |
- 0x39, 0x4e, 0x66, 0x9d, 0x03, 0x69, 0x51, 0x30, 0xd4, 0x38, 0xfe, 0xeb, 0x54, 0x8a, 0x7b, 0x24, |
|
| 9937 |
- 0x8d, 0xe7, 0x4d, 0x7b, 0x81, 0xa4, 0xab, 0xcd, 0x56, 0x1d, 0x42, 0xe1, 0x02, 0x78, 0x6f, 0x89, |
|
| 9938 |
- 0xab, 0x8e, 0x13, 0x18, 0x5b, 0xda, 0x55, 0x92, 0x3d, 0xd8, 0xdd, 0xde, 0xdf, 0xc1, 0xed, 0xbf, |
|
| 9939 |
- 0x08, 0xd3, 0x2b, 0xd1, 0xb4, 0x30, 0xae, 0x7c, 0x41, 0xba, 0x35, 0x1f, 0x4d, 0xe8, 0xff, 0x4e, |
|
| 9940 |
- 0x92, 0x25, 0x8a, 0x5d, 0xa0, 0x1f, 0xb6, 0x3d, 0xc7, 0xb6, 0xc6, 0x5a, 0x9b, 0xe4, 0xc1, 0xbe, |
|
| 9941 |
- 0x9e, 0x3d, 0x15, 0xd4, 0x1b, 0x4f, 0x28, 0x15, 0x13, 0x2e, 0x35, 0xaa, 0x29, 0x4e, 0x3a, 0x11, |
|
| 9942 |
- 0x02, 0x29, 0x25, 0xd3, 0x63, 0x8e, 0x39, 0x3e, 0xaf, 0x66, 0xd5, 0x65, 0xc7, 0x49, 0x05, 0x94, |
|
| 9943 |
- 0xf7, 0x57, 0xe6, 0xfd, 0xae, 0x19, 0x86, 0x6c, 0x30, 0x0c, 0x45, 0xcd, 0x4a, 0x43, 0x7f, 0x65, |
|
| 9944 |
- 0xde, 0x37, 0x24, 0x49, 0x7b, 0x8b, 0x64, 0xcf, 0xc0, 0x6c, 0xef, 0x4c, 0x96, 0xa5, 0xf3, 0xe5, |
|
| 9945 |
- 0x4a, 0xac, 0xfe, 0x31, 0x56, 0xa3, 0x39, 0x65, 0xd1, 0xad, 0xad, 0xdd, 0x56, 0x43, 0xb9, 0x55, |
|
| 9946 |
- 0xce, 0xef, 0xba, 0x2d, 0xcf, 0xc5, 0x90, 0x25, 0xbb, 0xad, 0xee, 0xa6, 0xd1, 0xdc, 0xde, 0xa7, |
|
| 9947 |
- 0xe8, 0xda, 0x4b, 0x00, 0x29, 0x45, 0x90, 0x4d, 0xd3, 0x76, 0xb0, 0x55, 0xba, 0x42, 0x52, 0x46, |
|
| 9948 |
- 0x0b, 0x72, 0x70, 0xb9, 0x04, 0xd3, 0xc5, 0x68, 0xda, 0x70, 0xc7, 0x93, 0x68, 0x9e, 0x5f, 0x57, |
|
| 9949 |
- 0xff, 0x90, 0x14, 0xf7, 0x87, 0x3d, 0x88, 0x54, 0x11, 0x21, 0xda, 0x35, 0x48, 0x29, 0xa6, 0x6f, |
|
| 9950 |
- 0x3a, 0x0e, 0x73, 0xec, 0x60, 0x20, 0xbb, 0xe9, 0x69, 0x12, 0xb4, 0x00, 0x4f, 0xef, 0x4b, 0xd9, |
|
| 9951 |
- 0xa9, 0x08, 0x06, 0xfd, 0xc7, 0x64, 0x05, 0x56, 0x09, 0x4d, 0x28, 0xc9, 0xaa, 0x08, 0x6f, 0x90, |
|
| 9952 |
- 0xa2, 0xa5, 0x48, 0x5d, 0xbb, 0x27, 0x42, 0xb1, 0xba, 0x02, 0x8d, 0x5e, 0x21, 0x82, 0x36, 0xeb, |
|
| 9953 |
- 0xb4, 0x10, 0x81, 0x9a, 0x3d, 0xb4, 0x73, 0x08, 0x50, 0x5c, 0x3e, 0x53, 0x5d, 0x04, 0x68, 0xaa, |
|
| 9954 |
- 0x0d, 0x10, 0xa4, 0x81, 0x17, 0xf3, 0xec, 0xbe, 0x1d, 0xc2, 0xf1, 0xe8, 0x89, 0x32, 0x9b, 0xa1, |
|
| 9955 |
- 0x39, 0x24, 0xd4, 0x60, 0xac, 0x7f, 0x94, 0x24, 0x64, 0xcf, 0x0c, 0x4e, 0xe4, 0xd2, 0xd0, 0x90, |
|
| 9956 |
- 0x44, 0xd7, 0x8f, 0xf3, 0xda, 0xe0, 0x3d, 0x05, 0xa2, 0x13, 0xbc, 0xf6, 0xa6, 0xaa, 0xb3, 0xa2, |
|
| 9957 |
- 0x3b, 0x88, 0x67, 0x94, 0x6b, 0xc5, 0x15, 0xd8, 0xd9, 0x16, 0x00, 0x0f, 0x22, 0xf3, 0x7d, 0x1e, |
|
| 9958 |
- 0x45, 0x70, 0x10, 0xe1, 0x13, 0x6e, 0x25, 0xf9, 0xc8, 0x66, 0x59, 0x81, 0x5e, 0x8c, 0x5b, 0x64, |
|
| 9959 |
- 0xce, 0xa1, 0x5b, 0x0b, 0x74, 0xc2, 0x57, 0x2d, 0x91, 0x65, 0x1f, 0x8e, 0x19, 0x68, 0xdd, 0x0d, |
|
| 9960 |
- 0xf8, 0xb4, 0xfe, 0x27, 0xf0, 0x41, 0xb3, 0x6d, 0xec, 0xc8, 0xdd, 0xae, 0x93, 0xec, 0x91, 0x39, |
|
| 9961 |
- 0xb0, 0x9d, 0xb1, 0x3c, 0x66, 0xaf, 0xc5, 0x2d, 0x31, 0xc1, 0x57, 0x8c, 0x5e, 0x0f, 0x9a, 0xb2, |
|
| 9962 |
- 0x60, 0x93, 0xf3, 0x50, 0xc9, 0xcb, 0x8b, 0xef, 0xe8, 0xd0, 0x85, 0x22, 0xab, 0x8a, 0x2f, 0x1f, |
|
| 9963 |
- 0x61, 0x32, 0xf1, 0x4d, 0x37, 0xb2, 0x56, 0x0c, 0xd0, 0x0b, 0x90, 0x49, 0xd9, 0x19, 0x44, 0x90, |
|
| 9964 |
- 0xb0, 0x57, 0x0d, 0xa1, 0xf0, 0xe6, 0xc4, 0x5d, 0x81, 0xf5, 0xc0, 0x64, 0xcc, 0x96, 0x5f, 0xa5, |
|
| 9965 |
- 0x0f, 0x95, 0x70, 0x91, 0x26, 0x23, 0xee, 0xf2, 0x3b, 0x3c, 0xa5, 0x4c, 0xa6, 0x9e, 0x29, 0xd3, |
|
| 9966 |
- 0xbd, 0x41, 0x96, 0x66, 0xec, 0x7c, 0xac, 0xeb, 0x69, 0xb6, 0x0f, 0xde, 0x2a, 0xa5, 0xe5, 0xd7, |
|
| 9967 |
- 0xb7, 0x4b, 0x59, 0xfd, 0x1f, 0xd0, 0x84, 0xb5, 0x3d, 0x7e, 0xac, 0xd0, 0xab, 0xf1, 0xb7, 0xcc, |
|
| 9968 |
- 0x1c, 0xbf, 0xb3, 0x5a, 0x9e, 0x23, 0x63, 0x26, 0xb6, 0x09, 0x98, 0x48, 0xc1, 0x02, 0xcd, 0xe1, |
|
| 9969 |
- 0x34, 0x62, 0x84, 0xf4, 0x5a, 0x10, 0xfd, 0x4b, 0x77, 0x08, 0x38, 0xee, 0xd6, 0x25, 0x4a, 0x04, |
|
| 9970 |
- 0x09, 0x39, 0xf1, 0x0a, 0x33, 0x1c, 0x1d, 0xc2, 0x31, 0xed, 0xb3, 0x9e, 0xc0, 0xa4, 0x39, 0x66, |
|
| 9971 |
- 0x29, 0xa2, 0x22, 0x4c, 0xaf, 0xc3, 0x25, 0x4c, 0xc9, 0x5c, 0x25, 0xa9, 0xbd, 0x5a, 0x1b, 0xf2, |
|
| 9972 |
- 0xce, 0x0a, 0x64, 0x8d, 0x82, 0x22, 0x03, 0x09, 0x67, 0xf6, 0xeb, 0x6d, 0x48, 0x37, 0x33, 0x33, |
|
| 9973 |
- 0x40, 0x2a, 0xa7, 0x31, 0x9d, 0xe8, 0xbf, 0x4c, 0x90, 0xac, 0xa8, 0x32, 0xb1, 0x16, 0x1b, 0x64, |
|
| 9974 |
- 0x51, 0x75, 0x3d, 0xa2, 0xf4, 0xbd, 0xf4, 0xe4, 0x32, 0x55, 0x91, 0x55, 0x4f, 0xec, 0xa3, 0xe2, |
|
| 9975 |
- 0x2b, 0xbf, 0x4d, 0x8a, 0xd3, 0x13, 0xcf, 0xb4, 0x8b, 0x3f, 0x22, 0x05, 0x0c, 0x14, 0x55, 0xa3, |
|
| 9976 |
- 0x37, 0x48, 0x56, 0x54, 0x42, 0x79, 0xd4, 0xcf, 0xab, 0x99, 0x12, 0x09, 0x99, 0x6e, 0x51, 0xd4, |
|
| 9977 |
- 0x59, 0x75, 0x3d, 0x5b, 0x3f, 0x3f, 0x1c, 0xa9, 0x82, 0xeb, 0xef, 0x91, 0x74, 0x9b, 0x81, 0x84, |
|
| 9978 |
- 0x17, 0xc9, 0xa2, 0x0b, 0xa9, 0x67, 0x92, 0xd9, 0x08, 0xa4, 0xab, 0x2c, 0x36, 0xe0, 0x90, 0xb1, |
|
| 9979 |
- 0xb2, 0x38, 0x05, 0xf9, 0x0c, 0x9c, 0x67, 0x42, 0xbc, 0xa9, 0x1b, 0x2a, 0x7e, 0xeb, 0x7b, 0xa4, |
|
| 9980 |
- 0x78, 0x8f, 0xd9, 0xc7, 0xfd, 0x10, 0x76, 0x0c, 0x05, 0xbd, 0x46, 0xd2, 0x43, 0x16, 0x29, 0xbf, |
|
| 9981 |
- 0x1a, 0x1b, 0x3a, 0x30, 0x4f, 0x39, 0x0a, 0x0f, 0xe4, 0x19, 0xe7, 0x96, 0x8f, 0x02, 0x72, 0xa4, |
|
| 9982 |
- 0xff, 0x2e, 0x49, 0x96, 0x9b, 0x41, 0x30, 0x32, 0xa1, 0xe1, 0x96, 0x59, 0xf0, 0xbb, 0xb3, 0x17, |
|
| 9983 |
- 0x86, 0x9b, 0xb1, 0x16, 0xce, 0xb0, 0xcc, 0x5e, 0x1a, 0x64, 0xe6, 0x4a, 0x46, 0x99, 0x4b, 0x7f, |
|
| 9984 |
- 0x94, 0x50, 0xb7, 0x85, 0x1b, 0x53, 0xe7, 0xa6, 0xbc, 0x0a, 0x41, 0x74, 0x69, 0x5a, 0x12, 0xdb, |
|
| 9985 |
- 0x77, 0x4f, 0x5c, 0xef, 0xcc, 0x85, 0x42, 0x0b, 0xb7, 0x87, 0x56, 0xe3, 0x1e, 0x44, 0xda, 0x65, |
|
| 9986 |
- 0x00, 0x69, 0x33, 0x20, 0xca, 0x5c, 0x76, 0x86, 0x92, 0xda, 0x8d, 0x56, 0xbd, 0xd9, 0xba, 0x03, |
|
| 9987 |
- 0xe5, 0xed, 0x71, 0x49, 0x6d, 0x06, 0xe5, 0xcc, 0x3d, 0x06, 0x77, 0x67, 0x9b, 0x9d, 0xce, 0x3e, |
|
| 9988 |
- 0x6f, 0x15, 0x9f, 0x07, 0xd4, 0xc5, 0x19, 0x14, 0x0e, 0xa0, 0x4f, 0x04, 0x10, 0x56, 0x52, 0x00, |
|
| 9989 |
- 0xa5, 0x63, 0x40, 0x58, 0x4c, 0x21, 0x81, 0x88, 0x08, 0xff, 0x5b, 0x92, 0x94, 0x0c, 0xcb, 0x62, |
|
| 9990 |
- 0xc3, 0x10, 0xe7, 0x65, 0x77, 0xb2, 0x87, 0xdd, 0x1e, 0x7c, 0xd9, 0x0c, 0x5f, 0x4f, 0x30, 0x2c, |
|
| 9991 |
- 0x6e, 0xc7, 0xbe, 0x18, 0xcd, 0xf1, 0x55, 0xa8, 0xe7, 0x30, 0xa3, 0x37, 0xb0, 0x03, 0x7c, 0x45, |
|
| 9992 |
- 0x10, 0x34, 0x1a, 0x49, 0x2a, 0xff, 0x27, 0x41, 0x2e, 0xc6, 0x20, 0xb4, 0x37, 0x48, 0xda, 0x07, |
|
| 9993 |
- 0xb2, 0xdc, 0x9e, 0xb5, 0x27, 0xdd, 0xe7, 0x90, 0x95, 0x72, 0xa4, 0xb6, 0x4e, 0x88, 0x39, 0x0a, |
|
| 9994 |
- 0x3d, 0x93, 0xaf, 0xcf, 0x37, 0x26, 0x47, 0xa7, 0x28, 0xda, 0xf7, 0x21, 0x5b, 0x33, 0xcb, 0x97, |
|
| 9995 |
- 0x57, 0xa2, 0xc2, 0x46, 0xe3, 0x7f, 0xd5, 0xbe, 0xb2, 0x65, 0x62, 0x46, 0xe9, 0x70, 0x61, 0x54, |
|
| 9996 |
- 0x0a, 0x2d, 0xbf, 0x45, 0x8a, 0xd3, 0x74, 0x8c, 0x6e, 0x68, 0x2f, 0x4c, 0x6e, 0x40, 0x91, 0xf2, |
|
| 9997 |
- 0x6f, 0x0c, 0x1a, 0xd3, 0x39, 0x56, 0x41, 0x03, 0x9f, 0x3a, 0x25, 0xb9, 0x9a, 0x21, 0xd3, 0xe7, |
|
| 9998 |
- 0x26, 0x29, 0xf1, 0x43, 0x63, 0x31, 0x3f, 0xec, 0xb2, 0xfb, 0x43, 0xdb, 0x1f, 0xcb, 0xb8, 0x3f, |
|
| 9999 |
- 0xbf, 0xbf, 0x5a, 0x46, 0xae, 0x1a, 0x30, 0x35, 0x38, 0x8f, 0x7e, 0x40, 0x2e, 0xee, 0xfa, 0x56, |
|
| 10000 |
- 0x1f, 0x2a, 0xb6, 0x00, 0x48, 0xf1, 0xef, 0x91, 0xb5, 0x10, 0x2a, 0x73, 0xb7, 0x6f, 0x07, 0x21, |
|
| 10001 |
- 0xbe, 0x9e, 0x81, 0x92, 0xcc, 0xc5, 0xf9, 0x2e, 0x7f, 0xe5, 0x12, 0xaf, 0x6e, 0xf4, 0x0a, 0x62, |
|
| 10002 |
- 0xb6, 0x04, 0x84, 0x2a, 0xc4, 0x36, 0x02, 0xf4, 0x77, 0x49, 0xa9, 0x6e, 0x07, 0x43, 0x33, 0x04, |
|
| 10003 |
- 0xd9, 0xb2, 0xb1, 0xd6, 0x5e, 0x26, 0xa5, 0x3e, 0x83, 0xc6, 0xea, 0x90, 0x99, 0x90, 0x9c, 0x99, |
|
| 10004 |
- 0x6f, 0x7b, 0x3d, 0xd9, 0x3b, 0xad, 0x44, 0xf4, 0x36, 0x27, 0xeb, 0x5f, 0x42, 0xb1, 0xc0, 0x87, |
|
| 10005 |
- 0x03, 0xc9, 0xf9, 0x2a, 0xb9, 0x10, 0xb8, 0xe6, 0x30, 0xe8, 0x7b, 0x61, 0xd7, 0x76, 0x43, 0x7c, |
|
| 10006 |
- 0x29, 0x73, 0x24, 0x6b, 0x49, 0x4d, 0x34, 0x25, 0x1d, 0xd2, 0x80, 0x76, 0xc2, 0xd8, 0xb0, 0xeb, |
|
| 10007 |
- 0x39, 0xbd, 0xae, 0x9a, 0x14, 0xaf, 0x63, 0x80, 0xc6, 0x99, 0x5d, 0xa7, 0xd7, 0x51, 0x74, 0xad, |
|
| 10008 |
- 0x4a, 0xd6, 0x1d, 0xef, 0xb8, 0x0b, 0xba, 0xfb, 0x10, 0x62, 0xdd, 0x23, 0xcf, 0xef, 0x06, 0x8e, |
|
| 10009 |
- 0x77, 0x06, 0x1f, 0x0e, 0xfc, 0x31, 0x5f, 0xf5, 0xb4, 0x65, 0x40, 0x35, 0x04, 0x68, 0xd3, 0xf3, |
|
| 10010 |
- 0x3b, 0x30, 0xb7, 0xa9, 0x10, 0x58, 0x51, 0x26, 0x86, 0x85, 0xb6, 0x75, 0xa2, 0x2a, 0x4a, 0x44, |
|
| 10011 |
- 0xdd, 0x03, 0x22, 0x1c, 0xaa, 0x25, 0xe6, 0x30, 0x8b, 0xbb, 0x91, 0xa3, 0x32, 0x1c, 0x55, 0x54, |
|
| 10012 |
- 0x44, 0x04, 0xe9, 0x3f, 0x97, 0x96, 0x8b, 0x27, 0x13, 0x4c, 0x8e, 0x3e, 0x8c, 0x54, 0x72, 0x4c, |
|
| 10013 |
- 0x8b, 0xe4, 0x88, 0x00, 0x4c, 0x8e, 0x38, 0x15, 0x9f, 0x1c, 0xc1, 0xae, 0xac, 0x68, 0x67, 0x64, |
|
| 10014 |
- 0x04, 0x5f, 0x7f, 0x9a, 0xb7, 0x19, 0xd9, 0x8a, 0x4a, 0x4e, 0xfd, 0x9b, 0x24, 0xdf, 0x76, 0x4c, |
|
| 10015 |
- 0x8b, 0xbf, 0x87, 0x62, 0xd3, 0x0b, 0x99, 0x1b, 0xe3, 0x04, 0x76, 0x40, 0x9c, 0xea, 0x3c, 0x9d, |
|
| 10016 |
- 0x26, 0xe9, 0x1f, 0x41, 0xad, 0xa3, 0x9e, 0x17, 0xd6, 0x0c, 0x00, 0x67, 0x2d, 0xb3, 0xab, 0xea, |
|
| 10017 |
- 0x50, 0xb1, 0x9a, 0x07, 0xad, 0x33, 0x35, 0xe3, 0x2e, 0x1b, 0xd3, 0x8c, 0x65, 0xc2, 0x1f, 0x1a, |
|
| 10018 |
- 0x06, 0x08, 0x0c, 0x5f, 0xae, 0x76, 0x51, 0x18, 0x06, 0xf1, 0x0d, 0x14, 0x0a, 0xcc, 0xf8, 0x0f, |
|
| 10019 |
- 0x07, 0xbb, 0x28, 0x41, 0xdd, 0x3e, 0x9c, 0x17, 0xd1, 0x23, 0x55, 0x97, 0x01, 0x49, 0x04, 0x12, |
|
| 10020 |
- 0x4f, 0x11, 0x25, 0x02, 0x8d, 0xdf, 0xfa, 0x9f, 0x13, 0xa4, 0x80, 0x03, 0xfb, 0xc8, 0xb6, 0x30, |
|
| 10021 |
- 0xbd, 0x3e, 0x7b, 0x6a, 0x80, 0xce, 0xd9, 0x0a, 0x7c, 0xa9, 0x14, 0xef, 0x9c, 0x6b, 0x1d, 0x4a, |
|
| 10022 |
- 0x91, 0xa6, 0xbd, 0x3f, 0xe7, 0x53, 0xfd, 0xab, 0x0b, 0xc1, 0xac, 0x47, 0xb9, 0x13, 0x27, 0xda, |
|
| 10023 |
- 0xf1, 0x30, 0x29, 0xd2, 0x69, 0x12, 0xbe, 0xe5, 0x5a, 0x2e, 0x8f, 0x0c, 0xf9, 0x96, 0x5b, 0x6b, |
|
| 10024 |
- 0x51, 0xa0, 0xe8, 0x7f, 0x84, 0x1b, 0x75, 0xc3, 0xb5, 0xfc, 0x31, 0xaf, 0xd5, 0xe8, 0xc1, 0x35, |
|
| 10025 |
- 0x92, 0x87, 0x1e, 0x32, 0x18, 0x07, 0x70, 0xd1, 0x52, 0x4f, 0x45, 0x11, 0x41, 0x6b, 0x92, 0x3c, |
|
| 10026 |
- 0xe4, 0x0c, 0xcf, 0xb7, 0xc3, 0xfe, 0x40, 0x36, 0x53, 0xaf, 0xc6, 0x3f, 0x08, 0x4e, 0xc9, 0xac, |
|
| 10027 |
- 0x18, 0x8a, 0x85, 0x4e, 0xb8, 0x55, 0x47, 0x91, 0xe2, 0xca, 0xf2, 0x8e, 0x02, 0xae, 0x7d, 0x0e, |
|
| 10028 |
- 0x74, 0xf8, 0xd0, 0x26, 0x75, 0xb1, 0x71, 0xe6, 0x76, 0xc0, 0x0d, 0x48, 0xd2, 0xf0, 0x32, 0xa0, |
|
| 10029 |
- 0xeb, 0x24, 0x1f, 0x09, 0xc3, 0x07, 0x3a, 0xa3, 0xd1, 0xe9, 0xde, 0xda, 0xb8, 0xdd, 0xbd, 0x53, |
|
| 10030 |
- 0xdb, 0x81, 0x42, 0x27, 0x4a, 0x47, 0x93, 0x2c, 0xed, 0x98, 0x2e, 0xf4, 0xf6, 0xea, 0xa6, 0x73, |
|
| 10031 |
- 0x1b, 0x76, 0x0b, 0x42, 0x52, 0x66, 0xb2, 0xf5, 0xf3, 0x43, 0x56, 0xba, 0x96, 0x73, 0xbc, 0xf2, |
|
| 10032 |
- 0x65, 0x8a, 0xe4, 0xa3, 0xbb, 0x04, 0xee, 0x21, 0xd6, 0xca, 0x05, 0x71, 0xcb, 0x8b, 0xe8, 0x2d, |
|
| 10033 |
- 0x5e, 0x25, 0xf3, 0xc6, 0xf6, 0xf6, 0x6e, 0xcd, 0xc0, 0x87, 0xb7, 0xf7, 0x45, 0x31, 0x8d, 0x00, |
|
| 10034 |
- 0x06, 0x9c, 0x68, 0xdc, 0x85, 0x9e, 0xa6, 0x4f, 0x8a, 0xe9, 0x03, 0x79, 0x97, 0x8c, 0x50, 0xaa, |
|
| 10035 |
- 0x92, 0x5e, 0x27, 0x39, 0xa3, 0xd3, 0x69, 0xde, 0x69, 0x81, 0xa4, 0x87, 0x89, 0xf2, 0x73, 0x00, |
|
| 10036 |
- 0xba, 0x30, 0x11, 0x05, 0x45, 0xe0, 0xd8, 0x05, 0x49, 0x88, 0xaa, 0xd5, 0x1a, 0x6d, 0x5c, 0xef, |
|
| 10037 |
- 0x41, 0x72, 0x1e, 0xc5, 0x4b, 0x08, 0x7f, 0x98, 0xc9, 0xb7, 0x69, 0xa3, 0x6d, 0x50, 0x5c, 0xf1, |
|
| 10038 |
- 0x61, 0x72, 0x4e, 0xaf, 0xb6, 0xcf, 0xe0, 0x76, 0x89, 0x6b, 0xae, 0xab, 0x57, 0xc4, 0x07, 0xa9, |
|
| 10039 |
- 0xb2, 0x06, 0x98, 0xe5, 0xc9, 0x05, 0x8a, 0x99, 0xbd, 0x31, 0xae, 0xd6, 0xd9, 0x33, 0xe8, 0x1e, |
|
| 10040 |
- 0x17, 0x93, 0x9a, 0x5b, 0xad, 0x83, 0xd7, 0x5a, 0x94, 0x02, 0xd6, 0xd1, 0xfd, 0x56, 0x8b, 0x5b, |
|
| 10041 |
- 0x97, 0x9e, 0xb3, 0x8e, 0x8e, 0x5c, 0x17, 0x31, 0x37, 0xa0, 0xda, 0xec, 0xee, 0xb4, 0xb7, 0x1b, |
|
| 10042 |
- 0x7b, 0x8d, 0xd2, 0xc3, 0xf4, 0x9c, 0x42, 0x35, 0x6f, 0x30, 0x74, 0x58, 0x28, 0xcc, 0xeb, 0x6c, |
|
| 10043 |
- 0xed, 0xef, 0xf1, 0x47, 0xce, 0x07, 0x99, 0xf9, 0x05, 0xfb, 0xa3, 0xb0, 0x87, 0xed, 0xcb, 0xb5, |
|
| 10044 |
- 0xa8, 0x9f, 0x78, 0x98, 0x11, 0x8f, 0x1e, 0x11, 0x46, 0x34, 0x13, 0x28, 0x87, 0x36, 0xbe, 0x27, |
|
| 10045 |
- 0xde, 0x43, 0x1f, 0x64, 0xe7, 0xe4, 0x50, 0xf6, 0x21, 0xa4, 0x48, 0x68, 0x39, 0xa2, 0xa7, 0x91, |
|
| 10046 |
- 0x68, 0xea, 0x95, 0x1f, 0x90, 0x9c, 0x3a, 0xc1, 0xe0, 0x9d, 0xec, 0xbd, 0x5d, 0x7a, 0xb7, 0x41, |
|
| 10047 |
- 0x61, 0xeb, 0xb9, 0x77, 0xd4, 0xcc, 0x3d, 0xcf, 0x87, 0x40, 0x02, 0x35, 0x16, 0x77, 0x8c, 0x96, |
|
| 10048 |
- 0x71, 0x07, 0x00, 0xf2, 0xed, 0x45, 0x01, 0x64, 0x1c, 0x96, 0x4b, 0x72, 0x81, 0x48, 0x66, 0x75, |
|
| 10049 |
- 0xed, 0xd1, 0xe7, 0xeb, 0x0b, 0x9f, 0xc2, 0xef, 0xef, 0x9f, 0xaf, 0x27, 0x1e, 0x7c, 0xb1, 0x9e, |
|
| 10050 |
- 0x78, 0x04, 0xbf, 0x3f, 0xc0, 0xef, 0x2f, 0xf0, 0x3b, 0xcc, 0xf2, 0x7b, 0xc7, 0x9b, 0xff, 0x0d, |
|
| 10051 |
- 0x00, 0x00, 0xff, 0xff, 0x6c, 0xaf, 0xb7, 0x57, 0xd1, 0x1b, 0x00, 0x00, |
|
| 9867 |
+ // 2920 bytes of a gzipped FileDescriptorProto |
|
| 9868 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0x1b, 0xc7, |
|
| 9869 |
+ 0x15, 0x16, 0x7f, 0x45, 0x0e, 0x29, 0x89, 0x5e, 0x3b, 0x8e, 0xcc, 0xa8, 0xb2, 0xbb, 0x89, 0x1b, |
|
| 9870 |
+ 0xe7, 0xa7, 0x4c, 0xac, 0xa4, 0x85, 0x9b, 0x20, 0x4d, 0x96, 0x3f, 0xb2, 0x58, 0x4b, 0x14, 0x31, |
|
| 9871 |
+ 0x94, 0x64, 0xe4, 0xd0, 0x12, 0xab, 0xe5, 0x48, 0xdc, 0x68, 0xb9, 0xcb, 0xee, 0x2e, 0x25, 0x13, |
|
| 9872 |
+ 0x45, 0x01, 0xa7, 0x97, 0x16, 0x39, 0xf5, 0x5e, 0x04, 0x45, 0xd1, 0x5e, 0x7b, 0x2e, 0xd0, 0x93, |
|
| 9873 |
+ 0x8f, 0x3e, 0xb6, 0x28, 0x50, 0xe4, 0x14, 0x34, 0xe9, 0xa1, 0xd7, 0x02, 0x2d, 0x9a, 0x43, 0x7b, |
|
| 9874 |
+ 0xe8, 0x7b, 0xf3, 0xb3, 0xfc, 0xf1, 0x5a, 0xb1, 0x9b, 0x1e, 0x08, 0xee, 0xbc, 0xf9, 0xde, 0x9b, |
|
| 9875 |
+ 0x79, 0x6f, 0xde, 0xdf, 0x0c, 0x29, 0x84, 0xe3, 0x21, 0x0b, 0x2a, 0x43, 0xdf, 0x0b, 0x3d, 0x4d, |
|
| 9876 |
+ 0xeb, 0x79, 0xd6, 0x09, 0xf3, 0x2b, 0xc1, 0x99, 0xe9, 0x0f, 0x4e, 0xec, 0xb0, 0x72, 0x7a, 0xb3, |
|
| 9877 |
+ 0x7c, 0x25, 0xb4, 0x07, 0x2c, 0x08, 0xcd, 0xc1, 0xf0, 0xb5, 0xe8, 0x4b, 0xc0, 0xcb, 0xcf, 0xf6, |
|
| 9878 |
+ 0x46, 0xbe, 0x19, 0xda, 0x9e, 0xfb, 0x9a, 0xfa, 0x90, 0x13, 0x97, 0x8e, 0xbd, 0x63, 0x8f, 0x7f, |
|
| 9879 |
+ 0xbe, 0x86, 0x5f, 0x82, 0xaa, 0x5f, 0x25, 0x8b, 0x07, 0xcc, 0x0f, 0x00, 0xa6, 0x5d, 0x22, 0x19, |
|
| 9880 |
+ 0xdb, 0xed, 0xb1, 0x7b, 0xab, 0x89, 0x6b, 0x89, 0x1b, 0x69, 0x2a, 0x06, 0xfa, 0xaf, 0x12, 0xa4, |
|
| 9881 |
+ 0x60, 0xb8, 0xae, 0x17, 0x72, 0x59, 0x81, 0xa6, 0x91, 0xb4, 0x6b, 0x0e, 0x18, 0x07, 0xe5, 0x29, |
|
| 9882 |
+ 0xff, 0xd6, 0x6a, 0x24, 0xeb, 0x98, 0x87, 0xcc, 0x09, 0x56, 0x93, 0xd7, 0x52, 0x37, 0x0a, 0x1b, |
|
| 9883 |
+ 0xaf, 0x54, 0x1e, 0xdd, 0x73, 0x65, 0x4a, 0x48, 0x65, 0x9b, 0xa3, 0x1b, 0x6e, 0xe8, 0x8f, 0xa9, |
|
| 9884 |
+ 0x64, 0x2d, 0x7f, 0x87, 0x14, 0xa6, 0xc8, 0x5a, 0x89, 0xa4, 0x4e, 0xd8, 0x58, 0x2e, 0x83, 0x9f, |
|
| 9885 |
+ 0xb8, 0xbf, 0x53, 0xd3, 0x19, 0x31, 0x58, 0x04, 0x69, 0x62, 0xf0, 0x56, 0xf2, 0x56, 0x42, 0x7f, |
|
| 9886 |
+ 0x9f, 0xe4, 0x29, 0x0b, 0xbc, 0x91, 0x6f, 0xb1, 0x40, 0x7b, 0x89, 0xe4, 0x5d, 0xd3, 0xf5, 0xba, |
|
| 9887 |
+ 0xd6, 0x70, 0x14, 0x70, 0xf6, 0x54, 0xb5, 0xf8, 0xf9, 0xa7, 0x57, 0x73, 0x2d, 0x20, 0xd6, 0xda, |
|
| 9888 |
+ 0xfb, 0x01, 0xcd, 0xe1, 0x74, 0x0d, 0x66, 0xb5, 0xaf, 0x93, 0xe2, 0x80, 0x0d, 0x3c, 0x7f, 0xdc, |
|
| 9889 |
+ 0x3d, 0x1c, 0x87, 0x2c, 0xe0, 0x82, 0x53, 0xb4, 0x20, 0x68, 0x55, 0x24, 0xe9, 0x3f, 0x4f, 0x90, |
|
| 9890 |
+ 0x4b, 0x4a, 0x36, 0x65, 0x3f, 0x1c, 0xd9, 0x3e, 0x1b, 0x30, 0x37, 0x0c, 0xb4, 0x6f, 0x81, 0xce, |
|
| 9891 |
+ 0xf6, 0xc0, 0x0e, 0xc5, 0x1a, 0x85, 0x8d, 0xaf, 0xc5, 0xe9, 0x1c, 0xed, 0x8a, 0x4a, 0xb0, 0x66, |
|
| 9892 |
+ 0x90, 0xa2, 0xcf, 0x02, 0xe6, 0x9f, 0x0a, 0x4b, 0xf0, 0x25, 0xbf, 0x94, 0x79, 0x86, 0x45, 0xdf, |
|
| 9893 |
+ 0x24, 0xb9, 0xb6, 0x63, 0x86, 0x47, 0x9e, 0x3f, 0xd0, 0x74, 0x52, 0x34, 0x7d, 0xab, 0x6f, 0x87, |
|
| 9894 |
+ 0xcc, 0x0a, 0x47, 0xbe, 0x3a, 0x95, 0x19, 0x9a, 0x76, 0x99, 0x24, 0x3d, 0xb1, 0x50, 0xbe, 0x9a, |
|
| 9895 |
+ 0x05, 0x4b, 0x24, 0x77, 0x3b, 0x14, 0x28, 0xfa, 0xdb, 0xe4, 0x42, 0xdb, 0x19, 0x1d, 0xdb, 0x6e, |
|
| 9896 |
+ 0x9d, 0x05, 0x96, 0x6f, 0x0f, 0x51, 0x3a, 0x1e, 0x2f, 0x3a, 0x9f, 0x3a, 0x5e, 0xfc, 0x8e, 0x8e, |
|
| 9897 |
+ 0x3c, 0x39, 0x39, 0x72, 0xfd, 0xa7, 0x49, 0x72, 0xa1, 0xe1, 0x02, 0x33, 0x9b, 0xe6, 0xbe, 0x4e, |
|
| 9898 |
+ 0x96, 0x19, 0x27, 0x76, 0x4f, 0x85, 0x53, 0x49, 0x39, 0x4b, 0x82, 0xaa, 0x3c, 0xad, 0x39, 0xe7, |
|
| 9899 |
+ 0x2f, 0x37, 0xe3, 0xd4, 0x7f, 0x44, 0x7a, 0x9c, 0xd7, 0x68, 0x0d, 0xb2, 0x38, 0xe4, 0x4a, 0x04, |
|
| 9900 |
+ 0xab, 0x29, 0x2e, 0xeb, 0x7a, 0x9c, 0xac, 0x47, 0xf4, 0xac, 0xa6, 0x1f, 0x7e, 0x7a, 0x75, 0x81, |
|
| 9901 |
+ 0x2a, 0xde, 0xaf, 0xe2, 0x7c, 0x7f, 0x4d, 0x90, 0x95, 0x96, 0xd7, 0x9b, 0xb1, 0x43, 0x99, 0xe4, |
|
| 9902 |
+ 0xfa, 0x5e, 0x10, 0x4e, 0x05, 0x4a, 0x34, 0xd6, 0x6e, 0x91, 0xdc, 0x50, 0x1e, 0x9f, 0x3c, 0xfd, |
|
| 9903 |
+ 0xb5, 0xf8, 0x2d, 0x0b, 0x0c, 0x8d, 0xd0, 0xda, 0xdb, 0x24, 0xef, 0x2b, 0x9f, 0x00, 0x6d, 0x9f, |
|
| 9904 |
+ 0xc0, 0x71, 0x26, 0x78, 0xed, 0x1d, 0x92, 0x15, 0x87, 0xb0, 0x9a, 0xe6, 0x9c, 0xd7, 0x9f, 0xc8, |
|
| 9905 |
+ 0xe6, 0x54, 0x32, 0xe9, 0x9f, 0x24, 0x48, 0x89, 0x9a, 0x47, 0xe1, 0x0e, 0x1b, 0x1c, 0x32, 0xbf, |
|
| 9906 |
+ 0x03, 0x81, 0x0c, 0xf1, 0x73, 0x19, 0xce, 0x91, 0x99, 0x3d, 0xe6, 0x73, 0x25, 0x73, 0x54, 0x8e, |
|
| 9907 |
+ 0xb4, 0x7d, 0x74, 0x72, 0xd3, 0xea, 0x9b, 0x87, 0xb6, 0x63, 0x87, 0x63, 0xae, 0xe6, 0x72, 0xfc, |
|
| 9908 |
+ 0x29, 0xcf, 0xcb, 0x84, 0xcd, 0x4f, 0x18, 0xe9, 0x8c, 0x18, 0x6d, 0x95, 0x2c, 0x42, 0xae, 0x0b, |
|
| 9909 |
+ 0xcc, 0x63, 0xc6, 0xb5, 0xcf, 0x53, 0x35, 0x04, 0x57, 0x2e, 0x4e, 0xf3, 0x69, 0x05, 0xb2, 0xb8, |
|
| 9910 |
+ 0xdf, 0xba, 0xd3, 0xda, 0xbd, 0xdb, 0x2a, 0x2d, 0x68, 0x2b, 0xa4, 0xb0, 0xdf, 0xa2, 0x0d, 0xa3, |
|
| 9911 |
+ 0xb6, 0x65, 0x54, 0xb7, 0x1b, 0xa5, 0x84, 0xb6, 0x04, 0xe9, 0x22, 0x1a, 0x26, 0xf5, 0x5f, 0x26, |
|
| 9912 |
+ 0x08, 0xc1, 0x03, 0x94, 0x4a, 0xbd, 0x45, 0x32, 0x90, 0x4f, 0x43, 0x71, 0x70, 0xcb, 0x1b, 0x2f, |
|
| 9913 |
+ 0xc4, 0xed, 0x7a, 0x02, 0xaf, 0xe0, 0x1f, 0xa3, 0x82, 0x65, 0x7a, 0x87, 0xc9, 0xf9, 0x1d, 0x66, |
|
| 9914 |
+ 0x38, 0x72, 0x76, 0x6b, 0x39, 0x92, 0xae, 0xe3, 0x57, 0x42, 0xcb, 0x93, 0x0c, 0xec, 0xa9, 0xfe, |
|
| 9915 |
+ 0x7e, 0x29, 0x09, 0xce, 0x57, 0xac, 0x37, 0x3b, 0xb5, 0xdd, 0x56, 0xab, 0x51, 0xdb, 0x6b, 0xd4, |
|
| 9916 |
+ 0x4b, 0x29, 0xfd, 0x3a, 0xc9, 0x34, 0x07, 0x20, 0x45, 0x5b, 0x43, 0x0f, 0x38, 0x62, 0x3e, 0x73, |
|
| 9917 |
+ 0x2d, 0xe5, 0x58, 0x13, 0x82, 0xfe, 0xaf, 0x45, 0x92, 0xd9, 0xf1, 0x46, 0x6e, 0xa8, 0x6d, 0x4c, |
|
| 9918 |
+ 0x45, 0xf1, 0xf2, 0xc6, 0x7a, 0x9c, 0x0a, 0x1c, 0x58, 0xd9, 0x03, 0x94, 0x8c, 0x72, 0x38, 0x4c, |
|
| 9919 |
+ 0xe1, 0x2b, 0x72, 0xeb, 0x72, 0x84, 0xf4, 0xd0, 0xf4, 0x8f, 0x59, 0x28, 0x8d, 0x2e, 0x47, 0xe8, |
|
| 9920 |
+ 0xe3, 0x67, 0xbe, 0x1d, 0x9a, 0x87, 0x8e, 0x70, 0xa9, 0x1c, 0x8d, 0xc6, 0xda, 0x16, 0x29, 0x1e, |
|
| 9921 |
+ 0x42, 0xf9, 0xe8, 0x7a, 0x43, 0x91, 0xe5, 0x32, 0x8f, 0x77, 0x39, 0xb1, 0x8f, 0x2a, 0xa0, 0x77, |
|
| 9922 |
+ 0x05, 0x98, 0x16, 0x0e, 0x27, 0x03, 0xad, 0x45, 0x96, 0x4f, 0x3d, 0x67, 0x34, 0x60, 0x91, 0xac, |
|
| 9923 |
+ 0x2c, 0x97, 0xf5, 0xe2, 0xe3, 0x65, 0x1d, 0x70, 0xbc, 0x92, 0xb6, 0x74, 0x3a, 0x3d, 0x2c, 0xff, |
|
| 9924 |
+ 0x24, 0x45, 0x0a, 0x53, 0x8b, 0x69, 0x1d, 0x52, 0x80, 0x42, 0x38, 0x34, 0x8f, 0x79, 0x72, 0x95, |
|
| 9925 |
+ 0x06, 0xbb, 0xf9, 0x44, 0x1b, 0xad, 0xb4, 0x27, 0x8c, 0x74, 0x5a, 0x8a, 0xfe, 0x71, 0x92, 0x14, |
|
| 9926 |
+ 0xa6, 0x26, 0xb5, 0x97, 0x49, 0x8e, 0xb6, 0x69, 0xf3, 0xc0, 0xd8, 0x6b, 0x94, 0x16, 0xca, 0x6b, |
|
| 9927 |
+ 0x1f, 0x7d, 0x7c, 0x6d, 0x95, 0x4b, 0x9b, 0x16, 0xd0, 0xf6, 0xed, 0x53, 0xf4, 0x8f, 0x1b, 0x64, |
|
| 9928 |
+ 0x51, 0x41, 0x13, 0xe5, 0xe7, 0x00, 0xfa, 0xec, 0x3c, 0x74, 0x0a, 0x49, 0x3b, 0x5b, 0x06, 0x05, |
|
| 9929 |
+ 0x17, 0x49, 0xc6, 0x23, 0x69, 0xa7, 0x6f, 0xfa, 0xac, 0xa7, 0x7d, 0x83, 0x64, 0x25, 0x30, 0x55, |
|
| 9930 |
+ 0x2e, 0x03, 0xf0, 0xf2, 0x3c, 0x70, 0x82, 0xa3, 0x9d, 0x6d, 0xe3, 0xa0, 0x51, 0x4a, 0xc7, 0xe3, |
|
| 9931 |
+ 0x68, 0xc7, 0x31, 0x4f, 0x99, 0xf6, 0x02, 0x38, 0x33, 0x87, 0x65, 0xca, 0x57, 0x00, 0xf6, 0xcc, |
|
| 9932 |
+ 0x23, 0xe2, 0x10, 0x55, 0x5e, 0xfd, 0xd9, 0xaf, 0xd7, 0x17, 0x7e, 0xff, 0x9b, 0xf5, 0xd2, 0xfc, |
|
| 9933 |
+ 0x74, 0xf9, 0x9f, 0x09, 0xb2, 0x34, 0x73, 0x4a, 0xe8, 0x4c, 0x43, 0x6f, 0x38, 0x72, 0x54, 0xdc, |
|
| 9934 |
+ 0x81, 0x33, 0xa9, 0xb1, 0x76, 0x67, 0xae, 0x5a, 0xbc, 0xf1, 0x84, 0x47, 0x1f, 0x5b, 0x2f, 0xde, |
|
| 9935 |
+ 0x25, 0x4b, 0x3d, 0xb0, 0x1f, 0xf3, 0xbb, 0x96, 0xe7, 0x1e, 0xd9, 0xc7, 0x32, 0x8f, 0x96, 0xe3, |
|
| 9936 |
+ 0x64, 0xd6, 0x39, 0x90, 0x16, 0x05, 0x43, 0x8d, 0xe3, 0xbf, 0x4a, 0xa5, 0xb8, 0x4b, 0xd2, 0x18, |
|
| 9937 |
+ 0x6f, 0xda, 0x73, 0x24, 0x5d, 0x6d, 0xb6, 0xea, 0xe0, 0x0a, 0x17, 0xc0, 0x7a, 0x4b, 0x7c, 0xeb, |
|
| 9938 |
+ 0x38, 0x81, 0xbe, 0xa5, 0x5d, 0x25, 0xd9, 0x83, 0xdd, 0xed, 0xfd, 0x1d, 0x3c, 0xfe, 0x8b, 0x30, |
|
| 9939 |
+ 0xbd, 0x12, 0x4d, 0x0b, 0xe5, 0xca, 0x17, 0xa4, 0x59, 0xf3, 0xd1, 0x84, 0xfe, 0xef, 0x24, 0x59, |
|
| 9940 |
+ 0xa2, 0xd8, 0x05, 0xfa, 0x61, 0xdb, 0x73, 0x6c, 0x6b, 0xac, 0xb5, 0x49, 0x1e, 0xf4, 0xeb, 0xd9, |
|
| 9941 |
+ 0x53, 0x4e, 0xbd, 0xf1, 0x98, 0x52, 0x31, 0xe1, 0x52, 0xa3, 0x9a, 0xe2, 0xa4, 0x13, 0x21, 0x90, |
|
| 9942 |
+ 0x52, 0x32, 0x3d, 0xe6, 0x98, 0xe3, 0xf3, 0x6a, 0x56, 0x5d, 0x76, 0x9c, 0x54, 0x40, 0x79, 0x7f, |
|
| 9943 |
+ 0x65, 0xde, 0xeb, 0x9a, 0x61, 0xc8, 0x06, 0xc3, 0x50, 0xd4, 0xac, 0x34, 0xf4, 0x57, 0xe6, 0x3d, |
|
| 9944 |
+ 0x43, 0x92, 0xb4, 0x37, 0x49, 0xf6, 0x0c, 0xd4, 0xf6, 0xce, 0x64, 0x59, 0x3a, 0x5f, 0xae, 0xc4, |
|
| 9945 |
+ 0xea, 0x1f, 0x61, 0x35, 0x9a, 0xdb, 0x2c, 0x9a, 0xb5, 0xb5, 0xdb, 0x6a, 0x28, 0xb3, 0xca, 0xf9, |
|
| 9946 |
+ 0x5d, 0xb7, 0xe5, 0xb9, 0xe8, 0xb2, 0x64, 0xb7, 0xd5, 0xdd, 0x34, 0x9a, 0xdb, 0xfb, 0x14, 0x4d, |
|
| 9947 |
+ 0x7b, 0x09, 0x20, 0xa5, 0x08, 0xb2, 0x69, 0xda, 0x0e, 0xb6, 0x4a, 0x57, 0x48, 0xca, 0x68, 0x41, |
|
| 9948 |
+ 0x0e, 0x2e, 0x97, 0x60, 0xba, 0x18, 0x4d, 0x1b, 0xee, 0x78, 0xe2, 0xcd, 0xf3, 0xeb, 0xea, 0x1f, |
|
| 9949 |
+ 0x90, 0xe2, 0xfe, 0xb0, 0x07, 0x9e, 0x2a, 0x3c, 0x44, 0xbb, 0x06, 0x29, 0xc5, 0xf4, 0x4d, 0xc7, |
|
| 9950 |
+ 0x61, 0x8e, 0x1d, 0x0c, 0x64, 0x37, 0x3d, 0x4d, 0x82, 0x16, 0xe0, 0xc9, 0x6d, 0x29, 0x3b, 0x15, |
|
| 9951 |
+ 0xc1, 0xa0, 0xff, 0x98, 0xac, 0xc0, 0x2a, 0xa1, 0x09, 0x25, 0x59, 0x15, 0xe1, 0x0d, 0x52, 0xb4, |
|
| 9952 |
+ 0x14, 0xa9, 0x6b, 0xf7, 0x84, 0x2b, 0x56, 0x57, 0xa0, 0xd1, 0x2b, 0x44, 0xd0, 0x66, 0x9d, 0x16, |
|
| 9953 |
+ 0x22, 0x50, 0xb3, 0x87, 0x7a, 0x0e, 0x01, 0x8a, 0xcb, 0x67, 0xaa, 0x8b, 0x00, 0x4d, 0xb5, 0x01, |
|
| 9954 |
+ 0x82, 0x34, 0xb0, 0x62, 0x9e, 0xdd, 0xb3, 0x43, 0x08, 0x8f, 0x9e, 0x28, 0xb3, 0x19, 0x9a, 0x43, |
|
| 9955 |
+ 0x42, 0x0d, 0xc6, 0xfa, 0x87, 0x49, 0x42, 0xf6, 0xcc, 0xe0, 0x44, 0x2e, 0x0d, 0x0d, 0x49, 0x74, |
|
| 9956 |
+ 0xfd, 0x38, 0xaf, 0x0d, 0xde, 0x53, 0x20, 0x3a, 0xc1, 0x6b, 0x6f, 0xa8, 0x3a, 0x2b, 0xba, 0x83, |
|
| 9957 |
+ 0x78, 0x46, 0xb9, 0x56, 0x5c, 0x81, 0x9d, 0x6d, 0x01, 0x30, 0x10, 0x99, 0xef, 0x73, 0x2f, 0x82, |
|
| 9958 |
+ 0x40, 0x84, 0x4f, 0xb8, 0x95, 0xe4, 0x23, 0x9d, 0x65, 0x05, 0x7a, 0x3e, 0x6e, 0x91, 0x39, 0x83, |
|
| 9959 |
+ 0x6e, 0x2d, 0xd0, 0x09, 0x5f, 0xb5, 0x44, 0x96, 0x7d, 0x08, 0x33, 0xd8, 0x75, 0x37, 0xe0, 0xd3, |
|
| 9960 |
+ 0xfa, 0x9f, 0xc0, 0x06, 0xcd, 0xb6, 0xb1, 0x23, 0x4f, 0xbb, 0x4e, 0xb2, 0x47, 0xe6, 0xc0, 0x76, |
|
| 9961 |
+ 0xc6, 0x32, 0xcc, 0x5e, 0x8d, 0x5b, 0x62, 0x82, 0xaf, 0x18, 0xbd, 0x1e, 0x34, 0x65, 0xc1, 0x26, |
|
| 9962 |
+ 0xe7, 0xa1, 0x92, 0x97, 0x17, 0xdf, 0xd1, 0xa1, 0x0b, 0x45, 0x56, 0x15, 0x5f, 0x3e, 0xc2, 0x64, |
|
| 9963 |
+ 0xe2, 0x9b, 0x6e, 0xa4, 0xad, 0x18, 0xa0, 0x15, 0x20, 0x93, 0xb2, 0x33, 0xf0, 0x20, 0xa1, 0xaf, |
|
| 9964 |
+ 0x1a, 0x42, 0xe1, 0xcd, 0x89, 0xbb, 0x02, 0xeb, 0x81, 0xca, 0x98, 0x2d, 0xbf, 0x6c, 0x3f, 0x54, |
|
| 9965 |
+ 0xc2, 0x45, 0x9a, 0x8c, 0xb8, 0xcb, 0x6f, 0xf3, 0x94, 0x32, 0x99, 0x7a, 0xaa, 0x4c, 0xf7, 0x3a, |
|
| 9966 |
+ 0x59, 0x9a, 0xd1, 0xf3, 0x91, 0xae, 0xa7, 0xd9, 0x3e, 0x78, 0xb3, 0x94, 0x96, 0x5f, 0xdf, 0x2e, |
|
| 9967 |
+ 0x65, 0xf5, 0x7f, 0x40, 0x13, 0xd6, 0xf6, 0x78, 0x58, 0xa1, 0x55, 0xe3, 0x6f, 0x99, 0x39, 0x7e, |
|
| 9968 |
+ 0x67, 0xb5, 0x3c, 0x47, 0xfa, 0x4c, 0x6c, 0x13, 0x30, 0x91, 0x82, 0x05, 0x9a, 0xc3, 0x69, 0xc4, |
|
| 9969 |
+ 0x08, 0xe9, 0xb5, 0x20, 0xfa, 0x97, 0xee, 0x10, 0x70, 0xdc, 0xac, 0x4b, 0x94, 0x08, 0x12, 0x72, |
|
| 9970 |
+ 0xe2, 0x15, 0x66, 0x38, 0x3a, 0x84, 0x30, 0xed, 0xb3, 0x9e, 0xc0, 0xa4, 0x39, 0x66, 0x29, 0xa2, |
|
| 9971 |
+ 0x22, 0x4c, 0xaf, 0xc3, 0x25, 0x4c, 0xc9, 0x5c, 0x25, 0xa9, 0xbd, 0x5a, 0x1b, 0xf2, 0xce, 0x0a, |
|
| 9972 |
+ 0x64, 0x8d, 0x82, 0x22, 0x03, 0x09, 0x67, 0xf6, 0xeb, 0x6d, 0x48, 0x37, 0x33, 0x33, 0x40, 0x2a, |
|
| 9973 |
+ 0xa7, 0x31, 0x9d, 0xe8, 0xbf, 0x48, 0x90, 0xac, 0xa8, 0x32, 0xb1, 0x1a, 0x1b, 0x64, 0x51, 0x75, |
|
| 9974 |
+ 0x3d, 0xa2, 0xf4, 0xbd, 0xf8, 0xf8, 0x32, 0x55, 0x91, 0x55, 0x4f, 0x9c, 0xa3, 0xe2, 0x2b, 0xbf, |
|
| 9975 |
+ 0x45, 0x8a, 0xd3, 0x13, 0x4f, 0x75, 0x8a, 0x3f, 0x22, 0x05, 0x74, 0x14, 0x55, 0xa3, 0x37, 0x48, |
|
| 9976 |
+ 0x56, 0x54, 0x42, 0x19, 0xea, 0xe7, 0xd5, 0x4c, 0x89, 0x84, 0x4c, 0xb7, 0x28, 0xea, 0xac, 0xba, |
|
| 9977 |
+ 0x9e, 0xad, 0x9f, 0xef, 0x8e, 0x54, 0xc1, 0xf5, 0x77, 0x49, 0xba, 0xcd, 0x40, 0xc2, 0xf3, 0x64, |
|
| 9978 |
+ 0xd1, 0x85, 0xd4, 0x33, 0xc9, 0x6c, 0x04, 0xd2, 0x55, 0x16, 0x1b, 0x70, 0xc8, 0x58, 0x59, 0x9c, |
|
| 9979 |
+ 0x82, 0x7c, 0x06, 0xc6, 0x33, 0xc1, 0xdf, 0xd4, 0x0d, 0x15, 0xbf, 0xf5, 0x3d, 0x52, 0xbc, 0xcb, |
|
| 9980 |
+ 0xec, 0xe3, 0x7e, 0x08, 0x27, 0x86, 0x82, 0x5e, 0x25, 0xe9, 0x21, 0x8b, 0x36, 0xbf, 0x1a, 0xeb, |
|
| 9981 |
+ 0x3a, 0x30, 0x4f, 0x39, 0x0a, 0x03, 0xf2, 0x8c, 0x73, 0xcb, 0x47, 0x01, 0x39, 0xd2, 0x7f, 0x9b, |
|
| 9982 |
+ 0x24, 0xcb, 0xcd, 0x20, 0x18, 0x99, 0xd0, 0x70, 0xcb, 0x2c, 0xf8, 0xdd, 0xd9, 0x0b, 0xc3, 0x8d, |
|
| 9983 |
+ 0x58, 0x0d, 0x67, 0x58, 0x66, 0x2f, 0x0d, 0x32, 0x73, 0x25, 0xa3, 0xcc, 0xa5, 0x3f, 0x4c, 0xa8, |
|
| 9984 |
+ 0xdb, 0xc2, 0xf5, 0xa9, 0xb8, 0x29, 0xaf, 0x82, 0x13, 0x5d, 0x9a, 0x96, 0xc4, 0xf6, 0xdd, 0x13, |
|
| 9985 |
+ 0xd7, 0x3b, 0x73, 0xa1, 0xd0, 0xc2, 0xed, 0xa1, 0xd5, 0xb8, 0x0b, 0x9e, 0x76, 0x19, 0x40, 0xda, |
|
| 9986 |
+ 0x0c, 0x88, 0x32, 0x97, 0x9d, 0xa1, 0xa4, 0x76, 0xa3, 0x55, 0x6f, 0xb6, 0x6e, 0x43, 0x79, 0x7b, |
|
| 9987 |
+ 0x54, 0x52, 0x9b, 0x41, 0x39, 0x73, 0x8f, 0xc1, 0xdc, 0xd9, 0x66, 0xa7, 0xb3, 0xcf, 0x5b, 0xc5, |
|
| 9988 |
+ 0x67, 0x01, 0x75, 0x71, 0x06, 0x85, 0x03, 0xe8, 0x13, 0x01, 0x84, 0x95, 0x14, 0x40, 0xe9, 0x18, |
|
| 9989 |
+ 0x10, 0x16, 0x53, 0x48, 0x20, 0xc2, 0xc3, 0xff, 0x96, 0x24, 0x25, 0xc3, 0xb2, 0xd8, 0x30, 0xc4, |
|
| 9990 |
+ 0x79, 0xd9, 0x9d, 0xec, 0x61, 0xb7, 0x07, 0x5f, 0x36, 0xc3, 0xd7, 0x13, 0x74, 0x8b, 0x5b, 0xb1, |
|
| 9991 |
+ 0x2f, 0x46, 0x73, 0x7c, 0x15, 0xea, 0x39, 0xcc, 0xe8, 0x0d, 0xec, 0x00, 0x5f, 0x11, 0x04, 0x8d, |
|
| 9992 |
+ 0x46, 0x92, 0xca, 0xff, 0x49, 0x90, 0x8b, 0x31, 0x08, 0xed, 0x75, 0x92, 0xf6, 0x81, 0x2c, 0x8f, |
|
| 9993 |
+ 0x67, 0xed, 0x71, 0xf7, 0x39, 0x64, 0xa5, 0x1c, 0xa9, 0xad, 0x13, 0x62, 0x8e, 0x42, 0xcf, 0xe4, |
|
| 9994 |
+ 0xeb, 0xf3, 0x83, 0xc9, 0xd1, 0x29, 0x8a, 0xf6, 0x7d, 0xc8, 0xd6, 0xcc, 0xf2, 0xe5, 0x95, 0xa8, |
|
| 9995 |
+ 0xb0, 0xd1, 0xf8, 0x5f, 0x77, 0x5f, 0xd9, 0x32, 0x31, 0xa3, 0x74, 0xb8, 0x30, 0x2a, 0x85, 0x96, |
|
| 9996 |
+ 0xdf, 0x24, 0xc5, 0x69, 0x3a, 0x7a, 0x37, 0xb4, 0x17, 0x26, 0x57, 0xa0, 0x48, 0xf9, 0x37, 0x3a, |
|
| 9997 |
+ 0x8d, 0xe9, 0x1c, 0x2b, 0xa7, 0x81, 0x4f, 0x9d, 0x92, 0x5c, 0xcd, 0x90, 0xe9, 0x73, 0x93, 0x94, |
|
| 9998 |
+ 0x78, 0xd0, 0x58, 0xcc, 0x0f, 0xbb, 0xec, 0xde, 0xd0, 0xf6, 0xc7, 0xd2, 0xef, 0xcf, 0xef, 0xaf, |
|
| 9999 |
+ 0x96, 0x91, 0xab, 0x06, 0x4c, 0x0d, 0xce, 0xa3, 0x1f, 0x90, 0x8b, 0xbb, 0xbe, 0xd5, 0x87, 0x8a, |
|
| 10000 |
+ 0x2d, 0x00, 0x52, 0xfc, 0xbb, 0x64, 0x2d, 0x84, 0xca, 0xdc, 0xed, 0xdb, 0x41, 0x88, 0xaf, 0x67, |
|
| 10001 |
+ 0xb0, 0x49, 0xe6, 0xe2, 0x7c, 0x97, 0xbf, 0x72, 0x89, 0x57, 0x37, 0x7a, 0x05, 0x31, 0x5b, 0x02, |
|
| 10002 |
+ 0x42, 0x15, 0x62, 0x1b, 0x01, 0xfa, 0x3b, 0xa4, 0x54, 0xb7, 0x83, 0xa1, 0x19, 0x82, 0x6c, 0xd9, |
|
| 10003 |
+ 0x58, 0x6b, 0x2f, 0x91, 0x52, 0x9f, 0x41, 0x63, 0x75, 0xc8, 0x4c, 0x48, 0xce, 0xcc, 0xb7, 0xbd, |
|
| 10004 |
+ 0x9e, 0xec, 0x9d, 0x56, 0x22, 0x7a, 0x9b, 0x93, 0xf5, 0x2f, 0xa0, 0x58, 0xe0, 0xc3, 0x81, 0xe4, |
|
| 10005 |
+ 0x7c, 0x85, 0x5c, 0x08, 0x5c, 0x73, 0x18, 0xf4, 0xbd, 0xb0, 0x6b, 0xbb, 0x21, 0xbe, 0x94, 0x39, |
|
| 10006 |
+ 0x92, 0xb5, 0xa4, 0x26, 0x9a, 0x92, 0x0e, 0x69, 0x40, 0x3b, 0x61, 0x6c, 0xd8, 0xf5, 0x9c, 0x5e, |
|
| 10007 |
+ 0x57, 0x4d, 0x8a, 0xd7, 0x31, 0x40, 0xe3, 0xcc, 0xae, 0xd3, 0xeb, 0x28, 0xba, 0x56, 0x25, 0xeb, |
|
| 10008 |
+ 0x8e, 0x77, 0xdc, 0x85, 0xbd, 0xfb, 0xe0, 0x62, 0xdd, 0x23, 0xcf, 0xef, 0x06, 0x8e, 0x77, 0x06, |
|
| 10009 |
+ 0x1f, 0x0e, 0xfc, 0x31, 0x5f, 0xf5, 0xb4, 0x65, 0x40, 0x35, 0x04, 0x68, 0xd3, 0xf3, 0x3b, 0x30, |
|
| 10010 |
+ 0xb7, 0xa9, 0x10, 0x58, 0x51, 0x26, 0x8a, 0x85, 0xb6, 0x75, 0xa2, 0x2a, 0x4a, 0x44, 0xdd, 0x03, |
|
| 10011 |
+ 0x22, 0x04, 0xd5, 0x12, 0x73, 0x98, 0xc5, 0xcd, 0xc8, 0x51, 0x19, 0x8e, 0x2a, 0x2a, 0x22, 0x82, |
|
| 10012 |
+ 0xf4, 0x6f, 0x92, 0x7c, 0xdb, 0x31, 0x2d, 0xfe, 0x06, 0x89, 0x8d, 0x26, 0x64, 0x4b, 0x3c, 0x1b, |
|
| 10013 |
+ 0xd0, 0x5a, 0x44, 0x52, 0x9e, 0x4e, 0x93, 0xf4, 0x0f, 0xa1, 0xbe, 0x50, 0xcf, 0x0b, 0x6b, 0x06, |
|
| 10014 |
+ 0x80, 0xb3, 0x96, 0xd9, 0x55, 0xb9, 0xbf, 0x58, 0xcd, 0x43, 0x1a, 0xcd, 0xd4, 0x8c, 0x3b, 0x6c, |
|
| 10015 |
+ 0x4c, 0x33, 0x96, 0x09, 0x7f, 0x98, 0x69, 0x01, 0x81, 0x2e, 0xc3, 0xcd, 0x51, 0x14, 0x99, 0x16, |
|
| 10016 |
+ 0x7c, 0x0a, 0x28, 0x14, 0x98, 0xf1, 0x1f, 0x82, 0xa9, 0x28, 0x41, 0xdd, 0x3e, 0xf8, 0xa8, 0xe8, |
|
| 10017 |
+ 0x4b, 0xaa, 0xcb, 0x80, 0x24, 0x02, 0x89, 0x9e, 0x4b, 0x89, 0x40, 0xe3, 0xb7, 0xfe, 0xe7, 0x04, |
|
| 10018 |
+ 0x29, 0xe0, 0xc0, 0x3e, 0xb2, 0x2d, 0x4c, 0x69, 0x4f, 0x1f, 0x8e, 0xd0, 0xad, 0x5a, 0x81, 0x2f, |
|
| 10019 |
+ 0x37, 0xc5, 0xbb, 0xd5, 0x5a, 0x87, 0x52, 0xa4, 0x69, 0xef, 0x41, 0x24, 0xf2, 0x94, 0x2a, 0x23, |
|
| 10020 |
+ 0x51, 0xff, 0xf2, 0xe4, 0x2b, 0x1b, 0x6a, 0xc9, 0xc7, 0x8d, 0x38, 0xd9, 0x1d, 0x3f, 0x9a, 0x22, |
|
| 10021 |
+ 0x9d, 0x26, 0xe1, 0xfb, 0xa9, 0xe5, 0xf2, 0xd3, 0x90, 0xef, 0xa7, 0xb5, 0x16, 0x05, 0x8a, 0xfe, |
|
| 10022 |
+ 0x47, 0xb8, 0xc5, 0x36, 0x5c, 0xcb, 0x1f, 0xf3, 0xfa, 0x88, 0x16, 0x5c, 0x23, 0x79, 0xe8, 0xdb, |
|
| 10023 |
+ 0x82, 0x71, 0x00, 0x97, 0x1b, 0xf5, 0x3c, 0x13, 0x11, 0xb4, 0x26, 0xc9, 0x43, 0x9c, 0x7a, 0xbe, |
|
| 10024 |
+ 0x1d, 0xf6, 0x07, 0xb2, 0x81, 0x79, 0x25, 0xfe, 0x11, 0x6e, 0x4a, 0x66, 0xc5, 0x50, 0x2c, 0x74, |
|
| 10025 |
+ 0xc2, 0xad, 0xaa, 0x78, 0x8a, 0x6f, 0x96, 0x57, 0x71, 0xb8, 0x6a, 0x39, 0xd0, 0x55, 0x43, 0x6b, |
|
| 10026 |
+ 0xd2, 0xc5, 0x66, 0x95, 0xeb, 0x01, 0xb7, 0x0e, 0x49, 0xc3, 0x06, 0x5c, 0xd7, 0x49, 0x3e, 0x12, |
|
| 10027 |
+ 0x86, 0x8f, 0x62, 0x46, 0xa3, 0xd3, 0xbd, 0xb9, 0x71, 0xab, 0x7b, 0xbb, 0xb6, 0x03, 0xc5, 0x45, |
|
| 10028 |
+ 0xa4, 0xeb, 0xdf, 0x81, 0x4e, 0x3b, 0xa6, 0x0b, 0x0d, 0xb5, 0xba, 0x5e, 0x80, 0x57, 0xf8, 0x10, |
|
| 10029 |
+ 0x6a, 0xaa, 0xfe, 0xa6, 0x85, 0x57, 0x60, 0xf4, 0x61, 0xfd, 0xc5, 0xa9, 0xf8, 0xfa, 0x3b, 0xf5, |
|
| 10030 |
+ 0x38, 0x98, 0x3a, 0xf7, 0x71, 0x30, 0xfd, 0x7f, 0x79, 0x1c, 0x7c, 0xf9, 0x8b, 0x14, 0xc9, 0x47, |
|
| 10031 |
+ 0xd7, 0x05, 0x74, 0x19, 0x2c, 0x87, 0x0b, 0xe2, 0x22, 0x17, 0xd1, 0x5b, 0xbc, 0x10, 0xe6, 0x8d, |
|
| 10032 |
+ 0xed, 0xed, 0xdd, 0x9a, 0x81, 0x6f, 0x6b, 0xef, 0x89, 0x7a, 0x19, 0x01, 0x0c, 0x08, 0x5a, 0x3c, |
|
| 10033 |
+ 0xf4, 0x9e, 0xa6, 0x4f, 0xea, 0xe5, 0x7d, 0x79, 0x5d, 0x8c, 0x50, 0xaa, 0x58, 0xbe, 0x40, 0x72, |
|
| 10034 |
+ 0x46, 0xa7, 0xd3, 0xbc, 0xdd, 0x02, 0x49, 0x0f, 0x12, 0xe5, 0x67, 0x00, 0x74, 0x61, 0x22, 0x0a, |
|
| 10035 |
+ 0xf2, 0xfc, 0xb1, 0x0b, 0x92, 0x10, 0x55, 0xab, 0x35, 0xda, 0xb8, 0xde, 0xfd, 0xe4, 0x3c, 0x8a, |
|
| 10036 |
+ 0x57, 0x09, 0xfe, 0xf6, 0x92, 0x6f, 0xd3, 0x46, 0xdb, 0xa0, 0xb8, 0xe2, 0x83, 0xe4, 0xdc, 0xbe, |
|
| 10037 |
+ 0xda, 0x3e, 0x83, 0x0b, 0x24, 0xae, 0xb9, 0xae, 0x1e, 0x0a, 0xef, 0xa7, 0xca, 0x1a, 0x60, 0x96, |
|
| 10038 |
+ 0x27, 0x77, 0x24, 0xb0, 0xef, 0x18, 0x57, 0xeb, 0xec, 0x19, 0x74, 0x8f, 0x8b, 0x49, 0xcd, 0xad, |
|
| 10039 |
+ 0xd6, 0xc1, 0x9b, 0x2b, 0x4a, 0x01, 0xed, 0xe8, 0x7e, 0xab, 0xc5, 0xb5, 0x4b, 0xcf, 0x69, 0x47, |
|
| 10040 |
+ 0x47, 0xae, 0x8b, 0x98, 0xeb, 0x50, 0x50, 0x76, 0x77, 0xda, 0xdb, 0x8d, 0xbd, 0x46, 0xe9, 0x41, |
|
| 10041 |
+ 0x7a, 0x6e, 0x43, 0x35, 0x6f, 0x30, 0x74, 0x58, 0x28, 0xd4, 0xeb, 0x6c, 0xed, 0xef, 0xf1, 0x77, |
|
| 10042 |
+ 0xcc, 0xfb, 0x99, 0xf9, 0x05, 0xfb, 0xa3, 0xb0, 0x87, 0x1d, 0xca, 0xb5, 0xa8, 0x65, 0x78, 0x90, |
|
| 10043 |
+ 0x11, 0xef, 0x1a, 0x11, 0x46, 0xf4, 0x0b, 0x28, 0x87, 0x36, 0xbe, 0x27, 0x9e, 0x3c, 0xef, 0x67, |
|
| 10044 |
+ 0xe7, 0xe4, 0x50, 0xf6, 0x01, 0x64, 0x41, 0xe8, 0x2a, 0xa2, 0xd7, 0x8f, 0x68, 0xea, 0xe5, 0x1f, |
|
| 10045 |
+ 0x90, 0x9c, 0x4a, 0x18, 0x60, 0x9d, 0xec, 0xdd, 0x5d, 0x7a, 0xa7, 0x41, 0xe1, 0xe8, 0xb9, 0x75, |
|
| 10046 |
+ 0xd4, 0xcc, 0x5d, 0xcf, 0x07, 0xef, 0x82, 0x6d, 0x2c, 0xee, 0x18, 0x2d, 0xe3, 0x36, 0x00, 0xe4, |
|
| 10047 |
+ 0xf3, 0x8a, 0x02, 0x48, 0xaf, 0x2f, 0x97, 0xe4, 0x02, 0x91, 0xcc, 0xea, 0xda, 0xc3, 0xcf, 0xd6, |
|
| 10048 |
+ 0x17, 0x3e, 0x81, 0xdf, 0xdf, 0x3f, 0x5b, 0x4f, 0xdc, 0xff, 0x7c, 0x3d, 0xf1, 0x10, 0x7e, 0x7f, |
|
| 10049 |
+ 0x80, 0xdf, 0x5f, 0xe0, 0x77, 0x98, 0xe5, 0x57, 0x8b, 0x37, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, |
|
| 10050 |
+ 0xe7, 0xbe, 0x71, 0xe8, 0xb4, 0x1b, 0x00, 0x00, |
|
| 10052 | 10051 |
} |
| ... | ... |
@@ -484,18 +484,6 @@ message RaftConfig {
|
| 484 | 484 |
uint32 election_tick = 5; |
| 485 | 485 |
} |
| 486 | 486 |
|
| 487 |
-message RaftMember {
|
|
| 488 |
- // RaftID specifies the internal ID used by the manager in a raft context, it can never be modified |
|
| 489 |
- // and is used only for information purposes |
|
| 490 |
- uint64 raft_id = 1 [(gogoproto.customname) = "RaftID"]; |
|
| 491 |
- |
|
| 492 |
- // Addr specifies the address of the member |
|
| 493 |
- string addr = 2; |
|
| 494 |
- |
|
| 495 |
- // Status provides the current status of the manager from the perspective of another manager. |
|
| 496 |
- RaftMemberStatus status = 3 [(gogoproto.nullable) = false]; |
|
| 497 |
-} |
|
| 498 |
- |
|
| 499 | 487 |
// Placement specifies task distribution constraints. |
| 500 | 488 |
message Placement {
|
| 501 | 489 |
// constraints specifies a set of requirements a node should meet for a task. |
| ... | ... |
@@ -558,7 +546,18 @@ message EncryptionKey {
|
| 558 | 558 |
uint64 lamport_time = 4; |
| 559 | 559 |
} |
| 560 | 560 |
|
| 561 |
-// ManagerStatus provides information about the status of a manager in the cluster. |
|
| 561 |
+// ManagerStatus provides informations about the state of a manager in the cluster. |
|
| 562 | 562 |
message ManagerStatus {
|
| 563 |
- RaftMember raft = 1 [(gogoproto.nullable) = false]; |
|
| 564 |
-} |
|
| 565 | 563 |
\ No newline at end of file |
| 564 |
+ // RaftID specifies the internal ID used by the manager in a raft context, it can never be modified |
|
| 565 |
+ // and is used only for information purposes |
|
| 566 |
+ uint64 raft_id = 1 [(gogoproto.customname) = "RaftID"]; |
|
| 567 |
+ |
|
| 568 |
+ // Addr is the address advertised to raft. |
|
| 569 |
+ string addr = 2; |
|
| 570 |
+ |
|
| 571 |
+ // Leader is set to true if this node is the raft leader. |
|
| 572 |
+ bool leader = 3; |
|
| 573 |
+ |
|
| 574 |
+ // Reachability specifies whether this node is reachable. |
|
| 575 |
+ RaftMemberStatus.Reachability reachability = 4; |
|
| 576 |
+} |
| ... | ... |
@@ -476,7 +476,7 @@ func BootstrapCluster(baseCertDir string) error {
|
| 476 | 476 |
return err |
| 477 | 477 |
} |
| 478 | 478 |
|
| 479 |
- nodeID := identity.NewNodeID() |
|
| 479 |
+ nodeID := identity.NewID() |
|
| 480 | 480 |
newOrg := identity.NewID() |
| 481 | 481 |
_, err = GenerateAndSignNewTLSCert(rootCA, nodeID, ManagerRole, newOrg, paths.Node) |
| 482 | 482 |
|
| ... | ... |
@@ -194,7 +194,7 @@ func LoadOrCreateSecurityConfig(ctx context.Context, baseCertDir, caHash, secret |
| 194 | 194 |
|
| 195 | 195 |
if rootCA.CanSign() {
|
| 196 | 196 |
// Create a new random ID for this certificate |
| 197 |
- cn := identity.NewNodeID() |
|
| 197 |
+ cn := identity.NewID() |
|
| 198 | 198 |
org := identity.NewID() |
| 199 | 199 |
|
| 200 | 200 |
if nodeInfo != nil {
|
| ... | ... |
@@ -30,6 +30,10 @@ type Server struct {
|
| 30 | 30 |
store *store.MemoryStore |
| 31 | 31 |
securityConfig *SecurityConfig |
| 32 | 32 |
acceptancePolicy *api.AcceptancePolicy |
| 33 |
+ |
|
| 34 |
+ // Started is a channel which gets closed once the server is running |
|
| 35 |
+ // and able to service RPCs. |
|
| 36 |
+ Started chan struct{}
|
|
| 33 | 37 |
} |
| 34 | 38 |
|
| 35 | 39 |
// DefaultAcceptancePolicy returns the default acceptance policy. |
| ... | ... |
@@ -60,6 +64,7 @@ func NewServer(store *store.MemoryStore, securityConfig *SecurityConfig) *Server |
| 60 | 60 |
return &Server{
|
| 61 | 61 |
store: store, |
| 62 | 62 |
securityConfig: securityConfig, |
| 63 |
+ Started: make(chan struct{}),
|
|
| 63 | 64 |
} |
| 64 | 65 |
} |
| 65 | 66 |
|
| ... | ... |
@@ -200,7 +205,7 @@ func (s *Server) IssueNodeCertificate(ctx context.Context, request *api.IssueNod |
| 200 | 200 |
maxRetries := 3 |
| 201 | 201 |
// Generate a random ID for this new node |
| 202 | 202 |
for i := 0; ; i++ {
|
| 203 |
- nodeID = identity.NewNodeID() |
|
| 203 |
+ nodeID = identity.NewID() |
|
| 204 | 204 |
|
| 205 | 205 |
// Create a new node |
| 206 | 206 |
err := s.store.Update(func(tx store.Tx) error {
|
| ... | ... |
@@ -353,6 +358,8 @@ func (s *Server) Run(ctx context.Context) error {
|
| 353 | 353 |
s.ctx, s.cancel = context.WithCancel(ctx) |
| 354 | 354 |
s.mu.Unlock() |
| 355 | 355 |
|
| 356 |
+ close(s.Started) |
|
| 357 |
+ |
|
| 356 | 358 |
// Retrieve the channels to keep track of changes in the cluster |
| 357 | 359 |
// Retrieve all the currently registered nodes |
| 358 | 360 |
var nodes []*api.Node |
| ... | ... |
@@ -2,12 +2,9 @@ package identity |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 | 4 |
"crypto/rand" |
| 5 |
- "encoding/binary" |
|
| 6 |
- "errors" |
|
| 7 | 5 |
"fmt" |
| 8 | 6 |
"io" |
| 9 | 7 |
"math/big" |
| 10 |
- "strconv" |
|
| 11 | 8 |
) |
| 12 | 9 |
|
| 13 | 10 |
var ( |
| ... | ... |
@@ -53,31 +50,3 @@ func NewID() string {
|
| 53 | 53 |
nn.SetBytes(p[:]) |
| 54 | 54 |
return fmt.Sprintf("%0[1]*s", maxRandomIDLength, nn.Text(randomIDBase))
|
| 55 | 55 |
} |
| 56 |
- |
|
| 57 |
-// NewNodeID generates a new identifier for identifying a node. These IDs |
|
| 58 |
-// are shorter than the IDs returned by NewID, so they can be used directly |
|
| 59 |
-// by Raft. Because they are short, they MUST be checked for collisions. |
|
| 60 |
-func NewNodeID() string {
|
|
| 61 |
- var p [randomNodeIDEntropyBytes]byte |
|
| 62 |
- |
|
| 63 |
- if _, err := io.ReadFull(idReader, p[:]); err != nil {
|
|
| 64 |
- panic(fmt.Errorf("failed to read random bytes: %v", err))
|
|
| 65 |
- } |
|
| 66 |
- |
|
| 67 |
- randomInt := binary.LittleEndian.Uint64(p[:]) |
|
| 68 |
- return FormatNodeID(randomInt) |
|
| 69 |
-} |
|
| 70 |
- |
|
| 71 |
-// FormatNodeID converts a node ID from uint64 to string format. |
|
| 72 |
-// A string-formatted node ID looks like 1w8ynjwhcy4zd. |
|
| 73 |
-func FormatNodeID(nodeID uint64) string {
|
|
| 74 |
- return fmt.Sprintf("%0[1]*s", maxRandomNodeIDLength, strconv.FormatUint(nodeID, 36))
|
|
| 75 |
-} |
|
| 76 |
- |
|
| 77 |
-// ParseNodeID converts a node ID from string format to uint64. |
|
| 78 |
-func ParseNodeID(nodeID string) (uint64, error) {
|
|
| 79 |
- if len(nodeID) != maxRandomNodeIDLength {
|
|
| 80 |
- return 0, errors.New("node ID has invalid length")
|
|
| 81 |
- } |
|
| 82 |
- return strconv.ParseUint(nodeID, 36, 64) |
|
| 83 |
-} |
| ... | ... |
@@ -169,6 +169,7 @@ func redactClusters(clusters []*api.Cluster) []*api.Cluster {
|
| 169 | 169 |
// Only add public fields to the new clusters |
| 170 | 170 |
for _, cluster := range clusters {
|
| 171 | 171 |
// Copy all the mandatory fields |
| 172 |
+ // Do not copy secret key |
|
| 172 | 173 |
newCluster := &api.Cluster{
|
| 173 | 174 |
ID: cluster.ID, |
| 174 | 175 |
Meta: cluster.Meta, |
| ... | ... |
@@ -179,17 +180,6 @@ func redactClusters(clusters []*api.Cluster) []*api.Cluster {
|
| 179 | 179 |
}, |
| 180 | 180 |
} |
| 181 | 181 |
|
| 182 |
- // Redact the acceptance policy secrets |
|
| 183 |
- if len(newCluster.Spec.AcceptancePolicy.Policies) > 0 {
|
|
| 184 |
- for _, policy := range newCluster.Spec.AcceptancePolicy.Policies {
|
|
| 185 |
- // Adding [REDACTED] to the api client so they know there is a |
|
| 186 |
- // a secret configured, but without telling them what it is. |
|
| 187 |
- if policy.Secret != nil {
|
|
| 188 |
- policy.Secret.Data = []byte("[REDACTED]")
|
|
| 189 |
- } |
|
| 190 |
- |
|
| 191 |
- } |
|
| 192 |
- } |
|
| 193 | 182 |
redactedClusters = append(redactedClusters, newCluster) |
| 194 | 183 |
} |
| 195 | 184 |
|
| ... | ... |
@@ -2,7 +2,6 @@ package controlapi |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 | 4 |
"github.com/docker/swarmkit/api" |
| 5 |
- "github.com/docker/swarmkit/identity" |
|
| 6 | 5 |
"github.com/docker/swarmkit/manager/state/store" |
| 7 | 6 |
"golang.org/x/net/context" |
| 8 | 7 |
"google.golang.org/grpc" |
| ... | ... |
@@ -34,9 +33,16 @@ func (s *Server) GetNode(ctx context.Context, request *api.GetNodeRequest) (*api |
| 34 | 34 |
|
| 35 | 35 |
if s.raft != nil {
|
| 36 | 36 |
memberlist := s.raft.GetMemberlist() |
| 37 |
- raftID, err := identity.ParseNodeID(request.NodeID) |
|
| 38 |
- if err == nil && memberlist[raftID] != nil {
|
|
| 39 |
- node.ManagerStatus = &api.ManagerStatus{Raft: *memberlist[raftID]}
|
|
| 37 |
+ for _, member := range memberlist {
|
|
| 38 |
+ if member.NodeID == node.ID {
|
|
| 39 |
+ node.ManagerStatus = &api.ManagerStatus{
|
|
| 40 |
+ RaftID: member.RaftID, |
|
| 41 |
+ Addr: member.Addr, |
|
| 42 |
+ Leader: member.Status.Leader, |
|
| 43 |
+ Reachability: member.Status.Reachability, |
|
| 44 |
+ } |
|
| 45 |
+ break |
|
| 46 |
+ } |
|
| 40 | 47 |
} |
| 41 | 48 |
} |
| 42 | 49 |
|
| ... | ... |
@@ -148,10 +154,17 @@ func (s *Server) ListNodes(ctx context.Context, request *api.ListNodesRequest) ( |
| 148 | 148 |
if s.raft != nil {
|
| 149 | 149 |
memberlist := s.raft.GetMemberlist() |
| 150 | 150 |
|
| 151 |
- for _, n := range nodes {
|
|
| 152 |
- raftID, err := identity.ParseNodeID(n.ID) |
|
| 153 |
- if err == nil && memberlist[raftID] != nil {
|
|
| 154 |
- n.ManagerStatus = &api.ManagerStatus{Raft: *memberlist[raftID]}
|
|
| 151 |
+ for _, node := range nodes {
|
|
| 152 |
+ for _, member := range memberlist {
|
|
| 153 |
+ if member.NodeID == node.ID {
|
|
| 154 |
+ node.ManagerStatus = &api.ManagerStatus{
|
|
| 155 |
+ RaftID: member.RaftID, |
|
| 156 |
+ Addr: member.Addr, |
|
| 157 |
+ Leader: member.Status.Leader, |
|
| 158 |
+ Reachability: member.Status.Reachability, |
|
| 159 |
+ } |
|
| 160 |
+ break |
|
| 161 |
+ } |
|
| 155 | 162 |
} |
| 156 | 163 |
} |
| 157 | 164 |
} |
| ... | ... |
@@ -173,7 +186,10 @@ func (s *Server) UpdateNode(ctx context.Context, request *api.UpdateNodeRequest) |
| 173 | 173 |
return nil, err |
| 174 | 174 |
} |
| 175 | 175 |
|
| 176 |
- var node *api.Node |
|
| 176 |
+ var ( |
|
| 177 |
+ node *api.Node |
|
| 178 |
+ demote bool |
|
| 179 |
+ ) |
|
| 177 | 180 |
err := s.store.Update(func(tx store.Tx) error {
|
| 178 | 181 |
node = store.GetNode(tx, request.NodeID) |
| 179 | 182 |
if node == nil {
|
| ... | ... |
@@ -182,6 +198,7 @@ func (s *Server) UpdateNode(ctx context.Context, request *api.UpdateNodeRequest) |
| 182 | 182 |
|
| 183 | 183 |
// Demotion sanity checks. |
| 184 | 184 |
if node.Spec.Role == api.NodeRoleManager && request.Spec.Role == api.NodeRoleWorker {
|
| 185 |
+ demote = true |
|
| 185 | 186 |
managers, err := store.FindNodes(tx, store.ByRole(api.NodeRoleManager)) |
| 186 | 187 |
if err != nil {
|
| 187 | 188 |
return grpc.Errorf(codes.Internal, "internal store error: %v", err) |
| ... | ... |
@@ -201,6 +218,19 @@ func (s *Server) UpdateNode(ctx context.Context, request *api.UpdateNodeRequest) |
| 201 | 201 |
if node == nil {
|
| 202 | 202 |
return nil, grpc.Errorf(codes.NotFound, "node %s not found", request.NodeID) |
| 203 | 203 |
} |
| 204 |
+ |
|
| 205 |
+ if demote && s.raft != nil {
|
|
| 206 |
+ memberlist := s.raft.GetMemberlist() |
|
| 207 |
+ for raftID, member := range memberlist {
|
|
| 208 |
+ if member.NodeID == request.NodeID {
|
|
| 209 |
+ if err := s.raft.RemoveMember(ctx, raftID); err != nil {
|
|
| 210 |
+ return nil, err |
|
| 211 |
+ } |
|
| 212 |
+ break |
|
| 213 |
+ } |
|
| 214 |
+ } |
|
| 215 |
+ } |
|
| 216 |
+ |
|
| 204 | 217 |
return &api.UpdateNodeResponse{
|
| 205 | 218 |
Node: node, |
| 206 | 219 |
}, nil |
| ... | ... |
@@ -217,9 +247,11 @@ func (s *Server) RemoveNode(ctx context.Context, request *api.RemoveNodeRequest) |
| 217 | 217 |
} |
| 218 | 218 |
if s.raft != nil {
|
| 219 | 219 |
memberlist := s.raft.GetMemberlist() |
| 220 |
- raftID, err := identity.ParseNodeID(request.NodeID) |
|
| 221 |
- if err == nil && memberlist[raftID] != nil {
|
|
| 222 |
- return nil, grpc.Errorf(codes.FailedPrecondition, "node %s is a cluster manager and is part of the quorum. It must be demoted to worker before removal", request.NodeID) |
|
| 220 |
+ |
|
| 221 |
+ for _, member := range memberlist {
|
|
| 222 |
+ if member.NodeID == request.NodeID {
|
|
| 223 |
+ return nil, grpc.Errorf(codes.FailedPrecondition, "node %s is a cluster manager and is part of the quorum. It must be demoted to worker before removal", request.NodeID) |
|
| 224 |
+ } |
|
| 223 | 225 |
} |
| 224 | 226 |
} |
| 225 | 227 |
|
| ... | ... |
@@ -15,7 +15,6 @@ import ( |
| 15 | 15 |
"github.com/Sirupsen/logrus" |
| 16 | 16 |
"github.com/docker/swarmkit/api" |
| 17 | 17 |
"github.com/docker/swarmkit/ca" |
| 18 |
- "github.com/docker/swarmkit/identity" |
|
| 19 | 18 |
"github.com/docker/swarmkit/log" |
| 20 | 19 |
"github.com/docker/swarmkit/manager/state" |
| 21 | 20 |
"github.com/docker/swarmkit/manager/state/store" |
| ... | ... |
@@ -136,7 +135,7 @@ func getWeightedPeers(cluster Cluster) []*api.WeightedPeer {
|
| 136 | 136 |
for _, m := range members {
|
| 137 | 137 |
mgrs = append(mgrs, &api.WeightedPeer{
|
| 138 | 138 |
Peer: &api.Peer{
|
| 139 |
- NodeID: identity.FormatNodeID(m.RaftID), |
|
| 139 |
+ NodeID: m.NodeID, |
|
| 140 | 140 |
Addr: m.Addr, |
| 141 | 141 |
}, |
| 142 | 142 |
Weight: 1, |
| ... | ... |
@@ -443,10 +443,12 @@ func (m *Manager) Run(parent context.Context) error {
|
| 443 | 443 |
authenticatedCAAPI := api.NewAuthenticatedWrapperCAServer(m.caserver, authorize) |
| 444 | 444 |
authenticatedNodeCAAPI := api.NewAuthenticatedWrapperNodeCAServer(m.caserver, authorize) |
| 445 | 445 |
authenticatedRaftAPI := api.NewAuthenticatedWrapperRaftServer(m.RaftNode, authorize) |
| 446 |
+ authenticatedRaftMembershipAPI := api.NewAuthenticatedWrapperRaftMembershipServer(m.RaftNode, authorize) |
|
| 446 | 447 |
|
| 447 | 448 |
proxyDispatcherAPI := api.NewRaftProxyDispatcherServer(authenticatedDispatcherAPI, cs, m.RaftNode, ca.WithMetadataForwardTLSInfo) |
| 448 | 449 |
proxyCAAPI := api.NewRaftProxyCAServer(authenticatedCAAPI, cs, m.RaftNode, ca.WithMetadataForwardTLSInfo) |
| 449 | 450 |
proxyNodeCAAPI := api.NewRaftProxyNodeCAServer(authenticatedNodeCAAPI, cs, m.RaftNode, ca.WithMetadataForwardTLSInfo) |
| 451 |
+ proxyRaftMembershipAPI := api.NewRaftProxyRaftMembershipServer(authenticatedRaftMembershipAPI, cs, m.RaftNode, ca.WithMetadataForwardTLSInfo) |
|
| 450 | 452 |
|
| 451 | 453 |
// localProxyControlAPI is a special kind of proxy. It is only wired up |
| 452 | 454 |
// to receive requests from a trusted local socket, and these requests |
| ... | ... |
@@ -462,6 +464,7 @@ func (m *Manager) Run(parent context.Context) error {
|
| 462 | 462 |
api.RegisterCAServer(m.server, proxyCAAPI) |
| 463 | 463 |
api.RegisterNodeCAServer(m.server, proxyNodeCAAPI) |
| 464 | 464 |
api.RegisterRaftServer(m.server, authenticatedRaftAPI) |
| 465 |
+ api.RegisterRaftMembershipServer(m.server, proxyRaftMembershipAPI) |
|
| 465 | 466 |
api.RegisterControlServer(m.localserver, localProxyControlAPI) |
| 466 | 467 |
api.RegisterControlServer(m.server, authenticatedControlAPI) |
| 467 | 468 |
api.RegisterDispatcherServer(m.server, proxyDispatcherAPI) |
| ... | ... |
@@ -570,7 +573,7 @@ func (m *Manager) Stop(ctx context.Context) {
|
| 570 | 570 |
} |
| 571 | 571 |
|
| 572 | 572 |
m.RaftNode.Shutdown() |
| 573 |
- // some time after this point, Run will recieve an error from one of these |
|
| 573 |
+ // some time after this point, Run will receive an error from one of these |
|
| 574 | 574 |
m.server.Stop() |
| 575 | 575 |
m.localserver.Stop() |
| 576 | 576 |
|
| ... | ... |
@@ -99,29 +99,34 @@ func (r *ReplicatedOrchestrator) reconcile(ctx context.Context, service *api.Ser |
| 99 | 99 |
|
| 100 | 100 |
// TODO(aaronl): Add support for restart delays. |
| 101 | 101 |
|
| 102 |
- _, err = r.store.Batch(func(batch *store.Batch) error {
|
|
| 103 |
- switch {
|
|
| 104 |
- case specifiedInstances > numTasks: |
|
| 105 |
- log.G(ctx).Debugf("Service %s was scaled up from %d to %d instances", service.ID, numTasks, specifiedInstances)
|
|
| 106 |
- // Update all current tasks then add missing tasks |
|
| 107 |
- r.updater.Update(ctx, service, runningTasks) |
|
| 102 |
+ switch {
|
|
| 103 |
+ case specifiedInstances > numTasks: |
|
| 104 |
+ log.G(ctx).Debugf("Service %s was scaled up from %d to %d instances", service.ID, numTasks, specifiedInstances)
|
|
| 105 |
+ // Update all current tasks then add missing tasks |
|
| 106 |
+ r.updater.Update(ctx, service, runningTasks) |
|
| 107 |
+ _, err = r.store.Batch(func(batch *store.Batch) error {
|
|
| 108 | 108 |
r.addTasks(ctx, batch, service, runningInstances, specifiedInstances-numTasks) |
| 109 |
+ return nil |
|
| 110 |
+ }) |
|
| 111 |
+ if err != nil {
|
|
| 112 |
+ log.G(ctx).WithError(err).Errorf("reconcile batch failed")
|
|
| 113 |
+ } |
|
| 109 | 114 |
|
| 110 |
- case specifiedInstances < numTasks: |
|
| 111 |
- // Update up to N tasks then remove the extra |
|
| 112 |
- log.G(ctx).Debugf("Service %s was scaled down from %d to %d instances", service.ID, numTasks, specifiedInstances)
|
|
| 113 |
- r.updater.Update(ctx, service, runningTasks[:specifiedInstances]) |
|
| 115 |
+ case specifiedInstances < numTasks: |
|
| 116 |
+ // Update up to N tasks then remove the extra |
|
| 117 |
+ log.G(ctx).Debugf("Service %s was scaled down from %d to %d instances", service.ID, numTasks, specifiedInstances)
|
|
| 118 |
+ r.updater.Update(ctx, service, runningTasks[:specifiedInstances]) |
|
| 119 |
+ _, err = r.store.Batch(func(batch *store.Batch) error {
|
|
| 114 | 120 |
r.removeTasks(ctx, batch, service, runningTasks[specifiedInstances:]) |
| 115 |
- |
|
| 116 |
- case specifiedInstances == numTasks: |
|
| 117 |
- // Simple update, no scaling - update all tasks. |
|
| 118 |
- r.updater.Update(ctx, service, runningTasks) |
|
| 121 |
+ return nil |
|
| 122 |
+ }) |
|
| 123 |
+ if err != nil {
|
|
| 124 |
+ log.G(ctx).WithError(err).Errorf("reconcile batch failed")
|
|
| 119 | 125 |
} |
| 120 |
- return nil |
|
| 121 |
- }) |
|
| 122 | 126 |
|
| 123 |
- if err != nil {
|
|
| 124 |
- log.G(ctx).WithError(err).Errorf("reconcile batch failed")
|
|
| 127 |
+ case specifiedInstances == numTasks: |
|
| 128 |
+ // Simple update, no scaling - update all tasks. |
|
| 129 |
+ r.updater.Update(ctx, service, runningTasks) |
|
| 125 | 130 |
} |
| 126 | 131 |
} |
| 127 | 132 |
|
| ... | ... |
@@ -53,6 +53,9 @@ func (f *ResourceFilter) SetTask(t *api.Task) bool {
|
| 53 | 53 |
|
| 54 | 54 |
// Check returns true if the task can be scheduled into the given node. |
| 55 | 55 |
func (f *ResourceFilter) Check(n *NodeInfo) bool {
|
| 56 |
+ if n.AvailableResources == nil {
|
|
| 57 |
+ return false |
|
| 58 |
+ } |
|
| 56 | 59 |
if f.reservations.NanoCPUs > n.AvailableResources.NanoCPUs {
|
| 57 | 60 |
return false |
| 58 | 61 |
} |
| ... | ... |
@@ -6,10 +6,10 @@ import "github.com/docker/swarmkit/api" |
| 6 | 6 |
type NodeInfo struct {
|
| 7 | 7 |
*api.Node |
| 8 | 8 |
Tasks map[string]*api.Task |
| 9 |
- AvailableResources api.Resources |
|
| 9 |
+ AvailableResources *api.Resources |
|
| 10 | 10 |
} |
| 11 | 11 |
|
| 12 |
-func newNodeInfo(n *api.Node, tasks map[string]*api.Task, availableResources api.Resources) NodeInfo {
|
|
| 12 |
+func newNodeInfo(n *api.Node, tasks map[string]*api.Task, availableResources *api.Resources) NodeInfo {
|
|
| 13 | 13 |
nodeInfo := NodeInfo{
|
| 14 | 14 |
Node: n, |
| 15 | 15 |
Tasks: make(map[string]*api.Task), |
| ... | ... |
@@ -31,9 +31,11 @@ func (nodeInfo *NodeInfo) removeTask(t *api.Task) bool {
|
| 31 | 31 |
} |
| 32 | 32 |
|
| 33 | 33 |
delete(nodeInfo.Tasks, t.ID) |
| 34 |
- reservations := taskReservations(t.Spec) |
|
| 35 |
- nodeInfo.AvailableResources.MemoryBytes += reservations.MemoryBytes |
|
| 36 |
- nodeInfo.AvailableResources.NanoCPUs += reservations.NanoCPUs |
|
| 34 |
+ if nodeInfo.AvailableResources != nil {
|
|
| 35 |
+ reservations := taskReservations(t.Spec) |
|
| 36 |
+ nodeInfo.AvailableResources.MemoryBytes += reservations.MemoryBytes |
|
| 37 |
+ nodeInfo.AvailableResources.NanoCPUs += reservations.NanoCPUs |
|
| 38 |
+ } |
|
| 37 | 39 |
|
| 38 | 40 |
return true |
| 39 | 41 |
} |
| ... | ... |
@@ -47,9 +49,11 @@ func (nodeInfo *NodeInfo) addTask(t *api.Task) bool {
|
| 47 | 47 |
} |
| 48 | 48 |
if _, ok := nodeInfo.Tasks[t.ID]; !ok {
|
| 49 | 49 |
nodeInfo.Tasks[t.ID] = t |
| 50 |
- reservations := taskReservations(t.Spec) |
|
| 51 |
- nodeInfo.AvailableResources.MemoryBytes -= reservations.MemoryBytes |
|
| 52 |
- nodeInfo.AvailableResources.NanoCPUs -= reservations.NanoCPUs |
|
| 50 |
+ if nodeInfo.AvailableResources != nil {
|
|
| 51 |
+ reservations := taskReservations(t.Spec) |
|
| 52 |
+ nodeInfo.AvailableResources.MemoryBytes -= reservations.MemoryBytes |
|
| 53 |
+ nodeInfo.AvailableResources.NanoCPUs -= reservations.NanoCPUs |
|
| 54 |
+ } |
|
| 53 | 55 |
return true |
| 54 | 56 |
} |
| 55 | 57 |
|
| ... | ... |
@@ -242,13 +242,17 @@ func (s *Scheduler) deleteTask(ctx context.Context, t *api.Task) {
|
| 242 | 242 |
} |
| 243 | 243 |
|
| 244 | 244 |
func (s *Scheduler) createOrUpdateNode(n *api.Node) {
|
| 245 |
- var resources api.Resources |
|
| 245 |
+ nodeInfo := s.nodeHeap.nodeInfo(n.ID) |
|
| 246 | 246 |
if n.Description != nil && n.Description.Resources != nil {
|
| 247 |
- resources = *n.Description.Resources |
|
| 247 |
+ if nodeInfo.AvailableResources == nil {
|
|
| 248 |
+ // if nodeInfo.AvailableResources hasn't been initialized |
|
| 249 |
+ // we copy resources information from node description and |
|
| 250 |
+ // pass it to nodeInfo |
|
| 251 |
+ resources := *n.Description.Resources |
|
| 252 |
+ nodeInfo.AvailableResources = &resources |
|
| 253 |
+ } |
|
| 248 | 254 |
} |
| 249 |
- nodeInfo := s.nodeHeap.nodeInfo(n.ID) |
|
| 250 | 255 |
nodeInfo.Node = n |
| 251 |
- nodeInfo.AvailableResources = resources |
|
| 252 | 256 |
s.nodeHeap.addOrUpdateNode(nodeInfo) |
| 253 | 257 |
} |
| 254 | 258 |
|
| ... | ... |
@@ -418,9 +422,10 @@ func (s *Scheduler) buildNodeHeap(tx store.ReadTx, tasksByNode map[string]map[st |
| 418 | 418 |
|
| 419 | 419 |
i := 0 |
| 420 | 420 |
for _, n := range nodes {
|
| 421 |
- var resources api.Resources |
|
| 421 |
+ var resources *api.Resources |
|
| 422 | 422 |
if n.Description != nil && n.Description.Resources != nil {
|
| 423 |
- resources = *n.Description.Resources |
|
| 423 |
+ resources = &api.Resources{NanoCPUs: n.Description.Resources.NanoCPUs,
|
|
| 424 |
+ MemoryBytes: n.Description.Resources.MemoryBytes} |
|
| 424 | 425 |
} |
| 425 | 426 |
s.nodeHeap.heap = append(s.nodeHeap.heap, newNodeInfo(n, tasksByNode[n.ID], resources)) |
| 426 | 427 |
s.nodeHeap.index[n.ID] = i |
| ... | ... |
@@ -3,6 +3,7 @@ package raft |
| 3 | 3 |
import ( |
| 4 | 4 |
"errors" |
| 5 | 5 |
"math" |
| 6 |
+ "math/rand" |
|
| 6 | 7 |
"sync" |
| 7 | 8 |
"sync/atomic" |
| 8 | 9 |
"time" |
| ... | ... |
@@ -22,7 +23,6 @@ import ( |
| 22 | 22 |
"github.com/docker/go-events" |
| 23 | 23 |
"github.com/docker/swarmkit/api" |
| 24 | 24 |
"github.com/docker/swarmkit/ca" |
| 25 |
- "github.com/docker/swarmkit/identity" |
|
| 26 | 25 |
"github.com/docker/swarmkit/log" |
| 27 | 26 |
"github.com/docker/swarmkit/manager/state/raft/membership" |
| 28 | 27 |
"github.com/docker/swarmkit/manager/state/store" |
| ... | ... |
@@ -109,6 +109,8 @@ type Node struct {
|
| 109 | 109 |
|
| 110 | 110 |
// used to coordinate shutdown |
| 111 | 111 |
stopMu sync.RWMutex |
| 112 |
+ // used for membership management checks |
|
| 113 |
+ membershipLock sync.Mutex |
|
| 112 | 114 |
|
| 113 | 115 |
snapshotInProgress chan uint64 |
| 114 | 116 |
asyncTasks sync.WaitGroup |
| ... | ... |
@@ -142,6 +144,10 @@ type NewNodeOptions struct {
|
| 142 | 142 |
TLSCredentials credentials.TransportAuthenticator |
| 143 | 143 |
} |
| 144 | 144 |
|
| 145 |
+func init() {
|
|
| 146 |
+ rand.Seed(time.Now().UnixNano()) |
|
| 147 |
+} |
|
| 148 |
+ |
|
| 145 | 149 |
// NewNode generates a new Raft node |
| 146 | 150 |
func NewNode(ctx context.Context, opts NewNodeOptions) (*Node, error) {
|
| 147 | 151 |
cfg := opts.Config |
| ... | ... |
@@ -152,11 +158,6 @@ func NewNode(ctx context.Context, opts NewNodeOptions) (*Node, error) {
|
| 152 | 152 |
opts.TickInterval = time.Second |
| 153 | 153 |
} |
| 154 | 154 |
|
| 155 |
- raftID, err := identity.ParseNodeID(opts.ID) |
|
| 156 |
- if err != nil {
|
|
| 157 |
- return nil, err |
|
| 158 |
- } |
|
| 159 |
- |
|
| 160 | 155 |
raftStore := raft.NewMemoryStorage() |
| 161 | 156 |
|
| 162 | 157 |
ctx, cancel := context.WithCancel(ctx) |
| ... | ... |
@@ -175,7 +176,6 @@ func NewNode(ctx context.Context, opts NewNodeOptions) (*Node, error) {
|
| 175 | 175 |
MaxSizePerMsg: cfg.MaxSizePerMsg, |
| 176 | 176 |
MaxInflightMsgs: cfg.MaxInflightMsgs, |
| 177 | 177 |
Logger: cfg.Logger, |
| 178 |
- ID: raftID, |
|
| 179 | 178 |
}, |
| 180 | 179 |
forceNewCluster: opts.ForceNewCluster, |
| 181 | 180 |
stopCh: make(chan struct{}),
|
| ... | ... |
@@ -196,9 +196,10 @@ func NewNode(ctx context.Context, opts NewNodeOptions) (*Node, error) {
|
| 196 | 196 |
n.sendTimeout = opts.SendTimeout |
| 197 | 197 |
} |
| 198 | 198 |
|
| 199 |
- if err := n.loadAndStart(ctx, opts.ForceNewCluster); err != nil {
|
|
| 199 |
+ loadAndStartErr := n.loadAndStart(ctx, opts.ForceNewCluster) |
|
| 200 |
+ if loadAndStartErr != nil && loadAndStartErr != errNoWAL {
|
|
| 200 | 201 |
n.ticker.Stop() |
| 201 |
- return nil, err |
|
| 202 |
+ return nil, loadAndStartErr |
|
| 202 | 203 |
} |
| 203 | 204 |
|
| 204 | 205 |
snapshot, err := raftStore.Snapshot() |
| ... | ... |
@@ -213,32 +214,45 @@ func NewNode(ctx context.Context, opts NewNodeOptions) (*Node, error) {
|
| 213 | 213 |
n.reqIDGen = idutil.NewGenerator(uint16(n.Config.ID), time.Now()) |
| 214 | 214 |
n.wait = newWait() |
| 215 | 215 |
|
| 216 |
- if n.startNodePeers != nil {
|
|
| 216 |
+ if loadAndStartErr == errNoWAL {
|
|
| 217 | 217 |
if n.joinAddr != "" {
|
| 218 | 218 |
c, err := n.ConnectToMember(n.joinAddr, 10*time.Second) |
| 219 | 219 |
if err != nil {
|
| 220 | 220 |
return nil, err |
| 221 | 221 |
} |
| 222 |
+ client := api.NewRaftMembershipClient(c.Conn) |
|
| 222 | 223 |
defer func() {
|
| 223 | 224 |
_ = c.Conn.Close() |
| 224 | 225 |
}() |
| 225 | 226 |
|
| 226 | 227 |
ctx, cancel := context.WithTimeout(n.Ctx, 10*time.Second) |
| 227 | 228 |
defer cancel() |
| 228 |
- resp, err := c.Join(ctx, &api.JoinRequest{
|
|
| 229 |
+ resp, err := client.Join(ctx, &api.JoinRequest{
|
|
| 229 | 230 |
Addr: n.Address, |
| 230 | 231 |
}) |
| 231 | 232 |
if err != nil {
|
| 232 | 233 |
return nil, err |
| 233 | 234 |
} |
| 234 | 235 |
|
| 236 |
+ n.Config.ID = resp.RaftID |
|
| 237 |
+ |
|
| 238 |
+ if _, err := n.createWAL(opts.ID); err != nil {
|
|
| 239 |
+ return nil, err |
|
| 240 |
+ } |
|
| 241 |
+ |
|
| 235 | 242 |
n.Node = raft.StartNode(n.Config, []raft.Peer{})
|
| 236 | 243 |
|
| 237 | 244 |
if err := n.registerNodes(resp.Members); err != nil {
|
| 238 | 245 |
return nil, err |
| 239 | 246 |
} |
| 240 | 247 |
} else {
|
| 241 |
- n.Node = raft.StartNode(n.Config, n.startNodePeers) |
|
| 248 |
+ // First member in the cluster, self-assign ID |
|
| 249 |
+ n.Config.ID = uint64(rand.Int63()) + 1 |
|
| 250 |
+ peer, err := n.createWAL(opts.ID) |
|
| 251 |
+ if err != nil {
|
|
| 252 |
+ return nil, err |
|
| 253 |
+ } |
|
| 254 |
+ n.Node = raft.StartNode(n.Config, []raft.Peer{peer})
|
|
| 242 | 255 |
if err := n.Campaign(n.Ctx); err != nil {
|
| 243 | 256 |
return nil, err |
| 244 | 257 |
} |
| ... | ... |
@@ -363,6 +377,14 @@ func (n *Node) Run(ctx context.Context) error {
|
| 363 | 363 |
// send back an error to the caller to start |
| 364 | 364 |
// the shutdown process. |
| 365 | 365 |
if n.mustStop() {
|
| 366 |
+ n.stop() |
|
| 367 |
+ |
|
| 368 |
+ // Move WAL and snapshot out of the way, since |
|
| 369 |
+ // they are no longer usable. |
|
| 370 |
+ if err := n.moveWALAndSnap(); err != nil {
|
|
| 371 |
+ n.Config.Logger.Error(err) |
|
| 372 |
+ } |
|
| 373 |
+ |
|
| 366 | 374 |
return ErrMemberRemoved |
| 367 | 375 |
} |
| 368 | 376 |
|
| ... | ... |
@@ -387,7 +409,6 @@ func (n *Node) Run(ctx context.Context) error {
|
| 387 | 387 |
func (n *Node) Shutdown() {
|
| 388 | 388 |
select {
|
| 389 | 389 |
case <-n.doneCh: |
| 390 |
- n.stop() |
|
| 391 | 390 |
default: |
| 392 | 391 |
close(n.stopCh) |
| 393 | 392 |
<-n.doneCh |
| ... | ... |
@@ -409,7 +430,7 @@ func (n *Node) stop() {
|
| 409 | 409 |
} |
| 410 | 410 |
n.Stop() |
| 411 | 411 |
if err := n.wal.Close(); err != nil {
|
| 412 |
- n.Config.Logger.Error(err) |
|
| 412 |
+ n.Config.Logger.Errorf("raft: error closing WAL: %v", err)
|
|
| 413 | 413 |
} |
| 414 | 414 |
// TODO(stevvooe): Handle ctx.Done() |
| 415 | 415 |
} |
| ... | ... |
@@ -446,45 +467,55 @@ func (n *Node) Join(ctx context.Context, req *api.JoinRequest) (*api.JoinRespons |
| 446 | 446 |
} |
| 447 | 447 |
log := log.G(ctx).WithFields(fields) |
| 448 | 448 |
|
| 449 |
- raftID, err := identity.ParseNodeID(nodeInfo.NodeID) |
|
| 450 |
- if err != nil {
|
|
| 451 |
- return nil, err |
|
| 452 |
- } |
|
| 453 |
- |
|
| 454 | 449 |
// can't stop the raft node while an async RPC is in progress |
| 455 | 450 |
n.stopMu.RLock() |
| 456 | 451 |
defer n.stopMu.RUnlock() |
| 457 | 452 |
|
| 453 |
+ n.membershipLock.Lock() |
|
| 454 |
+ defer n.membershipLock.Unlock() |
|
| 455 |
+ |
|
| 458 | 456 |
if n.Node == nil {
|
| 459 | 457 |
log.WithError(ErrStopped).Errorf(ErrStopped.Error()) |
| 460 | 458 |
return nil, ErrStopped |
| 461 | 459 |
} |
| 462 | 460 |
|
| 463 |
- // We submit a configuration change only if the node was not registered yet |
|
| 464 |
- if n.cluster.GetMember(raftID) == nil {
|
|
| 465 |
- err = n.addMember(ctx, req.Addr, raftID) |
|
| 466 |
- if err != nil {
|
|
| 467 |
- log.WithError(err).Errorf("failed to add member")
|
|
| 468 |
- return nil, err |
|
| 461 |
+ if !n.IsLeader() {
|
|
| 462 |
+ return nil, ErrLostLeadership |
|
| 463 |
+ } |
|
| 464 |
+ |
|
| 465 |
+ // Find a unique ID for the joining member. |
|
| 466 |
+ var raftID uint64 |
|
| 467 |
+ for {
|
|
| 468 |
+ raftID = uint64(rand.Int63()) + 1 |
|
| 469 |
+ if n.cluster.GetMember(raftID) == nil && !n.cluster.IsIDRemoved(raftID) {
|
|
| 470 |
+ break |
|
| 469 | 471 |
} |
| 470 | 472 |
} |
| 471 | 473 |
|
| 474 |
+ err = n.addMember(ctx, req.Addr, raftID, nodeInfo.NodeID) |
|
| 475 |
+ if err != nil {
|
|
| 476 |
+ log.WithError(err).Errorf("failed to add member")
|
|
| 477 |
+ return nil, err |
|
| 478 |
+ } |
|
| 479 |
+ |
|
| 472 | 480 |
var nodes []*api.RaftMember |
| 473 | 481 |
for _, node := range n.cluster.Members() {
|
| 474 | 482 |
nodes = append(nodes, &api.RaftMember{
|
| 475 | 483 |
RaftID: node.RaftID, |
| 484 |
+ NodeID: node.NodeID, |
|
| 476 | 485 |
Addr: node.Addr, |
| 477 | 486 |
}) |
| 478 | 487 |
} |
| 479 | 488 |
log.Debugf("node joined")
|
| 480 | 489 |
|
| 481 |
- return &api.JoinResponse{Members: nodes}, nil
|
|
| 490 |
+ return &api.JoinResponse{Members: nodes, RaftID: raftID}, nil
|
|
| 482 | 491 |
} |
| 483 | 492 |
|
| 484 | 493 |
// addMember submits a configuration change to add a new member on the raft cluster. |
| 485 |
-func (n *Node) addMember(ctx context.Context, addr string, raftID uint64) error {
|
|
| 494 |
+func (n *Node) addMember(ctx context.Context, addr string, raftID uint64, nodeID string) error {
|
|
| 486 | 495 |
node := api.RaftMember{
|
| 487 | 496 |
RaftID: raftID, |
| 497 |
+ NodeID: nodeID, |
|
| 488 | 498 |
Addr: addr, |
| 489 | 499 |
} |
| 490 | 500 |
|
| ... | ... |
@@ -531,6 +562,10 @@ func (n *Node) Leave(ctx context.Context, req *api.LeaveRequest) (*api.LeaveResp |
| 531 | 531 |
return nil, ErrStopped |
| 532 | 532 |
} |
| 533 | 533 |
|
| 534 |
+ if !n.IsLeader() {
|
|
| 535 |
+ return nil, ErrLostLeadership |
|
| 536 |
+ } |
|
| 537 |
+ |
|
| 534 | 538 |
err = n.RemoveMember(ctx, req.Node.RaftID) |
| 535 | 539 |
if err != nil {
|
| 536 | 540 |
return nil, err |
| ... | ... |
@@ -541,8 +576,9 @@ func (n *Node) Leave(ctx context.Context, req *api.LeaveRequest) (*api.LeaveResp |
| 541 | 541 |
|
| 542 | 542 |
// RemoveMember submits a configuration change to remove a member from the raft cluster. |
| 543 | 543 |
func (n *Node) RemoveMember(ctx context.Context, id uint64) error {
|
| 544 |
- // TODO(abronan): this can race if multiple removes are processed, we should |
|
| 545 |
- // send all the requests to the Leader and track pending removals. |
|
| 544 |
+ n.membershipLock.Lock() |
|
| 545 |
+ defer n.membershipLock.Unlock() |
|
| 546 |
+ |
|
| 546 | 547 |
if n.cluster.CanRemoveMember(n.Config.ID, id) {
|
| 547 | 548 |
cc := raftpb.ConfChange{
|
| 548 | 549 |
ID: id, |
| ... | ... |
@@ -600,7 +636,7 @@ func (n *Node) ResolveAddress(ctx context.Context, msg *api.ResolveAddressReques |
| 600 | 600 |
|
| 601 | 601 |
member := n.cluster.GetMember(msg.RaftID) |
| 602 | 602 |
if member == nil {
|
| 603 |
- return nil, grpc.Errorf(codes.NotFound, "member %s not found", identity.FormatNodeID(msg.RaftID)) |
|
| 603 |
+ return nil, grpc.Errorf(codes.NotFound, "member %x not found", msg.RaftID) |
|
| 604 | 604 |
} |
| 605 | 605 |
return &api.ResolveAddressResponse{Addr: member.Addr}, nil
|
| 606 | 606 |
} |
| ... | ... |
@@ -630,6 +666,11 @@ func (n *Node) LeaderAddr() (string, error) {
|
| 630 | 630 |
func (n *Node) registerNode(node *api.RaftMember) error {
|
| 631 | 631 |
member := &membership.Member{}
|
| 632 | 632 |
|
| 633 |
+ if n.cluster.GetMember(node.RaftID) != nil {
|
|
| 634 |
+ // member already exists |
|
| 635 |
+ return nil |
|
| 636 |
+ } |
|
| 637 |
+ |
|
| 633 | 638 |
// Avoid opening a connection to the local node |
| 634 | 639 |
if node.RaftID != n.Config.ID {
|
| 635 | 640 |
// We don't want to impose a timeout on the grpc connection. It |
| ... | ... |
@@ -702,6 +743,7 @@ func (n *Node) GetMemberlist() map[uint64]*api.RaftMember {
|
| 702 | 702 |
|
| 703 | 703 |
memberlist[id] = &api.RaftMember{
|
| 704 | 704 |
RaftID: member.RaftID, |
| 705 |
+ NodeID: member.NodeID, |
|
| 705 | 706 |
Addr: member.Addr, |
| 706 | 707 |
Status: api.RaftMemberStatus{
|
| 707 | 708 |
Leader: leader, |
| ... | ... |
@@ -787,7 +829,7 @@ func (n *Node) sendToMember(members map[uint64]*membership.Member, m raftpb.Mess |
| 787 | 787 |
// If we are being asked to send to a member that's not in |
| 788 | 788 |
// our member list, that could indicate that the current leader |
| 789 | 789 |
// was added while we were offline. Try to resolve its address. |
| 790 |
- n.Config.Logger.Warningf("sending message to an unrecognized member ID %s", identity.FormatNodeID(m.To))
|
|
| 790 |
+ n.Config.Logger.Warningf("sending message to an unrecognized member ID %x", m.To)
|
|
| 791 | 791 |
|
| 792 | 792 |
// Choose a random member |
| 793 | 793 |
var ( |
| ... | ... |
@@ -807,12 +849,12 @@ func (n *Node) sendToMember(members map[uint64]*membership.Member, m raftpb.Mess |
| 807 | 807 |
|
| 808 | 808 |
resp, err := queryMember.ResolveAddress(ctx, &api.ResolveAddressRequest{RaftID: m.To})
|
| 809 | 809 |
if err != nil {
|
| 810 |
- n.Config.Logger.Errorf("could not resolve address of member ID %s: %v", identity.FormatNodeID(m.To), err)
|
|
| 810 |
+ n.Config.Logger.Errorf("could not resolve address of member ID %x: %v", m.To, err)
|
|
| 811 | 811 |
return |
| 812 | 812 |
} |
| 813 | 813 |
conn, err = n.ConnectToMember(resp.Addr, n.sendTimeout) |
| 814 | 814 |
if err != nil {
|
| 815 |
- n.Config.Logger.Errorf("could connect to member ID %s at %s: %v", identity.FormatNodeID(m.To), resp.Addr, err)
|
|
| 815 |
+ n.Config.Logger.Errorf("could connect to member ID %x at %s: %v", m.To, resp.Addr, err)
|
|
| 816 | 816 |
return |
| 817 | 817 |
} |
| 818 | 818 |
// The temporary connection is only used for this message. |
| ... | ... |
@@ -1,6 +1,7 @@ |
| 1 | 1 |
package raft |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
+ "errors" |
|
| 4 | 5 |
"fmt" |
| 5 | 6 |
"io" |
| 6 | 7 |
"io/ioutil" |
| ... | ... |
@@ -21,6 +22,8 @@ import ( |
| 21 | 21 |
"golang.org/x/net/context" |
| 22 | 22 |
) |
| 23 | 23 |
|
| 24 |
+var errNoWAL = errors.New("no WAL present")
|
|
| 25 |
+ |
|
| 24 | 26 |
func (n *Node) walDir() string {
|
| 25 | 27 |
return filepath.Join(n.StateDir, "wal") |
| 26 | 28 |
} |
| ... | ... |
@@ -41,23 +44,7 @@ func (n *Node) loadAndStart(ctx context.Context, forceNewCluster bool) error {
|
| 41 | 41 |
n.snapshotter = snap.New(snapDir) |
| 42 | 42 |
|
| 43 | 43 |
if !wal.Exist(walDir) {
|
| 44 |
- raftNode := &api.RaftMember{
|
|
| 45 |
- RaftID: n.Config.ID, |
|
| 46 |
- Addr: n.Address, |
|
| 47 |
- } |
|
| 48 |
- metadata, err := raftNode.Marshal() |
|
| 49 |
- if err != nil {
|
|
| 50 |
- return fmt.Errorf("error marshalling raft node: %v", err)
|
|
| 51 |
- } |
|
| 52 |
- n.wal, err = wal.Create(walDir, metadata) |
|
| 53 |
- if err != nil {
|
|
| 54 |
- return fmt.Errorf("create wal error: %v", err)
|
|
| 55 |
- } |
|
| 56 |
- |
|
| 57 |
- n.cluster.AddMember(&membership.Member{RaftMember: raftNode})
|
|
| 58 |
- n.startNodePeers = []raft.Peer{{ID: n.Config.ID, Context: metadata}}
|
|
| 59 |
- |
|
| 60 |
- return nil |
|
| 44 |
+ return errNoWAL |
|
| 61 | 45 |
} |
| 62 | 46 |
|
| 63 | 47 |
// Load snapshot data |
| ... | ... |
@@ -82,6 +69,49 @@ func (n *Node) loadAndStart(ctx context.Context, forceNewCluster bool) error {
|
| 82 | 82 |
return nil |
| 83 | 83 |
} |
| 84 | 84 |
|
| 85 |
+func (n *Node) createWAL(nodeID string) (raft.Peer, error) {
|
|
| 86 |
+ raftNode := &api.RaftMember{
|
|
| 87 |
+ RaftID: n.Config.ID, |
|
| 88 |
+ NodeID: nodeID, |
|
| 89 |
+ Addr: n.Address, |
|
| 90 |
+ } |
|
| 91 |
+ metadata, err := raftNode.Marshal() |
|
| 92 |
+ if err != nil {
|
|
| 93 |
+ return raft.Peer{}, fmt.Errorf("error marshalling raft node: %v", err)
|
|
| 94 |
+ } |
|
| 95 |
+ n.wal, err = wal.Create(n.walDir(), metadata) |
|
| 96 |
+ if err != nil {
|
|
| 97 |
+ return raft.Peer{}, fmt.Errorf("create wal error: %v", err)
|
|
| 98 |
+ } |
|
| 99 |
+ |
|
| 100 |
+ n.cluster.AddMember(&membership.Member{RaftMember: raftNode})
|
|
| 101 |
+ return raft.Peer{ID: n.Config.ID, Context: metadata}, nil
|
|
| 102 |
+} |
|
| 103 |
+ |
|
| 104 |
+// moveWALAndSnap moves away the WAL and snapshot because we were removed |
|
| 105 |
+// from the cluster and will need to recreate them if we are readded. |
|
| 106 |
+func (n *Node) moveWALAndSnap() error {
|
|
| 107 |
+ newWALDir, err := ioutil.TempDir(n.StateDir, "wal.") |
|
| 108 |
+ if err != nil {
|
|
| 109 |
+ return err |
|
| 110 |
+ } |
|
| 111 |
+ err = os.Rename(n.walDir(), newWALDir) |
|
| 112 |
+ if err != nil {
|
|
| 113 |
+ return err |
|
| 114 |
+ } |
|
| 115 |
+ |
|
| 116 |
+ newSnapDir, err := ioutil.TempDir(n.StateDir, "snap.") |
|
| 117 |
+ if err != nil {
|
|
| 118 |
+ return err |
|
| 119 |
+ } |
|
| 120 |
+ err = os.Rename(n.snapDir(), newSnapDir) |
|
| 121 |
+ if err != nil {
|
|
| 122 |
+ return err |
|
| 123 |
+ } |
|
| 124 |
+ |
|
| 125 |
+ return nil |
|
| 126 |
+} |
|
| 127 |
+ |
|
| 85 | 128 |
func (n *Node) readWAL(ctx context.Context, snapshot *raftpb.Snapshot, forceNewCluster bool) (err error) {
|
| 86 | 129 |
var ( |
| 87 | 130 |
walsnap walpb.Snapshot |
| ... | ... |
@@ -238,6 +268,7 @@ func (n *Node) doSnapshot(raftConfig *api.RaftConfig) {
|
| 238 | 238 |
for _, member := range n.cluster.Members() {
|
| 239 | 239 |
snapshot.Membership.Members = append(snapshot.Membership.Members, |
| 240 | 240 |
&api.RaftMember{
|
| 241 |
+ NodeID: member.NodeID, |
|
| 241 | 242 |
RaftID: member.RaftID, |
| 242 | 243 |
Addr: member.Addr, |
| 243 | 244 |
}) |
| ... | ... |
@@ -312,7 +343,7 @@ func (n *Node) restoreFromSnapshot(data []byte, forceNewCluster bool) error {
|
| 312 | 312 |
|
| 313 | 313 |
if !forceNewCluster {
|
| 314 | 314 |
for _, member := range snapshot.Membership.Members {
|
| 315 |
- if err := n.registerNode(&api.RaftMember{RaftID: member.RaftID, Addr: member.Addr}); err != nil {
|
|
| 315 |
+ if err := n.registerNode(&api.RaftMember{RaftID: member.RaftID, NodeID: member.NodeID, Addr: member.Addr}); err != nil {
|
|
| 316 | 316 |
return err |
| 317 | 317 |
} |
| 318 | 318 |
} |
| ... | ... |
@@ -29,6 +29,7 @@ func dial(addr string, protocol string, creds credentials.TransportAuthenticator |
| 29 | 29 |
// Register registers the node raft server |
| 30 | 30 |
func Register(server *grpc.Server, node *Node) {
|
| 31 | 31 |
api.RegisterRaftServer(server, node) |
| 32 |
+ api.RegisterRaftMembershipServer(server, node) |
|
| 32 | 33 |
} |
| 33 | 34 |
|
| 34 | 35 |
// WaitForLeader waits until node observe some leader in cluster. It returns |