diff --git a/api/next.pb.txt b/api/next.pb.txt index 2ee172559..7433bfe5d 100755 --- a/api/next.pb.txt +++ b/api/next.pb.txt @@ -2411,23 +2411,6 @@ file { dependency: "gogoproto/gogo.proto" dependency: "google/protobuf/empty.proto" dependency: "google/protobuf/timestamp.proto" - message_type { - name: "Snapshot" - field { - name: "snapshotter" - number: 1 - label: LABEL_OPTIONAL - type: TYPE_STRING - json_name: "snapshotter" - } - field { - name: "key" - number: 2 - label: LABEL_OPTIONAL - type: TYPE_STRING - json_name: "key" - } - } message_type { name: "Lease" field { diff --git a/api/services/leases/v1/leases.pb.go b/api/services/leases/v1/leases.pb.go index e2e18dfff..db2a5f8b6 100644 --- a/api/services/leases/v1/leases.pb.go +++ b/api/services/leases/v1/leases.pb.go @@ -9,7 +9,6 @@ github.com/containerd/containerd/api/services/leases/v1/leases.proto It has these top-level messages: - Snapshot Lease CreateRequest CreateResponse @@ -53,16 +52,6 @@ var _ = time.Kitchen // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package -// Snapshot is a snapshot resource reference. -type Snapshot struct { - Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"` - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` -} - -func (m *Snapshot) Reset() { *m = Snapshot{} } -func (*Snapshot) ProtoMessage() {} -func (*Snapshot) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{0} } - // Lease is an object which retains resources while it exists. type Lease struct { ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -72,7 +61,7 @@ type Lease struct { func (m *Lease) Reset() { *m = Lease{} } func (*Lease) ProtoMessage() {} -func (*Lease) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{1} } +func (*Lease) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{0} } type CreateRequest struct { // ID is used to identity the lease, when the id is not set the service @@ -83,7 +72,7 @@ type CreateRequest struct { func (m *CreateRequest) Reset() { *m = CreateRequest{} } func (*CreateRequest) ProtoMessage() {} -func (*CreateRequest) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{2} } +func (*CreateRequest) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{1} } type CreateResponse struct { Lease *Lease `protobuf:"bytes,1,opt,name=lease" json:"lease,omitempty"` @@ -91,7 +80,7 @@ type CreateResponse struct { func (m *CreateResponse) Reset() { *m = CreateResponse{} } func (*CreateResponse) ProtoMessage() {} -func (*CreateResponse) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{3} } +func (*CreateResponse) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{2} } type DeleteRequest struct { ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -99,7 +88,7 @@ type DeleteRequest struct { func (m *DeleteRequest) Reset() { *m = DeleteRequest{} } func (*DeleteRequest) ProtoMessage() {} -func (*DeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{4} } +func (*DeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{3} } type ListRequest struct { Filters []string `protobuf:"bytes,1,rep,name=filters" json:"filters,omitempty"` @@ -107,7 +96,7 @@ type ListRequest struct { func (m *ListRequest) Reset() { *m = ListRequest{} } func (*ListRequest) ProtoMessage() {} -func (*ListRequest) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{5} } +func (*ListRequest) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{4} } type ListResponse struct { Leases []*Lease `protobuf:"bytes,1,rep,name=leases" json:"leases,omitempty"` @@ -115,10 +104,9 @@ type ListResponse struct { func (m *ListResponse) Reset() { *m = ListResponse{} } func (*ListResponse) ProtoMessage() {} -func (*ListResponse) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{6} } +func (*ListResponse) Descriptor() ([]byte, []int) { return fileDescriptorLeases, []int{5} } func init() { - proto.RegisterType((*Snapshot)(nil), "containerd.services.leases.v1.Snapshot") proto.RegisterType((*Lease)(nil), "containerd.services.leases.v1.Lease") proto.RegisterType((*CreateRequest)(nil), "containerd.services.leases.v1.CreateRequest") proto.RegisterType((*CreateResponse)(nil), "containerd.services.leases.v1.CreateResponse") @@ -279,36 +267,6 @@ var _Leases_serviceDesc = grpc.ServiceDesc{ Metadata: "github.com/containerd/containerd/api/services/leases/v1/leases.proto", } -func (m *Snapshot) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Snapshot) MarshalTo(dAtA []byte) (int, error) { - var i int - _ = i - var l int - _ = l - if len(m.Snapshotter) > 0 { - dAtA[i] = 0xa - i++ - i = encodeVarintLeases(dAtA, i, uint64(len(m.Snapshotter))) - i += copy(dAtA[i:], m.Snapshotter) - } - if len(m.Key) > 0 { - dAtA[i] = 0x12 - i++ - i = encodeVarintLeases(dAtA, i, uint64(len(m.Key))) - i += copy(dAtA[i:], m.Key) - } - return i, nil -} - func (m *Lease) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -541,20 +499,6 @@ func encodeVarintLeases(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return offset + 1 } -func (m *Snapshot) Size() (n int) { - var l int - _ = l - l = len(m.Snapshotter) - if l > 0 { - n += 1 + l + sovLeases(uint64(l)) - } - l = len(m.Key) - if l > 0 { - n += 1 + l + sovLeases(uint64(l)) - } - return n -} - func (m *Lease) Size() (n int) { var l int _ = l @@ -650,17 +594,6 @@ func sovLeases(x uint64) (n int) { func sozLeases(x uint64) (n int) { return sovLeases(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (this *Snapshot) String() string { - if this == nil { - return "nil" - } - s := strings.Join([]string{`&Snapshot{`, - `Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`, - `Key:` + fmt.Sprintf("%v", this.Key) + `,`, - `}`, - }, "") - return s -} func (this *Lease) String() string { if this == nil { return "nil" @@ -752,114 +685,6 @@ func valueToStringLeases(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } -func (m *Snapshot) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowLeases - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Snapshot: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Snapshot: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowLeases - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthLeases - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Snapshotter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowLeases - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthLeases - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Key = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipLeases(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthLeases - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *Lease) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -1712,38 +1537,37 @@ func init() { } var fileDescriptorLeases = []byte{ - // 525 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0x4f, 0x6b, 0x13, 0x41, - 0x18, 0xc6, 0x33, 0x1b, 0xb3, 0x36, 0xef, 0x5a, 0x91, 0xa1, 0x94, 0xb0, 0xe2, 0x26, 0x2c, 0x42, - 0x83, 0x7f, 0x66, 0x6d, 0xbc, 0xd4, 0x2a, 0x05, 0xd3, 0x14, 0x14, 0x82, 0xc8, 0xea, 0x41, 0xbc, - 0x94, 0x4d, 0xf2, 0x36, 0x5d, 0xdc, 0x64, 0xd6, 0x9d, 0x49, 0x20, 0x37, 0x3f, 0x82, 0x1f, 0xc1, - 0x0f, 0xe1, 0x87, 0xc8, 0xd1, 0xa3, 0xa7, 0x6a, 0x73, 0xf3, 0x5b, 0x48, 0x66, 0x66, 0x6d, 0x5a, - 0xd1, 0x44, 0xe9, 0xed, 0x9d, 0x99, 0xe7, 0xd9, 0xf9, 0x3d, 0x0f, 0xcc, 0x42, 0xab, 0x1f, 0xcb, - 0xe3, 0x51, 0x87, 0x75, 0xf9, 0x20, 0xe8, 0xf2, 0xa1, 0x8c, 0xe2, 0x21, 0x66, 0xbd, 0xc5, 0x31, - 0x4a, 0xe3, 0x40, 0x60, 0x36, 0x8e, 0xbb, 0x28, 0x82, 0x04, 0x23, 0x81, 0x22, 0x18, 0x6f, 0x9b, - 0x89, 0xa5, 0x19, 0x97, 0x9c, 0xde, 0x3a, 0xd3, 0xb3, 0x5c, 0xcb, 0x8c, 0x62, 0xbc, 0xed, 0x6e, - 0xf4, 0x79, 0x9f, 0x2b, 0x65, 0x30, 0x9f, 0xb4, 0xc9, 0xbd, 0xd9, 0xe7, 0xbc, 0x9f, 0x60, 0xa0, - 0x56, 0x9d, 0xd1, 0x51, 0x80, 0x83, 0x54, 0x4e, 0xcc, 0x61, 0xf5, 0xe2, 0xa1, 0x8c, 0x07, 0x28, - 0x64, 0x34, 0x48, 0xb5, 0xc0, 0xdf, 0x83, 0xb5, 0x57, 0xc3, 0x28, 0x15, 0xc7, 0x5c, 0xd2, 0x1a, - 0x38, 0xc2, 0xcc, 0x12, 0xb3, 0x0a, 0xa9, 0x91, 0x7a, 0x39, 0x5c, 0xdc, 0xa2, 0x37, 0xa0, 0xf8, - 0x0e, 0x27, 0x15, 0x4b, 0x9d, 0xcc, 0x47, 0xff, 0x07, 0x81, 0x52, 0x7b, 0x4e, 0x48, 0x37, 0xc1, - 0x8a, 0x7b, 0xda, 0xd4, 0xb4, 0x67, 0x27, 0x55, 0xeb, 0x79, 0x2b, 0xb4, 0xe2, 0x1e, 0xdd, 0x07, - 0xe8, 0x66, 0x18, 0x49, 0xec, 0x1d, 0x46, 0x52, 0x59, 0x9d, 0x86, 0xcb, 0x34, 0x17, 0xcb, 0xb9, - 0xd8, 0xeb, 0x9c, 0xab, 0xb9, 0x36, 0x3d, 0xa9, 0x16, 0x3e, 0x7e, 0xab, 0x92, 0xb0, 0x6c, 0x7c, - 0x4f, 0x25, 0x7d, 0x06, 0x76, 0x12, 0x75, 0x30, 0x11, 0x95, 0x62, 0xad, 0x58, 0x77, 0x1a, 0x0f, - 0xd8, 0x5f, 0xab, 0x62, 0x0a, 0x89, 0xb5, 0x95, 0xe5, 0x60, 0x28, 0xb3, 0x49, 0x68, 0xfc, 0xee, - 0x23, 0x70, 0x16, 0xb6, 0xf3, 0x44, 0xe4, 0x57, 0x22, 0xba, 0x01, 0xa5, 0x71, 0x94, 0x8c, 0xd0, - 0xa4, 0xd4, 0x8b, 0x5d, 0x6b, 0x87, 0xf8, 0x9f, 0x09, 0xac, 0xef, 0x2b, 0xa4, 0x10, 0xdf, 0x8f, - 0x50, 0xc8, 0x3f, 0x66, 0x7e, 0x79, 0x01, 0x77, 0x67, 0x09, 0xee, 0xb9, 0xaf, 0x5e, 0x36, 0x76, - 0x1b, 0xae, 0xe7, 0xdf, 0x17, 0x29, 0x1f, 0x0a, 0xa4, 0xbb, 0x50, 0x52, 0x77, 0x2b, 0xbf, 0xd3, - 0xb8, 0xbd, 0x4a, 0x99, 0xa1, 0xb6, 0xf8, 0x5b, 0xb0, 0xde, 0xc2, 0x04, 0x97, 0x76, 0xe0, 0x6f, - 0x81, 0xd3, 0x8e, 0x85, 0xcc, 0x65, 0x15, 0xb8, 0x7a, 0x14, 0x27, 0x12, 0x33, 0x51, 0x21, 0xb5, - 0x62, 0xbd, 0x1c, 0xe6, 0x4b, 0xbf, 0x0d, 0xd7, 0xb4, 0xd0, 0xd0, 0x3d, 0x01, 0x5b, 0xdf, 0xad, - 0x84, 0xab, 0xe2, 0x19, 0x4f, 0xe3, 0x93, 0x05, 0xb6, 0xda, 0x11, 0x14, 0xc1, 0xd6, 0xc1, 0xe9, - 0xbd, 0x7f, 0xe9, 0xdf, 0xbd, 0xbf, 0xa2, 0xda, 0xf0, 0xbe, 0x00, 0x5b, 0x37, 0xb2, 0xf4, 0x9a, - 0x73, 0xc5, 0xb9, 0x9b, 0xbf, 0x3d, 0x82, 0x83, 0xf9, 0xcb, 0xa5, 0x87, 0x70, 0x65, 0xde, 0x07, - 0xbd, 0xb3, 0x2c, 0xf7, 0x59, 0xbb, 0xee, 0xdd, 0x95, 0xb4, 0x1a, 0xb8, 0xf9, 0x66, 0x7a, 0xea, - 0x15, 0xbe, 0x9e, 0x7a, 0x85, 0x0f, 0x33, 0x8f, 0x4c, 0x67, 0x1e, 0xf9, 0x32, 0xf3, 0xc8, 0xf7, - 0x99, 0x47, 0xde, 0xee, 0xfd, 0xe7, 0x6f, 0xec, 0xb1, 0x9e, 0x3a, 0xb6, 0x8a, 0xf2, 0xf0, 0x67, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xaf, 0xd6, 0x7f, 0x24, 0x0f, 0x05, 0x00, 0x00, + // 501 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xdf, 0x8a, 0xd3, 0x40, + 0x14, 0xc6, 0x3b, 0xa9, 0x8d, 0xf6, 0xd4, 0x15, 0x19, 0x96, 0x25, 0x44, 0x4c, 0x4b, 0x10, 0xb6, + 0xf8, 0x67, 0xe2, 0xd6, 0x9b, 0x75, 0x15, 0xc1, 0x6e, 0x17, 0x14, 0x82, 0x48, 0xf0, 0x42, 0xbc, + 0x59, 0xd2, 0xf6, 0x6c, 0x0c, 0xa6, 0x9d, 0x98, 0x99, 0x16, 0x7a, 0xe7, 0x23, 0xf8, 0x08, 0x3e, + 0x84, 0x0f, 0xd1, 0x4b, 0x2f, 0xbd, 0x5a, 0xdd, 0xdc, 0xf9, 0x16, 0x92, 0x99, 0x84, 0xfd, 0x23, + 0xda, 0x2a, 0xde, 0x9d, 0xc9, 0x7c, 0xdf, 0x39, 0xbf, 0xf3, 0xc1, 0x04, 0x06, 0x51, 0x2c, 0xdf, + 0xce, 0x86, 0x6c, 0xc4, 0x27, 0xde, 0x88, 0x4f, 0x65, 0x18, 0x4f, 0x31, 0x1b, 0x9f, 0x2d, 0xc3, + 0x34, 0xf6, 0x04, 0x66, 0xf3, 0x78, 0x84, 0xc2, 0x4b, 0x30, 0x14, 0x28, 0xbc, 0xf9, 0x4e, 0x59, + 0xb1, 0x34, 0xe3, 0x92, 0xd3, 0x9b, 0xa7, 0x7a, 0x56, 0x69, 0x59, 0xa9, 0x98, 0xef, 0xd8, 0x9b, + 0x11, 0x8f, 0xb8, 0x52, 0x7a, 0x45, 0xa5, 0x4d, 0xf6, 0x8d, 0x88, 0xf3, 0x28, 0x41, 0x4f, 0x9d, + 0x86, 0xb3, 0x23, 0x0f, 0x27, 0xa9, 0x5c, 0x94, 0x97, 0xed, 0x8b, 0x97, 0x32, 0x9e, 0xa0, 0x90, + 0xe1, 0x24, 0xd5, 0x02, 0xf7, 0x07, 0x81, 0x86, 0x5f, 0x4c, 0xa0, 0x5b, 0x60, 0xc4, 0x63, 0x8b, + 0x74, 0x48, 0xb7, 0xd9, 0x37, 0xf3, 0xe3, 0xb6, 0xf1, 0x7c, 0x10, 0x18, 0xf1, 0x98, 0xee, 0x03, + 0x8c, 0x32, 0x0c, 0x25, 0x8e, 0x0f, 0x43, 0x69, 0x19, 0x1d, 0xd2, 0x6d, 0xf5, 0x6c, 0xa6, 0xfb, + 0xb2, 0xaa, 0x2f, 0x7b, 0x55, 0xf5, 0xed, 0x5f, 0x59, 0x1e, 0xb7, 0x6b, 0x1f, 0xbf, 0xb5, 0x49, + 0xd0, 0x2c, 0x7d, 0x4f, 0x25, 0x7d, 0x06, 0x66, 0x12, 0x0e, 0x31, 0x11, 0x56, 0xbd, 0x53, 0xef, + 0xb6, 0x7a, 0xf7, 0xd9, 0x1f, 0x57, 0x65, 0x0a, 0x89, 0xf9, 0xca, 0x72, 0x30, 0x95, 0xd9, 0x22, + 0x28, 0xfd, 0xf6, 0x43, 0x68, 0x9d, 0xf9, 0x4c, 0xaf, 0x43, 0xfd, 0x1d, 0x2e, 0x34, 0x76, 0x50, + 0x94, 0x74, 0x13, 0x1a, 0xf3, 0x30, 0x99, 0xa1, 0x42, 0x6d, 0x06, 0xfa, 0xb0, 0x67, 0xec, 0x12, + 0xf7, 0x33, 0x81, 0x8d, 0x7d, 0x85, 0x14, 0xe0, 0xfb, 0x19, 0x0a, 0xf9, 0xdb, 0x9d, 0x5f, 0x5e, + 0xc0, 0xdd, 0x5d, 0x81, 0x7b, 0xae, 0xeb, 0xff, 0xc6, 0xf6, 0xe1, 0x5a, 0xd5, 0x5f, 0xa4, 0x7c, + 0x2a, 0x90, 0xee, 0x41, 0x43, 0xcd, 0x56, 0xfe, 0x56, 0xef, 0xd6, 0x3a, 0x61, 0x06, 0xda, 0xe2, + 0x6e, 0xc3, 0xc6, 0x00, 0x13, 0x5c, 0x99, 0x81, 0xbb, 0x0d, 0x2d, 0x3f, 0x16, 0xb2, 0x92, 0x59, + 0x70, 0xf9, 0x28, 0x4e, 0x24, 0x66, 0xc2, 0x22, 0x9d, 0x7a, 0xb7, 0x19, 0x54, 0x47, 0xd7, 0x87, + 0xab, 0x5a, 0x58, 0xd2, 0x3d, 0x06, 0x53, 0xcf, 0x56, 0xc2, 0x75, 0xf1, 0x4a, 0x4f, 0xef, 0x93, + 0x01, 0xa6, 0xfa, 0x22, 0x28, 0x82, 0xa9, 0x17, 0xa7, 0x77, 0xff, 0x26, 0x7f, 0xfb, 0xde, 0x9a, + 0xea, 0x92, 0xf7, 0x05, 0x98, 0x3a, 0x91, 0x95, 0x63, 0xce, 0x05, 0x67, 0x6f, 0xfd, 0xf2, 0x08, + 0x0e, 0x8a, 0x97, 0x47, 0x0f, 0xe1, 0x52, 0x91, 0x07, 0xbd, 0xbd, 0x6a, 0xef, 0xd3, 0x74, 0xed, + 0x3b, 0x6b, 0x69, 0x35, 0x70, 0xff, 0xf5, 0xf2, 0xc4, 0xa9, 0x7d, 0x3d, 0x71, 0x6a, 0x1f, 0x72, + 0x87, 0x2c, 0x73, 0x87, 0x7c, 0xc9, 0x1d, 0xf2, 0x3d, 0x77, 0xc8, 0x9b, 0x27, 0xff, 0xf8, 0x1b, + 0x7a, 0xa4, 0xab, 0xa1, 0xa9, 0x56, 0x79, 0xf0, 0x33, 0x00, 0x00, 0xff, 0xff, 0x1d, 0xb9, 0xa6, + 0x63, 0xcf, 0x04, 0x00, 0x00, } diff --git a/api/services/leases/v1/leases.proto b/api/services/leases/v1/leases.proto index ab9e7a6dd..29d58d111 100644 --- a/api/services/leases/v1/leases.proto +++ b/api/services/leases/v1/leases.proto @@ -24,12 +24,6 @@ service Leases { rpc List(ListRequest) returns (ListResponse); } -// Snapshot is a snapshot resource reference. -message Snapshot { - string snapshotter = 1; - string key = 2; -} - // Lease is an object which retains resources while it exists. message Lease { string id = 1; diff --git a/client.go b/client.go index 14216db0c..81336c3d8 100644 --- a/client.go +++ b/client.go @@ -247,7 +247,7 @@ func (c *Client) Pull(ctx context.Context, ref string, opts ...RemoteOpt) (Image handler = images.Handlers(append(pullCtx.BaseHandlers, schema1Converter)...) } else { handler = images.Handlers(append(pullCtx.BaseHandlers, - remotes.FetchHandler(store, fetcher, desc), + remotes.FetchHandler(store, fetcher), images.ChildrenHandler(store, platforms.Default()))..., ) } @@ -284,11 +284,6 @@ func (c *Client) Pull(ctx context.Context, ref string, opts ...RemoteOpt) (Image imgrec = created } - // Remove root tag from manifest now that image refers to it - if _, err := store.Update(ctx, content.Info{Digest: desc.Digest}, "labels.containerd.io/gc.root"); err != nil { - return nil, errors.Wrap(err, "failed to remove manifest root tag") - } - img := &image{ client: c, i: imgrec, diff --git a/container_opts.go b/container_opts.go index 57ffc0a36..4c534fe12 100644 --- a/container_opts.go +++ b/container_opts.go @@ -2,12 +2,10 @@ package containerd import ( "context" - "time" "github.com/containerd/containerd/containers" "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/platforms" - "github.com/containerd/containerd/snapshot" "github.com/containerd/typeurl" "github.com/gogo/protobuf/types" "github.com/opencontainers/image-spec/identity" @@ -93,11 +91,8 @@ func WithNewSnapshot(id string, i Image) NewContainerOpts { return err } setSnapshotterIfEmpty(c) - labels := map[string]string{ - "containerd.io/gc.root": time.Now().String(), - } parent := identity.ChainID(diffIDs).String() - if _, err := client.SnapshotService(c.Snapshotter).Prepare(ctx, id, parent, snapshot.WithLabels(labels)); err != nil { + if _, err := client.SnapshotService(c.Snapshotter).Prepare(ctx, id, parent); err != nil { return err } c.SnapshotKey = id @@ -126,11 +121,8 @@ func WithNewSnapshotView(id string, i Image) NewContainerOpts { return err } setSnapshotterIfEmpty(c) - labels := map[string]string{ - "containerd.io/gc.root": time.Now().String(), - } parent := identity.ChainID(diffIDs).String() - if _, err := client.SnapshotService(c.Snapshotter).View(ctx, id, parent, snapshot.WithLabels(labels)); err != nil { + if _, err := client.SnapshotService(c.Snapshotter).View(ctx, id, parent); err != nil { return err } c.SnapshotKey = id diff --git a/image.go b/image.go index 426e15817..4f978e2ea 100644 --- a/image.go +++ b/image.go @@ -3,7 +3,6 @@ package containerd import ( "context" "fmt" - "time" "github.com/containerd/containerd/content" "github.com/containerd/containerd/errdefs" @@ -102,27 +101,14 @@ func (i *image) Unpack(ctx context.Context, snapshotterName string) error { ) for _, layer := range layers { labels := map[string]string{ - "containerd.io/gc.root": time.Now().UTC().Format(time.RFC3339), "containerd.io/uncompressed": layer.Diff.Digest.String(), } - lastUnpacked := unpacked unpacked, err = rootfs.ApplyLayer(ctx, layer, chain, sn, a, snapshot.WithLabels(labels)) if err != nil { return err } - if lastUnpacked { - info := snapshot.Info{ - Name: identity.ChainID(chain).String(), - } - - // Remove previously created gc.root label - if _, err := sn.Update(ctx, info, "labels.containerd.io/gc.root"); err != nil { - return err - } - } - chain = append(chain, layer.Diff.Digest) } @@ -143,15 +129,6 @@ func (i *image) Unpack(ctx context.Context, snapshotterName string) error { if _, err := cs.Update(ctx, cinfo, fmt.Sprintf("labels.containerd.io/gc.ref.snapshot.%s", snapshotterName)); err != nil { return err } - - sinfo := snapshot.Info{ - Name: rootfs, - } - - // Config now referenced snapshot, release root reference - if _, err := sn.Update(ctx, sinfo, "labels.containerd.io/gc.root"); err != nil { - return err - } } return nil diff --git a/remotes/docker/schema1/converter.go b/remotes/docker/schema1/converter.go index 6e0dcb4e2..52f83d43f 100644 --- a/remotes/docker/schema1/converter.go +++ b/remotes/docker/schema1/converter.go @@ -160,7 +160,6 @@ func (c *Converter) Convert(ctx context.Context) (ocispec.Descriptor, error) { } labels := map[string]string{} - labels["containerd.io/gc.root"] = time.Now().UTC().Format(time.RFC3339) labels["containerd.io/gc.ref.content.0"] = manifest.Config.Digest.String() for i, ch := range manifest.Layers { labels[fmt.Sprintf("containerd.io/gc.ref.content.%d", i+1)] = ch.Digest.String() @@ -176,12 +175,6 @@ func (c *Converter) Convert(ctx context.Context) (ocispec.Descriptor, error) { return ocispec.Descriptor{}, errors.Wrap(err, "failed to write config") } - for _, ch := range manifest.Layers { - if _, err := c.contentStore.Update(ctx, content.Info{Digest: ch.Digest}, "labels.containerd.io/gc.root"); err != nil { - return ocispec.Descriptor{}, errors.Wrap(err, "failed to remove blob root tag") - } - } - return desc, nil } @@ -284,10 +277,7 @@ tryit: eg.Go(func() error { defer pw.Close() - opt := content.WithLabels(map[string]string{ - "containerd.io/gc.root": time.Now().UTC().Format(time.RFC3339), - }) - return content.Copy(ctx, cw, io.TeeReader(rc, pw), desc.Size, desc.Digest, opt) + return content.Copy(ctx, cw, io.TeeReader(rc, pw), desc.Size, desc.Digest) }) if err := eg.Wait(); err != nil { diff --git a/remotes/handlers.go b/remotes/handlers.go index 7b1dad99e..e583391d8 100644 --- a/remotes/handlers.go +++ b/remotes/handlers.go @@ -45,7 +45,7 @@ func MakeRefKey(ctx context.Context, desc ocispec.Descriptor) string { // FetchHandler returns a handler that will fetch all content into the ingester // discovered in a call to Dispatch. Use with ChildrenHandler to do a full // recursive fetch. -func FetchHandler(ingester content.Ingester, fetcher Fetcher, root ocispec.Descriptor) images.HandlerFunc { +func FetchHandler(ingester content.Ingester, fetcher Fetcher) images.HandlerFunc { return func(ctx context.Context, desc ocispec.Descriptor) (subdescs []ocispec.Descriptor, err error) { ctx = log.WithLogger(ctx, log.G(ctx).WithFields(logrus.Fields{ "digest": desc.Digest, @@ -57,13 +57,13 @@ func FetchHandler(ingester content.Ingester, fetcher Fetcher, root ocispec.Descr case images.MediaTypeDockerSchema1Manifest: return nil, fmt.Errorf("%v not supported", desc.MediaType) default: - err := fetch(ctx, ingester, fetcher, desc, desc.Digest == root.Digest) + err := fetch(ctx, ingester, fetcher, desc) return nil, err } } } -func fetch(ctx context.Context, ingester content.Ingester, fetcher Fetcher, desc ocispec.Descriptor, root bool) error { +func fetch(ctx context.Context, ingester content.Ingester, fetcher Fetcher, desc ocispec.Descriptor) error { log.G(ctx).Debug("fetch") var ( @@ -105,13 +105,13 @@ func fetch(ctx context.Context, ingester content.Ingester, fetcher Fetcher, desc } defer rc.Close() - r, opts := commitOpts(desc, rc, root) + r, opts := commitOpts(desc, rc) return content.Copy(ctx, cw, r, desc.Size, desc.Digest, opts...) } // commitOpts gets the appropriate content options to alter // the content info on commit based on media type. -func commitOpts(desc ocispec.Descriptor, r io.Reader, root bool) (io.Reader, []content.Opt) { +func commitOpts(desc ocispec.Descriptor, r io.Reader) (io.Reader, []content.Opt) { var childrenF func(r io.Reader) ([]ocispec.Descriptor, error) switch desc.MediaType { @@ -163,13 +163,10 @@ func commitOpts(desc ocispec.Descriptor, r io.Reader, root bool) (io.Reader, []c return errors.Wrap(err, "unable to get commit labels") } - if len(children) > 0 || root { + if len(children) > 0 { if info.Labels == nil { info.Labels = map[string]string{} } - if root { - info.Labels["containerd.io/gc.root"] = time.Now().UTC().Format(time.RFC3339) - } for i, ch := range children { info.Labels[fmt.Sprintf("containerd.io/gc.ref.content.%d", i)] = ch.Digest.String() } diff --git a/services/tasks/service.go b/services/tasks/service.go index 2c58c9d72..725b446fd 100644 --- a/services/tasks/service.go +++ b/services/tasks/service.go @@ -567,10 +567,7 @@ func (s *service) writeContent(ctx context.Context, mediaType, ref string, r io. if err != nil { return nil, err } - labels := map[string]string{ - "containerd.io/gc.root": time.Now().UTC().Format(time.RFC3339), - } - if err := writer.Commit(ctx, 0, "", content.WithLabels(labels)); err != nil { + if err := writer.Commit(ctx, 0, ""); err != nil { return nil, err } return &types.Descriptor{ diff --git a/spec_opts_unix.go b/spec_opts_unix.go index 7009522d2..337095cfa 100644 --- a/spec_opts_unix.go +++ b/spec_opts_unix.go @@ -11,7 +11,6 @@ import ( "path/filepath" "strconv" "strings" - "time" "golang.org/x/sys/unix" @@ -21,7 +20,6 @@ import ( "github.com/containerd/containerd/images" "github.com/containerd/containerd/namespaces" "github.com/containerd/containerd/platforms" - "github.com/containerd/containerd/snapshot" "github.com/opencontainers/image-spec/identity" "github.com/opencontainers/image-spec/specs-go/v1" "github.com/opencontainers/runc/libcontainer/user" @@ -260,19 +258,16 @@ func withRemappedSnapshotBase(id string, i Image, uid, gid uint32, readonly bool snapshotter = client.SnapshotService(c.Snapshotter) parent = identity.ChainID(diffIDs).String() usernsID = fmt.Sprintf("%s-%d-%d", parent, uid, gid) - opt = snapshot.WithLabels(map[string]string{ - "containerd.io/gc.root": time.Now().UTC().Format(time.RFC3339), - }) ) if _, err := snapshotter.Stat(ctx, usernsID); err == nil { - if _, err := snapshotter.Prepare(ctx, id, usernsID, opt); err != nil { + if _, err := snapshotter.Prepare(ctx, id, usernsID); err != nil { return err } c.SnapshotKey = id c.Image = i.Name() return nil } - mounts, err := snapshotter.Prepare(ctx, usernsID+"-remap", parent, opt) + mounts, err := snapshotter.Prepare(ctx, usernsID+"-remap", parent) if err != nil { return err } @@ -280,13 +275,13 @@ func withRemappedSnapshotBase(id string, i Image, uid, gid uint32, readonly bool snapshotter.Remove(ctx, usernsID) return err } - if err := snapshotter.Commit(ctx, usernsID, usernsID+"-remap", opt); err != nil { + if err := snapshotter.Commit(ctx, usernsID, usernsID+"-remap"); err != nil { return err } if readonly { - _, err = snapshotter.View(ctx, id, usernsID, opt) + _, err = snapshotter.View(ctx, id, usernsID) } else { - _, err = snapshotter.Prepare(ctx, id, usernsID, opt) + _, err = snapshotter.Prepare(ctx, id, usernsID) } if err != nil { return err diff --git a/task.go b/task.go index 6eda83d15..24b867c25 100644 --- a/task.go +++ b/task.go @@ -19,7 +19,6 @@ import ( "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/images" "github.com/containerd/containerd/leases" - "github.com/containerd/containerd/log" "github.com/containerd/containerd/mount" "github.com/containerd/containerd/plugin" "github.com/containerd/containerd/rootfs" @@ -27,7 +26,6 @@ import ( google_protobuf "github.com/gogo/protobuf/types" digest "github.com/opencontainers/go-digest" "github.com/opencontainers/image-spec/specs-go/v1" - ocispec "github.com/opencontainers/image-spec/specs-go/v1" specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/pkg/errors" ) @@ -401,15 +399,6 @@ func (t *task) Checkpoint(ctx context.Context, opts ...CheckpointTaskOpts) (Imag index := v1.Index{ Annotations: make(map[string]string), } - // make sure we clear the gc root labels reguardless of success - var clearRoots []ocispec.Descriptor - defer func() { - for _, r := range append(index.Manifests, clearRoots...) { - if err := clearRootGCLabel(ctx, t.client, r); err != nil { - log.G(ctx).WithError(err).WithField("dgst", r.Digest).Warnf("failed to remove root marker") - } - } - }() if err := t.checkpointTask(ctx, &index, request); err != nil { return nil, err } @@ -428,7 +417,6 @@ func (t *task) Checkpoint(ctx context.Context, opts ...CheckpointTaskOpts) (Imag if err != nil { return nil, err } - clearRoots = append(clearRoots, desc) im := images.Image{ Name: i.Name, Target: desc, @@ -544,9 +532,6 @@ func (t *task) checkpointTask(ctx context.Context, index *v1.Index, request *tas func (t *task) checkpointRWSnapshot(ctx context.Context, index *v1.Index, snapshotterName string, id string) error { opts := []diff.Opt{ diff.WithReference(fmt.Sprintf("checkpoint-rw-%s", id)), - diff.WithLabels(map[string]string{ - "containerd.io/gc.root": time.Now().UTC().Format(time.RFC3339), - }), } rw, err := rootfs.Diff(ctx, id, t.client.SnapshotService(snapshotterName), t.client.DiffService(), opts...) if err != nil { @@ -573,9 +558,7 @@ func (t *task) checkpointImage(ctx context.Context, index *v1.Index, image strin } func (t *task) writeIndex(ctx context.Context, index *v1.Index) (d v1.Descriptor, err error) { - labels := map[string]string{ - "containerd.io/gc.root": time.Now().UTC().Format(time.RFC3339), - } + labels := map[string]string{} for i, m := range index.Manifests { labels[fmt.Sprintf("containerd.io/gc.ref.content.%d", i)] = m.Digest.String() } @@ -605,9 +588,3 @@ func writeContent(ctx context.Context, store content.Store, mediaType, ref strin Size: size, }, nil } - -func clearRootGCLabel(ctx context.Context, client *Client, desc ocispec.Descriptor) error { - info := content.Info{Digest: desc.Digest} - _, err := client.ContentStore().Update(ctx, info, "labels.containerd.io/gc.root") - return err -}