зеркало из https://github.com/microsoft/hcsshim.git
Updated containerd1.7; google.golang.org/protobuf (#1706)
* Update containerd1.7; google.golang.org/protobuf Update to containerd 1.7 and move to `google.golang.org/protobuf` from `github.com/gogo/protobuf/gogoproto`. These two changes are intertwined, since containerd 1.7 changes its ttrpc task server definitions and protobuff generation (as well as some other API changes). Additionally, the task server gRPC code is imported from containerd directly, rather than being generated here, and that code now explicitly imports `google.golang.org/protobuf` instead of `github.com/gogo/protobuf/gogoproto`. Upgrading to `google.golang.org/protobuf` also requires updating the `containerd/cgroups` dependency to v3 (`github.com/containerd/cgroups/v3/cgroup1/stats/`). The new `protoc-gen-go-grpc` generators do not allow directives such as `gogoproto.customname`, so the `go-fix-acronym` command is used to update acronym customization (which is what containerd does). Updated `Protobuild.toml` to specify new generators. Added an `Update-Proto.ps1` script to re-generate protobuf files locally and in GitHub CI. Add `protobuild` and protobuff `grpc` and `ttrpc` generators to `tools.go` so they are tracked and vendored, and can be trivially installed via `go install`. Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com> * Vendor protobuf import changes Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com> --------- Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
This commit is contained in:
Родитель
640a5606a8
Коммит
decae4b80e
|
@ -60,10 +60,12 @@ jobs:
|
|||
GOPATH: '${{ github.workspace }}\go'
|
||||
|
||||
steps:
|
||||
# protobuild requires the code to be in $GOPATH to translate from github.com/Microsoft/hcsshim
|
||||
# to the correct path on disk
|
||||
- name: Checkout hcsshim
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
path: go/src/github.com/Microsoft/hcsshim
|
||||
path: "${{ github.workspace }}/go/src/github.com/Microsoft/hcsshim"
|
||||
|
||||
- name: Install go
|
||||
uses: actions/setup-go@v4
|
||||
|
@ -71,39 +73,6 @@ jobs:
|
|||
go-version: ${{ env.GO_VERSION }}
|
||||
cache-dependency-path: go/src/github.com/Microsoft/hcsshim/go.sum
|
||||
|
||||
- name: Get containerd ref
|
||||
shell: powershell
|
||||
run: |
|
||||
$v = go list -m -f '{{ .Version }}' 'github.com/containerd/containerd' 2>&1
|
||||
if ( $LASTEXITCODE ) {
|
||||
Write-Output '::error::Could not retrieve containerd version.'
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
|
||||
Write-Output "containerd ref is: $v"
|
||||
"containerd_ref=$v" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
working-directory: go/src/github.com/Microsoft/hcsshim
|
||||
|
||||
- name: Checkout containerd
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: containerd/containerd
|
||||
path: "containerd"
|
||||
ref: "${{ env.containerd_ref }}"
|
||||
|
||||
- name: Install protobuild and protoc-gen-gogoctrd
|
||||
shell: powershell
|
||||
run: |
|
||||
# not actually GOBIN
|
||||
$goBin = Join-Path (go env GOPATH) 'bin'
|
||||
mkdir -f $goBin
|
||||
$goBin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
|
||||
go install github.com/containerd/protobuild@v0.2.0
|
||||
|
||||
cd containerd
|
||||
go build -o $goBin ./cmd/protoc-gen-gogoctrd
|
||||
|
||||
- name: Install protoc
|
||||
shell: powershell
|
||||
run: |
|
||||
|
@ -122,25 +91,25 @@ jobs:
|
|||
mkdir -f ${{ github.workspace }}/go/src/github.com/Microsoft/hcsshim/protobuf
|
||||
mv include/* ${{ github.workspace }}/go/src/github.com/Microsoft/hcsshim/protobuf
|
||||
|
||||
# put protoc in GOPATH to make things easier
|
||||
mv bin\protoc.exe (Join-Path (go env GOPATH) 'bin')
|
||||
# put protoc in GOBIN to make things easier
|
||||
$bin = Join-Path (go env GOPATH) 'bin'
|
||||
mkdir -f $bin
|
||||
mv bin\protoc.exe $bin
|
||||
|
||||
$bin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Run Protobuild
|
||||
- name: Run protobuild
|
||||
shell: powershell
|
||||
run: |
|
||||
Write-Output "::group::protobuild"
|
||||
protobuild $(go list ./... | grep -v /vendor/)
|
||||
.\scripts\Update-Proto.ps1
|
||||
Write-Output "::endgroup::"
|
||||
if ( $LASTEXITCODE ) {
|
||||
Write-Output '::error::Failed to run protobuild.'
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
|
||||
Write-Output "::group::git diff"
|
||||
# look for any new files not previously tracked
|
||||
git add --all --intent-to-add .
|
||||
Write-Output "::group::git diff"
|
||||
git diff --exit-code
|
||||
Write-Output "::endgroup::"
|
||||
working-directory: "${{ github.workspace }}/go/src/github.com/Microsoft/hcsshim"
|
||||
|
|
|
@ -135,9 +135,9 @@ issues:
|
|||
linters:
|
||||
- stylecheck
|
||||
Text: "ST1003:"
|
||||
|
||||
|
||||
# v0 APIs are deprecated, but still retained for backwards compatability
|
||||
- path: cmd\\ncproxy\\
|
||||
linters:
|
||||
- staticcheck
|
||||
text: "^SA1019: (ncproxygrpcv0|nodenetsvcV0)"
|
||||
text: "^SA1019: .*(ncproxygrpc|nodenetsvc)[/]?v0"
|
||||
|
|
|
@ -1,52 +1,25 @@
|
|||
version = "1"
|
||||
generator = "gogoctrd"
|
||||
plugins = ["grpc", "fieldpath"]
|
||||
version = "2"
|
||||
generators = ["go", "go-grpc"]
|
||||
|
||||
# Control protoc include paths. Below are usually some good defaults, but feel
|
||||
# free to try it without them if it works for your project.
|
||||
# Control protoc include paths.
|
||||
[includes]
|
||||
# Include paths that will be added before all others. Typically, you want to
|
||||
# treat the root of the project as an include, but this may not be necessary.
|
||||
before = ["./protobuf"]
|
||||
|
||||
# defaults are "/usr/local/include" and "/usr/include", which don't exist on Windows.
|
||||
# override defaults to supress errors about non-existant directories.
|
||||
after = []
|
||||
|
||||
# Paths that should be treated as include roots in relation to the vendor
|
||||
# directory. These will be calculated with the vendor directory nearest the
|
||||
# target package.
|
||||
packages = ["github.com/gogo/protobuf"]
|
||||
|
||||
# This section maps protobuf imports to Go packages. These will become
|
||||
# `-M` directives in the call to the go protobuf generator.
|
||||
# This section maps protobuf imports to Go packages.
|
||||
[packages]
|
||||
"gogoproto/gogo.proto" = "github.com/gogo/protobuf/gogoproto"
|
||||
"google/protobuf/any.proto" = "github.com/gogo/protobuf/types"
|
||||
"google/protobuf/empty.proto" = "github.com/gogo/protobuf/types"
|
||||
"google/protobuf/struct.proto" = "github.com/gogo/protobuf/types"
|
||||
"google/protobuf/descriptor.proto" = "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
|
||||
"google/protobuf/field_mask.proto" = "github.com/gogo/protobuf/types"
|
||||
"google/protobuf/timestamp.proto" = "github.com/gogo/protobuf/types"
|
||||
"google/protobuf/duration.proto" = "github.com/gogo/protobuf/types"
|
||||
"github/containerd/cgroups/stats/v1/metrics.proto" = "github.com/containerd/cgroups/stats/v1"
|
||||
# github.com/containerd/cgroups protofiles still list their go path as "github.com/containerd/cgroups/cgroup1/stats"
|
||||
"github.com/containerd/cgroups/v3/cgroup1/stats/metrics.proto" = "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
|
||||
[[overrides]]
|
||||
prefixes = ["github.com/Microsoft/hcsshim/internal/shimdiag"]
|
||||
plugins = ["ttrpc"]
|
||||
|
||||
[[overrides]]
|
||||
prefixes = ["github.com/Microsoft/hcsshim/internal/extendedtask"]
|
||||
plugins = ["ttrpc"]
|
||||
|
||||
[[overrides]]
|
||||
prefixes = ["github.com/Microsoft/hcsshim/internal/computeagent"]
|
||||
plugins = ["ttrpc"]
|
||||
|
||||
[[overrides]]
|
||||
prefixes = ["github.com/Microsoft/hcsshim/internal/ncproxyttrpc"]
|
||||
plugins = ["ttrpc"]
|
||||
|
||||
[[overrides]]
|
||||
prefixes = ["github.com/Microsoft/hcsshim/internal/vmservice"]
|
||||
plugins = ["ttrpc"]
|
||||
prefixes = [
|
||||
"github.com/Microsoft/hcsshim/internal/shimdiag",
|
||||
"github.com/Microsoft/hcsshim/internal/extendedtask",
|
||||
"github.com/Microsoft/hcsshim/internal/computeagent",
|
||||
"github.com/Microsoft/hcsshim/internal/ncproxyttrpc",
|
||||
"github.com/Microsoft/hcsshim/internal/vmservice",
|
||||
]
|
||||
generators = ["go", "go-ttrpc"]
|
||||
|
|
|
@ -9,15 +9,17 @@ import (
|
|||
"path/filepath"
|
||||
"time"
|
||||
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/urfave/cli"
|
||||
"google.golang.org/protobuf/proto"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
|
||||
"github.com/Microsoft/hcsshim/internal/hcs"
|
||||
"github.com/Microsoft/hcsshim/internal/memory"
|
||||
"github.com/Microsoft/hcsshim/internal/oc"
|
||||
"github.com/Microsoft/hcsshim/internal/winapi"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
// LimitedRead reads at max `readLimitBytes` bytes from the file at path `filePath`. If the file has
|
||||
|
@ -122,7 +124,7 @@ The delete command will be executed in the container's bundle as its cwd.
|
|||
}
|
||||
|
||||
if data, err := proto.Marshal(&task.DeleteResponse{
|
||||
ExitedAt: time.Now(),
|
||||
ExitedAt: timestamppb.New(time.Now()),
|
||||
ExitStatus: 255,
|
||||
}); err != nil {
|
||||
return err
|
||||
|
|
|
@ -5,8 +5,8 @@ package main
|
|||
import (
|
||||
"context"
|
||||
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
|
|
|
@ -8,14 +8,15 @@ import (
|
|||
"time"
|
||||
|
||||
eventstypes "github.com/containerd/containerd/api/events"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
containerd_v1_types "github.com/containerd/containerd/api/types/task"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"go.opencensus.io/trace"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
|
||||
"github.com/Microsoft/hcsshim/internal/cmd"
|
||||
"github.com/Microsoft/hcsshim/internal/cow"
|
||||
|
@ -151,11 +152,11 @@ func (he *hcsExec) Status() *task.StateResponse {
|
|||
var s containerd_v1_types.Status
|
||||
switch he.state {
|
||||
case shimExecStateCreated:
|
||||
s = containerd_v1_types.StatusCreated
|
||||
s = containerd_v1_types.Status_CREATED
|
||||
case shimExecStateRunning:
|
||||
s = containerd_v1_types.StatusRunning
|
||||
s = containerd_v1_types.Status_RUNNING
|
||||
case shimExecStateExited:
|
||||
s = containerd_v1_types.StatusStopped
|
||||
s = containerd_v1_types.Status_STOPPED
|
||||
}
|
||||
|
||||
return &task.StateResponse{
|
||||
|
@ -169,7 +170,7 @@ func (he *hcsExec) Status() *task.StateResponse {
|
|||
Stderr: he.io.StderrPath(),
|
||||
Terminal: he.io.Terminal(),
|
||||
ExitStatus: he.exitStatus,
|
||||
ExitedAt: he.exitedAt,
|
||||
ExitedAt: timestamppb.New(he.exitedAt),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -492,7 +493,7 @@ func (he *hcsExec) waitForExit() {
|
|||
ID: he.id,
|
||||
Pid: uint32(he.pid),
|
||||
ExitStatus: he.exitStatus,
|
||||
ExitedAt: he.exitedAt,
|
||||
ExitedAt: timestamppb.New(he.exitedAt),
|
||||
}); err != nil {
|
||||
log.G(ctx).WithError(err).Error("failed to publish TaskExitEvent")
|
||||
}
|
||||
|
|
|
@ -6,7 +6,8 @@ import (
|
|||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
)
|
||||
|
||||
// newTestShimExec creates a test exec. If you are intending to make an init
|
||||
|
@ -47,7 +48,7 @@ func (tse *testShimExec) Status() *task.StateResponse {
|
|||
ExecID: tse.id,
|
||||
Pid: uint32(tse.pid),
|
||||
ExitStatus: tse.status,
|
||||
ExitedAt: tse.at,
|
||||
ExitedAt: timestamppb.New(tse.at),
|
||||
}
|
||||
}
|
||||
func (tse *testShimExec) Start(ctx context.Context) error {
|
||||
|
|
|
@ -9,12 +9,13 @@ import (
|
|||
|
||||
"github.com/Microsoft/hcsshim/internal/log"
|
||||
eventstypes "github.com/containerd/containerd/api/events"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
containerd_v1_types "github.com/containerd/containerd/api/types/task"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
)
|
||||
|
||||
func newWcowPodSandboxExec(ctx context.Context, events publisher, tid, bundle string) *wcowPodSandboxExec {
|
||||
|
@ -100,11 +101,11 @@ func (wpse *wcowPodSandboxExec) Status() *task.StateResponse {
|
|||
var s containerd_v1_types.Status
|
||||
switch wpse.state {
|
||||
case shimExecStateCreated:
|
||||
s = containerd_v1_types.StatusCreated
|
||||
s = containerd_v1_types.Status_CREATED
|
||||
case shimExecStateRunning:
|
||||
s = containerd_v1_types.StatusRunning
|
||||
s = containerd_v1_types.Status_RUNNING
|
||||
case shimExecStateExited:
|
||||
s = containerd_v1_types.StatusStopped
|
||||
s = containerd_v1_types.Status_STOPPED
|
||||
}
|
||||
|
||||
return &task.StateResponse{
|
||||
|
@ -118,7 +119,7 @@ func (wpse *wcowPodSandboxExec) Status() *task.StateResponse {
|
|||
Stderr: "", // NilIO
|
||||
Terminal: false,
|
||||
ExitStatus: wpse.exitStatus,
|
||||
ExitedAt: wpse.exitedAt,
|
||||
ExitedAt: timestamppb.New(wpse.exitedAt),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
containerd_v1_types "github.com/containerd/containerd/api/types/task"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
|
@ -25,7 +25,7 @@ func verifyWcowPodSandboxExecStatus(t *testing.T, wasStarted bool, es containerd
|
|||
t.Fatalf("expected bundle: '%s' got: '%s'", t.Name(), status.Bundle)
|
||||
}
|
||||
var expectedPid uint32
|
||||
if wasStarted && es != containerd_v1_types.StatusCreated {
|
||||
if wasStarted && es != containerd_v1_types.Status_CREATED {
|
||||
expectedPid = 1
|
||||
}
|
||||
if status.Pid != expectedPid {
|
||||
|
@ -48,9 +48,9 @@ func verifyWcowPodSandboxExecStatus(t *testing.T, wasStarted bool, es containerd
|
|||
}
|
||||
var expectedExitStatus uint32
|
||||
switch es {
|
||||
case containerd_v1_types.StatusCreated, containerd_v1_types.StatusRunning:
|
||||
case containerd_v1_types.Status_CREATED, containerd_v1_types.Status_RUNNING:
|
||||
expectedExitStatus = 255
|
||||
case containerd_v1_types.StatusStopped:
|
||||
case containerd_v1_types.Status_STOPPED:
|
||||
if !wasStarted {
|
||||
expectedExitStatus = 1
|
||||
} else {
|
||||
|
@ -60,12 +60,12 @@ func verifyWcowPodSandboxExecStatus(t *testing.T, wasStarted bool, es containerd
|
|||
if status.ExitStatus != expectedExitStatus {
|
||||
t.Fatalf("expected exitstatus: '%d' got: '%d'", expectedExitStatus, status.ExitStatus)
|
||||
}
|
||||
if es != containerd_v1_types.StatusStopped {
|
||||
if !status.ExitedAt.IsZero() {
|
||||
if es != containerd_v1_types.Status_STOPPED {
|
||||
if !status.ExitedAt.AsTime().IsZero() {
|
||||
t.Fatalf("expected exitedat: '%v' got: '%v'", time.Time{}, status.ExitedAt)
|
||||
}
|
||||
} else {
|
||||
if status.ExitedAt.IsZero() {
|
||||
if status.ExitedAt.AsTime().IsZero() {
|
||||
t.Fatalf("expected exitedat: > '%v' got: '%v'", time.Time{}, status.ExitedAt)
|
||||
}
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ func verifyWcowPodSandboxExecStatus(t *testing.T, wasStarted bool, es containerd
|
|||
func Test_newWcowPodSandboxExec(t *testing.T) {
|
||||
wpse := newWcowPodSandboxExec(context.TODO(), newFakePublisher(), t.Name(), t.Name())
|
||||
|
||||
verifyWcowPodSandboxExecStatus(t, false, containerd_v1_types.StatusCreated, wpse.Status())
|
||||
verifyWcowPodSandboxExecStatus(t, false, containerd_v1_types.Status_CREATED, wpse.Status())
|
||||
}
|
||||
|
||||
func Test_newWcowPodSandboxExec_ID(t *testing.T) {
|
||||
|
@ -144,7 +144,7 @@ func Test_newWcowPodSandboxExec_State(t *testing.T) {
|
|||
func Test_newWcowPodSandboxExec_Status(t *testing.T) {
|
||||
wpse := newWcowPodSandboxExec(context.TODO(), newFakePublisher(), t.Name(), t.Name())
|
||||
|
||||
verifyWcowPodSandboxExecStatus(t, false, containerd_v1_types.StatusCreated, wpse.Status())
|
||||
verifyWcowPodSandboxExecStatus(t, false, containerd_v1_types.Status_CREATED, wpse.Status())
|
||||
|
||||
// Start it
|
||||
err := wpse.Start(context.TODO())
|
||||
|
@ -152,7 +152,7 @@ func Test_newWcowPodSandboxExec_Status(t *testing.T) {
|
|||
t.Fatalf("should not have failed to start got: %v", err)
|
||||
}
|
||||
|
||||
verifyWcowPodSandboxExecStatus(t, true, containerd_v1_types.StatusRunning, wpse.Status())
|
||||
verifyWcowPodSandboxExecStatus(t, true, containerd_v1_types.Status_RUNNING, wpse.Status())
|
||||
|
||||
// Stop it
|
||||
err = wpse.Kill(context.TODO(), 0x0)
|
||||
|
@ -160,7 +160,7 @@ func Test_newWcowPodSandboxExec_Status(t *testing.T) {
|
|||
t.Fatalf("should not have failed to stop got: %v", err)
|
||||
}
|
||||
|
||||
verifyWcowPodSandboxExecStatus(t, true, containerd_v1_types.StatusStopped, wpse.Status())
|
||||
verifyWcowPodSandboxExecStatus(t, true, containerd_v1_types.Status_STOPPED, wpse.Status())
|
||||
}
|
||||
|
||||
func Test_newWcowPodSandboxExec_Start(t *testing.T) {
|
||||
|
@ -300,13 +300,13 @@ func Test_newWcowPodSandboxExec_Wait_Created(t *testing.T) {
|
|||
}
|
||||
|
||||
status := <-waitExit
|
||||
verifyWcowPodSandboxExecStatus(t, false, containerd_v1_types.StatusStopped, status)
|
||||
if status.ExitedAt.Before(now) {
|
||||
verifyWcowPodSandboxExecStatus(t, false, containerd_v1_types.Status_STOPPED, status)
|
||||
if status.ExitedAt.AsTime().Before(now) {
|
||||
t.Fatal("exit should not have unblocked previous to kill")
|
||||
}
|
||||
|
||||
// Verify the wait in the exited state doesnt block.
|
||||
verifyWcowPodSandboxExecStatus(t, false, containerd_v1_types.StatusStopped, wpse.Wait())
|
||||
verifyWcowPodSandboxExecStatus(t, false, containerd_v1_types.Status_STOPPED, wpse.Wait())
|
||||
}
|
||||
|
||||
func Test_newWcowPodSandboxExec_Wait_Started(t *testing.T) {
|
||||
|
@ -332,11 +332,11 @@ func Test_newWcowPodSandboxExec_Wait_Started(t *testing.T) {
|
|||
}
|
||||
|
||||
status := <-waitExit
|
||||
verifyWcowPodSandboxExecStatus(t, true, containerd_v1_types.StatusStopped, status)
|
||||
if status.ExitedAt.Before(now) {
|
||||
verifyWcowPodSandboxExecStatus(t, true, containerd_v1_types.Status_STOPPED, status)
|
||||
if status.ExitedAt.AsTime().Before(now) {
|
||||
t.Fatal("exit should not have unblocked previous to kill")
|
||||
}
|
||||
|
||||
// Verify the wait in the exited state doesnt block.
|
||||
verifyWcowPodSandboxExecStatus(t, true, containerd_v1_types.StatusStopped, wpse.Wait())
|
||||
verifyWcowPodSandboxExecStatus(t, true, containerd_v1_types.Status_STOPPED, wpse.Wait())
|
||||
}
|
||||
|
|
|
@ -13,13 +13,17 @@ import (
|
|||
"github.com/Microsoft/go-winio/pkg/etw"
|
||||
"github.com/Microsoft/go-winio/pkg/etwlogrus"
|
||||
"github.com/Microsoft/go-winio/pkg/guid"
|
||||
"github.com/Microsoft/hcsshim/internal/log"
|
||||
"github.com/Microsoft/hcsshim/internal/oc"
|
||||
"github.com/Microsoft/hcsshim/internal/shimdiag"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/urfave/cli"
|
||||
"go.opencensus.io/trace"
|
||||
|
||||
"github.com/Microsoft/hcsshim/internal/log"
|
||||
"github.com/Microsoft/hcsshim/internal/oc"
|
||||
"github.com/Microsoft/hcsshim/internal/shimdiag"
|
||||
|
||||
// register common types spec with typeurl
|
||||
_ "github.com/containerd/containerd/runtime"
|
||||
)
|
||||
|
||||
const usage = ``
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -2,10 +2,9 @@ syntax = "proto3";
|
|||
|
||||
package containerd.runhcs.v1;
|
||||
|
||||
import weak "gogoproto/gogo.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option go_package = "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options;options";
|
||||
option go_package = "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options";
|
||||
|
||||
// Options are the set of customizations that can be passed at Create time.
|
||||
message Options {
|
||||
|
@ -114,7 +113,7 @@ message Options {
|
|||
// info returned in the Pids query.
|
||||
message ProcessDetails {
|
||||
string image_name = 1;
|
||||
google.protobuf.Timestamp created_at = 2 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
||||
google.protobuf.Timestamp created_at = 2;
|
||||
uint64 kernel_time_100_ns = 3;
|
||||
uint64 memory_commit_bytes = 4;
|
||||
uint64 memory_working_set_private_bytes = 5;
|
||||
|
|
|
@ -16,9 +16,9 @@ import (
|
|||
"github.com/Microsoft/hcsshim/osversion"
|
||||
"github.com/Microsoft/hcsshim/pkg/annotations"
|
||||
eventstypes "github.com/containerd/containerd/api/events"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
"golang.org/x/sync/errgroup"
|
||||
|
|
|
@ -10,8 +10,8 @@ import (
|
|||
"sync"
|
||||
"testing"
|
||||
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
|
|
|
@ -13,16 +13,16 @@ import (
|
|||
"unsafe"
|
||||
|
||||
"github.com/Microsoft/go-winio"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/log"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/containerd/ttrpc"
|
||||
"github.com/containerd/typeurl"
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"github.com/gogo/protobuf/types"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/urfave/cli"
|
||||
"golang.org/x/sys/windows"
|
||||
"google.golang.org/protobuf/proto"
|
||||
"google.golang.org/protobuf/types/known/anypb"
|
||||
|
||||
runhcsopts "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options"
|
||||
"github.com/Microsoft/hcsshim/internal/extendedtask"
|
||||
|
@ -278,7 +278,7 @@ func readOptions(r io.Reader) (*runhcsopts.Options, error) {
|
|||
return nil, errors.Wrap(err, "failed to read input")
|
||||
}
|
||||
if len(d) > 0 {
|
||||
var a types.Any
|
||||
var a anypb.Any
|
||||
if err := proto.Unmarshal(d, &a); err != nil {
|
||||
return nil, errors.Wrap(err, "failed unmarshalling into Any")
|
||||
}
|
||||
|
|
|
@ -11,13 +11,14 @@ import (
|
|||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"go.opencensus.io/trace"
|
||||
"google.golang.org/protobuf/types/known/emptypb"
|
||||
|
||||
"github.com/Microsoft/hcsshim/internal/extendedtask"
|
||||
"github.com/Microsoft/hcsshim/internal/oc"
|
||||
"github.com/Microsoft/hcsshim/internal/shimdiag"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
google_protobuf1 "github.com/gogo/protobuf/types"
|
||||
"go.opencensus.io/trace"
|
||||
)
|
||||
|
||||
type ServiceOptions struct {
|
||||
|
@ -80,7 +81,7 @@ type service struct {
|
|||
gracefulShutdown bool
|
||||
}
|
||||
|
||||
var _ = (task.TaskService)(&service{})
|
||||
var _ task.TaskService = &service{}
|
||||
|
||||
func NewService(o ...ServiceOption) (svc *service, err error) {
|
||||
var opts ServiceOptions
|
||||
|
@ -214,7 +215,7 @@ func (s *service) Pids(ctx context.Context, req *task.PidsRequest) (_ *task.Pids
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) Pause(ctx context.Context, req *task.PauseRequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) Pause(ctx context.Context, req *task.PauseRequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "Pause")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
@ -229,7 +230,7 @@ func (s *service) Pause(ctx context.Context, req *task.PauseRequest) (_ *google_
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) Resume(ctx context.Context, req *task.ResumeRequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) Resume(ctx context.Context, req *task.ResumeRequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "Resume")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
@ -244,7 +245,7 @@ func (s *service) Resume(ctx context.Context, req *task.ResumeRequest) (_ *googl
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) Checkpoint(ctx context.Context, req *task.CheckpointTaskRequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) Checkpoint(ctx context.Context, req *task.CheckpointTaskRequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "Checkpoint")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
@ -261,7 +262,7 @@ func (s *service) Checkpoint(ctx context.Context, req *task.CheckpointTaskReques
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) Kill(ctx context.Context, req *task.KillRequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) Kill(ctx context.Context, req *task.KillRequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "Kill")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
@ -280,7 +281,7 @@ func (s *service) Kill(ctx context.Context, req *task.KillRequest) (_ *google_pr
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) Exec(ctx context.Context, req *task.ExecProcessRequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) Exec(ctx context.Context, req *task.ExecProcessRequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "Exec")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
@ -356,7 +357,7 @@ func (s *service) DiagTasks(ctx context.Context, req *shimdiag.TasksRequest) (_
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) ResizePty(ctx context.Context, req *task.ResizePtyRequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) ResizePty(ctx context.Context, req *task.ResizePtyRequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "ResizePty")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
@ -375,7 +376,7 @@ func (s *service) ResizePty(ctx context.Context, req *task.ResizePtyRequest) (_
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) CloseIO(ctx context.Context, req *task.CloseIORequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) CloseIO(ctx context.Context, req *task.CloseIORequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "CloseIO")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
@ -393,7 +394,7 @@ func (s *service) CloseIO(ctx context.Context, req *task.CloseIORequest) (_ *goo
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) Update(ctx context.Context, req *task.UpdateTaskRequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) Update(ctx context.Context, req *task.UpdateTaskRequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "Update")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
@ -470,7 +471,7 @@ func (s *service) Connect(ctx context.Context, req *task.ConnectRequest) (resp *
|
|||
return r, errdefs.ToGRPC(e)
|
||||
}
|
||||
|
||||
func (s *service) Shutdown(ctx context.Context, req *task.ShutdownRequest) (_ *google_protobuf1.Empty, err error) {
|
||||
func (s *service) Shutdown(ctx context.Context, req *task.ShutdownRequest) (_ *emptypb.Empty, err error) {
|
||||
ctx, span := oc.StartSpan(ctx, "Shutdown")
|
||||
defer span.End()
|
||||
defer func() { oc.SetSpanStatus(span, err) }()
|
||||
|
|
|
@ -9,20 +9,23 @@ import (
|
|||
"os"
|
||||
"path/filepath"
|
||||
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
containerd_v1_types "github.com/containerd/containerd/api/types/task"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/protobuf"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
"google.golang.org/protobuf/types/known/emptypb"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
|
||||
runhcsopts "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options"
|
||||
"github.com/Microsoft/hcsshim/internal/extendedtask"
|
||||
"github.com/Microsoft/hcsshim/internal/oci"
|
||||
"github.com/Microsoft/hcsshim/internal/shimdiag"
|
||||
containerd_v1_types "github.com/containerd/containerd/api/types/task"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/containerd/typeurl"
|
||||
google_protobuf1 "github.com/gogo/protobuf/types"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
var empty = &google_protobuf1.Empty{}
|
||||
var empty = &emptypb.Empty{}
|
||||
|
||||
// getPod returns the pod this shim is tracking or else returns `nil`. It is the
|
||||
// callers responsibility to verify that `s.isSandbox == true` before calling
|
||||
|
@ -237,7 +240,7 @@ func (s *service) deleteInternal(ctx context.Context, req *task.DeleteRequest) (
|
|||
return &task.DeleteResponse{
|
||||
Pid: uint32(pid),
|
||||
ExitStatus: exitStatus,
|
||||
ExitedAt: exitedAt,
|
||||
ExitedAt: timestamppb.New(exitedAt),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
@ -252,13 +255,13 @@ func (s *service) pidsInternal(ctx context.Context, req *task.PidsRequest) (*tas
|
|||
}
|
||||
processes := make([]*containerd_v1_types.ProcessInfo, len(pids))
|
||||
for i, p := range pids {
|
||||
a, err := typeurl.MarshalAny(&p)
|
||||
a, err := typeurl.MarshalAny(p)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "failed to marshal ProcessDetails for process: %s, task: %s", p.ExecID, req.ID)
|
||||
}
|
||||
proc := &containerd_v1_types.ProcessInfo{
|
||||
Pid: p.ProcessID,
|
||||
Info: a,
|
||||
Info: protobuf.FromAny(a),
|
||||
}
|
||||
processes[i] = proc
|
||||
}
|
||||
|
@ -267,7 +270,7 @@ func (s *service) pidsInternal(ctx context.Context, req *task.PidsRequest) (*tas
|
|||
}, nil
|
||||
}
|
||||
|
||||
func (s *service) pauseInternal(ctx context.Context, req *task.PauseRequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) pauseInternal(ctx context.Context, req *task.PauseRequest) (*emptypb.Empty, error) {
|
||||
/*
|
||||
s.events <- cdevent{
|
||||
topic: runtime.TaskPausedEventTopic,
|
||||
|
@ -279,7 +282,7 @@ func (s *service) pauseInternal(ctx context.Context, req *task.PauseRequest) (*g
|
|||
return nil, errdefs.ErrNotImplemented
|
||||
}
|
||||
|
||||
func (s *service) resumeInternal(ctx context.Context, req *task.ResumeRequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) resumeInternal(ctx context.Context, req *task.ResumeRequest) (*emptypb.Empty, error) {
|
||||
/*
|
||||
s.events <- cdevent{
|
||||
topic: runtime.TaskResumedEventTopic,
|
||||
|
@ -291,11 +294,11 @@ func (s *service) resumeInternal(ctx context.Context, req *task.ResumeRequest) (
|
|||
return nil, errdefs.ErrNotImplemented
|
||||
}
|
||||
|
||||
func (s *service) checkpointInternal(ctx context.Context, req *task.CheckpointTaskRequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) checkpointInternal(ctx context.Context, req *task.CheckpointTaskRequest) (*emptypb.Empty, error) {
|
||||
return nil, errdefs.ErrNotImplemented
|
||||
}
|
||||
|
||||
func (s *service) killInternal(ctx context.Context, req *task.KillRequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) killInternal(ctx context.Context, req *task.KillRequest) (*emptypb.Empty, error) {
|
||||
if s.isSandbox {
|
||||
pod, err := s.getPod()
|
||||
if err != nil {
|
||||
|
@ -320,7 +323,7 @@ func (s *service) killInternal(ctx context.Context, req *task.KillRequest) (*goo
|
|||
return empty, nil
|
||||
}
|
||||
|
||||
func (s *service) execInternal(ctx context.Context, req *task.ExecProcessRequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) execInternal(ctx context.Context, req *task.ExecProcessRequest) (*emptypb.Empty, error) {
|
||||
t, err := s.getTask(req.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -425,7 +428,7 @@ func (s *service) diagTasksInternal(ctx context.Context, req *shimdiag.TasksRequ
|
|||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *service) resizePtyInternal(ctx context.Context, req *task.ResizePtyRequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) resizePtyInternal(ctx context.Context, req *task.ResizePtyRequest) (*emptypb.Empty, error) {
|
||||
t, err := s.getTask(req.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -441,7 +444,7 @@ func (s *service) resizePtyInternal(ctx context.Context, req *task.ResizePtyRequ
|
|||
return empty, nil
|
||||
}
|
||||
|
||||
func (s *service) closeIOInternal(ctx context.Context, req *task.CloseIORequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) closeIOInternal(ctx context.Context, req *task.CloseIORequest) (*emptypb.Empty, error) {
|
||||
t, err := s.getTask(req.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -457,7 +460,7 @@ func (s *service) closeIOInternal(ctx context.Context, req *task.CloseIORequest)
|
|||
return empty, nil
|
||||
}
|
||||
|
||||
func (s *service) updateInternal(ctx context.Context, req *task.UpdateTaskRequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) updateInternal(ctx context.Context, req *task.UpdateTaskRequest) (*emptypb.Empty, error) {
|
||||
if req.Resources == nil {
|
||||
return nil, errors.Wrapf(errdefs.ErrInvalidArgument, "resources cannot be empty, updating container %s resources failed", req.ID)
|
||||
}
|
||||
|
@ -505,7 +508,7 @@ func (s *service) statsInternal(ctx context.Context, req *task.StatsRequest) (*t
|
|||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "failed to marshal Statistics for task: %s", req.ID)
|
||||
}
|
||||
return &task.StatsResponse{Stats: any}, nil
|
||||
return &task.StatsResponse{Stats: protobuf.FromAny(any)}, nil
|
||||
}
|
||||
|
||||
func (s *service) connectInternal(ctx context.Context, req *task.ConnectRequest) (*task.ConnectResponse, error) {
|
||||
|
@ -517,7 +520,7 @@ func (s *service) connectInternal(ctx context.Context, req *task.ConnectRequest)
|
|||
}, nil
|
||||
}
|
||||
|
||||
func (s *service) shutdownInternal(ctx context.Context, req *task.ShutdownRequest) (*google_protobuf1.Empty, error) {
|
||||
func (s *service) shutdownInternal(ctx context.Context, req *task.ShutdownRequest) (*emptypb.Empty, error) {
|
||||
// Because a pod shim hosts multiple tasks only the init task can issue the
|
||||
// shutdown request.
|
||||
if req.ID != s.tid {
|
||||
|
|
|
@ -12,9 +12,10 @@ import (
|
|||
|
||||
"github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options"
|
||||
"github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/containerd/typeurl"
|
||||
"github.com/containerd/containerd/protobuf"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
|
@ -605,7 +606,7 @@ func Test_PodShim_updateInternal_Success(t *testing.T) {
|
|||
t.Fatal(err)
|
||||
}
|
||||
|
||||
resp, err := s.updateInternal(context.TODO(), &task.UpdateTaskRequest{ID: t1.ID(), Resources: any})
|
||||
resp, err := s.updateInternal(context.TODO(), &task.UpdateTaskRequest{ID: t1.ID(), Resources: protobuf.FromAny(any)})
|
||||
if err != nil {
|
||||
t.Fatalf("should not have failed with error, got: %v", err)
|
||||
}
|
||||
|
@ -623,7 +624,7 @@ func Test_PodShim_updateInternal_Error(t *testing.T) {
|
|||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
_, err = s.updateInternal(context.TODO(), &task.UpdateTaskRequest{ID: t1.ID(), Resources: any})
|
||||
_, err = s.updateInternal(context.TODO(), &task.UpdateTaskRequest{ID: t1.ID(), Resources: protobuf.FromAny(any)})
|
||||
if err == nil {
|
||||
t.Fatal("expected to get an error for incorrect resource's type")
|
||||
}
|
||||
|
|
|
@ -12,9 +12,10 @@ import (
|
|||
|
||||
"github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options"
|
||||
"github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/containerd/typeurl"
|
||||
"github.com/containerd/containerd/protobuf"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
|
@ -526,7 +527,7 @@ func Test_TaskShim_updateInternal_Success(t *testing.T) {
|
|||
t.Fatal(err)
|
||||
}
|
||||
|
||||
resp, err := s.updateInternal(context.TODO(), &task.UpdateTaskRequest{ID: t1.ID(), Resources: any})
|
||||
resp, err := s.updateInternal(context.TODO(), &task.UpdateTaskRequest{ID: t1.ID(), Resources: protobuf.FromAny(any)})
|
||||
if err != nil {
|
||||
t.Fatalf("should not have failed with error, got: %v", err)
|
||||
}
|
||||
|
@ -545,7 +546,7 @@ func Test_TaskShim_updateInternal_Error(t *testing.T) {
|
|||
t.Fatal(err)
|
||||
}
|
||||
|
||||
_, err = s.updateInternal(context.TODO(), &task.UpdateTaskRequest{ID: t1.ID(), Resources: any})
|
||||
_, err = s.updateInternal(context.TODO(), &task.UpdateTaskRequest{ID: t1.ID(), Resources: protobuf.FromAny(any)})
|
||||
if err == nil {
|
||||
t.Fatal("expected to get an error for incorrect resource's type")
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats"
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
|
@ -103,7 +103,7 @@ func verifyExpectedCgroupMetrics(t *testing.T, v *v1.Metrics) {
|
|||
t.Fatal("expected non-nil Metrics.CPU")
|
||||
}
|
||||
if v.CPU.Usage.Total != 100 {
|
||||
t.Fatalf("Expected Metrics.CPU.Usage == 100, got: %d", v.CPU.Usage)
|
||||
t.Fatalf("Expected Metrics.CPU.Usage.Total == 100, got: %d", v.CPU.Usage.Total)
|
||||
}
|
||||
if v.Memory == nil {
|
||||
t.Fatal("expected non-nil Metrics.Memory")
|
||||
|
|
|
@ -14,8 +14,8 @@ import (
|
|||
"github.com/Microsoft/go-winio"
|
||||
"github.com/Microsoft/hcsshim/internal/oci"
|
||||
"github.com/Microsoft/hcsshim/pkg/annotations"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/runtime/v2/shim"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/containerd/ttrpc"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
|
|
@ -2,5 +2,5 @@ package stats
|
|||
|
||||
import (
|
||||
// go mod will not vendor without an import for metrics.proto
|
||||
_ "github.com/containerd/cgroups/stats/v1"
|
||||
_ "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
)
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -2,9 +2,8 @@ syntax = "proto3";
|
|||
|
||||
package containerd.runhcs.stats.v1;
|
||||
|
||||
import weak "gogoproto/gogo.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "github.com/containerd/cgroups/stats/v1/metrics.proto";
|
||||
import "github.com/containerd/cgroups/v3/cgroup1/stats/metrics.proto";
|
||||
|
||||
option go_package = "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats;stats";
|
||||
|
||||
|
@ -13,22 +12,22 @@ message Statistics {
|
|||
WindowsContainerStatistics windows = 1;
|
||||
io.containerd.cgroups.v1.Metrics linux = 2;
|
||||
}
|
||||
VirtualMachineStatistics vm = 3 [(gogoproto.customname) = "VM"];
|
||||
VirtualMachineStatistics vm = 3;
|
||||
}
|
||||
|
||||
message WindowsContainerStatistics {
|
||||
google.protobuf.Timestamp timestamp = 1 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
||||
google.protobuf.Timestamp container_start_time = 2 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
||||
uint64 uptime_ns = 3 [(gogoproto.customname) = "UptimeNS"];
|
||||
google.protobuf.Timestamp timestamp = 1;
|
||||
google.protobuf.Timestamp container_start_time = 2;
|
||||
uint64 uptime_ns = 3;
|
||||
WindowsContainerProcessorStatistics processor = 4;
|
||||
WindowsContainerMemoryStatistics memory = 5;
|
||||
WindowsContainerStorageStatistics storage = 6;
|
||||
}
|
||||
|
||||
message WindowsContainerProcessorStatistics {
|
||||
uint64 total_runtime_ns = 1 [(gogoproto.customname) = "TotalRuntimeNS"];
|
||||
uint64 runtime_user_ns = 2 [(gogoproto.customname) = "RuntimeUserNS"];
|
||||
uint64 runtime_kernel_ns = 3 [(gogoproto.customname) = "RuntimeKernelNS"];
|
||||
uint64 total_runtime_ns = 1;
|
||||
uint64 runtime_user_ns = 2;
|
||||
uint64 runtime_kernel_ns = 3;
|
||||
}
|
||||
|
||||
message WindowsContainerMemoryStatistics {
|
||||
|
@ -50,7 +49,7 @@ message VirtualMachineStatistics {
|
|||
}
|
||||
|
||||
message VirtualMachineProcessorStatistics {
|
||||
uint64 total_runtime_ns = 1 [(gogoproto.customname) = "TotalRuntimeNS"];
|
||||
uint64 total_runtime_ns = 1;
|
||||
}
|
||||
|
||||
message VirtualMachineMemoryStatistics {
|
||||
|
|
|
@ -12,8 +12,8 @@ import (
|
|||
"github.com/Microsoft/hcsshim/internal/hcs"
|
||||
"github.com/Microsoft/hcsshim/internal/shimdiag"
|
||||
"github.com/Microsoft/hcsshim/pkg/ctrdtaskapi"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
|
@ -68,7 +68,7 @@ type shimTask interface {
|
|||
DeleteExec(ctx context.Context, eid string) (int, uint32, time.Time, error)
|
||||
// Pids returns all process pid's in this `shimTask` including ones not
|
||||
// created by the caller via a `CreateExec`.
|
||||
Pids(ctx context.Context) ([]options.ProcessDetails, error)
|
||||
Pids(ctx context.Context) ([]*options.ProcessDetails, error)
|
||||
// Waits for the the init task to complete.
|
||||
//
|
||||
// Note: If the `request.ExecID == ""` the caller should instead call `Wait`
|
||||
|
|
|
@ -11,15 +11,16 @@ import (
|
|||
"time"
|
||||
|
||||
eventstypes "github.com/containerd/containerd/api/events"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/api/types"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/containerd/typeurl"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"go.opencensus.io/trace"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
|
||||
runhcsopts "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options"
|
||||
"github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats"
|
||||
|
@ -547,10 +548,10 @@ func (ht *hcsTask) DeleteExec(ctx context.Context, eid string) (int, uint32, tim
|
|||
return 0, 0, time.Time{}, err
|
||||
}
|
||||
|
||||
return int(status.Pid), status.ExitStatus, status.ExitedAt, nil
|
||||
return int(status.Pid), status.ExitStatus, status.ExitedAt.AsTime(), nil
|
||||
}
|
||||
|
||||
func (ht *hcsTask) Pids(ctx context.Context) ([]runhcsopts.ProcessDetails, error) {
|
||||
func (ht *hcsTask) Pids(ctx context.Context) ([]*runhcsopts.ProcessDetails, error) {
|
||||
// Map all user created exec's to pid/exec-id
|
||||
pidMap := make(map[int]string)
|
||||
ht.execs.Range(func(key, value interface{}) bool {
|
||||
|
@ -573,10 +574,12 @@ func (ht *hcsTask) Pids(ctx context.Context) ([]runhcsopts.ProcessDetails, error
|
|||
}
|
||||
|
||||
// Copy to pid/exec-id pair's
|
||||
pairs := make([]runhcsopts.ProcessDetails, len(props.ProcessList))
|
||||
pairs := make([]*runhcsopts.ProcessDetails, len(props.ProcessList))
|
||||
for i, p := range props.ProcessList {
|
||||
pairs[i] = &runhcsopts.ProcessDetails{}
|
||||
|
||||
pairs[i].ImageName = p.ImageName
|
||||
pairs[i].CreatedAt = p.CreateTimestamp
|
||||
pairs[i].CreatedAt = timestamppb.New(p.CreateTimestamp)
|
||||
pairs[i].KernelTime_100Ns = p.KernelTime100ns
|
||||
pairs[i].MemoryCommitBytes = p.MemoryCommitBytes
|
||||
pairs[i].MemoryWorkingSetPrivateBytes = p.MemoryWorkingSetPrivateBytes
|
||||
|
@ -784,8 +787,8 @@ func (ht *hcsTask) Share(ctx context.Context, req *shimdiag.ShareRequest) error
|
|||
func hcsPropertiesToWindowsStats(props *hcsschema.Properties) *stats.Statistics_Windows {
|
||||
wcs := &stats.Statistics_Windows{Windows: &stats.WindowsContainerStatistics{}}
|
||||
if props.Statistics != nil {
|
||||
wcs.Windows.Timestamp = props.Statistics.Timestamp
|
||||
wcs.Windows.ContainerStartTime = props.Statistics.ContainerStartTime
|
||||
wcs.Windows.Timestamp = timestamppb.New(props.Statistics.Timestamp)
|
||||
wcs.Windows.ContainerStartTime = timestamppb.New(props.Statistics.ContainerStartTime)
|
||||
wcs.Windows.UptimeNS = props.Statistics.Uptime100ns * 100
|
||||
if props.Statistics.Processor != nil {
|
||||
wcs.Windows.Processor = &stats.WindowsContainerProcessorStatistics{
|
||||
|
|
|
@ -148,7 +148,7 @@ func verifyDeleteSuccessValues(t *testing.T, pid int, status uint32, at time.Tim
|
|||
if status != e.status {
|
||||
t.Fatalf("status expected '%d' got: '%d'", e.status, status)
|
||||
}
|
||||
if at != e.at {
|
||||
if !at.Equal(e.at) {
|
||||
t.Fatalf("at expected '%v' got: '%v'", e.at, at)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,10 +9,10 @@ import (
|
|||
"github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options"
|
||||
"github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats"
|
||||
"github.com/Microsoft/hcsshim/internal/shimdiag"
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/containerd/typeurl"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
@ -71,18 +71,18 @@ func (tst *testShimTask) DeleteExec(ctx context.Context, eid string) (int, uint3
|
|||
if eid != "" {
|
||||
delete(tst.execs, eid)
|
||||
}
|
||||
return int(status.Pid), status.ExitStatus, status.ExitedAt, nil
|
||||
return int(status.Pid), status.ExitStatus, status.ExitedAt.AsTime(), nil
|
||||
}
|
||||
|
||||
func (tst *testShimTask) Pids(ctx context.Context) ([]options.ProcessDetails, error) {
|
||||
pairs := []options.ProcessDetails{
|
||||
func (tst *testShimTask) Pids(ctx context.Context) ([]*options.ProcessDetails, error) {
|
||||
pairs := []*options.ProcessDetails{
|
||||
{
|
||||
ProcessID: uint32(tst.exec.Pid()),
|
||||
ExecID: tst.exec.ID(),
|
||||
},
|
||||
}
|
||||
for _, p := range tst.execs {
|
||||
pairs = append(pairs, options.ProcessDetails{
|
||||
pairs = append(pairs, &options.ProcessDetails{
|
||||
ProcessID: uint32(p.pid),
|
||||
ExecID: p.id,
|
||||
})
|
||||
|
|
|
@ -15,10 +15,10 @@ import (
|
|||
"github.com/Microsoft/hcsshim/internal/shimdiag"
|
||||
"github.com/Microsoft/hcsshim/internal/uvm"
|
||||
eventstypes "github.com/containerd/containerd/api/events"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/containerd/errdefs"
|
||||
"github.com/containerd/containerd/runtime"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/containerd/typeurl"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
"go.opencensus.io/trace"
|
||||
|
@ -156,11 +156,11 @@ func (wpst *wcowPodSandboxTask) DeleteExec(ctx context.Context, eid string) (int
|
|||
return 0, 0, time.Time{}, err
|
||||
}
|
||||
|
||||
return int(status.Pid), status.ExitStatus, status.ExitedAt, nil
|
||||
return int(status.Pid), status.ExitStatus, status.ExitedAt.AsTime(), nil
|
||||
}
|
||||
|
||||
func (wpst *wcowPodSandboxTask) Pids(ctx context.Context) ([]options.ProcessDetails, error) {
|
||||
return []options.ProcessDetails{
|
||||
func (wpst *wcowPodSandboxTask) Pids(ctx context.Context) ([]*options.ProcessDetails, error) {
|
||||
return []*options.ProcessDetails{
|
||||
{
|
||||
ProcessID: uint32(wpst.init.Pid()),
|
||||
ExecID: wpst.init.ID(),
|
||||
|
|
|
@ -14,8 +14,8 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/cenkalti/backoff/v4"
|
||||
"github.com/containerd/cgroups"
|
||||
cgroupstats "github.com/containerd/cgroups/stats/v1"
|
||||
cgroups "github.com/containerd/cgroups/v3/cgroup1"
|
||||
cgroupstats "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
oci "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
@ -342,7 +342,7 @@ func main() {
|
|||
logrus.WithError(err).Fatal("failed to get sys info")
|
||||
}
|
||||
containersLimit := int64(sinfo.Totalram - *rootMemReserveBytes)
|
||||
containersControl, err := cgroups.New(cgroups.V1, cgroups.StaticPath("/containers"), &oci.LinuxResources{
|
||||
containersControl, err := cgroups.New(cgroups.StaticPath("/containers"), &oci.LinuxResources{
|
||||
Memory: &oci.LinuxMemory{
|
||||
Limit: &containersLimit,
|
||||
},
|
||||
|
@ -352,7 +352,7 @@ func main() {
|
|||
}
|
||||
defer containersControl.Delete() //nolint:errcheck
|
||||
|
||||
gcsControl, err := cgroups.New(cgroups.V1, cgroups.StaticPath("/gcs"), &oci.LinuxResources{})
|
||||
gcsControl, err := cgroups.New(cgroups.StaticPath("/gcs"), &oci.LinuxResources{})
|
||||
if err != nil {
|
||||
logrus.WithError(err).Fatal("failed to create gcs cgroup")
|
||||
}
|
||||
|
|
|
@ -8,6 +8,14 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/Microsoft/go-winio"
|
||||
"github.com/containerd/containerd/protobuf"
|
||||
"github.com/containerd/ttrpc"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
"github.com/pkg/errors"
|
||||
"go.opencensus.io/trace"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
|
||||
"github.com/Microsoft/hcsshim/hcn"
|
||||
"github.com/Microsoft/hcsshim/internal/computeagent"
|
||||
"github.com/Microsoft/hcsshim/internal/log"
|
||||
|
@ -19,13 +27,6 @@ import (
|
|||
ncproxygrpc "github.com/Microsoft/hcsshim/pkg/ncproxy/ncproxygrpc/v1"
|
||||
nodenetsvc "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v1"
|
||||
"github.com/Microsoft/hcsshim/pkg/octtrpc"
|
||||
"github.com/containerd/ttrpc"
|
||||
"github.com/containerd/typeurl"
|
||||
"github.com/gogo/protobuf/types"
|
||||
"github.com/pkg/errors"
|
||||
"go.opencensus.io/trace"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
@ -43,6 +44,8 @@ var (
|
|||
|
||||
// GRPC service exposed for use by a Node Network Service.
|
||||
type grpcService struct {
|
||||
ncproxygrpc.UnimplementedNetworkConfigProxyServer
|
||||
|
||||
// containerIDToComputeAgent is a cache that stores the mappings from
|
||||
// container ID to compute agent address is memory. This is repopulated
|
||||
// on reconnect and referenced during client calls.
|
||||
|
@ -81,7 +84,7 @@ func (s *grpcService) AddNIC(ctx context.Context, req *ncproxygrpc.AddNICRequest
|
|||
return nil, status.Errorf(codes.FailedPrecondition, "No shim registered for namespace `%s`", req.ContainerID)
|
||||
}
|
||||
|
||||
var anyEndpoint *types.Any
|
||||
var anyEndpoint typeurl.Any
|
||||
if ep, err := s.ncpNetworkingStore.GetEndpointByName(ctx, req.EndpointName); err == nil {
|
||||
if ep.Settings == nil || ep.Settings.DeviceDetails == nil || ep.Settings.DeviceDetails.PCIDeviceDetails == nil {
|
||||
return nil, status.Errorf(codes.InvalidArgument, "received empty field in request: %+v", req)
|
||||
|
@ -149,7 +152,7 @@ func (s *grpcService) AddNIC(ctx context.Context, req *ncproxygrpc.AddNICRequest
|
|||
caReq := &computeagent.AddNICInternalRequest{
|
||||
ContainerID: req.ContainerID,
|
||||
NicID: req.NicID,
|
||||
Endpoint: anyEndpoint,
|
||||
Endpoint: protobuf.FromAny(anyEndpoint),
|
||||
}
|
||||
if _, err := agent.AddNIC(ctx, caReq); err != nil {
|
||||
return nil, err
|
||||
|
@ -201,7 +204,7 @@ func (s *grpcService) ModifyNIC(ctx context.Context, req *ncproxygrpc.ModifyNICR
|
|||
iovReqSettings := settings.Policies.IovPolicySettings
|
||||
caReq := &computeagent.ModifyNICInternalRequest{
|
||||
NicID: req.NicID,
|
||||
Endpoint: anyEndpoint,
|
||||
Endpoint: protobuf.FromAny(anyEndpoint),
|
||||
IovPolicySettings: &computeagent.IovSettings{
|
||||
IovOffloadWeight: iovReqSettings.IovOffloadWeight,
|
||||
QueuePairsRequested: iovReqSettings.QueuePairsRequested,
|
||||
|
@ -265,7 +268,7 @@ func (s *grpcService) DeleteNIC(ctx context.Context, req *ncproxygrpc.DeleteNICR
|
|||
return nil, status.Errorf(codes.InvalidArgument, "received empty field in request: %+v", req)
|
||||
}
|
||||
|
||||
var anyEndpoint *types.Any
|
||||
var anyEndpoint typeurl.Any
|
||||
if endpt, err := s.ncpNetworkingStore.GetEndpointByName(ctx, req.EndpointName); err == nil {
|
||||
anyEndpoint, err = typeurl.MarshalAny(endpt)
|
||||
if err != nil {
|
||||
|
@ -293,7 +296,7 @@ func (s *grpcService) DeleteNIC(ctx context.Context, req *ncproxygrpc.DeleteNICR
|
|||
caReq := &computeagent.DeleteNICInternalRequest{
|
||||
ContainerID: req.ContainerID,
|
||||
NicID: req.NicID,
|
||||
Endpoint: anyEndpoint,
|
||||
Endpoint: protobuf.FromAny(anyEndpoint),
|
||||
}
|
||||
if _, err := agent.DeleteNIC(ctx, caReq); err != nil {
|
||||
if err == uvm.ErrNICNotFound || err == uvm.ErrNetNSNotFound {
|
||||
|
|
|
@ -17,11 +17,13 @@ var (
|
|||
)
|
||||
|
||||
type v0ServiceWrapper struct {
|
||||
ncproxygrpcv0.UnimplementedNetworkConfigProxyServer
|
||||
|
||||
s *grpcService
|
||||
}
|
||||
|
||||
func newV0ServiceWrapper(s *grpcService) *v0ServiceWrapper {
|
||||
return &v0ServiceWrapper{s}
|
||||
return &v0ServiceWrapper{s: s}
|
||||
}
|
||||
|
||||
var _ ncproxygrpcv0.NetworkConfigProxyServer = &v0ServiceWrapper{}
|
||||
|
|
|
@ -15,12 +15,6 @@ import (
|
|||
"github.com/Microsoft/go-winio/pkg/etw"
|
||||
"github.com/Microsoft/go-winio/pkg/etwlogrus"
|
||||
"github.com/Microsoft/go-winio/pkg/guid"
|
||||
"github.com/Microsoft/hcsshim/internal/computeagent"
|
||||
"github.com/Microsoft/hcsshim/internal/debug"
|
||||
"github.com/Microsoft/hcsshim/internal/log"
|
||||
"github.com/Microsoft/hcsshim/internal/oc"
|
||||
nodenetsvcV0 "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v0"
|
||||
nodenetsvc "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v1"
|
||||
"github.com/containerd/ttrpc"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
@ -29,7 +23,15 @@ import (
|
|||
"go.opencensus.io/trace"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
"google.golang.org/grpc/status"
|
||||
|
||||
"github.com/Microsoft/hcsshim/internal/computeagent"
|
||||
"github.com/Microsoft/hcsshim/internal/debug"
|
||||
"github.com/Microsoft/hcsshim/internal/log"
|
||||
"github.com/Microsoft/hcsshim/internal/oc"
|
||||
nodenetsvcV0 "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v0"
|
||||
nodenetsvc "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v1"
|
||||
)
|
||||
|
||||
type nodeNetSvcConn struct {
|
||||
|
@ -222,7 +224,10 @@ func run(clicontext *cli.Context) error {
|
|||
log.G(ctx).Infof("Connecting to NodeNetworkService at address %s", conf.NodeNetSvcAddr)
|
||||
|
||||
dialCtx := ctx
|
||||
opts := []grpc.DialOption{grpc.WithInsecure(), grpc.WithStatsHandler(&ocgrpc.ClientHandler{})}
|
||||
opts := []grpc.DialOption{
|
||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||
grpc.WithStatsHandler(&ocgrpc.ClientHandler{}),
|
||||
}
|
||||
if conf.Timeout > 0 {
|
||||
var cancel context.CancelFunc
|
||||
dialCtx, cancel = context.WithTimeout(ctx, time.Duration(conf.Timeout)*time.Second)
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
//go:build windows
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
|
|
|
@ -149,7 +149,7 @@ func ConvertTarToExt4(r io.Reader, w io.ReadWriteSeeker, options ...Option) erro
|
|||
|
||||
var typ uint16
|
||||
switch hdr.Typeflag {
|
||||
case tar.TypeReg, tar.TypeRegA:
|
||||
case tar.TypeReg:
|
||||
typ = compactext4.S_IFREG
|
||||
case tar.TypeSymlink:
|
||||
typ = compactext4.S_IFLNK
|
||||
|
|
36
go.mod
36
go.mod
|
@ -6,13 +6,12 @@ require (
|
|||
github.com/Microsoft/go-winio v0.6.1
|
||||
github.com/blang/semver/v4 v4.0.0
|
||||
github.com/cenkalti/backoff/v4 v4.2.1
|
||||
github.com/containerd/cgroups v1.1.0
|
||||
github.com/containerd/cgroups/v3 v3.0.1
|
||||
github.com/containerd/console v1.0.3
|
||||
github.com/containerd/containerd v1.6.21
|
||||
github.com/containerd/containerd v1.7.0
|
||||
github.com/containerd/go-runc v1.0.0
|
||||
github.com/containerd/ttrpc v1.1.2
|
||||
github.com/containerd/typeurl v1.0.2
|
||||
github.com/gogo/protobuf v1.3.2
|
||||
github.com/containerd/ttrpc v1.2.2
|
||||
github.com/containerd/typeurl/v2 v2.1.1
|
||||
github.com/golang/mock v1.6.0
|
||||
github.com/google/go-cmp v0.5.9
|
||||
github.com/google/go-containerregistry v0.15.2
|
||||
|
@ -33,15 +32,22 @@ require (
|
|||
go.opencensus.io v0.24.0
|
||||
golang.org/x/sync v0.3.0
|
||||
golang.org/x/sys v0.9.0
|
||||
google.golang.org/grpc v1.47.0
|
||||
google.golang.org/grpc v1.55.0
|
||||
google.golang.org/protobuf v1.30.0
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/containerd/protobuild v0.3.0
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/OneOfOne/xxhash v1.2.8 // indirect
|
||||
github.com/agnivade/levenshtein v1.0.1 // indirect
|
||||
github.com/containerd/fifo v1.0.0 // indirect
|
||||
github.com/containerd/continuity v0.3.0 // indirect
|
||||
github.com/containerd/fifo v1.1.0 // indirect
|
||||
github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect
|
||||
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
||||
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
|
||||
github.com/docker/cli v23.0.5+incompatible // indirect
|
||||
|
@ -55,7 +61,8 @@ require (
|
|||
github.com/ghodss/yaml v1.0.0 // indirect
|
||||
github.com/gobwas/glob v0.2.3 // indirect
|
||||
github.com/goccy/go-json v0.10.2 // indirect
|
||||
github.com/godbus/dbus/v5 v5.0.6 // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/protobuf v1.5.3 // indirect
|
||||
github.com/klauspost/compress v1.16.5 // indirect
|
||||
|
@ -66,7 +73,8 @@ require (
|
|||
github.com/lestrrat-go/iter v1.0.2 // indirect
|
||||
github.com/lestrrat-go/option v1.0.1 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
github.com/moby/sys/mountinfo v0.5.0 // indirect
|
||||
github.com/moby/sys/mountinfo v0.6.2 // indirect
|
||||
github.com/moby/sys/sequential v0.5.0 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0-rc3 // indirect
|
||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
|
||||
|
@ -82,12 +90,6 @@ require (
|
|||
golang.org/x/net v0.10.0 // indirect
|
||||
golang.org/x/text v0.9.0 // indirect
|
||||
golang.org/x/tools v0.8.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21 // indirect
|
||||
google.golang.org/protobuf v1.30.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
)
|
||||
|
||||
replace (
|
||||
google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63
|
||||
google.golang.org/grpc => google.golang.org/grpc v1.27.1
|
||||
)
|
||||
|
|
166
go.sum
166
go.sum
|
@ -1,5 +1,6 @@
|
|||
bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
|
||||
bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM=
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
||||
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
|
||||
|
@ -153,8 +154,8 @@ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6
|
|||
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
|
||||
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
|
||||
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
|
||||
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
|
||||
github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw=
|
||||
github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M=
|
||||
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
|
||||
|
@ -167,6 +168,16 @@ github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX
|
|||
github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
|
||||
github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
|
||||
github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
||||
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
||||
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
|
||||
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
|
||||
github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo=
|
||||
github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA=
|
||||
|
@ -186,8 +197,8 @@ github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4S
|
|||
github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE=
|
||||
github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU=
|
||||
github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8=
|
||||
github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM=
|
||||
github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw=
|
||||
github.com/containerd/cgroups/v3 v3.0.1 h1:4hfGvu8rfGIwVIDd+nLzn/B9ZXx4BcCjzt5ToenJRaE=
|
||||
github.com/containerd/cgroups/v3 v3.0.1/go.mod h1:/vtwk1VXrtoa5AaZLkypuOJgA/6DyPMZHJPGQNtlHnw=
|
||||
github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
|
||||
github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
|
||||
github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE=
|
||||
|
@ -213,8 +224,8 @@ github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0
|
|||
github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s=
|
||||
github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE=
|
||||
github.com/containerd/containerd v1.6.6/go.mod h1:ZoP1geJldzCVY3Tonoz7b1IXk8rIX0Nltt5QE4OMNk0=
|
||||
github.com/containerd/containerd v1.6.21 h1:eSTAmnvDKRPWan+MpSSfNyrtleXd86ogK9X8fMWpe/Q=
|
||||
github.com/containerd/containerd v1.6.21/go.mod h1:apei1/i5Ux2FzrK6+DM/suEsGuK/MeVOfy8tR2q7Wnw=
|
||||
github.com/containerd/containerd v1.7.0 h1:G/ZQr3gMZs6ZT0qPUZ15znx5QSdQdASW11nXTLTM2Pg=
|
||||
github.com/containerd/containerd v1.7.0/go.mod h1:QfR7Efgb/6X2BDpTPJRvPTYDE9rsF0FsXX9J8sIs/sc=
|
||||
github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
|
||||
github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
|
||||
github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
|
||||
|
@ -224,13 +235,15 @@ github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EX
|
|||
github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM=
|
||||
github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk=
|
||||
github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg=
|
||||
github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM=
|
||||
github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
|
||||
github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
|
||||
github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0=
|
||||
github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0=
|
||||
github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4=
|
||||
github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU=
|
||||
github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4=
|
||||
github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY=
|
||||
github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o=
|
||||
github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU=
|
||||
github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk=
|
||||
github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA=
|
||||
|
@ -251,6 +264,8 @@ github.com/containerd/imgcrypt v1.1.4/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO
|
|||
github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c=
|
||||
github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY=
|
||||
github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY=
|
||||
github.com/containerd/protobuild v0.3.0 h1:RIyEIu+D+iIha6E1PREBPAXspSMFaDVam81JlolZWpg=
|
||||
github.com/containerd/protobuild v0.3.0/go.mod h1:5mNMFKKAwCIAkFBPiOdtRx2KiQlyEJeMXnL5R1DsWu8=
|
||||
github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM=
|
||||
github.com/containerd/stargz-snapshotter/estargz v0.14.3 h1:OqlDCK3ZVUO6C3B/5FSkDwbkEETK84kQgEeFwDC+62k=
|
||||
github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o=
|
||||
|
@ -260,13 +275,14 @@ github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0x
|
|||
github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y=
|
||||
github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y=
|
||||
github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ=
|
||||
github.com/containerd/ttrpc v1.1.2 h1:4jH6OQDQqjfVD2b5TJS5TxmGuLGmp5WW7KtW2TWOP7c=
|
||||
github.com/containerd/ttrpc v1.1.2/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ=
|
||||
github.com/containerd/ttrpc v1.2.2 h1:9vqZr0pxwOF5koz6N0N3kJ0zDHokrcPxIR/ZR2YFtOs=
|
||||
github.com/containerd/ttrpc v1.2.2/go.mod h1:sIT6l32Ph/H9cvnJsfXM5drIVzTr5A2flTf1G5tYZak=
|
||||
github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
|
||||
github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk=
|
||||
github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg=
|
||||
github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY=
|
||||
github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s=
|
||||
github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4=
|
||||
github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0=
|
||||
github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw=
|
||||
github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y=
|
||||
github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY=
|
||||
|
@ -301,8 +317,9 @@ github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7
|
|||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
|
||||
github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
|
||||
github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI=
|
||||
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
|
||||
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
|
@ -375,7 +392,15 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn
|
|||
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
|
||||
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
|
||||
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
|
||||
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
|
||||
github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||
github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||
|
@ -445,8 +470,9 @@ github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblf
|
|||
github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
|
||||
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro=
|
||||
github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
||||
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU=
|
||||
github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c=
|
||||
|
@ -460,8 +486,8 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69
|
|||
github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
|
||||
github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ=
|
||||
github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
|
||||
github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
|
||||
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
|
@ -707,8 +733,11 @@ github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQ
|
|||
github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c=
|
||||
github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A=
|
||||
github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A=
|
||||
github.com/moby/sys/mountinfo v0.5.0 h1:2Ks8/r6lopsxWi9m58nlwjaeSzUX9iiL1vj5qB/9ObI=
|
||||
github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU=
|
||||
github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78=
|
||||
github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI=
|
||||
github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc=
|
||||
github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo=
|
||||
github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg=
|
||||
github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ=
|
||||
github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs=
|
||||
|
@ -827,14 +856,14 @@ github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP
|
|||
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
|
||||
github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
|
||||
github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
|
||||
github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34=
|
||||
github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
|
||||
github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
|
||||
github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
|
||||
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=
|
||||
github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
|
@ -843,8 +872,8 @@ github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+
|
|||
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
|
||||
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
|
||||
github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
|
||||
github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4=
|
||||
github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
|
||||
github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE=
|
||||
github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||
|
@ -856,8 +885,8 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx
|
|||
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
|
||||
github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
|
||||
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
|
||||
github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
|
||||
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
|
||||
github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo=
|
||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
|
@ -1100,6 +1129,8 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH
|
|||
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
|
@ -1109,6 +1140,7 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu
|
|||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||
|
@ -1126,6 +1158,7 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
|||
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
|
||||
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
|
@ -1133,6 +1166,7 @@ golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73r
|
|||
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
|
@ -1218,6 +1252,7 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|||
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
|
||||
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
|
@ -1323,6 +1358,7 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s=
|
||||
|
@ -1353,12 +1389,14 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||
golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs=
|
||||
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44=
|
||||
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
|
@ -1416,6 +1454,7 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f
|
|||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
|
||||
|
@ -1449,6 +1488,7 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q
|
|||
google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
|
||||
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
|
||||
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||
|
@ -1456,10 +1496,94 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID
|
|||
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk=
|
||||
google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63 h1:YzfoEYWbODU5Fbt37+h7X16BWQbad7Q4S6gclTKFXM8=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
|
||||
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
|
||||
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
|
||||
google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk=
|
||||
google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||
google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
|
||||
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
|
||||
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
|
||||
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
|
||||
google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
|
||||
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA=
|
||||
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
|
||||
google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA=
|
||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
||||
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
|
||||
google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
|
||||
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
|
||||
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
|
||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
|
||||
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
|
||||
google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
|
||||
google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
|
||||
google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
||||
google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
||||
google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag=
|
||||
google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE=
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
|
@ -1467,6 +1591,8 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE
|
|||
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
|
||||
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
|
||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -2,7 +2,6 @@ syntax = "proto3";
|
|||
|
||||
option go_package = "github.com/Microsoft/hcsshim/internal/computeagent;computeagent";
|
||||
|
||||
import weak "gogoproto/gogo.proto";
|
||||
import "google/protobuf/any.proto";
|
||||
|
||||
service ComputeAgent{
|
||||
|
@ -17,7 +16,7 @@ message AssignPCIInternalRequest {
|
|||
string container_id = 1;
|
||||
string device_id = 2;
|
||||
uint32 virtual_function_index = 3;
|
||||
string nic_id = 4;
|
||||
string nic_id = 4;
|
||||
}
|
||||
|
||||
message AssignPCIInternalResponse {
|
||||
|
@ -58,6 +57,6 @@ message DeleteNICInternalResponse {}
|
|||
|
||||
message IovSettings {
|
||||
uint32 IovOffloadWeight = 1;
|
||||
uint32 QueuePairsRequested = 2;
|
||||
uint32 QueuePairsRequested = 2;
|
||||
uint32 InterruptModeration = 3;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
// Code generated by protoc-gen-go-ttrpc. DO NOT EDIT.
|
||||
// source: github.com/Microsoft/hcsshim/internal/computeagent/computeagent.proto
|
||||
package computeagent
|
||||
|
||||
import (
|
||||
context "context"
|
||||
ttrpc "github.com/containerd/ttrpc"
|
||||
)
|
||||
|
||||
type ComputeAgentService interface {
|
||||
AddNIC(context.Context, *AddNICInternalRequest) (*AddNICInternalResponse, error)
|
||||
ModifyNIC(context.Context, *ModifyNICInternalRequest) (*ModifyNICInternalResponse, error)
|
||||
DeleteNIC(context.Context, *DeleteNICInternalRequest) (*DeleteNICInternalResponse, error)
|
||||
AssignPCI(context.Context, *AssignPCIInternalRequest) (*AssignPCIInternalResponse, error)
|
||||
RemovePCI(context.Context, *RemovePCIInternalRequest) (*RemovePCIInternalResponse, error)
|
||||
}
|
||||
|
||||
func RegisterComputeAgentService(srv *ttrpc.Server, svc ComputeAgentService) {
|
||||
srv.RegisterService("ComputeAgent", &ttrpc.ServiceDesc{
|
||||
Methods: map[string]ttrpc.Method{
|
||||
"AddNIC": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req AddNICInternalRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.AddNIC(ctx, &req)
|
||||
},
|
||||
"ModifyNIC": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req ModifyNICInternalRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.ModifyNIC(ctx, &req)
|
||||
},
|
||||
"DeleteNIC": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req DeleteNICInternalRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.DeleteNIC(ctx, &req)
|
||||
},
|
||||
"AssignPCI": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req AssignPCIInternalRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.AssignPCI(ctx, &req)
|
||||
},
|
||||
"RemovePCI": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req RemovePCIInternalRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.RemovePCI(ctx, &req)
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
type computeagentClient struct {
|
||||
client *ttrpc.Client
|
||||
}
|
||||
|
||||
func NewComputeAgentClient(client *ttrpc.Client) ComputeAgentService {
|
||||
return &computeagentClient{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *computeagentClient) AddNIC(ctx context.Context, req *AddNICInternalRequest) (*AddNICInternalResponse, error) {
|
||||
var resp AddNICInternalResponse
|
||||
if err := c.client.Call(ctx, "ComputeAgent", "AddNIC", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *computeagentClient) ModifyNIC(ctx context.Context, req *ModifyNICInternalRequest) (*ModifyNICInternalResponse, error) {
|
||||
var resp ModifyNICInternalResponse
|
||||
if err := c.client.Call(ctx, "ComputeAgent", "ModifyNIC", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *computeagentClient) DeleteNIC(ctx context.Context, req *DeleteNICInternalRequest) (*DeleteNICInternalResponse, error) {
|
||||
var resp DeleteNICInternalResponse
|
||||
if err := c.client.Call(ctx, "ComputeAgent", "DeleteNIC", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *computeagentClient) AssignPCI(ctx context.Context, req *AssignPCIInternalRequest) (*AssignPCIInternalResponse, error) {
|
||||
var resp AssignPCIInternalResponse
|
||||
if err := c.client.Call(ctx, "ComputeAgent", "AssignPCI", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *computeagentClient) RemovePCI(ctx context.Context, req *RemovePCIInternalRequest) (*RemovePCIInternalResponse, error) {
|
||||
var resp RemovePCIInternalResponse
|
||||
if err := c.client.Call(ctx, "ComputeAgent", "RemovePCI", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
|
@ -5,4 +5,4 @@
|
|||
// used for ncproxy.
|
||||
package computeagent
|
||||
|
||||
//go:generate go run github.com/golang/mock/mockgen -source=computeagent.pb.go -package=computeagent_mock -destination=mock\computeagent_mock.pb.go
|
||||
//go:generate go run github.com/golang/mock/mockgen -source=computeagent_ttrpc.pb.go -package=computeagent_mock -destination=mock\computeagent_mock.pb.go
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: computeagent.pb.go
|
||||
// Source: computeagent_ttrpc.pb.go
|
||||
|
||||
// Package computeagent_mock is a generated GoMock package.
|
||||
package computeagent_mock
|
||||
|
@ -36,76 +36,76 @@ func (m *MockComputeAgentService) EXPECT() *MockComputeAgentServiceMockRecorder
|
|||
}
|
||||
|
||||
// AddNIC mocks base method.
|
||||
func (m *MockComputeAgentService) AddNIC(ctx context.Context, req *computeagent.AddNICInternalRequest) (*computeagent.AddNICInternalResponse, error) {
|
||||
func (m *MockComputeAgentService) AddNIC(arg0 context.Context, arg1 *computeagent.AddNICInternalRequest) (*computeagent.AddNICInternalResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "AddNIC", ctx, req)
|
||||
ret := m.ctrl.Call(m, "AddNIC", arg0, arg1)
|
||||
ret0, _ := ret[0].(*computeagent.AddNICInternalResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// AddNIC indicates an expected call of AddNIC.
|
||||
func (mr *MockComputeAgentServiceMockRecorder) AddNIC(ctx, req interface{}) *gomock.Call {
|
||||
func (mr *MockComputeAgentServiceMockRecorder) AddNIC(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNIC", reflect.TypeOf((*MockComputeAgentService)(nil).AddNIC), ctx, req)
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNIC", reflect.TypeOf((*MockComputeAgentService)(nil).AddNIC), arg0, arg1)
|
||||
}
|
||||
|
||||
// AssignPCI mocks base method.
|
||||
func (m *MockComputeAgentService) AssignPCI(ctx context.Context, req *computeagent.AssignPCIInternalRequest) (*computeagent.AssignPCIInternalResponse, error) {
|
||||
func (m *MockComputeAgentService) AssignPCI(arg0 context.Context, arg1 *computeagent.AssignPCIInternalRequest) (*computeagent.AssignPCIInternalResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "AssignPCI", ctx, req)
|
||||
ret := m.ctrl.Call(m, "AssignPCI", arg0, arg1)
|
||||
ret0, _ := ret[0].(*computeagent.AssignPCIInternalResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// AssignPCI indicates an expected call of AssignPCI.
|
||||
func (mr *MockComputeAgentServiceMockRecorder) AssignPCI(ctx, req interface{}) *gomock.Call {
|
||||
func (mr *MockComputeAgentServiceMockRecorder) AssignPCI(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssignPCI", reflect.TypeOf((*MockComputeAgentService)(nil).AssignPCI), ctx, req)
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssignPCI", reflect.TypeOf((*MockComputeAgentService)(nil).AssignPCI), arg0, arg1)
|
||||
}
|
||||
|
||||
// DeleteNIC mocks base method.
|
||||
func (m *MockComputeAgentService) DeleteNIC(ctx context.Context, req *computeagent.DeleteNICInternalRequest) (*computeagent.DeleteNICInternalResponse, error) {
|
||||
func (m *MockComputeAgentService) DeleteNIC(arg0 context.Context, arg1 *computeagent.DeleteNICInternalRequest) (*computeagent.DeleteNICInternalResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "DeleteNIC", ctx, req)
|
||||
ret := m.ctrl.Call(m, "DeleteNIC", arg0, arg1)
|
||||
ret0, _ := ret[0].(*computeagent.DeleteNICInternalResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// DeleteNIC indicates an expected call of DeleteNIC.
|
||||
func (mr *MockComputeAgentServiceMockRecorder) DeleteNIC(ctx, req interface{}) *gomock.Call {
|
||||
func (mr *MockComputeAgentServiceMockRecorder) DeleteNIC(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNIC", reflect.TypeOf((*MockComputeAgentService)(nil).DeleteNIC), ctx, req)
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNIC", reflect.TypeOf((*MockComputeAgentService)(nil).DeleteNIC), arg0, arg1)
|
||||
}
|
||||
|
||||
// ModifyNIC mocks base method.
|
||||
func (m *MockComputeAgentService) ModifyNIC(ctx context.Context, req *computeagent.ModifyNICInternalRequest) (*computeagent.ModifyNICInternalResponse, error) {
|
||||
func (m *MockComputeAgentService) ModifyNIC(arg0 context.Context, arg1 *computeagent.ModifyNICInternalRequest) (*computeagent.ModifyNICInternalResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ModifyNIC", ctx, req)
|
||||
ret := m.ctrl.Call(m, "ModifyNIC", arg0, arg1)
|
||||
ret0, _ := ret[0].(*computeagent.ModifyNICInternalResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ModifyNIC indicates an expected call of ModifyNIC.
|
||||
func (mr *MockComputeAgentServiceMockRecorder) ModifyNIC(ctx, req interface{}) *gomock.Call {
|
||||
func (mr *MockComputeAgentServiceMockRecorder) ModifyNIC(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ModifyNIC", reflect.TypeOf((*MockComputeAgentService)(nil).ModifyNIC), ctx, req)
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ModifyNIC", reflect.TypeOf((*MockComputeAgentService)(nil).ModifyNIC), arg0, arg1)
|
||||
}
|
||||
|
||||
// RemovePCI mocks base method.
|
||||
func (m *MockComputeAgentService) RemovePCI(ctx context.Context, req *computeagent.RemovePCIInternalRequest) (*computeagent.RemovePCIInternalResponse, error) {
|
||||
func (m *MockComputeAgentService) RemovePCI(arg0 context.Context, arg1 *computeagent.RemovePCIInternalRequest) (*computeagent.RemovePCIInternalResponse, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "RemovePCI", ctx, req)
|
||||
ret := m.ctrl.Call(m, "RemovePCI", arg0, arg1)
|
||||
ret0, _ := ret[0].(*computeagent.RemovePCIInternalResponse)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// RemovePCI indicates an expected call of RemovePCI.
|
||||
func (mr *MockComputeAgentServiceMockRecorder) RemovePCI(ctx, req interface{}) *gomock.Call {
|
||||
func (mr *MockComputeAgentServiceMockRecorder) RemovePCI(arg0, arg1 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemovePCI", reflect.TypeOf((*MockComputeAgentService)(nil).RemovePCI), ctx, req)
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemovePCI", reflect.TypeOf((*MockComputeAgentService)(nil).RemovePCI), arg0, arg1)
|
||||
}
|
||||
|
|
|
@ -1,550 +1,220 @@
|
|||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.30.0
|
||||
// protoc v4.23.2
|
||||
// source: github.com/Microsoft/hcsshim/internal/extendedtask/extendedtask.proto
|
||||
|
||||
package extendedtask
|
||||
|
||||
import (
|
||||
context "context"
|
||||
fmt "fmt"
|
||||
github_com_containerd_ttrpc "github.com/containerd/ttrpc"
|
||||
proto "github.com/gogo/protobuf/proto"
|
||||
io "io"
|
||||
math "math"
|
||||
math_bits "math/bits"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
strings "strings"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the proto package it is being compiled against.
|
||||
// A compilation error at this line likely means your copy of the
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type ComputeProcessorInfoRequest struct {
|
||||
ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoRequest) Reset() { *m = ComputeProcessorInfoRequest{} }
|
||||
func (*ComputeProcessorInfoRequest) ProtoMessage() {}
|
||||
func (*ComputeProcessorInfoRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_c90988f6b70b2a29, []int{0}
|
||||
}
|
||||
func (m *ComputeProcessorInfoRequest) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *ComputeProcessorInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_ComputeProcessorInfoRequest.Marshal(b, m, deterministic)
|
||||
} else {
|
||||
b = b[:cap(b)]
|
||||
n, err := m.MarshalToSizedBuffer(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return b[:n], nil
|
||||
func (x *ComputeProcessorInfoRequest) Reset() {
|
||||
*x = ComputeProcessorInfoRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
func (m *ComputeProcessorInfoRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_ComputeProcessorInfoRequest.Merge(m, src)
|
||||
}
|
||||
func (m *ComputeProcessorInfoRequest) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *ComputeProcessorInfoRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_ComputeProcessorInfoRequest.DiscardUnknown(m)
|
||||
|
||||
func (x *ComputeProcessorInfoRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_ComputeProcessorInfoRequest proto.InternalMessageInfo
|
||||
func (*ComputeProcessorInfoRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ComputeProcessorInfoRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ComputeProcessorInfoRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ComputeProcessorInfoRequest) Descriptor() ([]byte, []int) {
|
||||
return file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *ComputeProcessorInfoRequest) GetID() string {
|
||||
if x != nil {
|
||||
return x.ID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type ComputeProcessorInfoResponse struct {
|
||||
Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ComputeProcessorInfoResponse) Reset() {
|
||||
*x = ComputeProcessorInfoResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComputeProcessorInfoResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoResponse) Reset() { *m = ComputeProcessorInfoResponse{} }
|
||||
func (*ComputeProcessorInfoResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ComputeProcessorInfoResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use ComputeProcessorInfoResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ComputeProcessorInfoResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_c90988f6b70b2a29, []int{1}
|
||||
}
|
||||
func (m *ComputeProcessorInfoResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
}
|
||||
func (m *ComputeProcessorInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
if deterministic {
|
||||
return xxx_messageInfo_ComputeProcessorInfoResponse.Marshal(b, m, deterministic)
|
||||
} else {
|
||||
b = b[:cap(b)]
|
||||
n, err := m.MarshalToSizedBuffer(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return b[:n], nil
|
||||
}
|
||||
}
|
||||
func (m *ComputeProcessorInfoResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_ComputeProcessorInfoResponse.Merge(m, src)
|
||||
}
|
||||
func (m *ComputeProcessorInfoResponse) XXX_Size() int {
|
||||
return m.Size()
|
||||
}
|
||||
func (m *ComputeProcessorInfoResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_ComputeProcessorInfoResponse.DiscardUnknown(m)
|
||||
return file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
var xxx_messageInfo_ComputeProcessorInfoResponse proto.InternalMessageInfo
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*ComputeProcessorInfoRequest)(nil), "ComputeProcessorInfoRequest")
|
||||
proto.RegisterType((*ComputeProcessorInfoResponse)(nil), "ComputeProcessorInfoResponse")
|
||||
func (x *ComputeProcessorInfoResponse) GetCount() int32 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterFile("github.com/Microsoft/hcsshim/internal/extendedtask/extendedtask.proto", fileDescriptor_c90988f6b70b2a29)
|
||||
}
|
||||
var File_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto protoreflect.FileDescriptor
|
||||
|
||||
var fileDescriptor_c90988f6b70b2a29 = []byte{
|
||||
// 249 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcf, 0x2c, 0xc9,
|
||||
0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xf7, 0xcd, 0x4c, 0x2e, 0xca, 0x2f, 0xce, 0x4f, 0x2b,
|
||||
0xd1, 0xcf, 0x48, 0x2e, 0x2e, 0xce, 0xc8, 0xcc, 0xd5, 0xcf, 0xcc, 0x2b, 0x49, 0x2d, 0xca, 0x4b,
|
||||
0xcc, 0xd1, 0x4f, 0xad, 0x28, 0x49, 0xcd, 0x4b, 0x49, 0x4d, 0x29, 0x49, 0x2c, 0xce, 0x46, 0xe1,
|
||||
0xe8, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x4b, 0x89, 0xa4, 0xe7, 0xa7, 0xe7, 0x83, 0x99, 0xfa, 0x20,
|
||||
0x16, 0x44, 0x54, 0xc9, 0x94, 0x4b, 0xda, 0x39, 0x3f, 0xb7, 0xa0, 0xb4, 0x24, 0x35, 0xa0, 0x28,
|
||||
0x3f, 0x39, 0xb5, 0xb8, 0x38, 0xbf, 0xc8, 0x33, 0x2f, 0x2d, 0x3f, 0x28, 0xb5, 0xb0, 0x34, 0xb5,
|
||||
0xb8, 0x44, 0x48, 0x8c, 0x8b, 0x29, 0x33, 0x45, 0x82, 0x51, 0x81, 0x51, 0x83, 0xd3, 0x89, 0xed,
|
||||
0xd1, 0x3d, 0x79, 0x26, 0x4f, 0x97, 0x20, 0xa6, 0xcc, 0x14, 0x25, 0x13, 0x2e, 0x19, 0xec, 0xda,
|
||||
0x8a, 0x0b, 0xf2, 0xf3, 0x8a, 0x53, 0x85, 0x44, 0xb8, 0x58, 0x93, 0xf3, 0x4b, 0xf3, 0x4a, 0xc0,
|
||||
0x5a, 0x59, 0x83, 0x20, 0x1c, 0xa3, 0x64, 0x2e, 0x1e, 0x57, 0xa8, 0xc3, 0x42, 0x12, 0x8b, 0xb3,
|
||||
0x85, 0x82, 0xb9, 0x44, 0xb0, 0x99, 0x22, 0x24, 0xa3, 0x87, 0xc7, 0x4d, 0x52, 0xb2, 0x7a, 0xf8,
|
||||
0xac, 0x76, 0x8a, 0x3c, 0xf1, 0x50, 0x8e, 0xe1, 0xc6, 0x43, 0x39, 0x86, 0x86, 0x47, 0x72, 0x8c,
|
||||
0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0x63, 0x94, 0x3d, 0xe9,
|
||||
0x01, 0x69, 0x8d, 0xcc, 0x89, 0x60, 0x48, 0x62, 0x03, 0x87, 0x9a, 0x31, 0x20, 0x00, 0x00, 0xff,
|
||||
0xff, 0x1d, 0x33, 0xbb, 0x33, 0x94, 0x01, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoRequest) Marshal() (dAtA []byte, err error) {
|
||||
size := m.Size()
|
||||
dAtA = make([]byte, size)
|
||||
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return dAtA[:n], nil
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoRequest) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if m.XXX_unrecognized != nil {
|
||||
i -= len(m.XXX_unrecognized)
|
||||
copy(dAtA[i:], m.XXX_unrecognized)
|
||||
}
|
||||
if len(m.ID) > 0 {
|
||||
i -= len(m.ID)
|
||||
copy(dAtA[i:], m.ID)
|
||||
i = encodeVarintExtendedtask(dAtA, i, uint64(len(m.ID)))
|
||||
i--
|
||||
dAtA[i] = 0xa
|
||||
}
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoResponse) Marshal() (dAtA []byte, err error) {
|
||||
size := m.Size()
|
||||
dAtA = make([]byte, size)
|
||||
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return dAtA[:n], nil
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoResponse) MarshalTo(dAtA []byte) (int, error) {
|
||||
size := m.Size()
|
||||
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i := len(dAtA)
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if m.XXX_unrecognized != nil {
|
||||
i -= len(m.XXX_unrecognized)
|
||||
copy(dAtA[i:], m.XXX_unrecognized)
|
||||
}
|
||||
if m.Count != 0 {
|
||||
i = encodeVarintExtendedtask(dAtA, i, uint64(m.Count))
|
||||
i--
|
||||
dAtA[i] = 0x8
|
||||
}
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
|
||||
func encodeVarintExtendedtask(dAtA []byte, offset int, v uint64) int {
|
||||
offset -= sovExtendedtask(v)
|
||||
base := offset
|
||||
for v >= 1<<7 {
|
||||
dAtA[offset] = uint8(v&0x7f | 0x80)
|
||||
v >>= 7
|
||||
offset++
|
||||
}
|
||||
dAtA[offset] = uint8(v)
|
||||
return base
|
||||
}
|
||||
func (m *ComputeProcessorInfoRequest) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
var l int
|
||||
_ = l
|
||||
l = len(m.ID)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovExtendedtask(uint64(l))
|
||||
}
|
||||
if m.XXX_unrecognized != nil {
|
||||
n += len(m.XXX_unrecognized)
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *ComputeProcessorInfoResponse) Size() (n int) {
|
||||
if m == nil {
|
||||
return 0
|
||||
}
|
||||
var l int
|
||||
_ = l
|
||||
if m.Count != 0 {
|
||||
n += 1 + sovExtendedtask(uint64(m.Count))
|
||||
}
|
||||
if m.XXX_unrecognized != nil {
|
||||
n += len(m.XXX_unrecognized)
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func sovExtendedtask(x uint64) (n int) {
|
||||
return (math_bits.Len64(x|1) + 6) / 7
|
||||
}
|
||||
func sozExtendedtask(x uint64) (n int) {
|
||||
return sovExtendedtask(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
||||
}
|
||||
func (this *ComputeProcessorInfoRequest) String() string {
|
||||
if this == nil {
|
||||
return "nil"
|
||||
}
|
||||
s := strings.Join([]string{`&ComputeProcessorInfoRequest{`,
|
||||
`ID:` + fmt.Sprintf("%v", this.ID) + `,`,
|
||||
`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
|
||||
`}`,
|
||||
}, "")
|
||||
return s
|
||||
}
|
||||
func (this *ComputeProcessorInfoResponse) String() string {
|
||||
if this == nil {
|
||||
return "nil"
|
||||
}
|
||||
s := strings.Join([]string{`&ComputeProcessorInfoResponse{`,
|
||||
`Count:` + fmt.Sprintf("%v", this.Count) + `,`,
|
||||
`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
|
||||
`}`,
|
||||
}, "")
|
||||
return s
|
||||
}
|
||||
func valueToStringExtendedtask(v interface{}) string {
|
||||
rv := reflect.ValueOf(v)
|
||||
if rv.IsNil() {
|
||||
return "nil"
|
||||
}
|
||||
pv := reflect.Indirect(rv).Interface()
|
||||
return fmt.Sprintf("*%v", pv)
|
||||
}
|
||||
|
||||
type ExtendedTaskService interface {
|
||||
ComputeProcessorInfo(ctx context.Context, req *ComputeProcessorInfoRequest) (*ComputeProcessorInfoResponse, error)
|
||||
}
|
||||
|
||||
func RegisterExtendedTaskService(srv *github_com_containerd_ttrpc.Server, svc ExtendedTaskService) {
|
||||
srv.Register("ExtendedTask", map[string]github_com_containerd_ttrpc.Method{
|
||||
"ComputeProcessorInfo": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req ComputeProcessorInfoRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.ComputeProcessorInfo(ctx, &req)
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
type extendedTaskClient struct {
|
||||
client *github_com_containerd_ttrpc.Client
|
||||
}
|
||||
|
||||
func NewExtendedTaskClient(client *github_com_containerd_ttrpc.Client) ExtendedTaskService {
|
||||
return &extendedTaskClient{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *extendedTaskClient) ComputeProcessorInfo(ctx context.Context, req *ComputeProcessorInfoRequest) (*ComputeProcessorInfoResponse, error) {
|
||||
var resp ComputeProcessorInfoResponse
|
||||
if err := c.client.Call(ctx, "ExtendedTask", "ComputeProcessorInfo", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
func (m *ComputeProcessorInfoRequest) 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 ErrIntOverflowExtendedtask
|
||||
}
|
||||
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: ComputeProcessorInfoRequest: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: ComputeProcessorInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowExtendedtask
|
||||
}
|
||||
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 ErrInvalidLengthExtendedtask
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthExtendedtask
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.ID = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipExtendedtask(dAtA[iNdEx:])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||
return ErrInvalidLengthExtendedtask
|
||||
}
|
||||
if (iNdEx + skippy) > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
|
||||
iNdEx += skippy
|
||||
}
|
||||
}
|
||||
|
||||
if iNdEx > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *ComputeProcessorInfoResponse) 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 ErrIntOverflowExtendedtask
|
||||
}
|
||||
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: ComputeProcessorInfoResponse: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: ComputeProcessorInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Count", wireType)
|
||||
}
|
||||
m.Count = 0
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowExtendedtask
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
m.Count |= int32(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipExtendedtask(dAtA[iNdEx:])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||
return ErrInvalidLengthExtendedtask
|
||||
}
|
||||
if (iNdEx + skippy) > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
|
||||
iNdEx += skippy
|
||||
}
|
||||
}
|
||||
|
||||
if iNdEx > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func skipExtendedtask(dAtA []byte) (n int, err error) {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
depth := 0
|
||||
for iNdEx < l {
|
||||
var wire uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return 0, ErrIntOverflowExtendedtask
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return 0, io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
wire |= (uint64(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
wireType := int(wire & 0x7)
|
||||
switch wireType {
|
||||
case 0:
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return 0, ErrIntOverflowExtendedtask
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return 0, io.ErrUnexpectedEOF
|
||||
}
|
||||
iNdEx++
|
||||
if dAtA[iNdEx-1] < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
case 1:
|
||||
iNdEx += 8
|
||||
case 2:
|
||||
var length int
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return 0, ErrIntOverflowExtendedtask
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return 0, io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
length |= (int(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if length < 0 {
|
||||
return 0, ErrInvalidLengthExtendedtask
|
||||
}
|
||||
iNdEx += length
|
||||
case 3:
|
||||
depth++
|
||||
case 4:
|
||||
if depth == 0 {
|
||||
return 0, ErrUnexpectedEndOfGroupExtendedtask
|
||||
}
|
||||
depth--
|
||||
case 5:
|
||||
iNdEx += 4
|
||||
default:
|
||||
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
|
||||
}
|
||||
if iNdEx < 0 {
|
||||
return 0, ErrInvalidLengthExtendedtask
|
||||
}
|
||||
if depth == 0 {
|
||||
return iNdEx, nil
|
||||
}
|
||||
}
|
||||
return 0, io.ErrUnexpectedEOF
|
||||
var file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDesc = []byte{
|
||||
0x0a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x69, 0x63,
|
||||
0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x2f, 0x68, 0x63, 0x73, 0x73, 0x68, 0x69, 0x6d, 0x2f, 0x69,
|
||||
0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64,
|
||||
0x74, 0x61, 0x73, 0x6b, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x74, 0x61, 0x73,
|
||||
0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a, 0x1b, 0x43, 0x6f, 0x6d, 0x70, 0x75,
|
||||
0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x34, 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x63, 0x0a, 0x0c,
|
||||
0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x53, 0x0a, 0x14,
|
||||
0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x50, 0x72,
|
||||
0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63,
|
||||
0x65, 0x73, 0x73, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
|
||||
0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x2f, 0x68, 0x63, 0x73, 0x73, 0x68, 0x69,
|
||||
0x6d, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e,
|
||||
0x64, 0x65, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x3b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64,
|
||||
0x74, 0x61, 0x73, 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
ErrInvalidLengthExtendedtask = fmt.Errorf("proto: negative length found during unmarshaling")
|
||||
ErrIntOverflowExtendedtask = fmt.Errorf("proto: integer overflow")
|
||||
ErrUnexpectedEndOfGroupExtendedtask = fmt.Errorf("proto: unexpected end of group")
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescOnce sync.Once
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescData = file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescGZIP() []byte {
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescOnce.Do(func() {
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescData)
|
||||
})
|
||||
return file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_goTypes = []interface{}{
|
||||
(*ComputeProcessorInfoRequest)(nil), // 0: ComputeProcessorInfoRequest
|
||||
(*ComputeProcessorInfoResponse)(nil), // 1: ComputeProcessorInfoResponse
|
||||
}
|
||||
var file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_depIdxs = []int32{
|
||||
0, // 0: ExtendedTask.ComputeProcessorInfo:input_type -> ComputeProcessorInfoRequest
|
||||
1, // 1: ExtendedTask.ComputeProcessorInfo:output_type -> ComputeProcessorInfoResponse
|
||||
1, // [1:2] is the sub-list for method output_type
|
||||
0, // [0:1] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_init() }
|
||||
func file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_init() {
|
||||
if File_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComputeProcessorInfoRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComputeProcessorInfoResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_goTypes,
|
||||
DependencyIndexes: file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_depIdxs,
|
||||
MessageInfos: file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_msgTypes,
|
||||
}.Build()
|
||||
File_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto = out.File
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_rawDesc = nil
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_goTypes = nil
|
||||
file_github_com_Microsoft_hcsshim_internal_extendedtask_extendedtask_proto_depIdxs = nil
|
||||
}
|
||||
|
|
|
@ -2,16 +2,14 @@ syntax = "proto3";
|
|||
|
||||
option go_package = "github.com/Microsoft/hcsshim/internal/extendedtask;extendedtask";
|
||||
|
||||
import weak "gogoproto/gogo.proto";
|
||||
|
||||
service ExtendedTask {
|
||||
rpc ComputeProcessorInfo(ComputeProcessorInfoRequest) returns (ComputeProcessorInfoResponse);
|
||||
}
|
||||
|
||||
message ComputeProcessorInfoRequest {
|
||||
string id = 1;
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message ComputeProcessorInfoResponse {
|
||||
int32 count = 1;
|
||||
int32 count = 1;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
// Code generated by protoc-gen-go-ttrpc. DO NOT EDIT.
|
||||
// source: github.com/Microsoft/hcsshim/internal/extendedtask/extendedtask.proto
|
||||
package extendedtask
|
||||
|
||||
import (
|
||||
context "context"
|
||||
ttrpc "github.com/containerd/ttrpc"
|
||||
)
|
||||
|
||||
type ExtendedTaskService interface {
|
||||
ComputeProcessorInfo(context.Context, *ComputeProcessorInfoRequest) (*ComputeProcessorInfoResponse, error)
|
||||
}
|
||||
|
||||
func RegisterExtendedTaskService(srv *ttrpc.Server, svc ExtendedTaskService) {
|
||||
srv.RegisterService("ExtendedTask", &ttrpc.ServiceDesc{
|
||||
Methods: map[string]ttrpc.Method{
|
||||
"ComputeProcessorInfo": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req ComputeProcessorInfoRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.ComputeProcessorInfo(ctx, &req)
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
type extendedtaskClient struct {
|
||||
client *ttrpc.Client
|
||||
}
|
||||
|
||||
func NewExtendedTaskClient(client *ttrpc.Client) ExtendedTaskService {
|
||||
return &extendedtaskClient{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *extendedtaskClient) ComputeProcessorInfo(ctx context.Context, req *ComputeProcessorInfoRequest) (*ComputeProcessorInfoResponse, error) {
|
||||
var resp ComputeProcessorInfoResponse
|
||||
if err := c.client.Call(ctx, "ExtendedTask", "ComputeProcessorInfo", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
|
@ -7,7 +7,7 @@ import (
|
|||
"encoding/json"
|
||||
"strconv"
|
||||
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
oci "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@ import (
|
|||
"sync/atomic"
|
||||
"syscall"
|
||||
|
||||
"github.com/containerd/cgroups"
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
cgroups "github.com/containerd/cgroups/v3/cgroup1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
oci "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
@ -260,7 +260,7 @@ func (c *Container) GetStats(ctx context.Context) (*v1.Metrics, error) {
|
|||
span.AddAttributes(trace.StringAttribute("cid", c.id))
|
||||
|
||||
cgroupPath := c.spec.Linux.CgroupsPath
|
||||
cg, err := cgroups.Load(cgroups.V1, cgroups.StaticPath(cgroupPath))
|
||||
cg, err := cgroups.Load(cgroups.StaticPath(cgroupPath))
|
||||
if err != nil {
|
||||
return nil, errors.Errorf("failed to get container stats for %v: %v", c.id, err)
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
package hcsschema
|
||||
|
||||
import (
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
)
|
||||
|
||||
type Properties struct {
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -2,8 +2,6 @@ syntax = "proto3";
|
|||
|
||||
option go_package = "github.com/Microsoft/hcsshim/internal/ncproxyttrpc/;ncproxyttrpc";
|
||||
|
||||
import weak "gogoproto/gogo.proto";
|
||||
|
||||
service NetworkConfigProxy {
|
||||
rpc RegisterComputeAgent(RegisterComputeAgentRequest) returns (RegisterComputeAgentResponse) {}
|
||||
rpc UnregisterComputeAgent(UnregisterComputeAgentRequest) returns (UnregisterComputeAgentResponse) {}
|
||||
|
@ -23,9 +21,9 @@ message UnregisterComputeAgentRequest {
|
|||
|
||||
message UnregisterComputeAgentResponse {}
|
||||
|
||||
enum RequestTypeInternal {
|
||||
Setup = 0;
|
||||
Teardown = 1;
|
||||
enum RequestTypeInternal {
|
||||
Setup = 0;
|
||||
Teardown = 1;
|
||||
}
|
||||
|
||||
message ConfigureNetworkingInternalRequest{
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
// Code generated by protoc-gen-go-ttrpc. DO NOT EDIT.
|
||||
// source: github.com/Microsoft/hcsshim/internal/ncproxyttrpc/networkconfigproxy.proto
|
||||
package ncproxyttrpc
|
||||
|
||||
import (
|
||||
context "context"
|
||||
ttrpc "github.com/containerd/ttrpc"
|
||||
)
|
||||
|
||||
type NetworkConfigProxyService interface {
|
||||
RegisterComputeAgent(context.Context, *RegisterComputeAgentRequest) (*RegisterComputeAgentResponse, error)
|
||||
UnregisterComputeAgent(context.Context, *UnregisterComputeAgentRequest) (*UnregisterComputeAgentResponse, error)
|
||||
ConfigureNetworking(context.Context, *ConfigureNetworkingInternalRequest) (*ConfigureNetworkingInternalResponse, error)
|
||||
}
|
||||
|
||||
func RegisterNetworkConfigProxyService(srv *ttrpc.Server, svc NetworkConfigProxyService) {
|
||||
srv.RegisterService("NetworkConfigProxy", &ttrpc.ServiceDesc{
|
||||
Methods: map[string]ttrpc.Method{
|
||||
"RegisterComputeAgent": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req RegisterComputeAgentRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.RegisterComputeAgent(ctx, &req)
|
||||
},
|
||||
"UnregisterComputeAgent": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req UnregisterComputeAgentRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.UnregisterComputeAgent(ctx, &req)
|
||||
},
|
||||
"ConfigureNetworking": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req ConfigureNetworkingInternalRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.ConfigureNetworking(ctx, &req)
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
type networkconfigproxyClient struct {
|
||||
client *ttrpc.Client
|
||||
}
|
||||
|
||||
func NewNetworkConfigProxyClient(client *ttrpc.Client) NetworkConfigProxyService {
|
||||
return &networkconfigproxyClient{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *networkconfigproxyClient) RegisterComputeAgent(ctx context.Context, req *RegisterComputeAgentRequest) (*RegisterComputeAgentResponse, error) {
|
||||
var resp RegisterComputeAgentResponse
|
||||
if err := c.client.Call(ctx, "NetworkConfigProxy", "RegisterComputeAgent", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *networkconfigproxyClient) UnregisterComputeAgent(ctx context.Context, req *UnregisterComputeAgentRequest) (*UnregisterComputeAgentResponse, error) {
|
||||
var resp UnregisterComputeAgentResponse
|
||||
if err := c.client.Call(ctx, "NetworkConfigProxy", "UnregisterComputeAgent", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *networkconfigproxyClient) ConfigureNetworking(ctx context.Context, req *ConfigureNetworkingInternalRequest) (*ConfigureNetworkingInternalResponse, error) {
|
||||
var resp ConfigureNetworkingInternalResponse
|
||||
if err := c.client.Call(ctx, "NetworkConfigProxy", "ConfigureNetworking", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,108 @@
|
|||
// Code generated by protoc-gen-go-ttrpc. DO NOT EDIT.
|
||||
// source: github.com/Microsoft/hcsshim/internal/shimdiag/shimdiag.proto
|
||||
package shimdiag
|
||||
|
||||
import (
|
||||
context "context"
|
||||
ttrpc "github.com/containerd/ttrpc"
|
||||
)
|
||||
|
||||
type ShimDiagService interface {
|
||||
DiagExecInHost(context.Context, *ExecProcessRequest) (*ExecProcessResponse, error)
|
||||
DiagStacks(context.Context, *StacksRequest) (*StacksResponse, error)
|
||||
DiagTasks(context.Context, *TasksRequest) (*TasksResponse, error)
|
||||
DiagShare(context.Context, *ShareRequest) (*ShareResponse, error)
|
||||
DiagPid(context.Context, *PidRequest) (*PidResponse, error)
|
||||
}
|
||||
|
||||
func RegisterShimDiagService(srv *ttrpc.Server, svc ShimDiagService) {
|
||||
srv.RegisterService("containerd.runhcs.v1.diag.ShimDiag", &ttrpc.ServiceDesc{
|
||||
Methods: map[string]ttrpc.Method{
|
||||
"DiagExecInHost": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req ExecProcessRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.DiagExecInHost(ctx, &req)
|
||||
},
|
||||
"DiagStacks": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req StacksRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.DiagStacks(ctx, &req)
|
||||
},
|
||||
"DiagTasks": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req TasksRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.DiagTasks(ctx, &req)
|
||||
},
|
||||
"DiagShare": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req ShareRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.DiagShare(ctx, &req)
|
||||
},
|
||||
"DiagPid": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req PidRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.DiagPid(ctx, &req)
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
type shimdiagClient struct {
|
||||
client *ttrpc.Client
|
||||
}
|
||||
|
||||
func NewShimDiagClient(client *ttrpc.Client) ShimDiagService {
|
||||
return &shimdiagClient{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *shimdiagClient) DiagExecInHost(ctx context.Context, req *ExecProcessRequest) (*ExecProcessResponse, error) {
|
||||
var resp ExecProcessResponse
|
||||
if err := c.client.Call(ctx, "containerd.runhcs.v1.diag.ShimDiag", "DiagExecInHost", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *shimdiagClient) DiagStacks(ctx context.Context, req *StacksRequest) (*StacksResponse, error) {
|
||||
var resp StacksResponse
|
||||
if err := c.client.Call(ctx, "containerd.runhcs.v1.diag.ShimDiag", "DiagStacks", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *shimdiagClient) DiagTasks(ctx context.Context, req *TasksRequest) (*TasksResponse, error) {
|
||||
var resp TasksResponse
|
||||
if err := c.client.Call(ctx, "containerd.runhcs.v1.diag.ShimDiag", "DiagTasks", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *shimdiagClient) DiagShare(ctx context.Context, req *ShareRequest) (*ShareResponse, error) {
|
||||
var resp ShareResponse
|
||||
if err := c.client.Call(ctx, "containerd.runhcs.v1.diag.ShimDiag", "DiagShare", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *shimdiagClient) DiagPid(ctx context.Context, req *PidRequest) (*PidResponse, error) {
|
||||
var resp PidResponse
|
||||
if err := c.client.Call(ctx, "containerd.runhcs.v1.diag.ShimDiag", "DiagPid", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
|
@ -6,11 +6,15 @@ import (
|
|||
"encoding/json"
|
||||
"os"
|
||||
|
||||
ncproxygrpc "github.com/Microsoft/hcsshim/pkg/ncproxy/ncproxygrpc/v1"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
ncproxygrpc "github.com/Microsoft/hcsshim/pkg/ncproxy/ncproxygrpc/v1"
|
||||
nodenetsvc "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v1"
|
||||
)
|
||||
|
||||
type service struct {
|
||||
nodenetsvc.UnimplementedNodeNetworkServiceServer
|
||||
|
||||
conf *config
|
||||
client ncproxygrpc.NetworkConfigProxyClient
|
||||
containerToNamespace map[string]string
|
||||
|
@ -18,6 +22,8 @@ type service struct {
|
|||
containerToNetwork map[string][]string
|
||||
}
|
||||
|
||||
var _ nodenetsvc.NodeNetworkServiceServer = &service{}
|
||||
|
||||
type hnsSettings struct {
|
||||
SwitchName string `json:"switch_name,omitempty"`
|
||||
IOVSettings *ncproxygrpc.IovEndpointPolicySetting `json:"iov_settings,omitempty"`
|
||||
|
|
|
@ -15,12 +15,14 @@ import (
|
|||
"syscall"
|
||||
|
||||
"github.com/Microsoft/go-winio/pkg/guid"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
|
||||
"github.com/Microsoft/hcsshim/hcn"
|
||||
"github.com/Microsoft/hcsshim/internal/log"
|
||||
ncproxygrpc "github.com/Microsoft/hcsshim/pkg/ncproxy/ncproxygrpc/v1"
|
||||
nodenetsvc "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v1"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
// This is a barebones example of an implementation of the network
|
||||
|
@ -468,7 +470,7 @@ func main() {
|
|||
|
||||
grpcClient, err := grpc.Dial(
|
||||
conf.GRPCAddr,
|
||||
grpc.WithInsecure(),
|
||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||
)
|
||||
if err != nil {
|
||||
log.G(ctx).WithError(err).Fatalf("failed to connect to ncproxy at %s", conf.GRPCAddr)
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
|
||||
"github.com/Microsoft/go-winio"
|
||||
"github.com/containerd/ttrpc"
|
||||
"github.com/containerd/typeurl"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/grpc/codes"
|
||||
|
|
|
@ -6,13 +6,14 @@ import (
|
|||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/containerd/containerd/protobuf"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
|
||||
"github.com/Microsoft/hcsshim/hcn"
|
||||
"github.com/Microsoft/hcsshim/internal/computeagent"
|
||||
hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2"
|
||||
"github.com/Microsoft/hcsshim/internal/hns"
|
||||
"github.com/Microsoft/hcsshim/internal/protocol/guestresource"
|
||||
"github.com/containerd/typeurl"
|
||||
"github.com/gogo/protobuf/types"
|
||||
)
|
||||
|
||||
type testUtilityVM struct{}
|
||||
|
@ -95,7 +96,7 @@ func TestAddNIC(t *testing.T) {
|
|||
for _, test := range tests {
|
||||
t.Run(test.name, func(_ *testing.T) {
|
||||
var err error
|
||||
var anyEndpoint *types.Any
|
||||
var anyEndpoint typeurl.Any
|
||||
if test.endpointName != "" {
|
||||
endpoint := &hcn.HostComputeEndpoint{
|
||||
Name: test.endpointName,
|
||||
|
@ -107,7 +108,7 @@ func TestAddNIC(t *testing.T) {
|
|||
}
|
||||
req := &computeagent.AddNICInternalRequest{
|
||||
NicID: test.nicID,
|
||||
Endpoint: anyEndpoint,
|
||||
Endpoint: protobuf.FromAny(anyEndpoint),
|
||||
}
|
||||
|
||||
_, err = agent.AddNIC(ctx, req)
|
||||
|
@ -184,7 +185,7 @@ func TestModifyNIC(t *testing.T) {
|
|||
for _, test := range tests {
|
||||
t.Run(test.name, func(_ *testing.T) {
|
||||
var err error
|
||||
var anyEndpoint *types.Any
|
||||
var anyEndpoint typeurl.Any
|
||||
if test.endpointName != "" {
|
||||
endpoint := &hcn.HostComputeEndpoint{
|
||||
Name: test.endpointName,
|
||||
|
@ -196,7 +197,7 @@ func TestModifyNIC(t *testing.T) {
|
|||
}
|
||||
req := &computeagent.ModifyNICInternalRequest{
|
||||
NicID: test.nicID,
|
||||
Endpoint: anyEndpoint,
|
||||
Endpoint: protobuf.FromAny(anyEndpoint),
|
||||
IovPolicySettings: test.iovSettings,
|
||||
}
|
||||
|
||||
|
@ -258,7 +259,7 @@ func TestDeleteNIC(t *testing.T) {
|
|||
for _, test := range tests {
|
||||
t.Run(test.name, func(_ *testing.T) {
|
||||
var err error
|
||||
var anyEndpoint *types.Any
|
||||
var anyEndpoint typeurl.Any
|
||||
if test.endpointName != "" {
|
||||
endpoint := &hcn.HostComputeEndpoint{
|
||||
Name: test.endpointName,
|
||||
|
@ -270,7 +271,7 @@ func TestDeleteNIC(t *testing.T) {
|
|||
}
|
||||
req := &computeagent.DeleteNICInternalRequest{
|
||||
NicID: test.nicID,
|
||||
Endpoint: anyEndpoint,
|
||||
Endpoint: protobuf.FromAny(anyEndpoint),
|
||||
}
|
||||
|
||||
_, err = agent.DeleteNIC(ctx, req)
|
||||
|
|
|
@ -8,14 +8,15 @@ import (
|
|||
"net"
|
||||
"os/exec"
|
||||
|
||||
"github.com/containerd/ttrpc"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/protobuf/types/known/emptypb"
|
||||
|
||||
"github.com/Microsoft/hcsshim/internal/jobobject"
|
||||
"github.com/Microsoft/hcsshim/internal/log"
|
||||
"github.com/Microsoft/hcsshim/internal/vm"
|
||||
"github.com/Microsoft/hcsshim/internal/vmservice"
|
||||
"github.com/containerd/ttrpc"
|
||||
ptypes "github.com/gogo/protobuf/types"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
var _ vm.UVMBuilder = &utilityVMBuilder{}
|
||||
|
@ -91,7 +92,7 @@ func NewUVMBuilder(ctx context.Context, id, owner, binPath, addr string, guestOS
|
|||
|
||||
func (uvmb *utilityVMBuilder) Create(ctx context.Context) (vm.UVM, error) {
|
||||
// Grab what capabilities the virtstack supports up front.
|
||||
capabilities, err := uvmb.client.CapabilitiesVM(ctx, &ptypes.Empty{})
|
||||
capabilities, err := uvmb.client.CapabilitiesVM(ctx, &emptypb.Empty{})
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to get virtstack capabilities from vmservice")
|
||||
}
|
||||
|
|
|
@ -5,11 +5,12 @@ package remotevm
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"google.golang.org/protobuf/types/known/emptypb"
|
||||
|
||||
"github.com/Microsoft/hcsshim/internal/jobobject"
|
||||
"github.com/Microsoft/hcsshim/internal/vm"
|
||||
"github.com/Microsoft/hcsshim/internal/vmservice"
|
||||
ptypes "github.com/gogo/protobuf/types"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
var _ vm.UVM = &utilityVM{}
|
||||
|
@ -39,21 +40,21 @@ func (uvm *utilityVM) ID() string {
|
|||
|
||||
func (uvm *utilityVM) Start(ctx context.Context) error {
|
||||
// The expectation is the VM should be in a paused state after creation.
|
||||
if _, err := uvm.client.ResumeVM(ctx, &ptypes.Empty{}); err != nil {
|
||||
if _, err := uvm.client.ResumeVM(ctx, &emptypb.Empty{}); err != nil {
|
||||
return errors.Wrap(err, "failed to start remote VM")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (uvm *utilityVM) Stop(ctx context.Context) error {
|
||||
if _, err := uvm.client.TeardownVM(ctx, &ptypes.Empty{}); err != nil {
|
||||
if _, err := uvm.client.TeardownVM(ctx, &emptypb.Empty{}); err != nil {
|
||||
return errors.Wrap(err, "failed to stop remote VM")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (uvm *utilityVM) Wait() error {
|
||||
_, err := uvm.client.WaitVM(context.Background(), &ptypes.Empty{})
|
||||
_, err := uvm.client.WaitVM(context.Background(), &emptypb.Empty{})
|
||||
if err != nil {
|
||||
uvm.waitError = err
|
||||
return errors.Wrap(err, "failed to wait on remote VM")
|
||||
|
@ -62,14 +63,14 @@ func (uvm *utilityVM) Wait() error {
|
|||
}
|
||||
|
||||
func (uvm *utilityVM) Pause(ctx context.Context) error {
|
||||
if _, err := uvm.client.PauseVM(ctx, &ptypes.Empty{}); err != nil {
|
||||
if _, err := uvm.client.PauseVM(ctx, &emptypb.Empty{}); err != nil {
|
||||
return errors.Wrap(err, "failed to pause remote VM")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (uvm *utilityVM) Resume(ctx context.Context) error {
|
||||
if _, err := uvm.client.ResumeVM(ctx, &ptypes.Empty{}); err != nil {
|
||||
if _, err := uvm.client.ResumeVM(ctx, &emptypb.Empty{}); err != nil {
|
||||
return errors.Wrap(err, "failed to resume remote VM")
|
||||
}
|
||||
return nil
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,205 @@
|
|||
// Code generated by protoc-gen-go-ttrpc. DO NOT EDIT.
|
||||
// source: github.com/Microsoft/hcsshim/internal/vmservice/vmservice.proto
|
||||
package vmservice
|
||||
|
||||
import (
|
||||
context "context"
|
||||
ttrpc "github.com/containerd/ttrpc"
|
||||
emptypb "google.golang.org/protobuf/types/known/emptypb"
|
||||
)
|
||||
|
||||
type VMService interface {
|
||||
CreateVM(context.Context, *CreateVMRequest) (*emptypb.Empty, error)
|
||||
TeardownVM(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
|
||||
PauseVM(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
|
||||
ResumeVM(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
|
||||
WaitVM(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
|
||||
InspectVM(context.Context, *InspectVMRequest) (*InspectVMResponse, error)
|
||||
CapabilitiesVM(context.Context, *emptypb.Empty) (*CapabilitiesVMResponse, error)
|
||||
PropertiesVM(context.Context, *PropertiesVMRequest) (*PropertiesVMResponse, error)
|
||||
ModifyResource(context.Context, *ModifyResourceRequest) (*emptypb.Empty, error)
|
||||
VMSocket(context.Context, *VMSocketRequest) (*emptypb.Empty, error)
|
||||
Quit(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
|
||||
}
|
||||
|
||||
func RegisterVMService(srv *ttrpc.Server, svc VMService) {
|
||||
srv.RegisterService("vmservice.VM", &ttrpc.ServiceDesc{
|
||||
Methods: map[string]ttrpc.Method{
|
||||
"CreateVM": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req CreateVMRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.CreateVM(ctx, &req)
|
||||
},
|
||||
"TeardownVM": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req emptypb.Empty
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.TeardownVM(ctx, &req)
|
||||
},
|
||||
"PauseVM": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req emptypb.Empty
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.PauseVM(ctx, &req)
|
||||
},
|
||||
"ResumeVM": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req emptypb.Empty
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.ResumeVM(ctx, &req)
|
||||
},
|
||||
"WaitVM": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req emptypb.Empty
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.WaitVM(ctx, &req)
|
||||
},
|
||||
"InspectVM": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req InspectVMRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.InspectVM(ctx, &req)
|
||||
},
|
||||
"CapabilitiesVM": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req emptypb.Empty
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.CapabilitiesVM(ctx, &req)
|
||||
},
|
||||
"PropertiesVM": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req PropertiesVMRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.PropertiesVM(ctx, &req)
|
||||
},
|
||||
"ModifyResource": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req ModifyResourceRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.ModifyResource(ctx, &req)
|
||||
},
|
||||
"VMSocket": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req VMSocketRequest
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.VMSocket(ctx, &req)
|
||||
},
|
||||
"Quit": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) {
|
||||
var req emptypb.Empty
|
||||
if err := unmarshal(&req); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return svc.Quit(ctx, &req)
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
type vmClient struct {
|
||||
client *ttrpc.Client
|
||||
}
|
||||
|
||||
func NewVMClient(client *ttrpc.Client) VMService {
|
||||
return &vmClient{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *vmClient) CreateVM(ctx context.Context, req *CreateVMRequest) (*emptypb.Empty, error) {
|
||||
var resp emptypb.Empty
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "CreateVM", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) TeardownVM(ctx context.Context, req *emptypb.Empty) (*emptypb.Empty, error) {
|
||||
var resp emptypb.Empty
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "TeardownVM", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) PauseVM(ctx context.Context, req *emptypb.Empty) (*emptypb.Empty, error) {
|
||||
var resp emptypb.Empty
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "PauseVM", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) ResumeVM(ctx context.Context, req *emptypb.Empty) (*emptypb.Empty, error) {
|
||||
var resp emptypb.Empty
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "ResumeVM", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) WaitVM(ctx context.Context, req *emptypb.Empty) (*emptypb.Empty, error) {
|
||||
var resp emptypb.Empty
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "WaitVM", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) InspectVM(ctx context.Context, req *InspectVMRequest) (*InspectVMResponse, error) {
|
||||
var resp InspectVMResponse
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "InspectVM", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) CapabilitiesVM(ctx context.Context, req *emptypb.Empty) (*CapabilitiesVMResponse, error) {
|
||||
var resp CapabilitiesVMResponse
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "CapabilitiesVM", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) PropertiesVM(ctx context.Context, req *PropertiesVMRequest) (*PropertiesVMResponse, error) {
|
||||
var resp PropertiesVMResponse
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "PropertiesVM", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) ModifyResource(ctx context.Context, req *ModifyResourceRequest) (*emptypb.Empty, error) {
|
||||
var resp emptypb.Empty
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "ModifyResource", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) VMSocket(ctx context.Context, req *VMSocketRequest) (*emptypb.Empty, error) {
|
||||
var resp emptypb.Empty
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "VMSocket", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (c *vmClient) Quit(ctx context.Context, req *emptypb.Empty) (*emptypb.Empty, error) {
|
||||
var resp emptypb.Empty
|
||||
if err := c.client.Call(ctx, "vmservice.VM", "Quit", req, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
package ctrdtaskapi
|
||||
|
||||
import (
|
||||
"github.com/containerd/typeurl"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,497 @@
|
|||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
|
||||
package v0
|
||||
|
||||
import (
|
||||
context "context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
|
||||
// NetworkConfigProxyClient is the client API for NetworkConfigProxy service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type NetworkConfigProxyClient interface {
|
||||
AddNIC(ctx context.Context, in *AddNICRequest, opts ...grpc.CallOption) (*AddNICResponse, error)
|
||||
ModifyNIC(ctx context.Context, in *ModifyNICRequest, opts ...grpc.CallOption) (*ModifyNICResponse, error)
|
||||
DeleteNIC(ctx context.Context, in *DeleteNICRequest, opts ...grpc.CallOption) (*DeleteNICResponse, error)
|
||||
CreateNetwork(ctx context.Context, in *CreateNetworkRequest, opts ...grpc.CallOption) (*CreateNetworkResponse, error)
|
||||
CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*CreateEndpointResponse, error)
|
||||
AddEndpoint(ctx context.Context, in *AddEndpointRequest, opts ...grpc.CallOption) (*AddEndpointResponse, error)
|
||||
DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*DeleteEndpointResponse, error)
|
||||
DeleteNetwork(ctx context.Context, in *DeleteNetworkRequest, opts ...grpc.CallOption) (*DeleteNetworkResponse, error)
|
||||
GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*GetEndpointResponse, error)
|
||||
GetNetwork(ctx context.Context, in *GetNetworkRequest, opts ...grpc.CallOption) (*GetNetworkResponse, error)
|
||||
GetEndpoints(ctx context.Context, in *GetEndpointsRequest, opts ...grpc.CallOption) (*GetEndpointsResponse, error)
|
||||
GetNetworks(ctx context.Context, in *GetNetworksRequest, opts ...grpc.CallOption) (*GetNetworksResponse, error)
|
||||
}
|
||||
|
||||
type networkConfigProxyClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewNetworkConfigProxyClient(cc grpc.ClientConnInterface) NetworkConfigProxyClient {
|
||||
return &networkConfigProxyClient{cc}
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) AddNIC(ctx context.Context, in *AddNICRequest, opts ...grpc.CallOption) (*AddNICResponse, error) {
|
||||
out := new(AddNICResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/AddNIC", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) ModifyNIC(ctx context.Context, in *ModifyNICRequest, opts ...grpc.CallOption) (*ModifyNICResponse, error) {
|
||||
out := new(ModifyNICResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/ModifyNIC", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) DeleteNIC(ctx context.Context, in *DeleteNICRequest, opts ...grpc.CallOption) (*DeleteNICResponse, error) {
|
||||
out := new(DeleteNICResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/DeleteNIC", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) CreateNetwork(ctx context.Context, in *CreateNetworkRequest, opts ...grpc.CallOption) (*CreateNetworkResponse, error) {
|
||||
out := new(CreateNetworkResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/CreateNetwork", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*CreateEndpointResponse, error) {
|
||||
out := new(CreateEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/CreateEndpoint", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) AddEndpoint(ctx context.Context, in *AddEndpointRequest, opts ...grpc.CallOption) (*AddEndpointResponse, error) {
|
||||
out := new(AddEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/AddEndpoint", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*DeleteEndpointResponse, error) {
|
||||
out := new(DeleteEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/DeleteEndpoint", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) DeleteNetwork(ctx context.Context, in *DeleteNetworkRequest, opts ...grpc.CallOption) (*DeleteNetworkResponse, error) {
|
||||
out := new(DeleteNetworkResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/DeleteNetwork", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*GetEndpointResponse, error) {
|
||||
out := new(GetEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/GetEndpoint", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) GetNetwork(ctx context.Context, in *GetNetworkRequest, opts ...grpc.CallOption) (*GetNetworkResponse, error) {
|
||||
out := new(GetNetworkResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/GetNetwork", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) GetEndpoints(ctx context.Context, in *GetEndpointsRequest, opts ...grpc.CallOption) (*GetEndpointsResponse, error) {
|
||||
out := new(GetEndpointsResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/GetEndpoints", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) GetNetworks(ctx context.Context, in *GetNetworksRequest, opts ...grpc.CallOption) (*GetNetworksResponse, error) {
|
||||
out := new(GetNetworksResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.NetworkConfigProxy/GetNetworks", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// NetworkConfigProxyServer is the server API for NetworkConfigProxy service.
|
||||
// All implementations must embed UnimplementedNetworkConfigProxyServer
|
||||
// for forward compatibility
|
||||
type NetworkConfigProxyServer interface {
|
||||
AddNIC(context.Context, *AddNICRequest) (*AddNICResponse, error)
|
||||
ModifyNIC(context.Context, *ModifyNICRequest) (*ModifyNICResponse, error)
|
||||
DeleteNIC(context.Context, *DeleteNICRequest) (*DeleteNICResponse, error)
|
||||
CreateNetwork(context.Context, *CreateNetworkRequest) (*CreateNetworkResponse, error)
|
||||
CreateEndpoint(context.Context, *CreateEndpointRequest) (*CreateEndpointResponse, error)
|
||||
AddEndpoint(context.Context, *AddEndpointRequest) (*AddEndpointResponse, error)
|
||||
DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*DeleteEndpointResponse, error)
|
||||
DeleteNetwork(context.Context, *DeleteNetworkRequest) (*DeleteNetworkResponse, error)
|
||||
GetEndpoint(context.Context, *GetEndpointRequest) (*GetEndpointResponse, error)
|
||||
GetNetwork(context.Context, *GetNetworkRequest) (*GetNetworkResponse, error)
|
||||
GetEndpoints(context.Context, *GetEndpointsRequest) (*GetEndpointsResponse, error)
|
||||
GetNetworks(context.Context, *GetNetworksRequest) (*GetNetworksResponse, error)
|
||||
mustEmbedUnimplementedNetworkConfigProxyServer()
|
||||
}
|
||||
|
||||
// UnimplementedNetworkConfigProxyServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedNetworkConfigProxyServer struct {
|
||||
}
|
||||
|
||||
func (UnimplementedNetworkConfigProxyServer) AddNIC(context.Context, *AddNICRequest) (*AddNICResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AddNIC not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) ModifyNIC(context.Context, *ModifyNICRequest) (*ModifyNICResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ModifyNIC not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) DeleteNIC(context.Context, *DeleteNICRequest) (*DeleteNICResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteNIC not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) CreateNetwork(context.Context, *CreateNetworkRequest) (*CreateNetworkResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateNetwork not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) CreateEndpoint(context.Context, *CreateEndpointRequest) (*CreateEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateEndpoint not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) AddEndpoint(context.Context, *AddEndpointRequest) (*AddEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AddEndpoint not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*DeleteEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteEndpoint not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) DeleteNetwork(context.Context, *DeleteNetworkRequest) (*DeleteNetworkResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteNetwork not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) GetEndpoint(context.Context, *GetEndpointRequest) (*GetEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetEndpoint not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) GetNetwork(context.Context, *GetNetworkRequest) (*GetNetworkResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetNetwork not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) GetEndpoints(context.Context, *GetEndpointsRequest) (*GetEndpointsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetEndpoints not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) GetNetworks(context.Context, *GetNetworksRequest) (*GetNetworksResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetNetworks not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) mustEmbedUnimplementedNetworkConfigProxyServer() {}
|
||||
|
||||
// UnsafeNetworkConfigProxyServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to NetworkConfigProxyServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeNetworkConfigProxyServer interface {
|
||||
mustEmbedUnimplementedNetworkConfigProxyServer()
|
||||
}
|
||||
|
||||
func RegisterNetworkConfigProxyServer(s grpc.ServiceRegistrar, srv NetworkConfigProxyServer) {
|
||||
s.RegisterService(&NetworkConfigProxy_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_AddNIC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(AddNICRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).AddNIC(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/AddNIC",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).AddNIC(ctx, req.(*AddNICRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_ModifyNIC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ModifyNICRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).ModifyNIC(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/ModifyNIC",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).ModifyNIC(ctx, req.(*ModifyNICRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_DeleteNIC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteNICRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).DeleteNIC(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/DeleteNIC",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).DeleteNIC(ctx, req.(*DeleteNICRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_CreateNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateNetworkRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).CreateNetwork(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/CreateNetwork",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).CreateNetwork(ctx, req.(*CreateNetworkRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_CreateEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateEndpointRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).CreateEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/CreateEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).CreateEndpoint(ctx, req.(*CreateEndpointRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_AddEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(AddEndpointRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).AddEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/AddEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).AddEndpoint(ctx, req.(*AddEndpointRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_DeleteEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteEndpointRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).DeleteEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/DeleteEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).DeleteEndpoint(ctx, req.(*DeleteEndpointRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_DeleteNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteNetworkRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).DeleteNetwork(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/DeleteNetwork",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).DeleteNetwork(ctx, req.(*DeleteNetworkRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_GetEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetEndpointRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).GetEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/GetEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).GetEndpoint(ctx, req.(*GetEndpointRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_GetNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetNetworkRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).GetNetwork(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/GetNetwork",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).GetNetwork(ctx, req.(*GetNetworkRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_GetEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetEndpointsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).GetEndpoints(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/GetEndpoints",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).GetEndpoints(ctx, req.(*GetEndpointsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_GetNetworks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetNetworksRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).GetNetworks(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.NetworkConfigProxy/GetNetworks",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).GetNetworks(ctx, req.(*GetNetworksRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// NetworkConfigProxy_ServiceDesc is the grpc.ServiceDesc for NetworkConfigProxy service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var NetworkConfigProxy_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "ncproxygrpc.NetworkConfigProxy",
|
||||
HandlerType: (*NetworkConfigProxyServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "AddNIC",
|
||||
Handler: _NetworkConfigProxy_AddNIC_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ModifyNIC",
|
||||
Handler: _NetworkConfigProxy_ModifyNIC_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteNIC",
|
||||
Handler: _NetworkConfigProxy_DeleteNIC_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateNetwork",
|
||||
Handler: _NetworkConfigProxy_CreateNetwork_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateEndpoint",
|
||||
Handler: _NetworkConfigProxy_CreateEndpoint_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "AddEndpoint",
|
||||
Handler: _NetworkConfigProxy_AddEndpoint_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteEndpoint",
|
||||
Handler: _NetworkConfigProxy_DeleteEndpoint_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteNetwork",
|
||||
Handler: _NetworkConfigProxy_DeleteNetwork_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetEndpoint",
|
||||
Handler: _NetworkConfigProxy_GetEndpoint_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetNetwork",
|
||||
Handler: _NetworkConfigProxy_GetNetwork_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetEndpoints",
|
||||
Handler: _NetworkConfigProxy_GetEndpoints_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetNetworks",
|
||||
Handler: _NetworkConfigProxy_GetNetworks_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "github.com/Microsoft/hcsshim/pkg/ncproxy/ncproxygrpc/v0/networkconfigproxy.proto",
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,497 @@
|
|||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
context "context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
|
||||
// NetworkConfigProxyClient is the client API for NetworkConfigProxy service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type NetworkConfigProxyClient interface {
|
||||
AddNIC(ctx context.Context, in *AddNICRequest, opts ...grpc.CallOption) (*AddNICResponse, error)
|
||||
ModifyNIC(ctx context.Context, in *ModifyNICRequest, opts ...grpc.CallOption) (*ModifyNICResponse, error)
|
||||
DeleteNIC(ctx context.Context, in *DeleteNICRequest, opts ...grpc.CallOption) (*DeleteNICResponse, error)
|
||||
CreateNetwork(ctx context.Context, in *CreateNetworkRequest, opts ...grpc.CallOption) (*CreateNetworkResponse, error)
|
||||
CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*CreateEndpointResponse, error)
|
||||
AddEndpoint(ctx context.Context, in *AddEndpointRequest, opts ...grpc.CallOption) (*AddEndpointResponse, error)
|
||||
DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*DeleteEndpointResponse, error)
|
||||
DeleteNetwork(ctx context.Context, in *DeleteNetworkRequest, opts ...grpc.CallOption) (*DeleteNetworkResponse, error)
|
||||
GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*GetEndpointResponse, error)
|
||||
GetNetwork(ctx context.Context, in *GetNetworkRequest, opts ...grpc.CallOption) (*GetNetworkResponse, error)
|
||||
GetEndpoints(ctx context.Context, in *GetEndpointsRequest, opts ...grpc.CallOption) (*GetEndpointsResponse, error)
|
||||
GetNetworks(ctx context.Context, in *GetNetworksRequest, opts ...grpc.CallOption) (*GetNetworksResponse, error)
|
||||
}
|
||||
|
||||
type networkConfigProxyClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewNetworkConfigProxyClient(cc grpc.ClientConnInterface) NetworkConfigProxyClient {
|
||||
return &networkConfigProxyClient{cc}
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) AddNIC(ctx context.Context, in *AddNICRequest, opts ...grpc.CallOption) (*AddNICResponse, error) {
|
||||
out := new(AddNICResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/AddNIC", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) ModifyNIC(ctx context.Context, in *ModifyNICRequest, opts ...grpc.CallOption) (*ModifyNICResponse, error) {
|
||||
out := new(ModifyNICResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/ModifyNIC", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) DeleteNIC(ctx context.Context, in *DeleteNICRequest, opts ...grpc.CallOption) (*DeleteNICResponse, error) {
|
||||
out := new(DeleteNICResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/DeleteNIC", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) CreateNetwork(ctx context.Context, in *CreateNetworkRequest, opts ...grpc.CallOption) (*CreateNetworkResponse, error) {
|
||||
out := new(CreateNetworkResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/CreateNetwork", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*CreateEndpointResponse, error) {
|
||||
out := new(CreateEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/CreateEndpoint", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) AddEndpoint(ctx context.Context, in *AddEndpointRequest, opts ...grpc.CallOption) (*AddEndpointResponse, error) {
|
||||
out := new(AddEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/AddEndpoint", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*DeleteEndpointResponse, error) {
|
||||
out := new(DeleteEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/DeleteEndpoint", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) DeleteNetwork(ctx context.Context, in *DeleteNetworkRequest, opts ...grpc.CallOption) (*DeleteNetworkResponse, error) {
|
||||
out := new(DeleteNetworkResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/DeleteNetwork", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*GetEndpointResponse, error) {
|
||||
out := new(GetEndpointResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/GetEndpoint", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) GetNetwork(ctx context.Context, in *GetNetworkRequest, opts ...grpc.CallOption) (*GetNetworkResponse, error) {
|
||||
out := new(GetNetworkResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/GetNetwork", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) GetEndpoints(ctx context.Context, in *GetEndpointsRequest, opts ...grpc.CallOption) (*GetEndpointsResponse, error) {
|
||||
out := new(GetEndpointsResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/GetEndpoints", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *networkConfigProxyClient) GetNetworks(ctx context.Context, in *GetNetworksRequest, opts ...grpc.CallOption) (*GetNetworksResponse, error) {
|
||||
out := new(GetNetworksResponse)
|
||||
err := c.cc.Invoke(ctx, "/ncproxygrpc.v1.NetworkConfigProxy/GetNetworks", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// NetworkConfigProxyServer is the server API for NetworkConfigProxy service.
|
||||
// All implementations must embed UnimplementedNetworkConfigProxyServer
|
||||
// for forward compatibility
|
||||
type NetworkConfigProxyServer interface {
|
||||
AddNIC(context.Context, *AddNICRequest) (*AddNICResponse, error)
|
||||
ModifyNIC(context.Context, *ModifyNICRequest) (*ModifyNICResponse, error)
|
||||
DeleteNIC(context.Context, *DeleteNICRequest) (*DeleteNICResponse, error)
|
||||
CreateNetwork(context.Context, *CreateNetworkRequest) (*CreateNetworkResponse, error)
|
||||
CreateEndpoint(context.Context, *CreateEndpointRequest) (*CreateEndpointResponse, error)
|
||||
AddEndpoint(context.Context, *AddEndpointRequest) (*AddEndpointResponse, error)
|
||||
DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*DeleteEndpointResponse, error)
|
||||
DeleteNetwork(context.Context, *DeleteNetworkRequest) (*DeleteNetworkResponse, error)
|
||||
GetEndpoint(context.Context, *GetEndpointRequest) (*GetEndpointResponse, error)
|
||||
GetNetwork(context.Context, *GetNetworkRequest) (*GetNetworkResponse, error)
|
||||
GetEndpoints(context.Context, *GetEndpointsRequest) (*GetEndpointsResponse, error)
|
||||
GetNetworks(context.Context, *GetNetworksRequest) (*GetNetworksResponse, error)
|
||||
mustEmbedUnimplementedNetworkConfigProxyServer()
|
||||
}
|
||||
|
||||
// UnimplementedNetworkConfigProxyServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedNetworkConfigProxyServer struct {
|
||||
}
|
||||
|
||||
func (UnimplementedNetworkConfigProxyServer) AddNIC(context.Context, *AddNICRequest) (*AddNICResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AddNIC not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) ModifyNIC(context.Context, *ModifyNICRequest) (*ModifyNICResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ModifyNIC not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) DeleteNIC(context.Context, *DeleteNICRequest) (*DeleteNICResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteNIC not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) CreateNetwork(context.Context, *CreateNetworkRequest) (*CreateNetworkResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateNetwork not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) CreateEndpoint(context.Context, *CreateEndpointRequest) (*CreateEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateEndpoint not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) AddEndpoint(context.Context, *AddEndpointRequest) (*AddEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AddEndpoint not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*DeleteEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteEndpoint not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) DeleteNetwork(context.Context, *DeleteNetworkRequest) (*DeleteNetworkResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteNetwork not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) GetEndpoint(context.Context, *GetEndpointRequest) (*GetEndpointResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetEndpoint not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) GetNetwork(context.Context, *GetNetworkRequest) (*GetNetworkResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetNetwork not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) GetEndpoints(context.Context, *GetEndpointsRequest) (*GetEndpointsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetEndpoints not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) GetNetworks(context.Context, *GetNetworksRequest) (*GetNetworksResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetNetworks not implemented")
|
||||
}
|
||||
func (UnimplementedNetworkConfigProxyServer) mustEmbedUnimplementedNetworkConfigProxyServer() {}
|
||||
|
||||
// UnsafeNetworkConfigProxyServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to NetworkConfigProxyServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeNetworkConfigProxyServer interface {
|
||||
mustEmbedUnimplementedNetworkConfigProxyServer()
|
||||
}
|
||||
|
||||
func RegisterNetworkConfigProxyServer(s grpc.ServiceRegistrar, srv NetworkConfigProxyServer) {
|
||||
s.RegisterService(&NetworkConfigProxy_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_AddNIC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(AddNICRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).AddNIC(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/AddNIC",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).AddNIC(ctx, req.(*AddNICRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_ModifyNIC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ModifyNICRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).ModifyNIC(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/ModifyNIC",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).ModifyNIC(ctx, req.(*ModifyNICRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_DeleteNIC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteNICRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).DeleteNIC(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/DeleteNIC",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).DeleteNIC(ctx, req.(*DeleteNICRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_CreateNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateNetworkRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).CreateNetwork(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/CreateNetwork",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).CreateNetwork(ctx, req.(*CreateNetworkRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_CreateEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateEndpointRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).CreateEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/CreateEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).CreateEndpoint(ctx, req.(*CreateEndpointRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_AddEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(AddEndpointRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).AddEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/AddEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).AddEndpoint(ctx, req.(*AddEndpointRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_DeleteEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteEndpointRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).DeleteEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/DeleteEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).DeleteEndpoint(ctx, req.(*DeleteEndpointRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_DeleteNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteNetworkRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).DeleteNetwork(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/DeleteNetwork",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).DeleteNetwork(ctx, req.(*DeleteNetworkRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_GetEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetEndpointRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).GetEndpoint(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/GetEndpoint",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).GetEndpoint(ctx, req.(*GetEndpointRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_GetNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetNetworkRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).GetNetwork(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/GetNetwork",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).GetNetwork(ctx, req.(*GetNetworkRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_GetEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetEndpointsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).GetEndpoints(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/GetEndpoints",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).GetEndpoints(ctx, req.(*GetEndpointsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NetworkConfigProxy_GetNetworks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetNetworksRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NetworkConfigProxyServer).GetNetworks(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/ncproxygrpc.v1.NetworkConfigProxy/GetNetworks",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NetworkConfigProxyServer).GetNetworks(ctx, req.(*GetNetworksRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// NetworkConfigProxy_ServiceDesc is the grpc.ServiceDesc for NetworkConfigProxy service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var NetworkConfigProxy_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "ncproxygrpc.v1.NetworkConfigProxy",
|
||||
HandlerType: (*NetworkConfigProxyServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "AddNIC",
|
||||
Handler: _NetworkConfigProxy_AddNIC_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ModifyNIC",
|
||||
Handler: _NetworkConfigProxy_ModifyNIC_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteNIC",
|
||||
Handler: _NetworkConfigProxy_DeleteNIC_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateNetwork",
|
||||
Handler: _NetworkConfigProxy_CreateNetwork_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateEndpoint",
|
||||
Handler: _NetworkConfigProxy_CreateEndpoint_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "AddEndpoint",
|
||||
Handler: _NetworkConfigProxy_AddEndpoint_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteEndpoint",
|
||||
Handler: _NetworkConfigProxy_DeleteEndpoint_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteNetwork",
|
||||
Handler: _NetworkConfigProxy_DeleteNetwork_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetEndpoint",
|
||||
Handler: _NetworkConfigProxy_GetEndpoint_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetNetwork",
|
||||
Handler: _NetworkConfigProxy_GetNetwork_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetEndpoints",
|
||||
Handler: _NetworkConfigProxy_GetEndpoints_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetNetworks",
|
||||
Handler: _NetworkConfigProxy_GetNetworks_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "github.com/Microsoft/hcsshim/pkg/ncproxy/ncproxygrpc/v1/networkconfigproxy.proto",
|
||||
}
|
|
@ -1,3 +1,3 @@
|
|||
package v0
|
||||
|
||||
//go:generate go run github.com/golang/mock/mockgen -source=nodenetsvc.pb.go -package=nodenetsvc_v0_mock -destination=mock\nodenetsvc_mock.pb.go
|
||||
//go:generate go run github.com/golang/mock/mockgen -source=nodenetsvc_grpc.pb.go -package=nodenetsvc_v0_mock -destination=mock\nodenetsvc_mock.pb.go
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: nodenetsvc.pb.go
|
||||
// Source: nodenetsvc_grpc.pb.go
|
||||
|
||||
// Package nodenetsvc_v0_mock is a generated GoMock package.
|
||||
package nodenetsvc_v0_mock
|
||||
|
@ -198,3 +198,50 @@ func (mr *MockNodeNetworkServiceServerMockRecorder) PingNodeNetworkService(arg0,
|
|||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PingNodeNetworkService", reflect.TypeOf((*MockNodeNetworkServiceServer)(nil).PingNodeNetworkService), arg0, arg1)
|
||||
}
|
||||
|
||||
// mustEmbedUnimplementedNodeNetworkServiceServer mocks base method.
|
||||
func (m *MockNodeNetworkServiceServer) mustEmbedUnimplementedNodeNetworkServiceServer() {
|
||||
m.ctrl.T.Helper()
|
||||
m.ctrl.Call(m, "mustEmbedUnimplementedNodeNetworkServiceServer")
|
||||
}
|
||||
|
||||
// mustEmbedUnimplementedNodeNetworkServiceServer indicates an expected call of mustEmbedUnimplementedNodeNetworkServiceServer.
|
||||
func (mr *MockNodeNetworkServiceServerMockRecorder) mustEmbedUnimplementedNodeNetworkServiceServer() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedNodeNetworkServiceServer", reflect.TypeOf((*MockNodeNetworkServiceServer)(nil).mustEmbedUnimplementedNodeNetworkServiceServer))
|
||||
}
|
||||
|
||||
// MockUnsafeNodeNetworkServiceServer is a mock of UnsafeNodeNetworkServiceServer interface.
|
||||
type MockUnsafeNodeNetworkServiceServer struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockUnsafeNodeNetworkServiceServerMockRecorder
|
||||
}
|
||||
|
||||
// MockUnsafeNodeNetworkServiceServerMockRecorder is the mock recorder for MockUnsafeNodeNetworkServiceServer.
|
||||
type MockUnsafeNodeNetworkServiceServerMockRecorder struct {
|
||||
mock *MockUnsafeNodeNetworkServiceServer
|
||||
}
|
||||
|
||||
// NewMockUnsafeNodeNetworkServiceServer creates a new mock instance.
|
||||
func NewMockUnsafeNodeNetworkServiceServer(ctrl *gomock.Controller) *MockUnsafeNodeNetworkServiceServer {
|
||||
mock := &MockUnsafeNodeNetworkServiceServer{ctrl: ctrl}
|
||||
mock.recorder = &MockUnsafeNodeNetworkServiceServerMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockUnsafeNodeNetworkServiceServer) EXPECT() *MockUnsafeNodeNetworkServiceServerMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// mustEmbedUnimplementedNodeNetworkServiceServer mocks base method.
|
||||
func (m *MockUnsafeNodeNetworkServiceServer) mustEmbedUnimplementedNodeNetworkServiceServer() {
|
||||
m.ctrl.T.Helper()
|
||||
m.ctrl.Call(m, "mustEmbedUnimplementedNodeNetworkServiceServer")
|
||||
}
|
||||
|
||||
// mustEmbedUnimplementedNodeNetworkServiceServer indicates an expected call of mustEmbedUnimplementedNodeNetworkServiceServer.
|
||||
func (mr *MockUnsafeNodeNetworkServiceServerMockRecorder) mustEmbedUnimplementedNodeNetworkServiceServer() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedNodeNetworkServiceServer", reflect.TypeOf((*MockUnsafeNodeNetworkServiceServer)(nil).mustEmbedUnimplementedNodeNetworkServiceServer))
|
||||
}
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,209 @@
|
|||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
|
||||
package v0
|
||||
|
||||
import (
|
||||
context "context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
|
||||
// NodeNetworkServiceClient is the client API for NodeNetworkService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type NodeNetworkServiceClient interface {
|
||||
ConfigureNetworking(ctx context.Context, in *ConfigureNetworkingRequest, opts ...grpc.CallOption) (*ConfigureNetworkingResponse, error)
|
||||
ConfigureContainerNetworking(ctx context.Context, in *ConfigureContainerNetworkingRequest, opts ...grpc.CallOption) (*ConfigureContainerNetworkingResponse, error)
|
||||
PingNodeNetworkService(ctx context.Context, in *PingNodeNetworkServiceRequest, opts ...grpc.CallOption) (*PingNodeNetworkServiceResponse, error)
|
||||
GetHostLocalIpAddress(ctx context.Context, in *GetHostLocalIpAddressRequest, opts ...grpc.CallOption) (*GetHostLocalIpAddressResponse, error)
|
||||
}
|
||||
|
||||
type nodeNetworkServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewNodeNetworkServiceClient(cc grpc.ClientConnInterface) NodeNetworkServiceClient {
|
||||
return &nodeNetworkServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *nodeNetworkServiceClient) ConfigureNetworking(ctx context.Context, in *ConfigureNetworkingRequest, opts ...grpc.CallOption) (*ConfigureNetworkingResponse, error) {
|
||||
out := new(ConfigureNetworkingResponse)
|
||||
err := c.cc.Invoke(ctx, "/azure.nodenetworkservice.NodeNetworkService/ConfigureNetworking", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *nodeNetworkServiceClient) ConfigureContainerNetworking(ctx context.Context, in *ConfigureContainerNetworkingRequest, opts ...grpc.CallOption) (*ConfigureContainerNetworkingResponse, error) {
|
||||
out := new(ConfigureContainerNetworkingResponse)
|
||||
err := c.cc.Invoke(ctx, "/azure.nodenetworkservice.NodeNetworkService/ConfigureContainerNetworking", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *nodeNetworkServiceClient) PingNodeNetworkService(ctx context.Context, in *PingNodeNetworkServiceRequest, opts ...grpc.CallOption) (*PingNodeNetworkServiceResponse, error) {
|
||||
out := new(PingNodeNetworkServiceResponse)
|
||||
err := c.cc.Invoke(ctx, "/azure.nodenetworkservice.NodeNetworkService/PingNodeNetworkService", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *nodeNetworkServiceClient) GetHostLocalIpAddress(ctx context.Context, in *GetHostLocalIpAddressRequest, opts ...grpc.CallOption) (*GetHostLocalIpAddressResponse, error) {
|
||||
out := new(GetHostLocalIpAddressResponse)
|
||||
err := c.cc.Invoke(ctx, "/azure.nodenetworkservice.NodeNetworkService/GetHostLocalIpAddress", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// NodeNetworkServiceServer is the server API for NodeNetworkService service.
|
||||
// All implementations must embed UnimplementedNodeNetworkServiceServer
|
||||
// for forward compatibility
|
||||
type NodeNetworkServiceServer interface {
|
||||
ConfigureNetworking(context.Context, *ConfigureNetworkingRequest) (*ConfigureNetworkingResponse, error)
|
||||
ConfigureContainerNetworking(context.Context, *ConfigureContainerNetworkingRequest) (*ConfigureContainerNetworkingResponse, error)
|
||||
PingNodeNetworkService(context.Context, *PingNodeNetworkServiceRequest) (*PingNodeNetworkServiceResponse, error)
|
||||
GetHostLocalIpAddress(context.Context, *GetHostLocalIpAddressRequest) (*GetHostLocalIpAddressResponse, error)
|
||||
mustEmbedUnimplementedNodeNetworkServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedNodeNetworkServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedNodeNetworkServiceServer struct {
|
||||
}
|
||||
|
||||
func (UnimplementedNodeNetworkServiceServer) ConfigureNetworking(context.Context, *ConfigureNetworkingRequest) (*ConfigureNetworkingResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ConfigureNetworking not implemented")
|
||||
}
|
||||
func (UnimplementedNodeNetworkServiceServer) ConfigureContainerNetworking(context.Context, *ConfigureContainerNetworkingRequest) (*ConfigureContainerNetworkingResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ConfigureContainerNetworking not implemented")
|
||||
}
|
||||
func (UnimplementedNodeNetworkServiceServer) PingNodeNetworkService(context.Context, *PingNodeNetworkServiceRequest) (*PingNodeNetworkServiceResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method PingNodeNetworkService not implemented")
|
||||
}
|
||||
func (UnimplementedNodeNetworkServiceServer) GetHostLocalIpAddress(context.Context, *GetHostLocalIpAddressRequest) (*GetHostLocalIpAddressResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetHostLocalIpAddress not implemented")
|
||||
}
|
||||
func (UnimplementedNodeNetworkServiceServer) mustEmbedUnimplementedNodeNetworkServiceServer() {}
|
||||
|
||||
// UnsafeNodeNetworkServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to NodeNetworkServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeNodeNetworkServiceServer interface {
|
||||
mustEmbedUnimplementedNodeNetworkServiceServer()
|
||||
}
|
||||
|
||||
func RegisterNodeNetworkServiceServer(s grpc.ServiceRegistrar, srv NodeNetworkServiceServer) {
|
||||
s.RegisterService(&NodeNetworkService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _NodeNetworkService_ConfigureNetworking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ConfigureNetworkingRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeNetworkServiceServer).ConfigureNetworking(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/azure.nodenetworkservice.NodeNetworkService/ConfigureNetworking",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeNetworkServiceServer).ConfigureNetworking(ctx, req.(*ConfigureNetworkingRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NodeNetworkService_ConfigureContainerNetworking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ConfigureContainerNetworkingRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeNetworkServiceServer).ConfigureContainerNetworking(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/azure.nodenetworkservice.NodeNetworkService/ConfigureContainerNetworking",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeNetworkServiceServer).ConfigureContainerNetworking(ctx, req.(*ConfigureContainerNetworkingRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NodeNetworkService_PingNodeNetworkService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(PingNodeNetworkServiceRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeNetworkServiceServer).PingNodeNetworkService(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/azure.nodenetworkservice.NodeNetworkService/PingNodeNetworkService",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeNetworkServiceServer).PingNodeNetworkService(ctx, req.(*PingNodeNetworkServiceRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NodeNetworkService_GetHostLocalIpAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetHostLocalIpAddressRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeNetworkServiceServer).GetHostLocalIpAddress(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/azure.nodenetworkservice.NodeNetworkService/GetHostLocalIpAddress",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeNetworkServiceServer).GetHostLocalIpAddress(ctx, req.(*GetHostLocalIpAddressRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// NodeNetworkService_ServiceDesc is the grpc.ServiceDesc for NodeNetworkService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var NodeNetworkService_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "azure.nodenetworkservice.NodeNetworkService",
|
||||
HandlerType: (*NodeNetworkServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "ConfigureNetworking",
|
||||
Handler: _NodeNetworkService_ConfigureNetworking_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ConfigureContainerNetworking",
|
||||
Handler: _NodeNetworkService_ConfigureContainerNetworking_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "PingNodeNetworkService",
|
||||
Handler: _NodeNetworkService_PingNodeNetworkService_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetHostLocalIpAddress",
|
||||
Handler: _NodeNetworkService_GetHostLocalIpAddress_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v0/nodenetsvc.proto",
|
||||
}
|
|
@ -5,4 +5,4 @@
|
|||
// used for ncproxy.
|
||||
package v1
|
||||
|
||||
//go:generate go run github.com/golang/mock/mockgen -source=nodenetsvc.pb.go -package=nodenetsvc_v1_mock -destination=mock\nodenetsvc_mock.pb.go
|
||||
//go:generate go run github.com/golang/mock/mockgen -source=nodenetsvc_grpc.pb.go -package=nodenetsvc_v1_mock -destination=mock\nodenetsvc_mock.pb.go
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: nodenetsvc.pb.go
|
||||
// Source: nodenetsvc_grpc.pb.go
|
||||
|
||||
// Package nodenetsvc_v1_mock is a generated GoMock package.
|
||||
package nodenetsvc_v1_mock
|
||||
|
@ -198,3 +198,50 @@ func (mr *MockNodeNetworkServiceServerMockRecorder) PingNodeNetworkService(arg0,
|
|||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PingNodeNetworkService", reflect.TypeOf((*MockNodeNetworkServiceServer)(nil).PingNodeNetworkService), arg0, arg1)
|
||||
}
|
||||
|
||||
// mustEmbedUnimplementedNodeNetworkServiceServer mocks base method.
|
||||
func (m *MockNodeNetworkServiceServer) mustEmbedUnimplementedNodeNetworkServiceServer() {
|
||||
m.ctrl.T.Helper()
|
||||
m.ctrl.Call(m, "mustEmbedUnimplementedNodeNetworkServiceServer")
|
||||
}
|
||||
|
||||
// mustEmbedUnimplementedNodeNetworkServiceServer indicates an expected call of mustEmbedUnimplementedNodeNetworkServiceServer.
|
||||
func (mr *MockNodeNetworkServiceServerMockRecorder) mustEmbedUnimplementedNodeNetworkServiceServer() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedNodeNetworkServiceServer", reflect.TypeOf((*MockNodeNetworkServiceServer)(nil).mustEmbedUnimplementedNodeNetworkServiceServer))
|
||||
}
|
||||
|
||||
// MockUnsafeNodeNetworkServiceServer is a mock of UnsafeNodeNetworkServiceServer interface.
|
||||
type MockUnsafeNodeNetworkServiceServer struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockUnsafeNodeNetworkServiceServerMockRecorder
|
||||
}
|
||||
|
||||
// MockUnsafeNodeNetworkServiceServerMockRecorder is the mock recorder for MockUnsafeNodeNetworkServiceServer.
|
||||
type MockUnsafeNodeNetworkServiceServerMockRecorder struct {
|
||||
mock *MockUnsafeNodeNetworkServiceServer
|
||||
}
|
||||
|
||||
// NewMockUnsafeNodeNetworkServiceServer creates a new mock instance.
|
||||
func NewMockUnsafeNodeNetworkServiceServer(ctrl *gomock.Controller) *MockUnsafeNodeNetworkServiceServer {
|
||||
mock := &MockUnsafeNodeNetworkServiceServer{ctrl: ctrl}
|
||||
mock.recorder = &MockUnsafeNodeNetworkServiceServerMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockUnsafeNodeNetworkServiceServer) EXPECT() *MockUnsafeNodeNetworkServiceServerMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// mustEmbedUnimplementedNodeNetworkServiceServer mocks base method.
|
||||
func (m *MockUnsafeNodeNetworkServiceServer) mustEmbedUnimplementedNodeNetworkServiceServer() {
|
||||
m.ctrl.T.Helper()
|
||||
m.ctrl.Call(m, "mustEmbedUnimplementedNodeNetworkServiceServer")
|
||||
}
|
||||
|
||||
// mustEmbedUnimplementedNodeNetworkServiceServer indicates an expected call of mustEmbedUnimplementedNodeNetworkServiceServer.
|
||||
func (mr *MockUnsafeNodeNetworkServiceServerMockRecorder) mustEmbedUnimplementedNodeNetworkServiceServer() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedNodeNetworkServiceServer", reflect.TypeOf((*MockUnsafeNodeNetworkServiceServer)(nil).mustEmbedUnimplementedNodeNetworkServiceServer))
|
||||
}
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,209 @@
|
|||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
context "context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
|
||||
// NodeNetworkServiceClient is the client API for NodeNetworkService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type NodeNetworkServiceClient interface {
|
||||
ConfigureNetworking(ctx context.Context, in *ConfigureNetworkingRequest, opts ...grpc.CallOption) (*ConfigureNetworkingResponse, error)
|
||||
ConfigureContainerNetworking(ctx context.Context, in *ConfigureContainerNetworkingRequest, opts ...grpc.CallOption) (*ConfigureContainerNetworkingResponse, error)
|
||||
PingNodeNetworkService(ctx context.Context, in *PingNodeNetworkServiceRequest, opts ...grpc.CallOption) (*PingNodeNetworkServiceResponse, error)
|
||||
GetHostLocalIpAddress(ctx context.Context, in *GetHostLocalIpAddressRequest, opts ...grpc.CallOption) (*GetHostLocalIpAddressResponse, error)
|
||||
}
|
||||
|
||||
type nodeNetworkServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewNodeNetworkServiceClient(cc grpc.ClientConnInterface) NodeNetworkServiceClient {
|
||||
return &nodeNetworkServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *nodeNetworkServiceClient) ConfigureNetworking(ctx context.Context, in *ConfigureNetworkingRequest, opts ...grpc.CallOption) (*ConfigureNetworkingResponse, error) {
|
||||
out := new(ConfigureNetworkingResponse)
|
||||
err := c.cc.Invoke(ctx, "/nodenetsvc.v1.NodeNetworkService/ConfigureNetworking", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *nodeNetworkServiceClient) ConfigureContainerNetworking(ctx context.Context, in *ConfigureContainerNetworkingRequest, opts ...grpc.CallOption) (*ConfigureContainerNetworkingResponse, error) {
|
||||
out := new(ConfigureContainerNetworkingResponse)
|
||||
err := c.cc.Invoke(ctx, "/nodenetsvc.v1.NodeNetworkService/ConfigureContainerNetworking", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *nodeNetworkServiceClient) PingNodeNetworkService(ctx context.Context, in *PingNodeNetworkServiceRequest, opts ...grpc.CallOption) (*PingNodeNetworkServiceResponse, error) {
|
||||
out := new(PingNodeNetworkServiceResponse)
|
||||
err := c.cc.Invoke(ctx, "/nodenetsvc.v1.NodeNetworkService/PingNodeNetworkService", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *nodeNetworkServiceClient) GetHostLocalIpAddress(ctx context.Context, in *GetHostLocalIpAddressRequest, opts ...grpc.CallOption) (*GetHostLocalIpAddressResponse, error) {
|
||||
out := new(GetHostLocalIpAddressResponse)
|
||||
err := c.cc.Invoke(ctx, "/nodenetsvc.v1.NodeNetworkService/GetHostLocalIpAddress", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// NodeNetworkServiceServer is the server API for NodeNetworkService service.
|
||||
// All implementations must embed UnimplementedNodeNetworkServiceServer
|
||||
// for forward compatibility
|
||||
type NodeNetworkServiceServer interface {
|
||||
ConfigureNetworking(context.Context, *ConfigureNetworkingRequest) (*ConfigureNetworkingResponse, error)
|
||||
ConfigureContainerNetworking(context.Context, *ConfigureContainerNetworkingRequest) (*ConfigureContainerNetworkingResponse, error)
|
||||
PingNodeNetworkService(context.Context, *PingNodeNetworkServiceRequest) (*PingNodeNetworkServiceResponse, error)
|
||||
GetHostLocalIpAddress(context.Context, *GetHostLocalIpAddressRequest) (*GetHostLocalIpAddressResponse, error)
|
||||
mustEmbedUnimplementedNodeNetworkServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedNodeNetworkServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedNodeNetworkServiceServer struct {
|
||||
}
|
||||
|
||||
func (UnimplementedNodeNetworkServiceServer) ConfigureNetworking(context.Context, *ConfigureNetworkingRequest) (*ConfigureNetworkingResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ConfigureNetworking not implemented")
|
||||
}
|
||||
func (UnimplementedNodeNetworkServiceServer) ConfigureContainerNetworking(context.Context, *ConfigureContainerNetworkingRequest) (*ConfigureContainerNetworkingResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ConfigureContainerNetworking not implemented")
|
||||
}
|
||||
func (UnimplementedNodeNetworkServiceServer) PingNodeNetworkService(context.Context, *PingNodeNetworkServiceRequest) (*PingNodeNetworkServiceResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method PingNodeNetworkService not implemented")
|
||||
}
|
||||
func (UnimplementedNodeNetworkServiceServer) GetHostLocalIpAddress(context.Context, *GetHostLocalIpAddressRequest) (*GetHostLocalIpAddressResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetHostLocalIpAddress not implemented")
|
||||
}
|
||||
func (UnimplementedNodeNetworkServiceServer) mustEmbedUnimplementedNodeNetworkServiceServer() {}
|
||||
|
||||
// UnsafeNodeNetworkServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to NodeNetworkServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeNodeNetworkServiceServer interface {
|
||||
mustEmbedUnimplementedNodeNetworkServiceServer()
|
||||
}
|
||||
|
||||
func RegisterNodeNetworkServiceServer(s grpc.ServiceRegistrar, srv NodeNetworkServiceServer) {
|
||||
s.RegisterService(&NodeNetworkService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _NodeNetworkService_ConfigureNetworking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ConfigureNetworkingRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeNetworkServiceServer).ConfigureNetworking(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/nodenetsvc.v1.NodeNetworkService/ConfigureNetworking",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeNetworkServiceServer).ConfigureNetworking(ctx, req.(*ConfigureNetworkingRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NodeNetworkService_ConfigureContainerNetworking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ConfigureContainerNetworkingRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeNetworkServiceServer).ConfigureContainerNetworking(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/nodenetsvc.v1.NodeNetworkService/ConfigureContainerNetworking",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeNetworkServiceServer).ConfigureContainerNetworking(ctx, req.(*ConfigureContainerNetworkingRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NodeNetworkService_PingNodeNetworkService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(PingNodeNetworkServiceRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeNetworkServiceServer).PingNodeNetworkService(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/nodenetsvc.v1.NodeNetworkService/PingNodeNetworkService",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeNetworkServiceServer).PingNodeNetworkService(ctx, req.(*PingNodeNetworkServiceRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NodeNetworkService_GetHostLocalIpAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetHostLocalIpAddressRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeNetworkServiceServer).GetHostLocalIpAddress(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/nodenetsvc.v1.NodeNetworkService/GetHostLocalIpAddress",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeNetworkServiceServer).GetHostLocalIpAddress(ctx, req.(*GetHostLocalIpAddressRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// NodeNetworkService_ServiceDesc is the grpc.ServiceDesc for NodeNetworkService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var NodeNetworkService_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "nodenetsvc.v1.NodeNetworkService",
|
||||
HandlerType: (*NodeNetworkServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "ConfigureNetworking",
|
||||
Handler: _NodeNetworkService_ConfigureNetworking_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ConfigureContainerNetworking",
|
||||
Handler: _NodeNetworkService_ConfigureContainerNetworking_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "PingNodeNetworkService",
|
||||
Handler: _NodeNetworkService_PingNodeNetworkService_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetHostLocalIpAddress",
|
||||
Handler: _NodeNetworkService_GetHostLocalIpAddress_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "github.com/Microsoft/hcsshim/pkg/ncproxy/nodenetsvc/v1/nodenetsvc.proto",
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
$ErrorActionPreference = 'Stop'
|
||||
$VerbosePreference = 'Continue'
|
||||
|
||||
$root = Split-Path -Path $PSScriptRoot -Parent
|
||||
|
||||
@('go', 'protoc') | ForEach-Object {
|
||||
if ( $null -eq (Get-Command $_ -CommandType Application -ErrorAction Ignore) ) {
|
||||
Write-Error -ErrorAction Stop "Missing executable: $_"
|
||||
}
|
||||
}
|
||||
|
||||
function run([string]$cmd, [string[]]$params) {
|
||||
Write-Verbose "$cmd $params"
|
||||
& $cmd @params 2>&1
|
||||
if ( $LASTEXITCODE -ne 0 ) {
|
||||
Write-Error "Command failed: $cmd $params"
|
||||
}
|
||||
}
|
||||
|
||||
# Install protobuild and co.
|
||||
# calling `go install` without a version will install current module (ie., the vendor directory)
|
||||
# this relies on `./tools.go` to vendor correct dependencies
|
||||
@(
|
||||
'github.com/containerd/protobuild',
|
||||
'github.com/containerd/protobuild/cmd/go-fix-acronym',
|
||||
'github.com/containerd/ttrpc/cmd/protoc-gen-go-ttrpc',
|
||||
'google.golang.org/grpc/cmd/protoc-gen-go-grpc',
|
||||
'google.golang.org/protobuf/cmd/protoc-gen-go'
|
||||
) | ForEach-Object { run go ('install', $_) }
|
||||
|
||||
# difficult to exclude a directory from Get-ChildItem
|
||||
Get-ChildItem -Filter *.proto -Recurse -Name -Path $root |
|
||||
Where-Object { ($_ -notlike 'vendor*') -and ($_ -notlike 'protobuf*') -and ($_ -notlike 'test*') } |
|
||||
ForEach-Object {
|
||||
$dir = Join-Path $root (Split-Path -Parent $_)
|
||||
$pkg = go list -f '{{.ImportPath}}' $dir
|
||||
|
||||
run protobuild $pkg
|
||||
|
||||
$acronyms = 'Id|Io|Guid|Uuid|Os'
|
||||
if ( $dir -like (Join-Path $root 'cmd\containerd-shim-runhcs-v1\stats') ) {
|
||||
$acronyms += '|Vm|Ns'
|
||||
}
|
||||
Get-ChildItem -Filter *.pb.go -Name -Path $dir |
|
||||
ForEach-Object {
|
||||
$f = Join-Path $dir $_
|
||||
run go-fix-acronym ('-w', '-a', "($acronyms)`$", $f)
|
||||
}
|
||||
}
|
|
@ -7,8 +7,8 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
"github.com/gogo/protobuf/proto"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
func verifyDeleteCommandSuccess(t *testing.T, stdout, stderr string, runErr error, begin, end time.Time) {
|
||||
|
@ -27,7 +27,7 @@ func verifyDeleteCommandSuccess(t *testing.T, stdout, stderr string, runErr erro
|
|||
if resp.ExitStatus != 255 {
|
||||
t.Fatalf("DeleteResponse exit status is 255 by convention, got: %v", resp.ExitStatus)
|
||||
}
|
||||
if begin.After(resp.ExitedAt) || end.Before(resp.ExitedAt) {
|
||||
if begin.After(resp.ExitedAt.AsTime()) || end.Before(resp.ExitedAt.AsTime()) {
|
||||
t.Fatalf("DeleteResponse.ExitedAt should be between, %v and %v, got: %v", begin, end, resp.ExitedAt)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import (
|
|||
|
||||
"github.com/Microsoft/go-winio"
|
||||
"github.com/Microsoft/hcsshim/pkg/annotations"
|
||||
"github.com/containerd/containerd/runtime/v2/task"
|
||||
task "github.com/containerd/containerd/api/runtime/task/v2"
|
||||
"github.com/containerd/ttrpc"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/opencontainers/runtime-tools/generate"
|
||||
|
|
|
@ -13,18 +13,17 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/Microsoft/hcsshim/osversion"
|
||||
"github.com/containerd/containerd"
|
||||
eventtypes "github.com/containerd/containerd/api/events"
|
||||
eventsapi "github.com/containerd/containerd/api/services/events/v1"
|
||||
kubeutil "github.com/containerd/containerd/integration/remote/util"
|
||||
eventruntime "github.com/containerd/containerd/runtime"
|
||||
"github.com/containerd/typeurl"
|
||||
"github.com/gogo/protobuf/types"
|
||||
typeurl "github.com/containerd/typeurl/v2"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
runtime "k8s.io/cri-api/pkg/apis/runtime/v1alpha2"
|
||||
|
||||
"github.com/Microsoft/hcsshim/osversion"
|
||||
testflag "github.com/Microsoft/hcsshim/test/pkg/flag"
|
||||
"github.com/Microsoft/hcsshim/test/pkg/images"
|
||||
"github.com/Microsoft/hcsshim/test/pkg/require"
|
||||
|
@ -188,7 +187,9 @@ func createGRPCConn(ctx context.Context) (*grpc.ClientConn, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return grpc.DialContext(ctx, addr, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithContextDialer(dialer))
|
||||
return grpc.DialContext(ctx, addr,
|
||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||
grpc.WithContextDialer(dialer))
|
||||
}
|
||||
|
||||
func newTestRuntimeClient(tb testing.TB) runtime.RuntimeServiceClient {
|
||||
|
@ -240,7 +241,7 @@ func getTargetRunTopics() (topicNames []string, filters []string) {
|
|||
return topicNames, filters
|
||||
}
|
||||
|
||||
func convertEvent(e *types.Any) (string, interface{}, error) {
|
||||
func convertEvent(e typeurl.Any) (string, interface{}, error) {
|
||||
id := ""
|
||||
evt, err := typeurl.UnmarshalAny(e)
|
||||
if err != nil {
|
||||
|
|
|
@ -118,7 +118,7 @@ func containerSpecOpts(_ context.Context, tb testing.TB,
|
|||
// this will be set based on the security context below
|
||||
oci.WithNewPrivileges,
|
||||
criopts.WithProcessArgs(cfg, img),
|
||||
criopts.WithPodNamespaces(nil, sandboxPID, sandboxPID),
|
||||
criopts.WithPodNamespaces(nil, sandboxPID, sandboxPID, nil /* uids */, nil /* gids */),
|
||||
)
|
||||
|
||||
hostname := name
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/containerd/cgroups"
|
||||
cgroups "github.com/containerd/cgroups/v3/cgroup1"
|
||||
"github.com/sirupsen/logrus"
|
||||
"go.opencensus.io/trace"
|
||||
|
||||
|
@ -90,7 +90,7 @@ func setup() (err error) {
|
|||
|
||||
// should already start in gcs cgroup
|
||||
if !*flagJoinGCSCgroup {
|
||||
gcsControl, err := cgroups.Load(cgroups.V1, cgroups.StaticPath("/"))
|
||||
gcsControl, err := cgroups.Load(cgroups.StaticPath("/"))
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to load root cgroup: %w", err)
|
||||
}
|
||||
|
|
52
test/go.mod
52
test/go.mod
|
@ -4,19 +4,18 @@ go 1.18
|
|||
|
||||
require (
|
||||
github.com/Microsoft/go-winio v0.6.1
|
||||
github.com/Microsoft/hcsshim v0.10.0-rc.3
|
||||
github.com/containerd/cgroups v1.1.0
|
||||
github.com/containerd/containerd v1.6.21
|
||||
github.com/Microsoft/hcsshim v0.10.0-rc.7
|
||||
github.com/containerd/cgroups/v3 v3.0.1
|
||||
github.com/containerd/containerd v1.7.0
|
||||
github.com/containerd/go-runc v1.0.0
|
||||
github.com/containerd/ttrpc v1.1.2
|
||||
github.com/containerd/typeurl v1.0.2
|
||||
github.com/gogo/protobuf v1.3.2
|
||||
github.com/containerd/ttrpc v1.2.2
|
||||
github.com/containerd/typeurl/v2 v2.1.1
|
||||
github.com/google/go-containerregistry v0.15.2
|
||||
github.com/kevpar/cri v1.11.1-0.20220302210600-4c5c347230b2
|
||||
github.com/opencontainers/go-digest v1.0.0
|
||||
github.com/opencontainers/image-spec v1.1.0-rc3
|
||||
github.com/opencontainers/runtime-spec v1.1.0-rc.2
|
||||
github.com/opencontainers/runtime-tools v0.9.0
|
||||
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/stretchr/testify v1.8.4
|
||||
|
@ -24,19 +23,24 @@ require (
|
|||
golang.org/x/sync v0.3.0
|
||||
golang.org/x/sys v0.9.0
|
||||
google.golang.org/grpc v1.55.0
|
||||
k8s.io/cri-api v0.25.0
|
||||
google.golang.org/protobuf v1.30.0
|
||||
k8s.io/cri-api v0.26.2
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1 // indirect
|
||||
github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652 // indirect
|
||||
github.com/OneOfOne/xxhash v1.2.8 // indirect
|
||||
github.com/agnivade/levenshtein v1.0.1 // indirect
|
||||
github.com/blang/semver v3.5.1+incompatible // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
||||
github.com/container-orchestrated-devices/container-device-interface v0.5.4 // indirect
|
||||
github.com/containerd/console v1.0.3 // indirect
|
||||
github.com/containerd/continuity v0.3.0 // indirect
|
||||
github.com/containerd/fifo v1.0.0 // indirect
|
||||
github.com/containerd/fifo v1.1.0 // indirect
|
||||
github.com/containerd/protobuild v0.3.0 // indirect
|
||||
github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect
|
||||
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
||||
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.3 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
|
||||
github.com/docker/cli v23.0.5+incompatible // indirect
|
||||
|
@ -45,18 +49,20 @@ require (
|
|||
github.com/docker/docker-credential-helpers v0.7.0 // indirect
|
||||
github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect
|
||||
github.com/docker/go-units v0.5.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.4.0 // indirect
|
||||
github.com/ghodss/yaml v1.0.0 // indirect
|
||||
github.com/go-logr/logr v1.2.3 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/gobwas/glob v0.2.3 // indirect
|
||||
github.com/goccy/go-json v0.10.2 // indirect
|
||||
github.com/godbus/dbus/v5 v5.0.6 // indirect
|
||||
github.com/gogo/googleapis v1.4.0 // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/mock v1.6.0 // indirect
|
||||
github.com/golang/protobuf v1.5.3 // indirect
|
||||
github.com/google/go-cmp v0.5.9 // indirect
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/klauspost/compress v1.16.5 // indirect
|
||||
github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect
|
||||
github.com/lestrrat-go/blackmagic v1.0.1 // indirect
|
||||
|
@ -68,12 +74,13 @@ require (
|
|||
github.com/mattn/go-shellwords v1.0.12 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
github.com/moby/locker v1.0.1 // indirect
|
||||
github.com/moby/sys/mountinfo v0.5.0 // indirect
|
||||
github.com/moby/sys/signal v0.6.0 // indirect
|
||||
github.com/moby/sys/mountinfo v0.6.2 // indirect
|
||||
github.com/moby/sys/sequential v0.5.0 // indirect
|
||||
github.com/moby/sys/signal v0.7.0 // indirect
|
||||
github.com/moby/sys/symlink v0.2.0 // indirect
|
||||
github.com/open-policy-agent/opa v0.42.2 // indirect
|
||||
github.com/opencontainers/runc v1.1.7 // indirect
|
||||
github.com/opencontainers/selinux v1.10.1 // indirect
|
||||
github.com/opencontainers/selinux v1.11.0 // indirect
|
||||
github.com/pelletier/go-toml v1.9.5 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
|
||||
|
@ -86,20 +93,23 @@ require (
|
|||
github.com/x448/float16 v0.8.4 // indirect
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
|
||||
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
||||
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
||||
github.com/yashtewari/glob-intersection v0.1.0 // indirect
|
||||
go.opentelemetry.io/otel v1.14.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.14.0 // indirect
|
||||
golang.org/x/crypto v0.9.0 // indirect
|
||||
golang.org/x/mod v0.10.0 // indirect
|
||||
golang.org/x/net v0.10.0 // indirect
|
||||
golang.org/x/text v0.9.0 // indirect
|
||||
golang.org/x/tools v0.8.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20230323212658-478b75c54725 // indirect
|
||||
google.golang.org/protobuf v1.30.0 // indirect
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||
)
|
||||
|
||||
replace (
|
||||
github.com/Microsoft/hcsshim => ../
|
||||
google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63
|
||||
// keep CRI version frozen for cri-containerd tests
|
||||
k8s.io/cri-api => k8s.io/cri-api v0.25.8
|
||||
)
|
||||
|
|
1018
test/go.sum
1018
test/go.sum
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -34,7 +34,9 @@ func createGRPCConn(ctx context.Context, address string) (*grpc.ClientConn, erro
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return grpc.DialContext(ctx, addr, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithContextDialer(dialer))
|
||||
return grpc.DialContext(ctx, addr,
|
||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||
grpc.WithContextDialer(dialer))
|
||||
}
|
||||
|
||||
type ContainerdClientOptions struct {
|
||||
|
@ -164,7 +166,6 @@ func PullImage(ctx context.Context, tb testing.TB, client *containerd.Client, re
|
|||
}
|
||||
|
||||
opts := []containerd.RemoteOpt{
|
||||
containerd.WithSchema1Conversion,
|
||||
containerd.WithPlatform(plat),
|
||||
containerd.WithPullUnpack,
|
||||
}
|
||||
|
|
9
tools.go
9
tools.go
|
@ -3,7 +3,14 @@
|
|||
package hcsshim
|
||||
|
||||
import (
|
||||
// for go generate directives
|
||||
// protobuf/gRPC/ttrpc generation
|
||||
_ "github.com/containerd/protobuild"
|
||||
_ "github.com/containerd/protobuild/cmd/go-fix-acronym"
|
||||
_ "github.com/containerd/ttrpc/cmd/protoc-gen-go-ttrpc"
|
||||
_ "google.golang.org/grpc/cmd/protoc-gen-go-grpc"
|
||||
_ "google.golang.org/protobuf/cmd/protoc-gen-go"
|
||||
|
||||
// used in go:generate directives
|
||||
|
||||
// generate Win32 API code
|
||||
_ "github.com/Microsoft/go-winio/tools/mkwinsyscall"
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
version = "unstable"
|
||||
generator = "gogoctrd"
|
||||
plugins = ["grpc"]
|
||||
|
||||
# Control protoc include paths. Below are usually some good defaults, but feel
|
||||
# free to try it without them if it works for your project.
|
||||
[includes]
|
||||
# Include paths that will be added before all others. Typically, you want to
|
||||
# treat the root of the project as an include, but this may not be necessary.
|
||||
# before = ["."]
|
||||
|
||||
# Paths that should be treated as include roots in relation to the vendor
|
||||
# directory. These will be calculated with the vendor directory nearest the
|
||||
# target package.
|
||||
# vendored = ["github.com/gogo/protobuf"]
|
||||
packages = ["github.com/gogo/protobuf"]
|
||||
|
||||
# Paths that will be added untouched to the end of the includes. We use
|
||||
# `/usr/local/include` to pickup the common install location of protobuf.
|
||||
# This is the default.
|
||||
after = ["/usr/local/include", "/usr/include"]
|
||||
|
||||
# This section maps protobuf imports to Go packages. These will become
|
||||
# `-M` directives in the call to the go protobuf generator.
|
||||
[packages]
|
||||
"gogoproto/gogo.proto" = "github.com/gogo/protobuf/gogoproto"
|
||||
"google/protobuf/any.proto" = "github.com/gogo/protobuf/types"
|
||||
"google/protobuf/descriptor.proto" = "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
|
||||
"google/protobuf/field_mask.proto" = "github.com/gogo/protobuf/types"
|
||||
"google/protobuf/timestamp.proto" = "github.com/gogo/protobuf/types"
|
||||
|
||||
# Aggregrate the API descriptors to lock down API changes.
|
||||
[[descriptors]]
|
||||
prefix = "github.com/containerd/cgroups/stats/v1"
|
||||
target = "stats/v1/metrics.pb.txt"
|
||||
ignore_files = [
|
||||
"google/protobuf/descriptor.proto",
|
||||
"gogoproto/gogo.proto"
|
||||
]
|
||||
[[descriptors]]
|
||||
prefix = "github.com/containerd/cgroups/v2/stats"
|
||||
target = "v2/stats/metrics.pb.txt"
|
||||
ignore_files = [
|
||||
"google/protobuf/descriptor.proto",
|
||||
"gogoproto/gogo.proto"
|
||||
]
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
0
vendor/github.com/containerd/cgroups/.gitignore → vendor/github.com/containerd/cgroups/v3/.gitignore
сгенерированный
поставляемый
0
vendor/github.com/containerd/cgroups/.gitignore → vendor/github.com/containerd/cgroups/v3/.gitignore
сгенерированный
поставляемый
0
vendor/github.com/containerd/cgroups/LICENSE → vendor/github.com/containerd/cgroups/v3/LICENSE
сгенерированный
поставляемый
0
vendor/github.com/containerd/cgroups/LICENSE → vendor/github.com/containerd/cgroups/v3/LICENSE
сгенерированный
поставляемый
2
vendor/github.com/containerd/cgroups/Makefile → vendor/github.com/containerd/cgroups/v3/Makefile
сгенерированный
поставляемый
2
vendor/github.com/containerd/cgroups/Makefile → vendor/github.com/containerd/cgroups/v3/Makefile
сгенерированный
поставляемый
|
@ -22,3 +22,5 @@ cgutil:
|
|||
|
||||
proto:
|
||||
protobuild --quiet ${PACKAGES}
|
||||
# Keep them Go-idiomatic and backward-compatible with the gogo/protobuf era.
|
||||
go-fix-acronym -w -a '(Cpu|Tcp|Rss)' $(shell find cgroup1/stats/ cgroup2/stats/ -name '*.pb.go')
|
|
@ -0,0 +1,31 @@
|
|||
version = "2"
|
||||
generators = ["go"]
|
||||
|
||||
# Control protoc include paths. Below are usually some good defaults, but feel
|
||||
# free to try it without them if it works for your project.
|
||||
[includes]
|
||||
# Include paths that will be added before all others. Typically, you want to
|
||||
# treat the root of the project as an include, but this may not be necessary.
|
||||
# before = ["."]
|
||||
|
||||
# Paths that will be added untouched to the end of the includes. We use
|
||||
# `/usr/local/include` to pickup the common install location of protobuf.
|
||||
# This is the default.
|
||||
after = ["/usr/local/include", "/usr/include"]
|
||||
|
||||
# Aggregrate the API descriptors to lock down API changes.
|
||||
[[descriptors]]
|
||||
prefix = "github.com/containerd/cgroups/cgroup1/stats"
|
||||
target = "cgroup1/stats/metrics.pb.txt"
|
||||
ignore_files = [
|
||||
"google/protobuf/descriptor.proto",
|
||||
]
|
||||
[[descriptors]]
|
||||
prefix = "github.com/containerd/cgroups/cgroup2/stats"
|
||||
target = "cgroup2/stats/metrics.pb.txt"
|
||||
ignore_files = [
|
||||
"google/protobuf/descriptor.proto",
|
||||
]
|
||||
|
||||
[parameters.go]
|
||||
paths = "source_relative"
|
41
vendor/github.com/containerd/cgroups/README.md → vendor/github.com/containerd/cgroups/v3/README.md
сгенерированный
поставляемый
41
vendor/github.com/containerd/cgroups/README.md → vendor/github.com/containerd/cgroups/v3/README.md
сгенерированный
поставляемый
|
@ -25,7 +25,7 @@ uses the v1 implementation of cgroups.
|
|||
|
||||
```go
|
||||
shares := uint64(100)
|
||||
control, err := cgroups.New(cgroups.V1, cgroups.StaticPath("/test"), &specs.LinuxResources{
|
||||
control, err := cgroup1.New(cgroup1.StaticPath("/test"), &specs.LinuxResources{
|
||||
CPU: &specs.LinuxCPU{
|
||||
Shares: &shares,
|
||||
},
|
||||
|
@ -37,7 +37,7 @@ defer control.Delete()
|
|||
|
||||
|
||||
```go
|
||||
control, err := cgroups.New(cgroups.Systemd, cgroups.Slice("system.slice", "runc-test"), &specs.LinuxResources{
|
||||
control, err := cgroup1.New(cgroup1.Systemd, cgroup1.Slice("system.slice", "runc-test"), &specs.LinuxResources{
|
||||
CPU: &specs.CPU{
|
||||
Shares: &shares,
|
||||
},
|
||||
|
@ -48,13 +48,13 @@ control, err := cgroups.New(cgroups.Systemd, cgroups.Slice("system.slice", "runc
|
|||
### Load an existing cgroup
|
||||
|
||||
```go
|
||||
control, err = cgroups.Load(cgroups.V1, cgroups.StaticPath("/test"))
|
||||
control, err = cgroup1.Load(cgroup1.Default, cgroups.StaticPath("/test"))
|
||||
```
|
||||
|
||||
### Add a process to the cgroup
|
||||
|
||||
```go
|
||||
if err := control.Add(cgroups.Process{Pid:1234}); err != nil {
|
||||
if err := control.Add(cgroup1.Process{Pid:1234}); err != nil {
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -84,7 +84,7 @@ if err := control.Thaw(); err != nil {
|
|||
### List all processes in the cgroup or recursively
|
||||
|
||||
```go
|
||||
processes, err := control.Processes(cgroups.Devices, recursive)
|
||||
processes, err := control.Processes(cgroup1.Devices, recursive)
|
||||
```
|
||||
|
||||
### Get Stats on the cgroup
|
||||
|
@ -95,7 +95,7 @@ stats, err := control.Stat()
|
|||
|
||||
By adding `cgroups.IgnoreNotExist` all non-existent files will be ignored, e.g. swap memory stats without swap enabled
|
||||
```go
|
||||
stats, err := control.Stat(cgroups.IgnoreNotExist)
|
||||
stats, err := control.Stat(cgroup1.IgnoreNotExist)
|
||||
```
|
||||
|
||||
### Move process across cgroups
|
||||
|
@ -117,19 +117,19 @@ subCgroup, err := control.New("child", resources)
|
|||
This allows you to get notified by an eventfd for v1 memory cgroups events.
|
||||
|
||||
```go
|
||||
event := cgroups.MemoryThresholdEvent(50 * 1024 * 1024, false)
|
||||
event := cgroup1.MemoryThresholdEvent(50 * 1024 * 1024, false)
|
||||
efd, err := control.RegisterMemoryEvent(event)
|
||||
```
|
||||
|
||||
```go
|
||||
event := cgroups.MemoryPressureEvent(cgroups.MediumPressure, cgroups.DefaultMode)
|
||||
event := cgroup1.MemoryPressureEvent(cgroup1.MediumPressure, cgroup1.DefaultMode)
|
||||
efd, err := control.RegisterMemoryEvent(event)
|
||||
```
|
||||
|
||||
```go
|
||||
efd, err := control.OOMEventFD()
|
||||
// or by using RegisterMemoryEvent
|
||||
event := cgroups.OOMEvent()
|
||||
event := cgroup1.OOMEvent()
|
||||
efd, err := control.RegisterMemoryEvent(event)
|
||||
```
|
||||
|
||||
|
@ -153,14 +153,14 @@ so the resulting slice would be located here on disk:
|
|||
|
||||
```go
|
||||
import (
|
||||
cgroupsv2 "github.com/containerd/cgroups/v2"
|
||||
"github.com/containerd/cgroups/v3/cgroup2"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
res := cgroupsv2.Resources{}
|
||||
res := cgroup2.Resources{}
|
||||
// dummy PID of -1 is used for creating a "general slice" to be used as a parent cgroup.
|
||||
// see https://github.com/containerd/cgroups/blob/1df78138f1e1e6ee593db155c6b369466f577651/v2/manager.go#L732-L735
|
||||
m, err := cgroupsv2.NewSystemd("/", "my-cgroup-abc.slice", -1, &res)
|
||||
m, err := cgroup2.NewSystemd("/", "my-cgroup-abc.slice", -1, &res)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ if err != nil {
|
|||
### Load an existing cgroup
|
||||
|
||||
```go
|
||||
m, err := cgroupsv2.LoadSystemd("/", "my-cgroup-abc.slice")
|
||||
m, err := cgroup2.LoadSystemd("/", "my-cgroup-abc.slice")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -178,7 +178,7 @@ if err != nil {
|
|||
### Delete a cgroup
|
||||
|
||||
```go
|
||||
m, err := cgroupsv2.LoadSystemd("/", "my-cgroup-abc.slice")
|
||||
m, err := cgroup2.LoadSystemd("/", "my-cgroup-abc.slice")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -188,6 +188,19 @@ if err != nil {
|
|||
}
|
||||
```
|
||||
|
||||
### Kill all processes in a cgroup
|
||||
|
||||
```go
|
||||
m, err := cgroup2.LoadSystemd("/", "my-cgroup-abc.slice")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = m.Kill()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
```
|
||||
|
||||
### Attention
|
||||
|
||||
All static path should not include `/sys/fs/cgroup/` prefix, it should start with your own cgroups name
|
7
vendor/github.com/containerd/cgroups/blkio.go → vendor/github.com/containerd/cgroups/v3/cgroup1/blkio.go
сгенерированный
поставляемый
7
vendor/github.com/containerd/cgroups/blkio.go → vendor/github.com/containerd/cgroups/v3/cgroup1/blkio.go
сгенерированный
поставляемый
|
@ -14,7 +14,7 @@
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cgroups
|
||||
package cgroup1
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
|
@ -25,7 +25,8 @@ import (
|
|||
"strconv"
|
||||
"strings"
|
||||
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
|
@ -71,7 +72,7 @@ func (b *blkioController) Create(path string, resources *specs.LinuxResources) e
|
|||
}
|
||||
for _, t := range createBlkioSettings(resources.BlockIO) {
|
||||
if t.value != nil {
|
||||
if err := retryingWriteFile(
|
||||
if err := os.WriteFile(
|
||||
filepath.Join(b.Path(path), "blkio."+t.name),
|
||||
t.format(t.value),
|
||||
defaultFilePerm,
|
42
vendor/github.com/containerd/cgroups/cgroup.go → vendor/github.com/containerd/cgroups/v3/cgroup1/cgroup.go
сгенерированный
поставляемый
42
vendor/github.com/containerd/cgroups/cgroup.go → vendor/github.com/containerd/cgroups/v3/cgroup1/cgroup.go
сгенерированный
поставляемый
|
@ -14,31 +14,34 @@
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cgroups
|
||||
package cgroup1
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
// New returns a new control via the cgroup cgroups interface
|
||||
func New(hierarchy Hierarchy, path Path, resources *specs.LinuxResources, opts ...InitOpts) (Cgroup, error) {
|
||||
func New(path Path, resources *specs.LinuxResources, opts ...InitOpts) (Cgroup, error) {
|
||||
config := newInitConfig()
|
||||
for _, o := range opts {
|
||||
if err := o(config); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
subsystems, err := hierarchy()
|
||||
subsystems, err := config.hiearchy()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -68,7 +71,7 @@ func New(hierarchy Hierarchy, path Path, resources *specs.LinuxResources, opts .
|
|||
|
||||
// Load will load an existing cgroup and allow it to be controlled
|
||||
// All static path should not include `/sys/fs/cgroup/` prefix, it should start with your own cgroups name
|
||||
func Load(hierarchy Hierarchy, path Path, opts ...InitOpts) (Cgroup, error) {
|
||||
func Load(path Path, opts ...InitOpts) (Cgroup, error) {
|
||||
config := newInitConfig()
|
||||
for _, o := range opts {
|
||||
if err := o(config); err != nil {
|
||||
|
@ -76,7 +79,7 @@ func Load(hierarchy Hierarchy, path Path, opts ...InitOpts) (Cgroup, error) {
|
|||
}
|
||||
}
|
||||
var activeSubsystems []Subsystem
|
||||
subsystems, err := hierarchy()
|
||||
subsystems, err := config.hiearchy()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -193,6 +196,31 @@ func (c *cgroup) AddTask(process Process, subsystems ...Name) error {
|
|||
return c.add(process, cgroupTasks, subsystems...)
|
||||
}
|
||||
|
||||
// writeCgroupsProcs writes to the file, but retries on EINVAL.
|
||||
func writeCgroupProcs(path string, content []byte, perm fs.FileMode) error {
|
||||
f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, perm)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
for i := 0; i < 5; i++ {
|
||||
_, err = f.Write(content)
|
||||
if err == nil {
|
||||
return nil
|
||||
}
|
||||
// If the process's associated task's state is TASK_NEW, the kernel
|
||||
// returns EINVAL. The function will retry on the error like runc.
|
||||
// https://github.com/torvalds/linux/blob/v6.0/kernel/sched/core.c#L10308-L10337
|
||||
// https://github.com/opencontainers/runc/pull/1950
|
||||
if !errors.Is(err, syscall.EINVAL) {
|
||||
return err
|
||||
}
|
||||
time.Sleep(30 * time.Millisecond)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *cgroup) add(process Process, pType procType, subsystems ...Name) error {
|
||||
if process.Pid <= 0 {
|
||||
return ErrInvalidPid
|
||||
|
@ -207,7 +235,7 @@ func (c *cgroup) add(process Process, pType procType, subsystems ...Name) error
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = retryingWriteFile(
|
||||
err = writeCgroupProcs(
|
||||
filepath.Join(s.Path(p), pType),
|
||||
[]byte(strconv.Itoa(process.Pid)),
|
||||
defaultFilePerm,
|
4
vendor/github.com/containerd/cgroups/control.go → vendor/github.com/containerd/cgroups/v3/cgroup1/control.go
сгенерированный
поставляемый
4
vendor/github.com/containerd/cgroups/control.go → vendor/github.com/containerd/cgroups/v3/cgroup1/control.go
сгенерированный
поставляемый
|
@ -14,12 +14,12 @@
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cgroups
|
||||
package cgroup1
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
6
vendor/github.com/containerd/cgroups/cpu.go → vendor/github.com/containerd/cgroups/v3/cgroup1/cpu.go
сгенерированный
поставляемый
6
vendor/github.com/containerd/cgroups/cpu.go → vendor/github.com/containerd/cgroups/v3/cgroup1/cpu.go
сгенерированный
поставляемый
|
@ -14,7 +14,7 @@
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cgroups
|
||||
package cgroup1
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
|
@ -22,7 +22,7 @@ import (
|
|||
"path/filepath"
|
||||
"strconv"
|
||||
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
|
@ -82,7 +82,7 @@ func (c *cpuController) Create(path string, resources *specs.LinuxResources) err
|
|||
value = []byte(strconv.FormatInt(*t.ivalue, 10))
|
||||
}
|
||||
if value != nil {
|
||||
if err := retryingWriteFile(
|
||||
if err := os.WriteFile(
|
||||
filepath.Join(c.Path(path), "cpu."+t.name),
|
||||
value,
|
||||
defaultFilePerm,
|
4
vendor/github.com/containerd/cgroups/cpuacct.go → vendor/github.com/containerd/cgroups/v3/cgroup1/cpuacct.go
сгенерированный
поставляемый
4
vendor/github.com/containerd/cgroups/cpuacct.go → vendor/github.com/containerd/cgroups/v3/cgroup1/cpuacct.go
сгенерированный
поставляемый
|
@ -14,7 +14,7 @@
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cgroups
|
||||
package cgroup1
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
|
@ -24,7 +24,7 @@ import (
|
|||
"strconv"
|
||||
"strings"
|
||||
|
||||
v1 "github.com/containerd/cgroups/stats/v1"
|
||||
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
|
||||
)
|
||||
|
||||
const nanosecondsInSecond = 1000000000
|
8
vendor/github.com/containerd/cgroups/cpuset.go → vendor/github.com/containerd/cgroups/v3/cgroup1/cpuset.go
сгенерированный
поставляемый
8
vendor/github.com/containerd/cgroups/cpuset.go → vendor/github.com/containerd/cgroups/v3/cgroup1/cpuset.go
сгенерированный
поставляемый
|
@ -14,7 +14,7 @@
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cgroups
|
||||
package cgroup1
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
|
@ -68,7 +68,7 @@ func (c *cpusetController) Create(path string, resources *specs.LinuxResources)
|
|||
},
|
||||
} {
|
||||
if t.value != "" {
|
||||
if err := retryingWriteFile(
|
||||
if err := os.WriteFile(
|
||||
filepath.Join(c.Path(path), "cpuset."+t.name),
|
||||
[]byte(t.value),
|
||||
defaultFilePerm,
|
||||
|
@ -133,7 +133,7 @@ func (c *cpusetController) copyIfNeeded(current, parent string) error {
|
|||
return err
|
||||
}
|
||||
if isEmpty(currentCpus) {
|
||||
if err := retryingWriteFile(
|
||||
if err := os.WriteFile(
|
||||
filepath.Join(current, "cpuset.cpus"),
|
||||
parentCpus,
|
||||
defaultFilePerm,
|
||||
|
@ -142,7 +142,7 @@ func (c *cpusetController) copyIfNeeded(current, parent string) error {
|
|||
}
|
||||
}
|
||||
if isEmpty(currentMems) {
|
||||
if err := retryingWriteFile(
|
||||
if err := os.WriteFile(
|
||||
filepath.Join(current, "cpuset.mems"),
|
||||
parentMems,
|
||||
defaultFilePerm,
|
4
vendor/github.com/containerd/cgroups/devices.go → vendor/github.com/containerd/cgroups/v3/cgroup1/devices.go
сгенерированный
поставляемый
4
vendor/github.com/containerd/cgroups/devices.go → vendor/github.com/containerd/cgroups/v3/cgroup1/devices.go
сгенерированный
поставляемый
|
@ -14,7 +14,7 @@
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
package cgroups
|
||||
package cgroup1
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
@ -60,7 +60,7 @@ func (d *devicesController) Create(path string, resources *specs.LinuxResources)
|
|||
if device.Type == "" {
|
||||
device.Type = "a"
|
||||
}
|
||||
if err := retryingWriteFile(
|
||||
if err := os.WriteFile(
|
||||
filepath.Join(d.Path(path), file),
|
||||
[]byte(deviceString(device)),
|
||||
defaultFilePerm,
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче