From b1bc82726fac357e226e168210bd6be96d0c7a03 Mon Sep 17 00:00:00 2001 From: Derek McGowan Date: Tue, 14 Mar 2017 23:34:32 -0700 Subject: [PATCH] Rename prepare to unpack and init to prepare Unpack and prepare better map to the actions done by rootfs. Signed-off-by: Derek McGowan (github: dmcgowan) --- api/services/rootfs/rootfs.pb.go | 215 +++++++++++++------------- api/services/rootfs/rootfs.proto | 14 +- api/types/descriptor/descriptor.pb.go | 45 +++--- api/types/descriptor/descriptor.proto | 2 +- cmd/dist/rootfs.go | 20 +-- rootfs/apply.go | 4 +- services/rootfs/preparer.go | 14 +- services/rootfs/service.go | 8 +- 8 files changed, 164 insertions(+), 158 deletions(-) diff --git a/api/services/rootfs/rootfs.pb.go b/api/services/rootfs/rootfs.pb.go index 2a04ade..50a4893 100644 --- a/api/services/rootfs/rootfs.pb.go +++ b/api/services/rootfs/rootfs.pb.go @@ -9,9 +9,9 @@ github.com/docker/containerd/api/services/rootfs/rootfs.proto It has these top-level messages: + UnpackRequest + UnpackResponse PrepareRequest - PrepareResponse - InitMountsRequest MountsRequest MountResponse */ @@ -47,31 +47,31 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package -type PrepareRequest struct { +type UnpackRequest struct { Layers []*containerd_v1_types1.Descriptor `protobuf:"bytes,1,rep,name=layers" json:"layers,omitempty"` } +func (m *UnpackRequest) Reset() { *m = UnpackRequest{} } +func (*UnpackRequest) ProtoMessage() {} +func (*UnpackRequest) Descriptor() ([]byte, []int) { return fileDescriptorRootfs, []int{0} } + +type UnpackResponse struct { + ChainID github_com_opencontainers_go_digest.Digest `protobuf:"bytes,1,opt,name=chainid,proto3,customtype=github.com/opencontainers/go-digest.Digest" json:"chainid"` +} + +func (m *UnpackResponse) Reset() { *m = UnpackResponse{} } +func (*UnpackResponse) ProtoMessage() {} +func (*UnpackResponse) Descriptor() ([]byte, []int) { return fileDescriptorRootfs, []int{1} } + +type PrepareRequest struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ChainID github_com_opencontainers_go_digest.Digest `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3,customtype=github.com/opencontainers/go-digest.Digest" json:"chain_id"` + Readonly bool `protobuf:"varint,3,opt,name=readonly,proto3" json:"readonly,omitempty"` +} + func (m *PrepareRequest) Reset() { *m = PrepareRequest{} } func (*PrepareRequest) ProtoMessage() {} -func (*PrepareRequest) Descriptor() ([]byte, []int) { return fileDescriptorRootfs, []int{0} } - -type PrepareResponse struct { - ChainID github_com_opencontainers_go_digest.Digest `protobuf:"bytes,1,opt,name=chainid,proto3,customtype=github.com/opencontainers/go-digest.Digest" json:"chainid"` -} - -func (m *PrepareResponse) Reset() { *m = PrepareResponse{} } -func (*PrepareResponse) ProtoMessage() {} -func (*PrepareResponse) Descriptor() ([]byte, []int) { return fileDescriptorRootfs, []int{1} } - -type InitMountsRequest struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - ChainID github_com_opencontainers_go_digest.Digest `protobuf:"bytes,2,opt,name=chainID,proto3,customtype=github.com/opencontainers/go-digest.Digest" json:"chainID"` - Readonly bool `protobuf:"varint,3,opt,name=Readonly,proto3" json:"Readonly,omitempty"` -} - -func (m *InitMountsRequest) Reset() { *m = InitMountsRequest{} } -func (*InitMountsRequest) ProtoMessage() {} -func (*InitMountsRequest) Descriptor() ([]byte, []int) { return fileDescriptorRootfs, []int{2} } +func (*PrepareRequest) Descriptor() ([]byte, []int) { return fileDescriptorRootfs, []int{2} } type MountsRequest struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -90,9 +90,9 @@ func (*MountResponse) ProtoMessage() {} func (*MountResponse) Descriptor() ([]byte, []int) { return fileDescriptorRootfs, []int{4} } func init() { + proto.RegisterType((*UnpackRequest)(nil), "containerd.v1.UnpackRequest") + proto.RegisterType((*UnpackResponse)(nil), "containerd.v1.UnpackResponse") proto.RegisterType((*PrepareRequest)(nil), "containerd.v1.PrepareRequest") - proto.RegisterType((*PrepareResponse)(nil), "containerd.v1.PrepareResponse") - proto.RegisterType((*InitMountsRequest)(nil), "containerd.v1.InitMountsRequest") proto.RegisterType((*MountsRequest)(nil), "containerd.v1.MountsRequest") proto.RegisterType((*MountResponse)(nil), "containerd.v1.MountResponse") } @@ -108,8 +108,8 @@ const _ = grpc.SupportPackageIsVersion4 // Client API for RootFS service type RootFSClient interface { - Prepare(ctx context.Context, in *PrepareRequest, opts ...grpc.CallOption) (*PrepareResponse, error) - InitMounts(ctx context.Context, in *InitMountsRequest, opts ...grpc.CallOption) (*MountResponse, error) + Unpack(ctx context.Context, in *UnpackRequest, opts ...grpc.CallOption) (*UnpackResponse, error) + Prepare(ctx context.Context, in *PrepareRequest, opts ...grpc.CallOption) (*MountResponse, error) Mounts(ctx context.Context, in *MountsRequest, opts ...grpc.CallOption) (*MountResponse, error) } @@ -121,18 +121,18 @@ func NewRootFSClient(cc *grpc.ClientConn) RootFSClient { return &rootFSClient{cc} } -func (c *rootFSClient) Prepare(ctx context.Context, in *PrepareRequest, opts ...grpc.CallOption) (*PrepareResponse, error) { - out := new(PrepareResponse) - err := grpc.Invoke(ctx, "/containerd.v1.RootFS/Prepare", in, out, c.cc, opts...) +func (c *rootFSClient) Unpack(ctx context.Context, in *UnpackRequest, opts ...grpc.CallOption) (*UnpackResponse, error) { + out := new(UnpackResponse) + err := grpc.Invoke(ctx, "/containerd.v1.RootFS/Unpack", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *rootFSClient) InitMounts(ctx context.Context, in *InitMountsRequest, opts ...grpc.CallOption) (*MountResponse, error) { +func (c *rootFSClient) Prepare(ctx context.Context, in *PrepareRequest, opts ...grpc.CallOption) (*MountResponse, error) { out := new(MountResponse) - err := grpc.Invoke(ctx, "/containerd.v1.RootFS/InitMounts", in, out, c.cc, opts...) + err := grpc.Invoke(ctx, "/containerd.v1.RootFS/Prepare", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -151,8 +151,8 @@ func (c *rootFSClient) Mounts(ctx context.Context, in *MountsRequest, opts ...gr // Server API for RootFS service type RootFSServer interface { - Prepare(context.Context, *PrepareRequest) (*PrepareResponse, error) - InitMounts(context.Context, *InitMountsRequest) (*MountResponse, error) + Unpack(context.Context, *UnpackRequest) (*UnpackResponse, error) + Prepare(context.Context, *PrepareRequest) (*MountResponse, error) Mounts(context.Context, *MountsRequest) (*MountResponse, error) } @@ -160,6 +160,24 @@ func RegisterRootFSServer(s *grpc.Server, srv RootFSServer) { s.RegisterService(&_RootFS_serviceDesc, srv) } +func _RootFS_Unpack_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnpackRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RootFSServer).Unpack(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/containerd.v1.RootFS/Unpack", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RootFSServer).Unpack(ctx, req.(*UnpackRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RootFS_Prepare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PrepareRequest) if err := dec(in); err != nil { @@ -178,24 +196,6 @@ func _RootFS_Prepare_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } -func _RootFS_InitMounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(InitMountsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RootFSServer).InitMounts(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/containerd.v1.RootFS/InitMounts", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RootFSServer).InitMounts(ctx, req.(*InitMountsRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _RootFS_Mounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MountsRequest) if err := dec(in); err != nil { @@ -219,12 +219,12 @@ var _RootFS_serviceDesc = grpc.ServiceDesc{ HandlerType: (*RootFSServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "Prepare", - Handler: _RootFS_Prepare_Handler, + MethodName: "Unpack", + Handler: _RootFS_Unpack_Handler, }, { - MethodName: "InitMounts", - Handler: _RootFS_InitMounts_Handler, + MethodName: "Prepare", + Handler: _RootFS_Prepare_Handler, }, { MethodName: "Mounts", @@ -235,7 +235,7 @@ var _RootFS_serviceDesc = grpc.ServiceDesc{ Metadata: "github.com/docker/containerd/api/services/rootfs/rootfs.proto", } -func (m *PrepareRequest) Marshal() (dAtA []byte, err error) { +func (m *UnpackRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -245,7 +245,7 @@ func (m *PrepareRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *PrepareRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *UnpackRequest) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -265,7 +265,7 @@ func (m *PrepareRequest) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func (m *PrepareResponse) Marshal() (dAtA []byte, err error) { +func (m *UnpackResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -275,7 +275,7 @@ func (m *PrepareResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *PrepareResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *UnpackResponse) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -289,7 +289,7 @@ func (m *PrepareResponse) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func (m *InitMountsRequest) Marshal() (dAtA []byte, err error) { +func (m *PrepareRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -299,7 +299,7 @@ func (m *InitMountsRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *InitMountsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *PrepareRequest) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -410,7 +410,7 @@ func encodeVarintRootfs(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return offset + 1 } -func (m *PrepareRequest) Size() (n int) { +func (m *UnpackRequest) Size() (n int) { var l int _ = l if len(m.Layers) > 0 { @@ -422,7 +422,7 @@ func (m *PrepareRequest) Size() (n int) { return n } -func (m *PrepareResponse) Size() (n int) { +func (m *UnpackResponse) Size() (n int) { var l int _ = l l = len(m.ChainID) @@ -432,7 +432,7 @@ func (m *PrepareResponse) Size() (n int) { return n } -func (m *InitMountsRequest) Size() (n int) { +func (m *PrepareRequest) Size() (n int) { var l int _ = l l = len(m.Name) @@ -484,31 +484,31 @@ func sovRootfs(x uint64) (n int) { func sozRootfs(x uint64) (n int) { return sovRootfs(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (this *PrepareRequest) String() string { +func (this *UnpackRequest) String() string { if this == nil { return "nil" } - s := strings.Join([]string{`&PrepareRequest{`, + s := strings.Join([]string{`&UnpackRequest{`, `Layers:` + strings.Replace(fmt.Sprintf("%v", this.Layers), "Descriptor", "containerd_v1_types1.Descriptor", 1) + `,`, `}`, }, "") return s } -func (this *PrepareResponse) String() string { +func (this *UnpackResponse) String() string { if this == nil { return "nil" } - s := strings.Join([]string{`&PrepareResponse{`, + s := strings.Join([]string{`&UnpackResponse{`, `ChainID:` + fmt.Sprintf("%v", this.ChainID) + `,`, `}`, }, "") return s } -func (this *InitMountsRequest) String() string { +func (this *PrepareRequest) String() string { if this == nil { return "nil" } - s := strings.Join([]string{`&InitMountsRequest{`, + s := strings.Join([]string{`&PrepareRequest{`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`, `ChainID:` + fmt.Sprintf("%v", this.ChainID) + `,`, `Readonly:` + fmt.Sprintf("%v", this.Readonly) + `,`, @@ -544,7 +544,7 @@ func valueToStringRootfs(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } -func (m *PrepareRequest) Unmarshal(dAtA []byte) error { +func (m *UnpackRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -567,10 +567,10 @@ func (m *PrepareRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: PrepareRequest: wiretype end group for non-group") + return fmt.Errorf("proto: UnpackRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: PrepareRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: UnpackRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -625,7 +625,7 @@ func (m *PrepareRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *PrepareResponse) Unmarshal(dAtA []byte) error { +func (m *UnpackResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -648,10 +648,10 @@ func (m *PrepareResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: PrepareResponse: wiretype end group for non-group") + return fmt.Errorf("proto: UnpackResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: PrepareResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: UnpackResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -704,7 +704,7 @@ func (m *PrepareResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *InitMountsRequest) Unmarshal(dAtA []byte) error { +func (m *PrepareRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -727,10 +727,10 @@ func (m *InitMountsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: InitMountsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: PrepareRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: InitMountsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PrepareRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1102,32 +1102,33 @@ func init() { } var fileDescriptorRootfs = []byte{ - // 428 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x92, 0x3f, 0x8f, 0xd3, 0x30, - 0x18, 0xc6, 0x6b, 0x0e, 0xa5, 0x87, 0xd1, 0x81, 0xb0, 0x18, 0xa2, 0x08, 0x92, 0x28, 0x2c, 0x15, - 0x12, 0xb1, 0x28, 0x03, 0x2c, 0xb7, 0xf4, 0x22, 0x44, 0x24, 0x90, 0x50, 0x18, 0x98, 0x73, 0xc9, - 0x4b, 0xce, 0x70, 0xf5, 0x1b, 0x6c, 0xf7, 0xa4, 0x6e, 0x7c, 0x10, 0x3e, 0x50, 0x47, 0x46, 0xc4, - 0x50, 0x71, 0x19, 0xf8, 0x1c, 0xa8, 0xf9, 0x77, 0xd7, 0x52, 0xd4, 0x0e, 0xb7, 0xc4, 0x6f, 0xe4, - 0xe7, 0xfd, 0xbd, 0x8f, 0x1f, 0x9b, 0x1e, 0x17, 0xc2, 0x9c, 0xcd, 0x4e, 0xc3, 0x0c, 0xa7, 0x3c, - 0xc7, 0xec, 0x0b, 0x28, 0x9e, 0xa1, 0x34, 0xa9, 0x90, 0xa0, 0x72, 0x9e, 0x96, 0x82, 0x6b, 0x50, - 0x17, 0x22, 0x03, 0xcd, 0x15, 0xa2, 0xf9, 0xd4, 0x2d, 0x61, 0xa9, 0xd0, 0x20, 0x3b, 0xba, 0x12, - 0x87, 0x17, 0xcf, 0x9d, 0x87, 0x05, 0x16, 0x58, 0xef, 0xf0, 0x55, 0xd5, 0x88, 0x9c, 0x57, 0x3b, - 0x67, 0x98, 0x79, 0x09, 0x9a, 0x4f, 0x71, 0x26, 0x4d, 0xf3, 0x6d, 0x3b, 0x27, 0x7b, 0x76, 0xe6, - 0xa0, 0x33, 0x25, 0x4a, 0x83, 0xea, 0x5a, 0xd9, 0x30, 0x82, 0x98, 0xde, 0x7b, 0xaf, 0xa0, 0x4c, - 0x15, 0x24, 0xf0, 0x75, 0x06, 0xda, 0xb0, 0x97, 0xd4, 0x3a, 0x4f, 0xe7, 0xa0, 0xb4, 0x4d, 0xfc, - 0x83, 0xd1, 0xdd, 0xb1, 0x17, 0xae, 0x9d, 0x22, 0xac, 0x99, 0x61, 0xd4, 0x83, 0x92, 0x56, 0x1e, - 0x7c, 0xa6, 0xf7, 0x7b, 0x94, 0x2e, 0x51, 0x6a, 0x60, 0x1f, 0xe9, 0x30, 0x3b, 0x4b, 0x85, 0x14, - 0xb9, 0x4d, 0x7c, 0x32, 0xba, 0x33, 0x39, 0x5e, 0x2c, 0xbd, 0xc1, 0xaf, 0xa5, 0xf7, 0xf4, 0x9a, - 0x75, 0x2c, 0x41, 0xf6, 0x23, 0x34, 0x2f, 0xf0, 0x59, 0x2e, 0x0a, 0xd0, 0x26, 0x8c, 0xea, 0xa5, - 0x5a, 0x7a, 0xc3, 0x93, 0x15, 0x24, 0x8e, 0x92, 0x8e, 0x16, 0x7c, 0x27, 0xf4, 0x41, 0x2c, 0x85, - 0x79, 0xb7, 0x8a, 0x43, 0x77, 0xd6, 0x19, 0xbd, 0x2d, 0xd3, 0x29, 0x34, 0xb3, 0x92, 0xba, 0xee, - 0x2d, 0xc4, 0x91, 0x7d, 0xeb, 0xe6, 0x2c, 0xc4, 0x11, 0x73, 0xe8, 0x61, 0x02, 0x69, 0x8e, 0xf2, - 0x7c, 0x6e, 0x1f, 0xf8, 0x64, 0x74, 0x98, 0xf4, 0xff, 0xc1, 0x13, 0x7a, 0xb4, 0xd3, 0x59, 0x70, - 0xd2, 0x8a, 0xfa, 0xb4, 0xc6, 0xd4, 0xaa, 0xaf, 0xb7, 0x4b, 0xde, 0xd9, 0x9a, 0x7c, 0xd3, 0xd3, - 0x2a, 0xc7, 0x7f, 0x08, 0xb5, 0x12, 0x44, 0xf3, 0xfa, 0x03, 0x7b, 0x43, 0x87, 0x6d, 0xfe, 0xec, - 0xf1, 0x46, 0xe7, 0xfa, 0x15, 0x3b, 0xee, 0xff, 0xb6, 0x5b, 0x23, 0x6f, 0x29, 0xbd, 0x0a, 0x97, - 0xf9, 0x1b, 0xea, 0x7f, 0x72, 0x77, 0x1e, 0x6d, 0x28, 0xd6, 0x8f, 0x15, 0x51, 0xab, 0x25, 0x6d, - 0xd5, 0xed, 0x47, 0x99, 0xd8, 0x8b, 0x4b, 0x77, 0xf0, 0xf3, 0xd2, 0x1d, 0x7c, 0xab, 0x5c, 0xb2, - 0xa8, 0x5c, 0xf2, 0xa3, 0x72, 0xc9, 0xef, 0xca, 0x25, 0xa7, 0x56, 0xfd, 0x92, 0x5f, 0xfc, 0x0d, - 0x00, 0x00, 0xff, 0xff, 0xca, 0x73, 0x7a, 0x14, 0xad, 0x03, 0x00, 0x00, + // 433 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x52, 0x4d, 0x6f, 0x13, 0x31, + 0x10, 0x8d, 0x29, 0xda, 0x04, 0xa3, 0xf4, 0x60, 0x71, 0x58, 0xad, 0x60, 0x13, 0x2d, 0x97, 0x08, + 0x89, 0xb5, 0x08, 0x07, 0xb8, 0xf4, 0x92, 0x86, 0x8a, 0x1e, 0x90, 0xd0, 0x22, 0x04, 0x37, 0xe4, + 0xae, 0x87, 0xad, 0xd5, 0xc6, 0x63, 0x6c, 0xa7, 0x52, 0x6e, 0xfc, 0x0e, 0x7e, 0x51, 0x8e, 0x1c, + 0x11, 0x12, 0x11, 0xdd, 0x5f, 0x82, 0xb2, 0x1f, 0xa1, 0x89, 0x0a, 0xf4, 0xc0, 0x65, 0x3d, 0x2b, + 0xbf, 0xf7, 0xe6, 0xcd, 0x1b, 0xd3, 0x83, 0x42, 0xf9, 0xd3, 0xf9, 0x49, 0x9a, 0xe3, 0x8c, 0x4b, + 0xcc, 0xcf, 0xc0, 0xf2, 0x1c, 0xb5, 0x17, 0x4a, 0x83, 0x95, 0x5c, 0x18, 0xc5, 0x1d, 0xd8, 0x0b, + 0x95, 0x83, 0xe3, 0x16, 0xd1, 0x7f, 0x6c, 0x8f, 0xd4, 0x58, 0xf4, 0xc8, 0xfa, 0xbf, 0xc1, 0xe9, + 0xc5, 0x93, 0xe8, 0x5e, 0x81, 0x05, 0x56, 0x37, 0x7c, 0x5d, 0xd5, 0xa0, 0xe8, 0xf9, 0x3f, 0x7b, + 0xf8, 0x85, 0x01, 0xc7, 0x67, 0x38, 0xd7, 0xbe, 0xfe, 0x36, 0xcc, 0xc9, 0x0d, 0x99, 0x12, 0x5c, + 0x6e, 0x95, 0xf1, 0x68, 0xaf, 0x94, 0xb5, 0x46, 0xf2, 0x92, 0xf6, 0xdf, 0x6a, 0x23, 0xf2, 0xb3, + 0x0c, 0x3e, 0xcd, 0xc1, 0x79, 0xf6, 0x8c, 0x06, 0xe7, 0x62, 0x01, 0xd6, 0x85, 0x64, 0xb8, 0x37, + 0xba, 0x3b, 0x1e, 0xa4, 0x5b, 0x43, 0xa4, 0x95, 0x64, 0x3a, 0xdd, 0xe8, 0x64, 0x0d, 0x3c, 0x51, + 0x74, 0xbf, 0x55, 0x72, 0x06, 0xb5, 0x03, 0xf6, 0x8e, 0x76, 0xf3, 0x53, 0xa1, 0xb4, 0x92, 0x21, + 0x19, 0x92, 0xd1, 0x9d, 0xc9, 0xc1, 0x72, 0x35, 0xe8, 0x7c, 0x5f, 0x0d, 0x1e, 0x5d, 0x31, 0x8e, + 0x06, 0xf4, 0xa6, 0x83, 0xe3, 0x05, 0x3e, 0x96, 0xaa, 0x00, 0xe7, 0xd3, 0x69, 0x75, 0x94, 0xab, + 0x41, 0xf7, 0x70, 0x2d, 0x72, 0x3c, 0xcd, 0x5a, 0xb5, 0xe4, 0x0b, 0xa1, 0xfb, 0xaf, 0x2d, 0x18, + 0x61, 0xa1, 0xb5, 0xcd, 0xe8, 0x6d, 0x2d, 0x66, 0x50, 0x37, 0xca, 0xaa, 0x9a, 0xbd, 0xa7, 0xbd, + 0x8a, 0xf1, 0x41, 0xc9, 0xf0, 0xd6, 0xff, 0x33, 0x70, 0x2c, 0x59, 0x44, 0x7b, 0x16, 0x84, 0x44, + 0x7d, 0xbe, 0x08, 0xf7, 0x86, 0x64, 0xd4, 0xcb, 0x36, 0xff, 0xc9, 0x43, 0xda, 0x7f, 0xb5, 0x5e, + 0x92, 0xfb, 0x8b, 0xb5, 0xe4, 0xb0, 0x01, 0x6d, 0xb2, 0x1a, 0xd3, 0xa0, 0x5a, 0x6d, 0x1b, 0x7b, + 0x74, 0x6d, 0xec, 0x35, 0xa7, 0x41, 0x8e, 0x7f, 0x10, 0x1a, 0x64, 0x88, 0xfe, 0xe8, 0x0d, 0x7b, + 0x41, 0x83, 0x3a, 0x7c, 0x76, 0x7f, 0x87, 0xb8, 0xb5, 0xdd, 0xe8, 0xc1, 0x1f, 0x6e, 0x1b, 0x17, + 0x47, 0xb4, 0xdb, 0xe4, 0xca, 0x76, 0x91, 0xdb, 0x79, 0x47, 0xbb, 0x6d, 0xb6, 0xa7, 0x99, 0xd2, + 0xa0, 0xce, 0x80, 0x5d, 0x8b, 0x73, 0x37, 0x52, 0x99, 0x84, 0xcb, 0xcb, 0xb8, 0xf3, 0xed, 0x32, + 0xee, 0x7c, 0x2e, 0x63, 0xb2, 0x2c, 0x63, 0xf2, 0xb5, 0x8c, 0xc9, 0xcf, 0x32, 0x26, 0x27, 0x41, + 0xf5, 0x78, 0x9f, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x52, 0xeb, 0x01, 0xe0, 0xa0, 0x03, 0x00, + 0x00, } diff --git a/api/services/rootfs/rootfs.proto b/api/services/rootfs/rootfs.proto index 190e88d..070f097 100644 --- a/api/services/rootfs/rootfs.proto +++ b/api/services/rootfs/rootfs.proto @@ -7,23 +7,23 @@ import "github.com/docker/containerd/api/types/mount/mount.proto"; import "github.com/docker/containerd/api/types/descriptor/descriptor.proto"; service RootFS { - rpc Prepare(PrepareRequest) returns (PrepareResponse); - rpc InitMounts(InitMountsRequest) returns (MountResponse); + rpc Unpack(UnpackRequest) returns (UnpackResponse); + rpc Prepare(PrepareRequest) returns (MountResponse); rpc Mounts(MountsRequest) returns (MountResponse); } -message PrepareRequest { +message UnpackRequest { repeated containerd.v1.types.Descriptor layers = 1; } -message PrepareResponse { +message UnpackResponse { string chainid = 1 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false, (gogoproto.customname) = "ChainID"]; } -message InitMountsRequest { +message PrepareRequest { string name = 1; - string chainID = 2 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false, (gogoproto.customname) = "ChainID"]; - bool Readonly = 3; + string chain_id = 2 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false, (gogoproto.customname) = "ChainID"]; + bool readonly = 3; } message MountsRequest { diff --git a/api/types/descriptor/descriptor.pb.go b/api/types/descriptor/descriptor.pb.go index 6c1b662..b924742 100644 --- a/api/types/descriptor/descriptor.pb.go +++ b/api/types/descriptor/descriptor.pb.go @@ -36,10 +36,15 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package +// Descriptor describes a blob in a content store. +// +// This descriptor can be used to reference content from an +// oci descriptor found in a manifest. +// See https://godoc.org/github.com/opencontainers/image-spec/specs-go/v1#Descriptor type Descriptor struct { MediaType string `protobuf:"bytes,1,opt,name=mediaType,proto3" json:"mediaType,omitempty"` Digest github_com_opencontainers_go_digest.Digest `protobuf:"bytes,2,opt,name=digest,proto3,customtype=github.com/opencontainers/go-digest.Digest" json:"digest"` - MediaSize int64 `protobuf:"varint,3,opt,name=mediaSize,proto3" json:"mediaSize,omitempty"` + Size_ int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` } func (m *Descriptor) Reset() { *m = Descriptor{} } @@ -76,10 +81,10 @@ func (m *Descriptor) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintDescriptor(dAtA, i, uint64(len(m.Digest))) i += copy(dAtA[i:], m.Digest) } - if m.MediaSize != 0 { + if m.Size_ != 0 { dAtA[i] = 0x18 i++ - i = encodeVarintDescriptor(dAtA, i, uint64(m.MediaSize)) + i = encodeVarintDescriptor(dAtA, i, uint64(m.Size_)) } return i, nil } @@ -122,8 +127,8 @@ func (m *Descriptor) Size() (n int) { if l > 0 { n += 1 + l + sovDescriptor(uint64(l)) } - if m.MediaSize != 0 { - n += 1 + sovDescriptor(uint64(m.MediaSize)) + if m.Size_ != 0 { + n += 1 + sovDescriptor(uint64(m.Size_)) } return n } @@ -148,7 +153,7 @@ func (this *Descriptor) String() string { s := strings.Join([]string{`&Descriptor{`, `MediaType:` + fmt.Sprintf("%v", this.MediaType) + `,`, `Digest:` + fmt.Sprintf("%v", this.Digest) + `,`, - `MediaSize:` + fmt.Sprintf("%v", this.MediaSize) + `,`, + `Size_:` + fmt.Sprintf("%v", this.Size_) + `,`, `}`, }, "") return s @@ -250,9 +255,9 @@ func (m *Descriptor) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MediaSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Size_", wireType) } - m.MediaSize = 0 + m.Size_ = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowDescriptor @@ -262,7 +267,7 @@ func (m *Descriptor) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MediaSize |= (int64(b) & 0x7F) << shift + m.Size_ |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -398,20 +403,20 @@ func init() { } var fileDescriptorDescriptor = []byte{ - // 230 bytes of a gzipped FileDescriptorProto + // 231 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4a, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xc9, 0x4f, 0xce, 0x4e, 0x2d, 0xd2, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc, 0x4b, 0x2d, 0x4a, 0xd1, 0x4f, 0x2c, 0xc8, 0xd4, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0x49, 0x2d, 0x4e, 0x2e, 0xca, 0x2c, 0x28, 0xc9, 0x2f, 0x42, 0x62, 0xea, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x09, 0x23, 0x74, 0xe8, 0x95, 0x19, 0xea, 0x81, 0x35, 0x48, - 0x89, 0xa4, 0xe7, 0xa7, 0xe7, 0x83, 0xe5, 0xf5, 0x41, 0x2c, 0x88, 0x52, 0xa5, 0x29, 0x8c, 0x5c, - 0x5c, 0x2e, 0x70, 0xfd, 0x42, 0x32, 0x5c, 0x9c, 0xb9, 0xa9, 0x29, 0x99, 0x89, 0x21, 0x95, 0x05, - 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x08, 0x01, 0x21, 0x2f, 0x2e, 0xb6, 0x94, 0xcc, - 0xf4, 0xd4, 0xe2, 0x12, 0x09, 0x26, 0x90, 0x94, 0x93, 0xd1, 0x89, 0x7b, 0xf2, 0x0c, 0xb7, 0xee, - 0xc9, 0x6b, 0x21, 0xb9, 0x39, 0xbf, 0x20, 0x35, 0x0f, 0x6e, 0x7d, 0xb1, 0x7e, 0x7a, 0xbe, 0x2e, - 0x44, 0x8b, 0x9e, 0x0b, 0x98, 0x0a, 0x82, 0x9a, 0x00, 0xb7, 0x29, 0x38, 0xb3, 0x2a, 0x55, 0x82, - 0x59, 0x81, 0x51, 0x83, 0x39, 0x08, 0x21, 0xe0, 0x24, 0x71, 0xe2, 0xa1, 0x1c, 0xc3, 0x8d, 0x87, - 0x72, 0x0c, 0x0d, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, - 0x23, 0x39, 0xc6, 0x24, 0x36, 0xb0, 0xbb, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf2, 0x3c, - 0x86, 0x2d, 0x28, 0x01, 0x00, 0x00, + 0x89, 0xa4, 0xe7, 0xa7, 0xe7, 0x83, 0xe5, 0xf5, 0x41, 0x2c, 0x88, 0x52, 0xa5, 0x2e, 0x46, 0x2e, + 0x2e, 0x17, 0xb8, 0x7e, 0x21, 0x19, 0x2e, 0xce, 0xdc, 0xd4, 0x94, 0xcc, 0xc4, 0x90, 0xca, 0x82, + 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, 0x84, 0x80, 0x90, 0x17, 0x17, 0x5b, 0x4a, 0x66, + 0x7a, 0x6a, 0x71, 0x89, 0x04, 0x13, 0x48, 0xca, 0xc9, 0xe8, 0xc4, 0x3d, 0x79, 0x86, 0x5b, 0xf7, + 0xe4, 0xb5, 0x90, 0xdc, 0x9c, 0x5f, 0x90, 0x9a, 0x07, 0xb7, 0xbe, 0x58, 0x3f, 0x3d, 0x5f, 0x17, + 0xa2, 0x45, 0xcf, 0x05, 0x4c, 0x05, 0x41, 0x4d, 0x10, 0x12, 0xe2, 0x62, 0x29, 0xce, 0xac, 0x4a, + 0x95, 0x60, 0x56, 0x60, 0xd4, 0x60, 0x0e, 0x02, 0xb3, 0x9d, 0x24, 0x4e, 0x3c, 0x94, 0x63, 0xb8, + 0xf1, 0x50, 0x8e, 0xa1, 0xe1, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, + 0x3e, 0x78, 0x24, 0xc7, 0x98, 0xc4, 0x06, 0x76, 0xad, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x37, + 0xe8, 0x43, 0x79, 0x1e, 0x01, 0x00, 0x00, } diff --git a/api/types/descriptor/descriptor.proto b/api/types/descriptor/descriptor.proto index 99c8ada..e44244e 100644 --- a/api/types/descriptor/descriptor.proto +++ b/api/types/descriptor/descriptor.proto @@ -12,5 +12,5 @@ import "gogoproto/gogo.proto"; message Descriptor { string mediaType = 1; string digest = 2 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false]; - int64 mediaSize = 3; + int64 size = 3; } diff --git a/cmd/dist/rootfs.go b/cmd/dist/rootfs.go index b77d677..bff3271 100644 --- a/cmd/dist/rootfs.go +++ b/cmd/dist/rootfs.go @@ -29,8 +29,8 @@ var rootfsCommand = cli.Command{ } var rootfsPrepareCommand = cli.Command{ - Name: "prepare", - Usage: "prepare applies layers from a manifest to a snapshot", + Name: "unpack", + Usage: "unpack applies layers from a manifest to a snapshot", ArgsUsage: "[flags] ", Flags: []cli.Flag{}, Action: func(clicontext *cli.Context) error { @@ -43,7 +43,7 @@ var rootfsPrepareCommand = cli.Command{ return err } - log.G(ctx).Infof("preparing manifest %s", dgst.String()) + log.G(ctx).Infof("unpacking layers from manifest %s", dgst.String()) conn, err := connectGRPC(clicontext) if err != nil { @@ -56,8 +56,8 @@ var rootfsPrepareCommand = cli.Command{ return err } - preparer := rootfsservice.NewPreparerFromClient(rootfsapi.NewRootFSClient(conn)) - chainID, err := preparer.Prepare(ctx, m.Layers) + unpacker := rootfsservice.NewUnpackerFromClient(rootfsapi.NewRootFSClient(conn)) + chainID, err := unpacker.Unpack(ctx, m.Layers) if err != nil { return err } @@ -69,8 +69,8 @@ var rootfsPrepareCommand = cli.Command{ } var rootfsInitCommand = cli.Command{ - Name: "init", - Usage: "init gets mount commands for digest", + Name: "prepare", + Usage: "prepare gets mount commands for digest", ArgsUsage: "[flags] ", Flags: []cli.Flag{}, Action: func(clicontext *cli.Context) error { @@ -88,7 +88,7 @@ var rootfsInitCommand = cli.Command{ } target := clicontext.Args().Get(1) - log.G(ctx).Infof("initializing mounts %s", dgst.String()) + log.G(ctx).Infof("preparing mounts %s", dgst.String()) conn, err := connectGRPC(clicontext) if err != nil { @@ -97,12 +97,12 @@ var rootfsInitCommand = cli.Command{ rclient := rootfsapi.NewRootFSClient(conn) - ir := &rootfsapi.InitMountsRequest{ + ir := &rootfsapi.PrepareRequest{ Name: target, ChainID: dgst, } - resp, err := rclient.InitMounts(ctx, ir) + resp, err := rclient.Prepare(ctx, ir) if err != nil { return err } diff --git a/rootfs/apply.go b/rootfs/apply.go index acbb77c..f53e553 100644 --- a/rootfs/apply.go +++ b/rootfs/apply.go @@ -16,8 +16,8 @@ import ( "github.com/pkg/errors" ) -type Preparer interface { - Prepare(ctx context.Context, layers []ocispec.Descriptor) (digest.Digest, error) +type Unpacker interface { + Unpack(ctx context.Context, layers []ocispec.Descriptor) (digest.Digest, error) } type Mounter interface { diff --git a/services/rootfs/preparer.go b/services/rootfs/preparer.go index 40d3c7d..52ad489 100644 --- a/services/rootfs/preparer.go +++ b/services/rootfs/preparer.go @@ -10,28 +10,28 @@ import ( ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) -func NewPreparerFromClient(client rootfsapi.RootFSClient) rootfs.Preparer { - return remotePreparer{ +func NewUnpackerFromClient(client rootfsapi.RootFSClient) rootfs.Unpacker { + return remoteUnpacker{ client: client, } } -type remotePreparer struct { +type remoteUnpacker struct { client rootfsapi.RootFSClient } -func (rp remotePreparer) Prepare(ctx context.Context, layers []ocispec.Descriptor) (digest.Digest, error) { - pr := rootfsapi.PrepareRequest{ +func (rp remoteUnpacker) Unpack(ctx context.Context, layers []ocispec.Descriptor) (digest.Digest, error) { + pr := rootfsapi.UnpackRequest{ Layers: make([]*containerd_v1_types.Descriptor, len(layers)), } for i, l := range layers { pr.Layers[i] = &containerd_v1_types.Descriptor{ MediaType: l.MediaType, Digest: l.Digest, - MediaSize: l.Size, + Size_: l.Size, } } - resp, err := rp.client.Prepare(ctx, &pr) + resp, err := rp.client.Unpack(ctx, &pr) if err != nil { return "", nil } diff --git a/services/rootfs/service.go b/services/rootfs/service.go index ab6cb72..362b526 100644 --- a/services/rootfs/service.go +++ b/services/rootfs/service.go @@ -43,13 +43,13 @@ func (s *Service) Register(gs *grpc.Server) error { return nil } -func (s *Service) Prepare(ctx context.Context, pr *rootfsapi.PrepareRequest) (*rootfsapi.PrepareResponse, error) { +func (s *Service) Unpack(ctx context.Context, pr *rootfsapi.UnpackRequest) (*rootfsapi.UnpackResponse, error) { layers := make([]ocispec.Descriptor, len(pr.Layers)) for i, l := range pr.Layers { layers[i] = ocispec.Descriptor{ MediaType: l.MediaType, Digest: l.Digest, - Size: l.MediaSize, + Size: l.Size_, } } log.G(ctx).Infof("Preparing %#v", layers) @@ -59,12 +59,12 @@ func (s *Service) Prepare(ctx context.Context, pr *rootfsapi.PrepareRequest) (*r return nil, err } log.G(ctx).Infof("ChainID %#v", chainID) - return &rootfsapi.PrepareResponse{ + return &rootfsapi.UnpackResponse{ ChainID: chainID, }, nil } -func (s *Service) InitMounts(ctx context.Context, ir *rootfsapi.InitMountsRequest) (*rootfsapi.MountResponse, error) { +func (s *Service) Prepare(ctx context.Context, ir *rootfsapi.PrepareRequest) (*rootfsapi.MountResponse, error) { mounts, err := rootfs.InitRootFS(ctx, ir.Name, ir.ChainID, ir.Readonly, s.snapshotter, mounter{}) if err != nil { return nil, err