vendor: update agent

This new version of kata-agent brings support for
updating resources and cpuset cgroups

Shortlog:
28cf91a grpc: implement update command
d96b8e1 grpc: update cpuset cgroup
4bcacdc network: Don't remove network routes or DNS when destroying sandbox
1f5cf20 network: Don't store the network info as pointers if slices used
8f828bb uevent: Fix netlink error while assigning pid in netlink client
093f61b agent: add grpc tracer UT
33bd601 agent: add server interceptor to log grpc requests
134d5d5 test: add start/stop grpc server UT
7e94246 agent: track grpc server
9fb8024 UT: add tests for channel
bea6183 agent: wait serial channel to be ready before reading
f8c8c4c agent: accept grpc connections multiple times

Signed-off-by: Julio Montes <julio.montes@intel.com>
This commit is contained in:
Julio Montes 2018-05-08 07:21:32 -05:00
parent 81f376920e
commit 2b2aeabd89
4 changed files with 359 additions and 118 deletions

4
Gopkg.lock generated
View File

@ -99,7 +99,7 @@
"protocols/client",
"protocols/grpc"
]
revision = "7aa11d8adef4aada89f6c68db025ff15a44eaf83"
revision = "04d58dd248a36404c33c9d12c499c60f1828060b"
[[projects]]
name = "github.com/kubernetes-incubator/cri-o"
@ -263,6 +263,6 @@
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "7d6cc1b28c35fcfc1a9319bbbb30ba3153da05abe8cd65b37a686b6bf2761185"
inputs-digest = "976f719dc5f3fd1a56eb21237161c89b7f499a14e4b0638bc358698d4e0dbf8f"
solver-name = "gps-cdcl"
solver-version = 1

View File

@ -60,7 +60,7 @@
[[constraint]]
name = "github.com/kata-containers/agent"
revision = "7aa11d8adef4aada89f6c68db025ff15a44eaf83"
revision = "04d58dd248a36404c33c9d12c499c60f1828060b"
[[constraint]]
name = "github.com/containerd/cri-containerd"

View File

@ -19,6 +19,7 @@
WaitProcessResponse
ListProcessesRequest
ListProcessesResponse
UpdateContainerRequest
WriteStreamRequest
WriteStreamResponse
ReadStreamRequest
@ -384,6 +385,30 @@ func (m *ListProcessesResponse) GetProcessList() []byte {
return nil
}
type UpdateContainerRequest struct {
ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
Resources *LinuxResources `protobuf:"bytes,2,opt,name=resources" json:"resources,omitempty"`
}
func (m *UpdateContainerRequest) Reset() { *m = UpdateContainerRequest{} }
func (m *UpdateContainerRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateContainerRequest) ProtoMessage() {}
func (*UpdateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{9} }
func (m *UpdateContainerRequest) GetContainerId() string {
if m != nil {
return m.ContainerId
}
return ""
}
func (m *UpdateContainerRequest) GetResources() *LinuxResources {
if m != nil {
return m.Resources
}
return nil
}
type WriteStreamRequest struct {
ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
ExecId string `protobuf:"bytes,2,opt,name=exec_id,json=execId,proto3" json:"exec_id,omitempty"`
@ -393,7 +418,7 @@ type WriteStreamRequest struct {
func (m *WriteStreamRequest) Reset() { *m = WriteStreamRequest{} }
func (m *WriteStreamRequest) String() string { return proto.CompactTextString(m) }
func (*WriteStreamRequest) ProtoMessage() {}
func (*WriteStreamRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{9} }
func (*WriteStreamRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{10} }
func (m *WriteStreamRequest) GetContainerId() string {
if m != nil {
@ -423,7 +448,7 @@ type WriteStreamResponse struct {
func (m *WriteStreamResponse) Reset() { *m = WriteStreamResponse{} }
func (m *WriteStreamResponse) String() string { return proto.CompactTextString(m) }
func (*WriteStreamResponse) ProtoMessage() {}
func (*WriteStreamResponse) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{10} }
func (*WriteStreamResponse) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{11} }
func (m *WriteStreamResponse) GetLen() uint32 {
if m != nil {
@ -441,7 +466,7 @@ type ReadStreamRequest struct {
func (m *ReadStreamRequest) Reset() { *m = ReadStreamRequest{} }
func (m *ReadStreamRequest) String() string { return proto.CompactTextString(m) }
func (*ReadStreamRequest) ProtoMessage() {}
func (*ReadStreamRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{11} }
func (*ReadStreamRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{12} }
func (m *ReadStreamRequest) GetContainerId() string {
if m != nil {
@ -471,7 +496,7 @@ type ReadStreamResponse struct {
func (m *ReadStreamResponse) Reset() { *m = ReadStreamResponse{} }
func (m *ReadStreamResponse) String() string { return proto.CompactTextString(m) }
func (*ReadStreamResponse) ProtoMessage() {}
func (*ReadStreamResponse) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{12} }
func (*ReadStreamResponse) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{13} }
func (m *ReadStreamResponse) GetData() []byte {
if m != nil {
@ -488,7 +513,7 @@ type CloseStdinRequest struct {
func (m *CloseStdinRequest) Reset() { *m = CloseStdinRequest{} }
func (m *CloseStdinRequest) String() string { return proto.CompactTextString(m) }
func (*CloseStdinRequest) ProtoMessage() {}
func (*CloseStdinRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{13} }
func (*CloseStdinRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{14} }
func (m *CloseStdinRequest) GetContainerId() string {
if m != nil {
@ -514,7 +539,7 @@ type TtyWinResizeRequest struct {
func (m *TtyWinResizeRequest) Reset() { *m = TtyWinResizeRequest{} }
func (m *TtyWinResizeRequest) String() string { return proto.CompactTextString(m) }
func (*TtyWinResizeRequest) ProtoMessage() {}
func (*TtyWinResizeRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{14} }
func (*TtyWinResizeRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{15} }
func (m *TtyWinResizeRequest) GetContainerId() string {
if m != nil {
@ -554,7 +579,7 @@ type CreateSandboxRequest struct {
func (m *CreateSandboxRequest) Reset() { *m = CreateSandboxRequest{} }
func (m *CreateSandboxRequest) String() string { return proto.CompactTextString(m) }
func (*CreateSandboxRequest) ProtoMessage() {}
func (*CreateSandboxRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{15} }
func (*CreateSandboxRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{16} }
func (m *CreateSandboxRequest) GetHostname() string {
if m != nil {
@ -590,7 +615,7 @@ type DestroySandboxRequest struct {
func (m *DestroySandboxRequest) Reset() { *m = DestroySandboxRequest{} }
func (m *DestroySandboxRequest) String() string { return proto.CompactTextString(m) }
func (*DestroySandboxRequest) ProtoMessage() {}
func (*DestroySandboxRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{16} }
func (*DestroySandboxRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{17} }
type IPAddress struct {
Family IPFamily `protobuf:"varint,1,opt,name=family,proto3,enum=grpc.IPFamily" json:"family,omitempty"`
@ -601,7 +626,7 @@ type IPAddress struct {
func (m *IPAddress) Reset() { *m = IPAddress{} }
func (m *IPAddress) String() string { return proto.CompactTextString(m) }
func (*IPAddress) ProtoMessage() {}
func (*IPAddress) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{17} }
func (*IPAddress) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{18} }
func (m *IPAddress) GetFamily() IPFamily {
if m != nil {
@ -635,7 +660,7 @@ type Interface struct {
func (m *Interface) Reset() { *m = Interface{} }
func (m *Interface) String() string { return proto.CompactTextString(m) }
func (*Interface) ProtoMessage() {}
func (*Interface) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{18} }
func (*Interface) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{19} }
func (m *Interface) GetDevice() string {
if m != nil {
@ -683,7 +708,7 @@ type Route struct {
func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{19} }
func (*Route) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{20} }
func (m *Route) GetDest() string {
if m != nil {
@ -727,7 +752,7 @@ type Routes struct {
func (m *Routes) Reset() { *m = Routes{} }
func (m *Routes) String() string { return proto.CompactTextString(m) }
func (*Routes) ProtoMessage() {}
func (*Routes) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{20} }
func (*Routes) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{21} }
func (m *Routes) GetRoutes() []*Route {
if m != nil {
@ -743,7 +768,7 @@ type UpdateInterfaceRequest struct {
func (m *UpdateInterfaceRequest) Reset() { *m = UpdateInterfaceRequest{} }
func (m *UpdateInterfaceRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateInterfaceRequest) ProtoMessage() {}
func (*UpdateInterfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{21} }
func (*UpdateInterfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{22} }
func (m *UpdateInterfaceRequest) GetInterface() *Interface {
if m != nil {
@ -759,7 +784,7 @@ type AddInterfaceRequest struct {
func (m *AddInterfaceRequest) Reset() { *m = AddInterfaceRequest{} }
func (m *AddInterfaceRequest) String() string { return proto.CompactTextString(m) }
func (*AddInterfaceRequest) ProtoMessage() {}
func (*AddInterfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{22} }
func (*AddInterfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{23} }
func (m *AddInterfaceRequest) GetInterface() *Interface {
if m != nil {
@ -775,7 +800,7 @@ type RemoveInterfaceRequest struct {
func (m *RemoveInterfaceRequest) Reset() { *m = RemoveInterfaceRequest{} }
func (m *RemoveInterfaceRequest) String() string { return proto.CompactTextString(m) }
func (*RemoveInterfaceRequest) ProtoMessage() {}
func (*RemoveInterfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{23} }
func (*RemoveInterfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{24} }
func (m *RemoveInterfaceRequest) GetInterface() *Interface {
if m != nil {
@ -791,7 +816,7 @@ type UpdateRoutesRequest struct {
func (m *UpdateRoutesRequest) Reset() { *m = UpdateRoutesRequest{} }
func (m *UpdateRoutesRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateRoutesRequest) ProtoMessage() {}
func (*UpdateRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{24} }
func (*UpdateRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{25} }
func (m *UpdateRoutesRequest) GetRoutes() *Routes {
if m != nil {
@ -812,7 +837,7 @@ type OnlineCPUMemRequest struct {
func (m *OnlineCPUMemRequest) Reset() { *m = OnlineCPUMemRequest{} }
func (m *OnlineCPUMemRequest) String() string { return proto.CompactTextString(m) }
func (*OnlineCPUMemRequest) ProtoMessage() {}
func (*OnlineCPUMemRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{25} }
func (*OnlineCPUMemRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{26} }
func (m *OnlineCPUMemRequest) GetWait() bool {
if m != nil {
@ -861,7 +886,7 @@ type Storage struct {
func (m *Storage) Reset() { *m = Storage{} }
func (m *Storage) String() string { return proto.CompactTextString(m) }
func (*Storage) ProtoMessage() {}
func (*Storage) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{26} }
func (*Storage) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{27} }
func (m *Storage) GetDriver() string {
if m != nil {
@ -944,7 +969,7 @@ type Device struct {
func (m *Device) Reset() { *m = Device{} }
func (m *Device) String() string { return proto.CompactTextString(m) }
func (*Device) ProtoMessage() {}
func (*Device) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{27} }
func (*Device) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{28} }
func (m *Device) GetId() string {
if m != nil {
@ -990,7 +1015,7 @@ type StringUser struct {
func (m *StringUser) Reset() { *m = StringUser{} }
func (m *StringUser) String() string { return proto.CompactTextString(m) }
func (*StringUser) ProtoMessage() {}
func (*StringUser) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{28} }
func (*StringUser) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{29} }
func (m *StringUser) GetUid() string {
if m != nil {
@ -1023,6 +1048,7 @@ func init() {
proto.RegisterType((*WaitProcessResponse)(nil), "grpc.WaitProcessResponse")
proto.RegisterType((*ListProcessesRequest)(nil), "grpc.ListProcessesRequest")
proto.RegisterType((*ListProcessesResponse)(nil), "grpc.ListProcessesResponse")
proto.RegisterType((*UpdateContainerRequest)(nil), "grpc.UpdateContainerRequest")
proto.RegisterType((*WriteStreamRequest)(nil), "grpc.WriteStreamRequest")
proto.RegisterType((*WriteStreamResponse)(nil), "grpc.WriteStreamResponse")
proto.RegisterType((*ReadStreamRequest)(nil), "grpc.ReadStreamRequest")
@ -1071,6 +1097,7 @@ type AgentServiceClient interface {
SignalProcess(ctx context.Context, in *SignalProcessRequest, opts ...grpc1.CallOption) (*google_protobuf2.Empty, error)
WaitProcess(ctx context.Context, in *WaitProcessRequest, opts ...grpc1.CallOption) (*WaitProcessResponse, error)
ListProcesses(ctx context.Context, in *ListProcessesRequest, opts ...grpc1.CallOption) (*ListProcessesResponse, error)
UpdateContainer(ctx context.Context, in *UpdateContainerRequest, opts ...grpc1.CallOption) (*google_protobuf2.Empty, error)
// stdio
WriteStdin(ctx context.Context, in *WriteStreamRequest, opts ...grpc1.CallOption) (*WriteStreamResponse, error)
ReadStdout(ctx context.Context, in *ReadStreamRequest, opts ...grpc1.CallOption) (*ReadStreamResponse, error)
@ -1159,6 +1186,15 @@ func (c *agentServiceClient) ListProcesses(ctx context.Context, in *ListProcesse
return out, nil
}
func (c *agentServiceClient) UpdateContainer(ctx context.Context, in *UpdateContainerRequest, opts ...grpc1.CallOption) (*google_protobuf2.Empty, error) {
out := new(google_protobuf2.Empty)
err := grpc1.Invoke(ctx, "/grpc.AgentService/UpdateContainer", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *agentServiceClient) WriteStdin(ctx context.Context, in *WriteStreamRequest, opts ...grpc1.CallOption) (*WriteStreamResponse, error) {
out := new(WriteStreamResponse)
err := grpc1.Invoke(ctx, "/grpc.AgentService/WriteStdin", in, out, c.cc, opts...)
@ -1284,6 +1320,7 @@ type AgentServiceServer interface {
SignalProcess(context.Context, *SignalProcessRequest) (*google_protobuf2.Empty, error)
WaitProcess(context.Context, *WaitProcessRequest) (*WaitProcessResponse, error)
ListProcesses(context.Context, *ListProcessesRequest) (*ListProcessesResponse, error)
UpdateContainer(context.Context, *UpdateContainerRequest) (*google_protobuf2.Empty, error)
// stdio
WriteStdin(context.Context, *WriteStreamRequest) (*WriteStreamResponse, error)
ReadStdout(context.Context, *ReadStreamRequest) (*ReadStreamResponse, error)
@ -1431,6 +1468,24 @@ func _AgentService_ListProcesses_Handler(srv interface{}, ctx context.Context, d
return interceptor(ctx, in, info, handler)
}
func _AgentService_UpdateContainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateContainerRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AgentServiceServer).UpdateContainer(ctx, in)
}
info := &grpc1.UnaryServerInfo{
Server: srv,
FullMethod: "/grpc.AgentService/UpdateContainer",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AgentServiceServer).UpdateContainer(ctx, req.(*UpdateContainerRequest))
}
return interceptor(ctx, in, info, handler)
}
func _AgentService_WriteStdin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) {
in := new(WriteStreamRequest)
if err := dec(in); err != nil {
@ -1679,6 +1734,10 @@ var _AgentService_serviceDesc = grpc1.ServiceDesc{
MethodName: "ListProcesses",
Handler: _AgentService_ListProcesses_Handler,
},
{
MethodName: "UpdateContainer",
Handler: _AgentService_UpdateContainer_Handler,
},
{
MethodName: "WriteStdin",
Handler: _AgentService_WriteStdin_Handler,
@ -2066,6 +2125,40 @@ func (m *ListProcessesResponse) MarshalTo(dAtA []byte) (int, error) {
return i, nil
}
func (m *UpdateContainerRequest) 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 *UpdateContainerRequest) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.ContainerId) > 0 {
dAtA[i] = 0xa
i++
i = encodeVarintAgent(dAtA, i, uint64(len(m.ContainerId)))
i += copy(dAtA[i:], m.ContainerId)
}
if m.Resources != nil {
dAtA[i] = 0x12
i++
i = encodeVarintAgent(dAtA, i, uint64(m.Resources.Size()))
n5, err := m.Resources.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n5
}
return i, nil
}
func (m *WriteStreamRequest) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -2517,11 +2610,11 @@ func (m *UpdateInterfaceRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintAgent(dAtA, i, uint64(m.Interface.Size()))
n5, err := m.Interface.MarshalTo(dAtA[i:])
n6, err := m.Interface.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n5
i += n6
}
return i, nil
}
@ -2545,11 +2638,11 @@ func (m *AddInterfaceRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintAgent(dAtA, i, uint64(m.Interface.Size()))
n6, err := m.Interface.MarshalTo(dAtA[i:])
n7, err := m.Interface.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n6
i += n7
}
return i, nil
}
@ -2573,11 +2666,11 @@ func (m *RemoveInterfaceRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintAgent(dAtA, i, uint64(m.Interface.Size()))
n7, err := m.Interface.MarshalTo(dAtA[i:])
n8, err := m.Interface.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n7
i += n8
}
return i, nil
}
@ -2601,11 +2694,11 @@ func (m *UpdateRoutesRequest) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintAgent(dAtA, i, uint64(m.Routes.Size()))
n8, err := m.Routes.MarshalTo(dAtA[i:])
n9, err := m.Routes.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n8
i += n9
}
return i, nil
}
@ -2975,6 +3068,20 @@ func (m *ListProcessesResponse) Size() (n int) {
return n
}
func (m *UpdateContainerRequest) Size() (n int) {
var l int
_ = l
l = len(m.ContainerId)
if l > 0 {
n += 1 + l + sovAgent(uint64(l))
}
if m.Resources != nil {
l = m.Resources.Size()
n += 1 + l + sovAgent(uint64(l))
}
return n
}
func (m *WriteStreamRequest) Size() (n int) {
var l int
_ = l
@ -4431,6 +4538,118 @@ func (m *ListProcessesResponse) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *UpdateContainerRequest) 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 ErrIntOverflowAgent
}
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: UpdateContainerRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: UpdateContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ContainerId", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowAgent
}
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 ErrInvalidLengthAgent
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.ContainerId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowAgent
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthAgent
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Resources == nil {
m.Resources = &LinuxResources{}
}
if err := m.Resources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipAgent(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthAgent
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *WriteStreamRequest) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@ -6975,91 +7194,93 @@ var (
func init() { proto.RegisterFile("agent.proto", fileDescriptorAgent) }
var fileDescriptorAgent = []byte{
// 1367 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0x5f, 0x6f, 0x1b, 0xc5,
0x16, 0xbf, 0x1b, 0x3b, 0x4e, 0x7c, 0x6c, 0x27, 0xe9, 0x24, 0x4d, 0xf6, 0xba, 0x55, 0x6f, 0xba,
0xf7, 0xde, 0x36, 0x20, 0x35, 0x15, 0x01, 0x81, 0x54, 0x84, 0x4a, 0xea, 0x96, 0x10, 0x09, 0x14,
0x6b, 0x4c, 0x54, 0xde, 0xac, 0xc9, 0xee, 0xc4, 0x59, 0xf0, 0xee, 0x2c, 0x33, 0xb3, 0x49, 0x43,
0xdf, 0x79, 0xe0, 0x99, 0x8f, 0xc1, 0x1b, 0x5f, 0x82, 0x47, 0x3e, 0x02, 0xea, 0xa7, 0xe0, 0x11,
0xcd, 0xbf, 0xb5, 0xd7, 0x59, 0x17, 0xd1, 0x46, 0xe2, 0x69, 0xe7, 0x9c, 0x33, 0x7b, 0xce, 0x6f,
0xce, 0x9c, 0x39, 0xe7, 0x07, 0x2d, 0x32, 0xa2, 0xa9, 0xdc, 0xcd, 0x38, 0x93, 0x0c, 0xd5, 0x47,
0x3c, 0x0b, 0xbb, 0x4d, 0x16, 0xc6, 0x46, 0xd1, 0xbd, 0x35, 0x62, 0x6c, 0x34, 0xa6, 0x0f, 0xb5,
0x74, 0x92, 0x9f, 0x3e, 0xa4, 0x49, 0x26, 0x2f, 0x8d, 0x31, 0xf8, 0xc3, 0x83, 0xcd, 0x1e, 0xa7,
0x44, 0xd2, 0x1e, 0x4b, 0x25, 0x89, 0x53, 0xca, 0x31, 0xfd, 0x2e, 0xa7, 0x42, 0xa2, 0xbb, 0xd0,
0x0e, 0x9d, 0x6e, 0x18, 0x47, 0xbe, 0xb7, 0xed, 0xed, 0x34, 0x71, 0xab, 0xd0, 0x1d, 0x46, 0x68,
0x0b, 0x96, 0xe8, 0x0b, 0x1a, 0x2a, 0xeb, 0x82, 0xb6, 0x36, 0x94, 0x78, 0x18, 0xa1, 0xf7, 0xa0,
0x25, 0x24, 0x8f, 0xd3, 0xd1, 0x30, 0x17, 0x94, 0xfb, 0xb5, 0x6d, 0x6f, 0xa7, 0xb5, 0xb7, 0xb6,
0xab, 0xa0, 0xed, 0x0e, 0xb4, 0xe1, 0x58, 0x50, 0x8e, 0x41, 0x14, 0x6b, 0x74, 0x0f, 0x96, 0x22,
0x7a, 0x1e, 0x87, 0x54, 0xf8, 0xf5, 0xed, 0xda, 0x4e, 0x6b, 0xaf, 0x6d, 0xb6, 0x3f, 0xd5, 0x4a,
0xec, 0x8c, 0xe8, 0x1d, 0x58, 0x16, 0x92, 0x71, 0x32, 0xa2, 0xc2, 0x5f, 0xd4, 0x1b, 0x3b, 0xce,
0xaf, 0xd6, 0xe2, 0xc2, 0x8c, 0x6e, 0x43, 0xed, 0xa8, 0x77, 0xe8, 0x37, 0x74, 0x74, 0xb0, 0xbb,
0x32, 0x1a, 0x62, 0xa5, 0x0e, 0x1e, 0xc1, 0xcd, 0x81, 0x24, 0x5c, 0xbe, 0xc1, 0xc1, 0x83, 0x63,
0xd8, 0xc4, 0x34, 0x61, 0xe7, 0x6f, 0x94, 0x35, 0x1f, 0x96, 0x64, 0x9c, 0x50, 0x96, 0x4b, 0x9d,
0xb5, 0x0e, 0x76, 0x62, 0xf0, 0xb3, 0x07, 0xe8, 0xd9, 0x0b, 0x1a, 0xf6, 0x39, 0x0b, 0xa9, 0x10,
0xff, 0xd0, 0x4d, 0xdc, 0x87, 0xa5, 0xcc, 0x00, 0xf0, 0xeb, 0x7a, 0xbb, 0x4d, 0xb0, 0x43, 0xe5,
0xac, 0xc1, 0x37, 0xb0, 0x31, 0x88, 0x47, 0x29, 0x19, 0x5f, 0x23, 0xde, 0x4d, 0x68, 0x08, 0xed,
0x53, 0x43, 0xed, 0x60, 0x2b, 0x05, 0x7d, 0x40, 0xcf, 0x49, 0x2c, 0xaf, 0x2f, 0x52, 0xf0, 0x00,
0xd6, 0x4b, 0x1e, 0x45, 0xc6, 0x52, 0x41, 0x35, 0x00, 0x49, 0x64, 0x2e, 0xb4, 0xb3, 0x45, 0x6c,
0xa5, 0x80, 0xc2, 0xc6, 0x17, 0xb1, 0x70, 0xdb, 0xe9, 0xdf, 0x81, 0xb0, 0x09, 0x8d, 0x53, 0xc6,
0x13, 0x22, 0x1d, 0x02, 0x23, 0x21, 0x04, 0x75, 0xc2, 0x47, 0xc2, 0xaf, 0x6d, 0xd7, 0x76, 0x9a,
0x58, 0xaf, 0x55, 0x55, 0xce, 0x84, 0xb1, 0xb8, 0xee, 0x42, 0xdb, 0xe6, 0x7d, 0x38, 0x8e, 0x85,
0xd4, 0x71, 0xda, 0xb8, 0x65, 0x75, 0xea, 0x9f, 0x20, 0x02, 0xf4, 0x9c, 0xc7, 0x92, 0x0e, 0x24,
0xa7, 0x24, 0xb9, 0x8e, 0xdb, 0x40, 0x50, 0x8f, 0x88, 0x24, 0xfa, 0x2e, 0xda, 0x58, 0xaf, 0x83,
0xfb, 0xb0, 0x5e, 0x8a, 0x62, 0xf1, 0xad, 0x41, 0x6d, 0x4c, 0x53, 0xed, 0xbd, 0x83, 0xd5, 0x32,
0x20, 0x70, 0x03, 0x53, 0x12, 0x5d, 0x1f, 0x1a, 0x1b, 0xa2, 0x36, 0x09, 0xb1, 0x03, 0x68, 0x3a,
0x84, 0x85, 0xe2, 0x50, 0x7b, 0x53, 0xa8, 0x8f, 0xe0, 0x46, 0x6f, 0xcc, 0x04, 0x1d, 0xc8, 0x28,
0x4e, 0xaf, 0xa3, 0x7c, 0x5e, 0xc2, 0xfa, 0x57, 0xf2, 0xf2, 0xb9, 0x72, 0x26, 0xe2, 0xef, 0xe9,
0x35, 0x9d, 0x8f, 0xb3, 0x0b, 0x77, 0x3e, 0xce, 0x2e, 0x54, 0xe5, 0x84, 0x6c, 0x9c, 0x27, 0xa9,
0x7e, 0x89, 0x1d, 0x6c, 0xa5, 0xe0, 0x27, 0x0f, 0x36, 0x4c, 0xdb, 0x1e, 0x90, 0x34, 0x3a, 0x61,
0x2f, 0x5c, 0xf8, 0x2e, 0x2c, 0x9f, 0x31, 0x21, 0x53, 0x92, 0x50, 0x1b, 0xba, 0x90, 0x95, 0xfb,
0x28, 0x15, 0xfe, 0x82, 0xae, 0x36, 0xb5, 0x2c, 0xf5, 0xd2, 0xda, 0xeb, 0x7b, 0xe9, 0x7f, 0xa1,
0x23, 0x4c, 0xa8, 0x61, 0x16, 0x2b, 0x37, 0x0a, 0xd0, 0x32, 0x6e, 0x5b, 0x65, 0x5f, 0xe9, 0x82,
0x2d, 0xb8, 0xf9, 0x94, 0x0a, 0xc9, 0xd9, 0x65, 0x19, 0x56, 0x40, 0xa0, 0x79, 0xd8, 0xdf, 0x8f,
0x22, 0x4e, 0x85, 0x40, 0xf7, 0xa0, 0x71, 0x4a, 0x92, 0x78, 0x7c, 0xa9, 0x11, 0xae, 0xec, 0xad,
0x98, 0x98, 0x87, 0xfd, 0xcf, 0xb4, 0x16, 0x5b, 0xab, 0xea, 0x93, 0xc4, 0xfc, 0x62, 0xf3, 0xe4,
0x44, 0x75, 0xc1, 0x09, 0x11, 0xdf, 0xea, 0x4c, 0x35, 0xb1, 0x5e, 0xab, 0x94, 0x34, 0x0f, 0x53,
0x49, 0xf9, 0x29, 0x09, 0xf5, 0x2b, 0x36, 0x03, 0xc3, 0x66, 0xc1, 0x4a, 0xea, 0x4f, 0x9d, 0x1b,
0xe3, 0x50, 0xaf, 0x55, 0x8b, 0x2c, 0xc0, 0x15, 0x89, 0x58, 0x75, 0xa0, 0xac, 0x01, 0x4f, 0xef,
0x51, 0xa9, 0x4c, 0x64, 0xae, 0x73, 0x50, 0xc7, 0x6a, 0xa9, 0x02, 0x9e, 0x5d, 0xa8, 0x0d, 0xfe,
0xa2, 0x09, 0x68, 0xa4, 0xe0, 0x25, 0x2c, 0x62, 0x96, 0x4b, 0x53, 0x94, 0xd4, 0xbe, 0xdb, 0x26,
0xd6, 0x6b, 0x75, 0xc2, 0x11, 0x91, 0xf4, 0x82, 0x5c, 0xba, 0x13, 0x5a, 0x71, 0x0a, 0x7f, 0xad,
0x84, 0x5f, 0x75, 0x27, 0x96, 0xf3, 0x90, 0xea, 0xd8, 0x4d, 0x6c, 0x25, 0xb4, 0x01, 0x8b, 0x22,
0x64, 0x19, 0xd5, 0xd1, 0x3b, 0xd8, 0x08, 0xc1, 0x03, 0x68, 0xe8, 0xe0, 0xea, 0xfa, 0xec, 0xca,
0xf7, 0xf4, 0xf1, 0x5a, 0xe6, 0x78, 0x5a, 0x87, 0xad, 0x29, 0x38, 0x80, 0xcd, 0xe3, 0x2c, 0x22,
0x92, 0x16, 0x79, 0x74, 0x65, 0xf5, 0x00, 0x9a, 0xb1, 0xd3, 0xe9, 0x13, 0x4c, 0x12, 0x54, 0x6c,
0x9d, 0xec, 0x08, 0x9e, 0xc2, 0xfa, 0x7e, 0x14, 0xbd, 0xad, 0x97, 0x03, 0x37, 0x64, 0xdf, 0xd6,
0xd1, 0xc7, 0xb0, 0x6e, 0xce, 0x65, 0xce, 0xe9, 0xbc, 0xfc, 0x0f, 0x1a, 0xdc, 0xe5, 0xc4, 0x9b,
0x10, 0x0e, 0xbb, 0xc9, 0xda, 0x82, 0x27, 0xb0, 0x7e, 0x94, 0x8e, 0xe3, 0x94, 0xf6, 0xfa, 0xc7,
0x5f, 0xd2, 0xa2, 0x8f, 0x21, 0xa8, 0x5f, 0x90, 0xd8, 0x5c, 0xe7, 0x32, 0xd6, 0x6b, 0xf5, 0xb0,
0xd3, 0x93, 0x61, 0x98, 0xe5, 0xc2, 0x0e, 0xf6, 0x46, 0x7a, 0xd2, 0xcb, 0x72, 0x11, 0xfc, 0xe2,
0xc1, 0x92, 0x7d, 0x52, 0xfa, 0x66, 0x79, 0x7c, 0x4e, 0x79, 0x51, 0x99, 0x5a, 0x42, 0xff, 0x87,
0x15, 0xb3, 0x1a, 0xb2, 0x4c, 0xc6, 0xac, 0x78, 0xa8, 0x1d, 0xa3, 0x3d, 0x32, 0xca, 0xa9, 0x02,
0xa8, 0x95, 0x0a, 0x40, 0xcd, 0x18, 0x21, 0x2f, 0xb3, 0xa2, 0x30, 0x8c, 0xa4, 0x4a, 0xcc, 0xf9,
0x5b, 0xd4, 0xfe, 0x9c, 0x88, 0xfe, 0x03, 0xad, 0x84, 0xe5, 0xa9, 0x1c, 0x66, 0x2c, 0x4e, 0xa5,
0x66, 0x49, 0x4d, 0x0c, 0x5a, 0xd5, 0x57, 0x9a, 0xe0, 0x07, 0x0f, 0x1a, 0x86, 0x7d, 0xa1, 0x15,
0x58, 0x28, 0x7a, 0xd9, 0x42, 0xac, 0xe7, 0x82, 0x8e, 0x65, 0x9f, 0x91, 0x8e, 0xb4, 0x05, 0x4b,
0xe7, 0xc9, 0x30, 0x23, 0xf2, 0xcc, 0x41, 0x3b, 0x4f, 0xfa, 0x44, 0x9e, 0xa9, 0x93, 0x4d, 0x5a,
0xa2, 0xb6, 0x1b, 0x88, 0x9d, 0x42, 0xab, 0xb7, 0xcd, 0x45, 0x1a, 0x7c, 0x0d, 0x30, 0xa1, 0x2a,
0xea, 0xed, 0xe5, 0x05, 0x18, 0xb5, 0x54, 0x9a, 0x51, 0xd1, 0x4c, 0xd5, 0x12, 0xdd, 0x83, 0x15,
0x12, 0x45, 0xb1, 0xfa, 0x9d, 0x8c, 0x0f, 0xe2, 0xc8, 0xcd, 0xd8, 0x19, 0xed, 0xbb, 0x5d, 0x58,
0x76, 0x6d, 0x07, 0x35, 0x60, 0xe1, 0xfc, 0x83, 0xb5, 0x7f, 0xe9, 0xef, 0x87, 0x6b, 0xde, 0xde,
0x8f, 0x00, 0xed, 0x7d, 0x45, 0xac, 0x07, 0x94, 0xeb, 0x24, 0x1c, 0xc0, 0xea, 0x0c, 0x55, 0x46,
0xb7, 0x4d, 0xc9, 0x54, 0x33, 0xe8, 0xee, 0xe6, 0xae, 0xa1, 0xde, 0xbb, 0x8e, 0x7a, 0xef, 0x3e,
0x53, 0xd4, 0x1b, 0x3d, 0x83, 0x95, 0x32, 0xf3, 0x44, 0xb7, 0x5c, 0xdb, 0xad, 0xe0, 0xa3, 0x73,
0xdd, 0x1c, 0xc0, 0xea, 0x0c, 0x09, 0x75, 0x78, 0xaa, 0xb9, 0xe9, 0x5c, 0x47, 0x8f, 0xa1, 0x35,
0xc5, 0x3a, 0x91, 0x6f, 0x9c, 0x5c, 0x25, 0xa2, 0x73, 0x1d, 0xf4, 0xa0, 0x53, 0x22, 0x82, 0xa8,
0x6b, 0xcf, 0x53, 0xc1, 0x0e, 0xe7, 0x3a, 0x79, 0x02, 0xad, 0x29, 0x3e, 0xe6, 0x50, 0x5c, 0x25,
0x7d, 0xdd, 0x7f, 0x57, 0x58, 0xec, 0xe4, 0xff, 0x1c, 0x3a, 0x25, 0xf6, 0xe4, 0x80, 0x54, 0x31,
0xb7, 0xee, 0xad, 0x4a, 0x9b, 0xf5, 0xb4, 0x0f, 0x60, 0x59, 0x4e, 0x14, 0xa7, 0x05, 0x98, 0x2b,
0xec, 0xaa, 0x00, 0x53, 0xc1, 0x88, 0x1e, 0x03, 0x18, 0x72, 0x12, 0xb1, 0x5c, 0xa2, 0x2d, 0x77,
0x35, 0x33, 0x8c, 0xa8, 0xeb, 0x5f, 0x35, 0x5c, 0x71, 0x40, 0x39, 0x7f, 0x13, 0x07, 0x9f, 0x00,
0x4c, 0x48, 0x8f, 0x73, 0x70, 0x85, 0x06, 0xcd, 0xbd, 0x91, 0x7d, 0x68, 0x4f, 0x53, 0x1c, 0x64,
0xcf, 0x5a, 0x41, 0x7b, 0xe6, 0xba, 0x78, 0x04, 0xed, 0xe9, 0x49, 0xe0, 0x5c, 0x54, 0x4c, 0x87,
0xee, 0x6c, 0x07, 0x47, 0x9f, 0xc2, 0xea, 0xcc, 0x38, 0x72, 0xf5, 0x5d, 0x3d, 0xa5, 0x2a, 0x3d,
0xcc, 0x4c, 0x90, 0xf2, 0x0b, 0xf9, 0x6b, 0x0f, 0x1f, 0x41, 0x7b, 0x7a, 0x74, 0x38, 0xfc, 0x15,
0xe3, 0xa4, 0x5b, 0x1a, 0x1f, 0xea, 0x49, 0x94, 0x08, 0x9a, 0xab, 0xc4, 0x2a, 0xd6, 0xf6, 0xba,
0x46, 0x51, 0xe6, 0x53, 0xae, 0x51, 0x54, 0xb2, 0xac, 0xd7, 0xdd, 0xe3, 0xf4, 0x08, 0x73, 0x87,
0xa8, 0x18, 0x6b, 0xf3, 0x5c, 0x3c, 0x69, 0xff, 0xfa, 0xea, 0x8e, 0xf7, 0xdb, 0xab, 0x3b, 0xde,
0xef, 0xaf, 0xee, 0x78, 0x27, 0x0d, 0x6d, 0x7d, 0xff, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x42,
0x3f, 0x03, 0x5f, 0x79, 0x10, 0x00, 0x00,
// 1403 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xdd, 0x6e, 0x1b, 0xb7,
0x12, 0x3e, 0x6b, 0xc9, 0xb2, 0x35, 0x92, 0x6c, 0x87, 0x76, 0x6c, 0x1d, 0x25, 0xc8, 0x71, 0xf6,
0x9c, 0x93, 0xb8, 0x05, 0xe2, 0xa0, 0x6e, 0xd1, 0x02, 0x29, 0x8a, 0xd4, 0x51, 0x52, 0xd7, 0x40,
0x0a, 0x0b, 0x54, 0x8d, 0xf4, 0x4e, 0xa0, 0xb5, 0xb4, 0xcc, 0x56, 0x5a, 0x6e, 0x49, 0xae, 0x7f,
0x9a, 0xfb, 0x3e, 0x41, 0x1f, 0xa3, 0x77, 0x7d, 0x89, 0x5e, 0x16, 0xe8, 0x0b, 0x14, 0x79, 0x8a,
0x5e, 0x16, 0xfc, 0x5b, 0x69, 0xe5, 0x95, 0xdb, 0x3a, 0x06, 0x7a, 0xb5, 0x9c, 0x19, 0xee, 0xcc,
0x37, 0x43, 0x72, 0xe6, 0x83, 0x1a, 0x19, 0xd0, 0x58, 0x6d, 0x27, 0x82, 0x2b, 0x8e, 0xca, 0x03,
0x91, 0xf4, 0x5b, 0x55, 0xde, 0x67, 0x56, 0xd1, 0xba, 0x33, 0xe0, 0x7c, 0x30, 0xa4, 0x8f, 0x8d,
0x74, 0x94, 0x1e, 0x3f, 0xa6, 0xa3, 0x44, 0x5d, 0x58, 0x63, 0xf8, 0x7b, 0x00, 0xeb, 0x6d, 0x41,
0x89, 0xa2, 0x6d, 0x1e, 0x2b, 0xc2, 0x62, 0x2a, 0x30, 0xfd, 0x36, 0xa5, 0x52, 0xa1, 0xfb, 0x50,
0xef, 0x7b, 0x5d, 0x8f, 0x45, 0xcd, 0x60, 0x33, 0xd8, 0xaa, 0xe2, 0x5a, 0xa6, 0xdb, 0x8f, 0xd0,
0x06, 0x2c, 0xd0, 0x73, 0xda, 0xd7, 0xd6, 0x39, 0x63, 0xad, 0x68, 0x71, 0x3f, 0x42, 0xef, 0x41,
0x4d, 0x2a, 0xc1, 0xe2, 0x41, 0x2f, 0x95, 0x54, 0x34, 0x4b, 0x9b, 0xc1, 0x56, 0x6d, 0x67, 0x65,
0x5b, 0x43, 0xdb, 0xee, 0x1a, 0xc3, 0xa1, 0xa4, 0x02, 0x83, 0xcc, 0xd6, 0xe8, 0x01, 0x2c, 0x44,
0xf4, 0x94, 0xf5, 0xa9, 0x6c, 0x96, 0x37, 0x4b, 0x5b, 0xb5, 0x9d, 0xba, 0xdd, 0xfe, 0xdc, 0x28,
0xb1, 0x37, 0xa2, 0x77, 0x60, 0x51, 0x2a, 0x2e, 0xc8, 0x80, 0xca, 0xe6, 0xbc, 0xd9, 0xd8, 0xf0,
0x7e, 0x8d, 0x16, 0x67, 0x66, 0x74, 0x17, 0x4a, 0x07, 0xed, 0xfd, 0x66, 0xc5, 0x44, 0x07, 0xb7,
0x2b, 0xa1, 0x7d, 0xac, 0xd5, 0xe1, 0x13, 0xb8, 0xdd, 0x55, 0x44, 0xa8, 0x6b, 0x24, 0x1e, 0x1e,
0xc2, 0x3a, 0xa6, 0x23, 0x7e, 0x7a, 0xad, 0xaa, 0x35, 0x61, 0x41, 0xb1, 0x11, 0xe5, 0xa9, 0x32,
0x55, 0x6b, 0x60, 0x2f, 0x86, 0x3f, 0x06, 0x80, 0x5e, 0x9c, 0xd3, 0x7e, 0x47, 0xf0, 0x3e, 0x95,
0xf2, 0x1f, 0x3a, 0x89, 0x87, 0xb0, 0x90, 0x58, 0x00, 0xcd, 0xb2, 0xd9, 0xee, 0x0a, 0xec, 0x51,
0x79, 0x6b, 0xf8, 0x35, 0xac, 0x75, 0xd9, 0x20, 0x26, 0xc3, 0x1b, 0xc4, 0xbb, 0x0e, 0x15, 0x69,
0x7c, 0x1a, 0xa8, 0x0d, 0xec, 0xa4, 0xb0, 0x03, 0xe8, 0x15, 0x61, 0xea, 0xe6, 0x22, 0x85, 0x8f,
0x60, 0x35, 0xe7, 0x51, 0x26, 0x3c, 0x96, 0xd4, 0x00, 0x50, 0x44, 0xa5, 0xd2, 0x38, 0x9b, 0xc7,
0x4e, 0x0a, 0x29, 0xac, 0xbd, 0x64, 0xd2, 0x6f, 0xa7, 0x7f, 0x07, 0xc2, 0x3a, 0x54, 0x8e, 0xb9,
0x18, 0x11, 0xe5, 0x11, 0x58, 0x09, 0x21, 0x28, 0x13, 0x31, 0x90, 0xcd, 0xd2, 0x66, 0x69, 0xab,
0x8a, 0xcd, 0x5a, 0xdf, 0xca, 0xa9, 0x30, 0x0e, 0xd7, 0x7d, 0xa8, 0xbb, 0xba, 0xf7, 0x86, 0x4c,
0x2a, 0x13, 0xa7, 0x8e, 0x6b, 0x4e, 0xa7, 0xff, 0x09, 0x39, 0xac, 0x1f, 0x26, 0xd1, 0x35, 0xdf,
0xf2, 0x0e, 0x54, 0x05, 0x95, 0x3c, 0x15, 0xfa, 0x05, 0xce, 0x99, 0x73, 0x5f, 0xb3, 0xe7, 0xfe,
0x92, 0xc5, 0xe9, 0x39, 0xf6, 0x36, 0x3c, 0xde, 0x16, 0x46, 0x80, 0x5e, 0x09, 0xa6, 0x68, 0x57,
0x09, 0x4a, 0x46, 0x37, 0x71, 0xfc, 0x08, 0xca, 0x11, 0x51, 0xc4, 0x1c, 0x7e, 0x1d, 0x9b, 0x75,
0xf8, 0x10, 0x56, 0x73, 0x51, 0x5c, 0x41, 0x56, 0xa0, 0x34, 0xa4, 0xb1, 0xf1, 0xde, 0xc0, 0x7a,
0x19, 0x12, 0xb8, 0x85, 0x29, 0x89, 0x6e, 0x0e, 0x8d, 0x0b, 0x51, 0x1a, 0x87, 0xd8, 0x02, 0x34,
0x19, 0xc2, 0x41, 0xf1, 0xa8, 0x83, 0x09, 0xd4, 0x07, 0x70, 0xab, 0x3d, 0xe4, 0x92, 0x76, 0x55,
0xc4, 0xe2, 0x9b, 0xb8, 0xaf, 0xaf, 0x61, 0xf5, 0x4b, 0x75, 0xf1, 0x4a, 0x3b, 0x93, 0xec, 0x3b,
0x7a, 0x43, 0xf9, 0x09, 0x7e, 0xe6, 0xf3, 0x13, 0xfc, 0x4c, 0x5f, 0xd5, 0x3e, 0x1f, 0xa6, 0xa3,
0xd8, 0x3c, 0xfd, 0x06, 0x76, 0x52, 0xf8, 0x43, 0x00, 0x6b, 0x76, 0x4e, 0x74, 0x49, 0x1c, 0x1d,
0xf1, 0x73, 0x1f, 0xbe, 0x05, 0x8b, 0x27, 0x5c, 0xaa, 0x98, 0x8c, 0xa8, 0x0b, 0x9d, 0xc9, 0xda,
0x7d, 0x14, 0xeb, 0xcb, 0xa4, 0xaf, 0xb7, 0x5e, 0xe6, 0x9a, 0x77, 0xe9, 0xea, 0xe6, 0xfd, 0x5f,
0x68, 0x48, 0x1b, 0xaa, 0x97, 0x30, 0xed, 0x46, 0x03, 0x5a, 0xc4, 0x75, 0xa7, 0xec, 0x68, 0x5d,
0xb8, 0x01, 0xb7, 0x9f, 0x53, 0xa9, 0x04, 0xbf, 0xc8, 0xc3, 0x0a, 0x09, 0x54, 0xf7, 0x3b, 0xbb,
0x51, 0x24, 0xa8, 0x94, 0xe8, 0x01, 0x54, 0x8e, 0xc9, 0x88, 0x0d, 0x2f, 0x0c, 0xc2, 0xa5, 0x9d,
0x25, 0x1b, 0x73, 0xbf, 0xf3, 0x99, 0xd1, 0x62, 0x67, 0xd5, 0x8d, 0x99, 0xd8, 0x5f, 0x5c, 0x9d,
0xbc, 0xa8, 0x0f, 0x78, 0x44, 0xe4, 0x37, 0xa6, 0x52, 0x55, 0x6c, 0xd6, 0xba, 0x24, 0xd5, 0xfd,
0x58, 0x51, 0x71, 0x4c, 0xfa, 0xa6, 0x6d, 0xd8, 0x09, 0xe5, 0xaa, 0xe0, 0x24, 0xfd, 0xa7, 0xa9,
0x8d, 0x75, 0x68, 0xd6, 0xba, 0x27, 0x67, 0xe0, 0xb2, 0x42, 0x2c, 0x7b, 0x50, 0xce, 0x80, 0x27,
0xf7, 0xe8, 0x52, 0x8e, 0x54, 0x6a, 0x6a, 0x50, 0xc6, 0x7a, 0xa9, 0x03, 0x9e, 0x9c, 0xe9, 0x0d,
0xcd, 0x79, 0x1b, 0xd0, 0x4a, 0xe1, 0x6b, 0x98, 0xc7, 0x3c, 0x55, 0xf6, 0x52, 0x52, 0xd7, 0x28,
0xaa, 0xd8, 0xac, 0x75, 0x86, 0x03, 0xa2, 0xe8, 0x19, 0xb9, 0xf0, 0x19, 0x3a, 0x71, 0x02, 0x7f,
0x29, 0x87, 0x5f, 0xb7, 0x43, 0xf3, 0xda, 0x4d, 0xec, 0x2a, 0x76, 0x12, 0x5a, 0x83, 0x79, 0xd9,
0xe7, 0x09, 0x35, 0xd1, 0x1b, 0xd8, 0x0a, 0xe1, 0x23, 0xa8, 0x98, 0xe0, 0xfa, 0xf8, 0xdc, 0xaa,
0x19, 0x98, 0xf4, 0x6a, 0x36, 0x3d, 0xa3, 0xc3, 0xce, 0x14, 0xee, 0xf9, 0x86, 0x95, 0xd5, 0xd1,
0x5f, 0xab, 0x47, 0x50, 0x65, 0x5e, 0x67, 0x32, 0x18, 0x17, 0x28, 0xdb, 0x3a, 0xde, 0x11, 0x3e,
0x87, 0xd5, 0xdd, 0x28, 0x7a, 0x5b, 0x2f, 0x7b, 0x7e, 0xaa, 0xbf, 0xad, 0xa3, 0x8f, 0x61, 0xd5,
0xe6, 0x65, 0xf3, 0xf4, 0x5e, 0xfe, 0x07, 0x15, 0xe1, 0x6b, 0x12, 0x8c, 0x19, 0x8e, 0xdb, 0xe4,
0x6c, 0xe1, 0x33, 0x58, 0x3d, 0x88, 0x87, 0x2c, 0xa6, 0xed, 0xce, 0xe1, 0x17, 0x34, 0xeb, 0x63,
0x08, 0xca, 0x67, 0x84, 0xd9, 0xe3, 0x5c, 0xc4, 0x66, 0xad, 0x1f, 0x76, 0x7c, 0xd4, 0xeb, 0x27,
0xa9, 0x74, 0x4c, 0xa2, 0x12, 0x1f, 0xb5, 0x93, 0x54, 0x86, 0x3f, 0x05, 0xb0, 0xe0, 0x9e, 0x94,
0x39, 0x59, 0xc1, 0x4e, 0xa9, 0xc8, 0x6e, 0xa6, 0x91, 0xd0, 0xff, 0x61, 0xc9, 0xae, 0x7a, 0x3c,
0x51, 0x8c, 0x67, 0x0f, 0xb5, 0x61, 0xb5, 0x07, 0x56, 0x39, 0x71, 0x01, 0x4a, 0xb9, 0x0b, 0xa0,
0x87, 0x9a, 0x54, 0x17, 0x49, 0x76, 0x31, 0xac, 0xa4, 0xaf, 0x98, 0xf7, 0x37, 0x6f, 0xfc, 0x79,
0x11, 0xfd, 0x07, 0x6a, 0x23, 0x9e, 0xc6, 0xaa, 0x97, 0x70, 0x16, 0x2b, 0x43, 0xcb, 0xaa, 0x18,
0x8c, 0xaa, 0xa3, 0x35, 0xe1, 0xf7, 0x01, 0x54, 0x2c, 0xdd, 0x43, 0x4b, 0x30, 0x97, 0xf5, 0xb2,
0x39, 0x66, 0xe6, 0x82, 0x89, 0xe5, 0x9e, 0x91, 0x89, 0xb4, 0x01, 0x0b, 0xa7, 0xa3, 0x5e, 0x42,
0xd4, 0x89, 0x87, 0x76, 0x3a, 0xea, 0x10, 0x75, 0xa2, 0x33, 0x1b, 0xb7, 0x44, 0x63, 0xb7, 0x10,
0x1b, 0x99, 0xd6, 0x6c, 0x9b, 0x89, 0x34, 0xfc, 0x0a, 0x60, 0xcc, 0x8d, 0xf4, 0xdb, 0x4b, 0x33,
0x30, 0x7a, 0xa9, 0x35, 0x83, 0xac, 0x99, 0xea, 0x25, 0x7a, 0x00, 0x4b, 0x24, 0x8a, 0x98, 0xfe,
0x9d, 0x0c, 0xf7, 0x58, 0xe4, 0x87, 0xfa, 0x94, 0xf6, 0xdd, 0x16, 0x2c, 0xfa, 0xb6, 0x83, 0x2a,
0x30, 0x77, 0xfa, 0xc1, 0xca, 0xbf, 0xcc, 0xf7, 0xc3, 0x95, 0x60, 0xe7, 0x57, 0x80, 0xfa, 0xae,
0x66, 0xf2, 0x5d, 0x2a, 0x4c, 0x11, 0xf6, 0x60, 0x79, 0x8a, 0x9b, 0xa3, 0xbb, 0xf6, 0xca, 0x14,
0x53, 0xf6, 0xd6, 0xfa, 0xb6, 0xe5, 0xfa, 0xdb, 0x9e, 0xeb, 0x6f, 0xbf, 0xd0, 0x5c, 0x1f, 0xbd,
0x80, 0xa5, 0x3c, 0xd5, 0x45, 0x77, 0x7c, 0xdb, 0x2d, 0x20, 0xc0, 0x33, 0xdd, 0xec, 0xc1, 0xf2,
0x14, 0xeb, 0xf5, 0x78, 0x8a, 0xc9, 0xf0, 0x4c, 0x47, 0x4f, 0xa1, 0x36, 0x41, 0x73, 0x51, 0xd3,
0x3a, 0xb9, 0xcc, 0x7c, 0x67, 0x3a, 0x68, 0x43, 0x23, 0xc7, 0x3c, 0x51, 0xcb, 0xe5, 0x53, 0x40,
0x47, 0x67, 0x3a, 0x79, 0x06, 0xb5, 0x09, 0x02, 0xe8, 0x51, 0x5c, 0x66, 0x99, 0xad, 0x7f, 0x17,
0x58, 0xdc, 0xe4, 0xff, 0x1c, 0x1a, 0x39, 0xba, 0xe6, 0x81, 0x14, 0x51, 0xc5, 0xd6, 0x9d, 0x42,
0x9b, 0xf3, 0xb4, 0x07, 0xcb, 0x53, 0xe4, 0xcd, 0x17, 0xb7, 0x98, 0xd3, 0xcd, 0x4c, 0x6b, 0x17,
0xc0, 0xd1, 0xa5, 0x88, 0xc5, 0x59, 0x56, 0x97, 0x68, 0x5a, 0x96, 0x55, 0x01, 0xb5, 0x7a, 0x0a,
0x60, 0x59, 0x4e, 0xc4, 0x53, 0x85, 0x36, 0xfc, 0x19, 0x4f, 0x51, 0xab, 0x56, 0xf3, 0xb2, 0xe1,
0x92, 0x03, 0x2a, 0xc4, 0x75, 0x1c, 0x7c, 0x02, 0x30, 0x66, 0x4f, 0xde, 0xc1, 0x25, 0x3e, 0x75,
0x45, 0x0d, 0xea, 0x93, 0x5c, 0x09, 0xb9, 0x5c, 0x0b, 0xf8, 0xd3, 0x4c, 0x17, 0x4f, 0xa0, 0x3e,
0x39, 0x52, 0xbc, 0x8b, 0x82, 0x31, 0xd3, 0x9a, 0x1e, 0x05, 0xe8, 0x53, 0x7f, 0x96, 0x63, 0x55,
0xee, 0x2c, 0xff, 0x92, 0x87, 0xa9, 0x51, 0x94, 0x7f, 0x6a, 0x7f, 0xee, 0xe1, 0x23, 0xa8, 0x4f,
0xce, 0x20, 0x8f, 0xbf, 0x60, 0x2e, 0xb5, 0x72, 0x73, 0x48, 0xbf, 0xad, 0x1c, 0xd3, 0xf3, 0x57,
0xba, 0x88, 0xfe, 0x5d, 0xd5, 0x71, 0xf2, 0xc4, 0xcc, 0x77, 0x9c, 0x42, 0xba, 0x76, 0xd5, 0x39,
0x4e, 0xce, 0x42, 0x9f, 0x44, 0xc1, 0x7c, 0x9c, 0xe5, 0xe2, 0x59, 0xfd, 0xe7, 0x37, 0xf7, 0x82,
0x5f, 0xde, 0xdc, 0x0b, 0x7e, 0x7b, 0x73, 0x2f, 0x38, 0xaa, 0x18, 0xeb, 0xfb, 0x7f, 0x04, 0x00,
0x00, 0xff, 0xff, 0xac, 0xf3, 0x61, 0xb8, 0x33, 0x11, 0x00, 0x00,
}

View File

@ -267,3 +267,23 @@ func ProcessGRPCtoOCI(grpcProcess *Process) (*specs.Process, error) {
return s, err
}
// ResourcesOCItoGRPC converts an OCI LinuxResources specification into its gRPC
// representation
func ResourcesOCItoGRPC(ociResources *specs.LinuxResources) (*LinuxResources, error) {
s := &LinuxResources{}
err := copyStruct(s, ociResources)
return s, err
}
// ResourcesGRPCtoOCI converts an gRPC LinuxResources specification into its OCI
// representation
func ResourcesGRPCtoOCI(grpcResources *LinuxResources) (*specs.LinuxResources, error) {
s := &specs.LinuxResources{}
err := copyStruct(s, grpcResources)
return s, err
}