add subnets api call to proto

This commit is contained in:
Felipe Madero
2022-06-03 23:43:04 -03:00
parent 0bfea0f755
commit c8cae84f7a
5 changed files with 731 additions and 425 deletions
+562 -425
View File
File diff suppressed because it is too large Load Diff
+83
View File
@@ -133,6 +133,40 @@ func local_request_ControlService_DeployBlockchains_0(ctx context.Context, marsh
}
func request_ControlService_AddSubnets_0(ctx context.Context, marshaler runtime.Marshaler, client ControlServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq AddSubnetsRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.AddSubnets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_ControlService_AddSubnets_0(ctx context.Context, marshaler runtime.Marshaler, server ControlServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq AddSubnetsRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.AddSubnets(ctx, &protoReq)
return msg, metadata, err
}
func request_ControlService_Health_0(ctx context.Context, marshaler runtime.Marshaler, client ControlServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq HealthRequest
var metadata runtime.ServerMetadata
@@ -687,6 +721,30 @@ func RegisterControlServiceHandlerServer(ctx context.Context, mux *runtime.Serve
})
mux.Handle("POST", pattern_ControlService_AddSubnets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error
ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/rpcpb.ControlService/AddSubnets", runtime.WithHTTPPathPattern("/v1/control/addsubnets"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_ControlService_AddSubnets_0(ctx, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_ControlService_AddSubnets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("POST", pattern_ControlService_Health_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
@@ -1159,6 +1217,27 @@ func RegisterControlServiceHandlerClient(ctx context.Context, mux *runtime.Serve
})
mux.Handle("POST", pattern_ControlService_AddSubnets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error
ctx, err = runtime.AnnotateContext(ctx, mux, req, "/rpcpb.ControlService/AddSubnets", runtime.WithHTTPPathPattern("/v1/control/addsubnets"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_ControlService_AddSubnets_0(ctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_ControlService_AddSubnets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("POST", pattern_ControlService_Health_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
@@ -1461,6 +1540,8 @@ var (
pattern_ControlService_DeployBlockchains_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "control", "deployblockchains"}, ""))
pattern_ControlService_AddSubnets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "control", "addsubnets"}, ""))
pattern_ControlService_Health_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "control", "health"}, ""))
pattern_ControlService_URIs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "control", "uris"}, ""))
@@ -1495,6 +1576,8 @@ var (
forward_ControlService_DeployBlockchains_0 = runtime.ForwardResponseMessage
forward_ControlService_AddSubnets_0 = runtime.ForwardResponseMessage
forward_ControlService_Health_0 = runtime.ForwardResponseMessage
forward_ControlService_URIs_0 = runtime.ForwardResponseMessage
+15
View File
@@ -36,6 +36,13 @@ service ControlService {
};
}
rpc AddSubnets(AddSubnetsRequest) returns (AddSubnetsResponse) {
option (google.api.http) = {
post: "/v1/control/addsubnets"
body: "*"
};
}
rpc Health(HealthRequest) returns (HealthResponse) {
option (google.api.http) = {
post: "/v1/control/health"
@@ -245,6 +252,14 @@ message DeployBlockchainsResponse {
ClusterInfo cluster_info = 1;
}
message AddSubnetsRequest {
uint32 num_subnets = 1;
}
message AddSubnetsResponse {
ClusterInfo cluster_info = 1;
}
message HealthRequest {}
message HealthResponse {
+36
View File
@@ -110,6 +110,7 @@ var PingService_ServiceDesc = grpc.ServiceDesc{
type ControlServiceClient interface {
Start(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (*StartResponse, error)
DeployBlockchains(ctx context.Context, in *DeployBlockchainsRequest, opts ...grpc.CallOption) (*DeployBlockchainsResponse, error)
AddSubnets(ctx context.Context, in *AddSubnetsRequest, opts ...grpc.CallOption) (*AddSubnetsResponse, error)
Health(ctx context.Context, in *HealthRequest, opts ...grpc.CallOption) (*HealthResponse, error)
URIs(ctx context.Context, in *URIsRequest, opts ...grpc.CallOption) (*URIsResponse, error)
Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error)
@@ -152,6 +153,15 @@ func (c *controlServiceClient) DeployBlockchains(ctx context.Context, in *Deploy
return out, nil
}
func (c *controlServiceClient) AddSubnets(ctx context.Context, in *AddSubnetsRequest, opts ...grpc.CallOption) (*AddSubnetsResponse, error) {
out := new(AddSubnetsResponse)
err := c.cc.Invoke(ctx, "/rpcpb.ControlService/AddSubnets", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *controlServiceClient) Health(ctx context.Context, in *HealthRequest, opts ...grpc.CallOption) (*HealthResponse, error) {
out := new(HealthResponse)
err := c.cc.Invoke(ctx, "/rpcpb.ControlService/Health", in, out, opts...)
@@ -307,6 +317,7 @@ func (c *controlServiceClient) GetSnapshotNames(ctx context.Context, in *GetSnap
type ControlServiceServer interface {
Start(context.Context, *StartRequest) (*StartResponse, error)
DeployBlockchains(context.Context, *DeployBlockchainsRequest) (*DeployBlockchainsResponse, error)
AddSubnets(context.Context, *AddSubnetsRequest) (*AddSubnetsResponse, error)
Health(context.Context, *HealthRequest) (*HealthResponse, error)
URIs(context.Context, *URIsRequest) (*URIsResponse, error)
Status(context.Context, *StatusRequest) (*StatusResponse, error)
@@ -334,6 +345,9 @@ func (UnimplementedControlServiceServer) Start(context.Context, *StartRequest) (
func (UnimplementedControlServiceServer) DeployBlockchains(context.Context, *DeployBlockchainsRequest) (*DeployBlockchainsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeployBlockchains not implemented")
}
func (UnimplementedControlServiceServer) AddSubnets(context.Context, *AddSubnetsRequest) (*AddSubnetsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddSubnets not implemented")
}
func (UnimplementedControlServiceServer) Health(context.Context, *HealthRequest) (*HealthResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Health not implemented")
}
@@ -425,6 +439,24 @@ func _ControlService_DeployBlockchains_Handler(srv interface{}, ctx context.Cont
return interceptor(ctx, in, info, handler)
}
func _ControlService_AddSubnets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddSubnetsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ControlServiceServer).AddSubnets(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.ControlService/AddSubnets",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ControlServiceServer).AddSubnets(ctx, req.(*AddSubnetsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ControlService_Health_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(HealthRequest)
if err := dec(in); err != nil {
@@ -695,6 +727,10 @@ var ControlService_ServiceDesc = grpc.ServiceDesc{
MethodName: "DeployBlockchains",
Handler: _ControlService_DeployBlockchains_Handler,
},
{
MethodName: "AddSubnets",
Handler: _ControlService_AddSubnets_Handler,
},
{
MethodName: "Health",
Handler: _ControlService_Health_Handler,
+35
View File
@@ -138,6 +138,41 @@ func (lc *localNetwork) installCustomVMs(
return chainInfos, nil
}
func (lc *localNetwork) installSubnets(
ctx context.Context,
numSubnets uint,
) ([]ids.ID, error) {
println()
color.Outf("{{blue}}{{bold}}create and install custom VMs{{/}}\n")
httpRPCEp := lc.nodeInfos[lc.nodeNames[0]].Uri
pTXs := make(map[ids.ID]*platformvm.Tx)
baseWallet, avaxAssetID, testKeyAddr, err := setupWallet(ctx, httpRPCEp, pTXs)
if err != nil {
return nil, err
}
// add subnets restarting network if necessary
subnetIDs, err := lc.addSubnets(ctx, numSubnets, baseWallet, testKeyAddr)
if err != nil {
return nil, err
}
println()
color.Outf("{{green}}checking the remaining balance of the base wallet{{/}}\n")
balances, err := baseWallet.P().Builder().GetBalance()
if err != nil {
return nil, err
}
zap.L().Info("base wallet AVAX balance",
zap.String("address", testKeyAddr.String()),
zap.Uint64("balance", balances[avaxAssetID]),
)
return subnetIDs, nil
}
func (lc *localNetwork) addSubnets(
ctx context.Context,
numSubnets uint,