Merge pull request #60158 from cblecker/bump-deps-typing

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump dependencies for build tag fixes

**What this PR does / why we need it**:
bump github.com/vmware/govmomi to HEAD
bump bitbucket.org/bertimus9/systemstat to HEAD

This should fix build tag issues that @rmmh noticed in https://github.com/kubernetes/kubernetes/pull/59289.

**Release note**:
```release-note
NONE
```
pull/6/head
Kubernetes Submit Queue 2018-02-21 21:19:53 -08:00 committed by GitHub
commit d4978c9966
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 469 additions and 234 deletions

308
Godeps/Godeps.json generated
View File

@ -11,7 +11,7 @@
"Deps": [ "Deps": [
{ {
"ImportPath": "bitbucket.org/bertimus9/systemstat", "ImportPath": "bitbucket.org/bertimus9/systemstat",
"Rev": "6edb7bbcb021f6510db33e604f7e18861293a14a" "Rev": "0eeff89b0690611fc32e21f0cd2e4434abf8fe53"
}, },
{ {
"ImportPath": "bitbucket.org/ww/goautoneg", "ImportPath": "bitbucket.org/ww/goautoneg",
@ -442,7 +442,7 @@
}, },
{ {
"ImportPath": "github.com/container-storage-interface/spec/lib/go/csi", "ImportPath": "github.com/container-storage-interface/spec/lib/go/csi",
"Comment": "v0.2.0", "Comment": "v0.1.0-5-g7ab01a9",
"Rev": "7ab01a90da87f9fef3ee1de0494962fdefaf7db7" "Rev": "7ab01a90da87f9fef3ee1de0494962fdefaf7db7"
}, },
{ {
@ -451,47 +451,47 @@
}, },
{ {
"ImportPath": "github.com/containerd/containerd/api/services/containers/v1", "ImportPath": "github.com/containerd/containerd/api/services/containers/v1",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
"ImportPath": "github.com/containerd/containerd/api/services/tasks/v1", "ImportPath": "github.com/containerd/containerd/api/services/tasks/v1",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
"ImportPath": "github.com/containerd/containerd/api/services/version/v1", "ImportPath": "github.com/containerd/containerd/api/services/version/v1",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
"ImportPath": "github.com/containerd/containerd/api/types", "ImportPath": "github.com/containerd/containerd/api/types",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
"ImportPath": "github.com/containerd/containerd/api/types/task", "ImportPath": "github.com/containerd/containerd/api/types/task",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
"ImportPath": "github.com/containerd/containerd/containers", "ImportPath": "github.com/containerd/containerd/containers",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
"ImportPath": "github.com/containerd/containerd/dialer", "ImportPath": "github.com/containerd/containerd/dialer",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
"ImportPath": "github.com/containerd/containerd/errdefs", "ImportPath": "github.com/containerd/containerd/errdefs",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
"ImportPath": "github.com/containerd/containerd/namespaces", "ImportPath": "github.com/containerd/containerd/namespaces",
"Comment": "v1.0.0-beta.2-159-g27d450a", "Comment": "v1.0.0-beta.2-159-g27d450a0",
"Rev": "27d450a01bb533d7ebc5701eb52792565396b084" "Rev": "27d450a01bb533d7ebc5701eb52792565396b084"
}, },
{ {
@ -980,147 +980,147 @@
}, },
{ {
"ImportPath": "github.com/docker/distribution/digestset", "ImportPath": "github.com/docker/distribution/digestset",
"Comment": "v2.6.0-rc.1-209-gedc3ab2", "Comment": "v2.6.0-rc.1-209-gedc3ab29",
"Rev": "edc3ab29cdff8694dd6feb85cfeb4b5f1b38ed9c" "Rev": "edc3ab29cdff8694dd6feb85cfeb4b5f1b38ed9c"
}, },
{ {
"ImportPath": "github.com/docker/distribution/reference", "ImportPath": "github.com/docker/distribution/reference",
"Comment": "v2.6.0-rc.1-209-gedc3ab2", "Comment": "v2.6.0-rc.1-209-gedc3ab29",
"Rev": "edc3ab29cdff8694dd6feb85cfeb4b5f1b38ed9c" "Rev": "edc3ab29cdff8694dd6feb85cfeb4b5f1b38ed9c"
}, },
{ {
"ImportPath": "github.com/docker/docker/api", "ImportPath": "github.com/docker/docker/api",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types", "ImportPath": "github.com/docker/docker/api/types",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/blkiodev", "ImportPath": "github.com/docker/docker/api/types/blkiodev",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/container", "ImportPath": "github.com/docker/docker/api/types/container",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/events", "ImportPath": "github.com/docker/docker/api/types/events",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/filters", "ImportPath": "github.com/docker/docker/api/types/filters",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/image", "ImportPath": "github.com/docker/docker/api/types/image",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/mount", "ImportPath": "github.com/docker/docker/api/types/mount",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/network", "ImportPath": "github.com/docker/docker/api/types/network",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/registry", "ImportPath": "github.com/docker/docker/api/types/registry",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/strslice", "ImportPath": "github.com/docker/docker/api/types/strslice",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/swarm", "ImportPath": "github.com/docker/docker/api/types/swarm",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/swarm/runtime", "ImportPath": "github.com/docker/docker/api/types/swarm/runtime",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/time", "ImportPath": "github.com/docker/docker/api/types/time",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/versions", "ImportPath": "github.com/docker/docker/api/types/versions",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/api/types/volume", "ImportPath": "github.com/docker/docker/api/types/volume",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/client", "ImportPath": "github.com/docker/docker/client",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/ioutils", "ImportPath": "github.com/docker/docker/pkg/ioutils",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/jsonlog", "ImportPath": "github.com/docker/docker/pkg/jsonlog",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/jsonmessage", "ImportPath": "github.com/docker/docker/pkg/jsonmessage",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/longpath", "ImportPath": "github.com/docker/docker/pkg/longpath",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/mount", "ImportPath": "github.com/docker/docker/pkg/mount",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/stdcopy", "ImportPath": "github.com/docker/docker/pkg/stdcopy",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/system", "ImportPath": "github.com/docker/docker/pkg/system",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/term", "ImportPath": "github.com/docker/docker/pkg/term",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/term/windows", "ImportPath": "github.com/docker/docker/pkg/term/windows",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
"ImportPath": "github.com/docker/docker/pkg/tlsconfig", "ImportPath": "github.com/docker/docker/pkg/tlsconfig",
"Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616f", "Comment": "docs-v1.12.0-rc4-2016-07-15-7401-g4f3616fb1",
"Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756" "Rev": "4f3616fb1c112e206b88cb7a9922bf49067a7756"
}, },
{ {
@ -1145,7 +1145,7 @@
}, },
{ {
"ImportPath": "github.com/docker/libnetwork/ipvs", "ImportPath": "github.com/docker/libnetwork/ipvs",
"Comment": "v0.8.0-dev.2-910-gba46b92", "Comment": "v0.8.0-dev.2-910-gba46b928",
"Rev": "ba46b928444931e6865d8618dc03622cac79aa6f" "Rev": "ba46b928444931e6865d8618dc03622cac79aa6f"
}, },
{ {
@ -1272,132 +1272,132 @@
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/gogoproto", "ImportPath": "github.com/gogo/protobuf/gogoproto",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/compare", "ImportPath": "github.com/gogo/protobuf/plugin/compare",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck", "ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/description", "ImportPath": "github.com/gogo/protobuf/plugin/description",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/embedcheck", "ImportPath": "github.com/gogo/protobuf/plugin/embedcheck",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/enumstringer", "ImportPath": "github.com/gogo/protobuf/plugin/enumstringer",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/equal", "ImportPath": "github.com/gogo/protobuf/plugin/equal",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/face", "ImportPath": "github.com/gogo/protobuf/plugin/face",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/gostring", "ImportPath": "github.com/gogo/protobuf/plugin/gostring",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/marshalto", "ImportPath": "github.com/gogo/protobuf/plugin/marshalto",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck", "ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/populate", "ImportPath": "github.com/gogo/protobuf/plugin/populate",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/size", "ImportPath": "github.com/gogo/protobuf/plugin/size",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/stringer", "ImportPath": "github.com/gogo/protobuf/plugin/stringer",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/testgen", "ImportPath": "github.com/gogo/protobuf/plugin/testgen",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/union", "ImportPath": "github.com/gogo/protobuf/plugin/union",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/plugin/unmarshal", "ImportPath": "github.com/gogo/protobuf/plugin/unmarshal",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/proto", "ImportPath": "github.com/gogo/protobuf/proto",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor", "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator", "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc", "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin", "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/sortkeys", "ImportPath": "github.com/gogo/protobuf/sortkeys",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/types", "ImportPath": "github.com/gogo/protobuf/types",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/vanity", "ImportPath": "github.com/gogo/protobuf/vanity",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
"ImportPath": "github.com/gogo/protobuf/vanity/command", "ImportPath": "github.com/gogo/protobuf/vanity/command",
"Comment": "v0.4-3-gc0656ed", "Comment": "v0.4-3-gc0656edd",
"Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7"
}, },
{ {
@ -1454,217 +1454,217 @@
}, },
{ {
"ImportPath": "github.com/google/cadvisor/accelerators", "ImportPath": "github.com/google/cadvisor/accelerators",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/api", "ImportPath": "github.com/google/cadvisor/api",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/cache/memory", "ImportPath": "github.com/google/cadvisor/cache/memory",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/client/v2", "ImportPath": "github.com/google/cadvisor/client/v2",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/collector", "ImportPath": "github.com/google/cadvisor/collector",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container", "ImportPath": "github.com/google/cadvisor/container",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container/common", "ImportPath": "github.com/google/cadvisor/container/common",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container/containerd", "ImportPath": "github.com/google/cadvisor/container/containerd",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container/crio", "ImportPath": "github.com/google/cadvisor/container/crio",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container/docker", "ImportPath": "github.com/google/cadvisor/container/docker",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container/libcontainer", "ImportPath": "github.com/google/cadvisor/container/libcontainer",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container/raw", "ImportPath": "github.com/google/cadvisor/container/raw",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container/rkt", "ImportPath": "github.com/google/cadvisor/container/rkt",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/container/systemd", "ImportPath": "github.com/google/cadvisor/container/systemd",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/devicemapper", "ImportPath": "github.com/google/cadvisor/devicemapper",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/events", "ImportPath": "github.com/google/cadvisor/events",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/fs", "ImportPath": "github.com/google/cadvisor/fs",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/healthz", "ImportPath": "github.com/google/cadvisor/healthz",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/http", "ImportPath": "github.com/google/cadvisor/http",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/http/mux", "ImportPath": "github.com/google/cadvisor/http/mux",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/info/v1", "ImportPath": "github.com/google/cadvisor/info/v1",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/info/v2", "ImportPath": "github.com/google/cadvisor/info/v2",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/machine", "ImportPath": "github.com/google/cadvisor/machine",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/manager", "ImportPath": "github.com/google/cadvisor/manager",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/manager/watcher", "ImportPath": "github.com/google/cadvisor/manager/watcher",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/manager/watcher/raw", "ImportPath": "github.com/google/cadvisor/manager/watcher/raw",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/manager/watcher/rkt", "ImportPath": "github.com/google/cadvisor/manager/watcher/rkt",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/metrics", "ImportPath": "github.com/google/cadvisor/metrics",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/pages", "ImportPath": "github.com/google/cadvisor/pages",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/pages/static", "ImportPath": "github.com/google/cadvisor/pages/static",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/storage", "ImportPath": "github.com/google/cadvisor/storage",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/summary", "ImportPath": "github.com/google/cadvisor/summary",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/utils", "ImportPath": "github.com/google/cadvisor/utils",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/utils/cloudinfo", "ImportPath": "github.com/google/cadvisor/utils/cloudinfo",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/utils/cpuload", "ImportPath": "github.com/google/cadvisor/utils/cpuload",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/utils/cpuload/netlink", "ImportPath": "github.com/google/cadvisor/utils/cpuload/netlink",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/utils/docker", "ImportPath": "github.com/google/cadvisor/utils/docker",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/utils/oomparser", "ImportPath": "github.com/google/cadvisor/utils/oomparser",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/utils/sysfs", "ImportPath": "github.com/google/cadvisor/utils/sysfs",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/utils/sysinfo", "ImportPath": "github.com/google/cadvisor/utils/sysinfo",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/validate", "ImportPath": "github.com/google/cadvisor/validate",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/version", "ImportPath": "github.com/google/cadvisor/version",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
"ImportPath": "github.com/google/cadvisor/zfs", "ImportPath": "github.com/google/cadvisor/zfs",
"Comment": "v0.28.3-20-g6116f26", "Comment": "v0.28.3-20-g6116f265",
"Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c" "Rev": "6116f265302357cbb10f84737af30b1f13ce2d6c"
}, },
{ {
@ -2631,113 +2631,113 @@
}, },
{ {
"ImportPath": "github.com/vmware/govmomi", "ImportPath": "github.com/vmware/govmomi",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/find", "ImportPath": "github.com/vmware/govmomi/find",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/list", "ImportPath": "github.com/vmware/govmomi/list",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/nfc", "ImportPath": "github.com/vmware/govmomi/nfc",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/object", "ImportPath": "github.com/vmware/govmomi/object",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/pbm", "ImportPath": "github.com/vmware/govmomi/pbm",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/pbm/methods", "ImportPath": "github.com/vmware/govmomi/pbm/methods",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/pbm/types", "ImportPath": "github.com/vmware/govmomi/pbm/types",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/property", "ImportPath": "github.com/vmware/govmomi/property",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/session", "ImportPath": "github.com/vmware/govmomi/session",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/simulator", "ImportPath": "github.com/vmware/govmomi/simulator",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/simulator/esx", "ImportPath": "github.com/vmware/govmomi/simulator/esx",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/simulator/vpx", "ImportPath": "github.com/vmware/govmomi/simulator/vpx",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/task", "ImportPath": "github.com/vmware/govmomi/task",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/vim25", "ImportPath": "github.com/vmware/govmomi/vim25",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/vim25/debug", "ImportPath": "github.com/vmware/govmomi/vim25/debug",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/vim25/methods", "ImportPath": "github.com/vmware/govmomi/vim25/methods",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/vim25/mo", "ImportPath": "github.com/vmware/govmomi/vim25/mo",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/vim25/progress", "ImportPath": "github.com/vmware/govmomi/vim25/progress",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/vim25/soap", "ImportPath": "github.com/vmware/govmomi/vim25/soap",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/vim25/types", "ImportPath": "github.com/vmware/govmomi/vim25/types",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/govmomi/vim25/xml", "ImportPath": "github.com/vmware/govmomi/vim25/xml",
"Comment": "v0.16.0-80-g8174315", "Comment": "v0.16.0-97-g0f82f03",
"Rev": "81743157fb5ccf548d6bd5088c25ee6156a359ee" "Rev": "0f82f03a2bbf14037d2331cf02f1d4157bbef6cc"
}, },
{ {
"ImportPath": "github.com/vmware/photon-controller-go-sdk/SSPI", "ImportPath": "github.com/vmware/photon-controller-go-sdk/SSPI",

View File

@ -7,7 +7,6 @@
package systemstat package systemstat
import ( import (
"syscall"
"time" "time"
) )
@ -30,15 +29,8 @@ func getMemSample(procfile string) (samp MemSample) {
} }
func getProcCPUSample() (s ProcCPUSample) { func getProcCPUSample() (s ProcCPUSample) {
var processInfo syscall.Rusage notImplemented("getProcCPUSample")
syscall.Getrusage(syscall.RUSAGE_SELF, &processInfo)
s.Time = time.Now() s.Time = time.Now()
s.ProcMemUsedK = int64(processInfo.Maxrss)
s.User = float64(processInfo.Utime.Usec)/1000000 + float64(processInfo.Utime.Sec)
s.System = float64(processInfo.Stime.Usec)/1000000 + float64(processInfo.Stime.Sec)
s.Total = s.User + s.System
return return
} }

View File

@ -13,7 +13,6 @@ go_library(
clinkopts = select({ clinkopts = select({
"@io_bazel_rules_go//go/platform:linux": [ "@io_bazel_rules_go//go/platform:linux": [
"-lseccomp", "-lseccomp",
"-lseccomp",
], ],
"//conditions:default": [], "//conditions:default": [],
}), }),

View File

@ -10,3 +10,4 @@ before_install:
script: script:
- make check test - make check test
- GOOS=windows make install

View File

@ -88,3 +88,42 @@ func (d Datacenter) Destroy(ctx context.Context) (*Task, error) {
return NewTask(d.c, res.Returnval), nil return NewTask(d.c, res.Returnval), nil
} }
// PowerOnVM powers on multiple virtual machines with a single vCenter call.
// If called against ESX, serially powers on the list of VMs and the returned *Task will always be nil.
func (d Datacenter) PowerOnVM(ctx context.Context, vm []types.ManagedObjectReference, option ...types.BaseOptionValue) (*Task, error) {
if d.Client().IsVC() {
req := types.PowerOnMultiVM_Task{
This: d.Reference(),
Vm: vm,
Option: option,
}
res, err := methods.PowerOnMultiVM_Task(ctx, d.c, &req)
if err != nil {
return nil, err
}
return NewTask(d.c, res.Returnval), nil
}
for _, ref := range vm {
obj := NewVirtualMachine(d.Client(), ref)
task, err := obj.PowerOn(ctx)
if err != nil {
return nil, err
}
err = task.Wait(ctx)
if err != nil {
// Ignore any InvalidPowerState fault, as it indicates the VM is already powered on
if f, ok := err.(types.HasFault); ok {
if _, ok = f.Fault().(*types.InvalidPowerState); !ok {
return nil, err
}
}
}
}
return nil, nil
}

View File

@ -1,5 +1,5 @@
/* /*
Copyright (c) 2017 VMware, Inc. All Rights Reserved. Copyright (c) 2017-2018 VMware, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@ -26,6 +26,7 @@ import (
"path" "path"
"strings" "strings"
"github.com/vmware/govmomi/vim25/progress"
"github.com/vmware/govmomi/vim25/soap" "github.com/vmware/govmomi/vim25/soap"
) )
@ -36,7 +37,8 @@ type DatastoreFileManager struct {
FileManager *FileManager FileManager *FileManager
VirtualDiskManager *VirtualDiskManager VirtualDiskManager *VirtualDiskManager
Force bool Force bool
DatacenterTarget *Datacenter
} }
// NewFileManager creates a new instance of DatastoreFileManager // NewFileManager creates a new instance of DatastoreFileManager
@ -49,11 +51,25 @@ func (d Datastore) NewFileManager(dc *Datacenter, force bool) *DatastoreFileMana
FileManager: NewFileManager(c), FileManager: NewFileManager(c),
VirtualDiskManager: NewVirtualDiskManager(c), VirtualDiskManager: NewVirtualDiskManager(c),
Force: force, Force: force,
DatacenterTarget: dc,
} }
return m return m
} }
func (m *DatastoreFileManager) WithProgress(ctx context.Context, s progress.Sinker) context.Context {
return context.WithValue(ctx, m, s)
}
func (m *DatastoreFileManager) wait(ctx context.Context, task *Task) error {
var logger progress.Sinker
if s, ok := ctx.Value(m).(progress.Sinker); ok {
logger = s
}
_, err := task.WaitForResult(ctx, logger)
return err
}
// Delete dispatches to the appropriate Delete method based on file name extension // Delete dispatches to the appropriate Delete method based on file name extension
func (m *DatastoreFileManager) Delete(ctx context.Context, name string) error { func (m *DatastoreFileManager) Delete(ctx context.Context, name string) error {
switch path.Ext(name) { switch path.Ext(name) {
@ -73,7 +89,7 @@ func (m *DatastoreFileManager) DeleteFile(ctx context.Context, name string) erro
return err return err
} }
return task.Wait(ctx) return m.wait(ctx, task)
} }
// DeleteVirtualDisk calls VirtualDiskManager.DeleteVirtualDisk // DeleteVirtualDisk calls VirtualDiskManager.DeleteVirtualDisk
@ -94,10 +110,58 @@ func (m *DatastoreFileManager) DeleteVirtualDisk(ctx context.Context, name strin
return err return err
} }
return task.Wait(ctx) return m.wait(ctx, task)
} }
// Move dispatches to the appropriate Move method based on file name extension // CopyFile calls FileManager.CopyDatastoreFile
func (m *DatastoreFileManager) CopyFile(ctx context.Context, src string, dst string) error {
srcp := m.Path(src)
dstp := m.Path(dst)
task, err := m.FileManager.CopyDatastoreFile(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force)
if err != nil {
return err
}
return m.wait(ctx, task)
}
// Copy dispatches to the appropriate FileManager or VirtualDiskManager Copy method based on file name extension
func (m *DatastoreFileManager) Copy(ctx context.Context, src string, dst string) error {
srcp := m.Path(src)
dstp := m.Path(dst)
f := m.FileManager.CopyDatastoreFile
if srcp.IsVMDK() {
// types.VirtualDiskSpec=nil as it is not implemented by vCenter
f = func(ctx context.Context, src string, srcDC *Datacenter, dst string, dstDC *Datacenter, force bool) (*Task, error) {
return m.VirtualDiskManager.CopyVirtualDisk(ctx, src, srcDC, dst, dstDC, nil, force)
}
}
task, err := f(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force)
if err != nil {
return err
}
return m.wait(ctx, task)
}
// MoveFile calls FileManager.MoveDatastoreFile
func (m *DatastoreFileManager) MoveFile(ctx context.Context, src string, dst string) error {
srcp := m.Path(src)
dstp := m.Path(dst)
task, err := m.FileManager.MoveDatastoreFile(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force)
if err != nil {
return err
}
return m.wait(ctx, task)
}
// Move dispatches to the appropriate FileManager or VirtualDiskManager Move method based on file name extension
func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string) error { func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string) error {
srcp := m.Path(src) srcp := m.Path(src)
dstp := m.Path(dst) dstp := m.Path(dst)
@ -108,12 +172,12 @@ func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string)
f = m.VirtualDiskManager.MoveVirtualDisk f = m.VirtualDiskManager.MoveVirtualDisk
} }
task, err := f(ctx, srcp.String(), m.Datacenter, dstp.String(), m.Datacenter, m.Force) task, err := f(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force)
if err != nil { if err != nil {
return err return err
} }
return task.Wait(ctx) return m.wait(ctx, task)
} }
// Path converts path name to a DatastorePath // Path converts path name to a DatastorePath

View File

@ -47,8 +47,10 @@ func NewReference(c *vim25.Client, e types.ManagedObjectReference) Reference {
return NewClusterComputeResource(c, e) return NewClusterComputeResource(c, e)
case "HostSystem": case "HostSystem":
return NewHostSystem(c, e) return NewHostSystem(c, e)
case "Network", "OpaqueNetwork": case "Network":
return NewNetwork(c, e) return NewNetwork(c, e)
case "OpaqueNetwork":
return NewOpaqueNetwork(c, e)
case "ResourcePool": case "ResourcePool":
return NewResourcePool(c, e) return NewResourcePool(c, e)
case "DistributedVirtualSwitch": case "DistributedVirtualSwitch":

View File

@ -25,7 +25,6 @@ go_library(
"license_manager.go", "license_manager.go",
"model.go", "model.go",
"option_manager.go", "option_manager.go",
"os_unix.go",
"performance_manager.go", "performance_manager.go",
"portgroup.go", "portgroup.go",
"property_collector.go", "property_collector.go",
@ -44,6 +43,36 @@ go_library(
"virtual_disk_manager.go", "virtual_disk_manager.go",
"virtual_machine.go", "virtual_machine.go",
] + select({ ] + select({
"@io_bazel_rules_go//go/platform:android": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:darwin": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:dragonfly": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:freebsd": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:linux": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:nacl": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:netbsd": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:openbsd": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:plan9": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:solaris": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:windows": [ "@io_bazel_rules_go//go/platform:windows": [
"os_windows.go", "os_windows.go",
], ],

View File

@ -20,15 +20,40 @@ import (
"strings" "strings"
"github.com/vmware/govmomi/simulator/esx" "github.com/vmware/govmomi/simulator/esx"
"github.com/vmware/govmomi/vim25/methods"
"github.com/vmware/govmomi/vim25/mo" "github.com/vmware/govmomi/vim25/mo"
"github.com/vmware/govmomi/vim25/soap"
"github.com/vmware/govmomi/vim25/types" "github.com/vmware/govmomi/vim25/types"
) )
type Datacenter struct {
mo.Datacenter
isESX bool
}
// NewDatacenter creates a Datacenter and its child folders.
func NewDatacenter(f *Folder) *Datacenter {
dc := &Datacenter{
isESX: f.Self == esx.RootFolder.Self,
}
if dc.isESX {
dc.Datacenter = esx.Datacenter
}
f.putChild(dc)
dc.createFolders()
return dc
}
// Create Datacenter Folders. // Create Datacenter Folders.
// Every Datacenter has 4 inventory Folders: Vm, Host, Datastore and Network. // Every Datacenter has 4 inventory Folders: Vm, Host, Datastore and Network.
// The ESX folder child types are limited to 1 type. // The ESX folder child types are limited to 1 type.
// The VC folders have additional child types, including nested folders. // The VC folders have additional child types, including nested folders.
func createDatacenterFolders(dc *mo.Datacenter, isVC bool) { func (dc *Datacenter) createFolders() {
folders := []struct { folders := []struct {
ref *types.ManagedObjectReference ref *types.ManagedObjectReference
name string name string
@ -44,7 +69,11 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
folder := &Folder{} folder := &Folder{}
folder.Name = f.name folder.Name = f.name
if isVC { if dc.isESX {
folder.ChildType = f.types[:1]
folder.Self = *f.ref
Map.PutEntity(dc, folder)
} else {
folder.ChildType = f.types folder.ChildType = f.types
e := Map.PutEntity(dc, folder) e := Map.PutEntity(dc, folder)
@ -52,10 +81,6 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
ref := e.Reference() ref := e.Reference()
f.ref.Type = ref.Type f.ref.Type = ref.Type
f.ref.Value = ref.Value f.ref.Value = ref.Value
} else {
folder.ChildType = f.types[:1]
folder.Self = *f.ref
Map.PutEntity(dc, folder)
} }
} }
@ -67,7 +92,7 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
network.Self = ref network.Self = ref
network.Name = strings.Split(ref.Value, "-")[1] network.Name = strings.Split(ref.Value, "-")[1]
network.Entity().Name = network.Name network.Entity().Name = network.Name
if isVC { if !dc.isESX {
network.Self.Value = "" // we want a different moid per-DC network.Self.Value = "" // we want a different moid per-DC
} }
@ -76,7 +101,7 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
} }
func datacenterEventArgument(obj mo.Entity) *types.DatacenterEventArgument { func datacenterEventArgument(obj mo.Entity) *types.DatacenterEventArgument {
dc, ok := obj.(*mo.Datacenter) dc, ok := obj.(*Datacenter)
if !ok { if !ok {
dc = Map.getEntityDatacenter(obj) dc = Map.getEntityDatacenter(obj)
} }
@ -85,3 +110,26 @@ func datacenterEventArgument(obj mo.Entity) *types.DatacenterEventArgument {
EntityEventArgument: types.EntityEventArgument{Name: dc.Name}, EntityEventArgument: types.EntityEventArgument{Name: dc.Name},
} }
} }
func (dc *Datacenter) PowerOnMultiVMTask(ctx *Context, req *types.PowerOnMultiVM_Task) soap.HasFault {
task := CreateTask(dc, "powerOnMultiVM", func(_ *Task) (types.AnyType, types.BaseMethodFault) {
if dc.isESX {
return nil, new(types.NotImplemented)
}
for _, ref := range req.Vm {
vm := Map.Get(ref).(*VirtualMachine)
Map.WithLock(vm, func() {
vm.PowerOnVMTask(ctx, &types.PowerOnVM_Task{})
})
}
return nil, nil
})
return &methods.PowerOnMultiVM_TaskBody{
Res: &types.PowerOnMultiVM_TaskResponse{
Returnval: task.Run(),
},
}
}

View File

@ -80,7 +80,7 @@ func (f *FileManager) resolve(dc *types.ManagedObjectReference, name string) (st
} }
} }
folder := Map.Get(*dc).(*mo.Datacenter).DatastoreFolder folder := Map.Get(*dc).(*Datacenter).DatastoreFolder
ds, fault := f.findDatastore(Map.Get(folder), p.Datastore) ds, fault := f.findDatastore(Map.Get(folder), p.Datastore)
if fault != nil { if fault != nil {

View File

@ -197,14 +197,10 @@ func (f *Folder) CreateDatacenter(ctx *Context, c *types.CreateDatacenter) soap.
r := &methods.CreateDatacenterBody{} r := &methods.CreateDatacenterBody{}
if f.hasChildType("Datacenter") && f.hasChildType("Folder") { if f.hasChildType("Datacenter") && f.hasChildType("Folder") {
dc := &mo.Datacenter{} dc := NewDatacenter(f)
dc.Name = c.Name dc.Name = c.Name
f.putChild(dc)
createDatacenterFolders(dc, true)
r.Res = &types.CreateDatacenterResponse{ r.Res = &types.CreateDatacenterResponse{
Returnval: dc.Self, Returnval: dc.Self,
} }

View File

@ -113,9 +113,7 @@ func addComputeResource(s *types.ComputeResourceSummary, h *HostSystem) {
// CreateDefaultESX creates a standalone ESX // CreateDefaultESX creates a standalone ESX
// Adds objects of type: Datacenter, Network, ComputeResource, ResourcePool and HostSystem // Adds objects of type: Datacenter, Network, ComputeResource, ResourcePool and HostSystem
func CreateDefaultESX(f *Folder) { func CreateDefaultESX(f *Folder) {
dc := &esx.Datacenter dc := NewDatacenter(f)
f.putChild(dc)
createDatacenterFolders(dc, false)
host := NewHostSystem(esx.HostSystem) host := NewHostSystem(esx.HostSystem)

View File

@ -164,6 +164,8 @@ func (m *Model) Create() error {
// After all hosts are created, this var is used to mount the host datastores. // After all hosts are created, this var is used to mount the host datastores.
var hosts []*object.HostSystem var hosts []*object.HostSystem
hostMap := make(map[string][]*object.HostSystem)
// We need to defer VM creation until after the datastores are created. // We need to defer VM creation until after the datastores are created.
var vms []func() error var vms []func() error
// 1 DVS per DC, added to all hosts // 1 DVS per DC, added to all hosts
@ -416,12 +418,14 @@ func (m *Model) Create() error {
addMachine(name, nil, vapp.ResourcePool, folders) addMachine(name, nil, vapp.ResourcePool, folders)
} }
} }
hostMap[dcName] = hosts
hosts = nil
} }
if m.ServiceContent.RootFolder == esx.RootFolder.Reference() { if m.ServiceContent.RootFolder == esx.RootFolder.Reference() {
// ESX model // ESX model
host := object.NewHostSystem(client, esx.HostSystem.Reference()) host := object.NewHostSystem(client, esx.HostSystem.Reference())
hosts = append(hosts, host)
dc := object.NewDatacenter(client, esx.Datacenter.Reference()) dc := object.NewDatacenter(client, esx.Datacenter.Reference())
folders, err := dc.Folders(ctx) folders, err := dc.Folders(ctx)
@ -429,13 +433,17 @@ func (m *Model) Create() error {
return err return err
} }
hostMap[dc.Reference().Value] = append(hosts, host)
addMachine(host.Reference().Value, host, nil, folders) addMachine(host.Reference().Value, host, nil, folders)
} }
for i := 0; i < m.Datastore; i++ { for dc, dchosts := range hostMap {
err := m.createLocalDatastore(m.fmtName("LocalDS_", i), hosts) for i := 0; i < m.Datastore; i++ {
if err != nil { err := m.createLocalDatastore(dc, m.fmtName("LocalDS_", i), dchosts)
return err if err != nil {
return err
}
} }
} }
@ -449,13 +457,9 @@ func (m *Model) Create() error {
return nil return nil
} }
var tempDir = func() (string, error) { func (m *Model) createLocalDatastore(dc string, name string, hosts []*object.HostSystem) error {
return ioutil.TempDir("", "govcsim-")
}
func (m *Model) createLocalDatastore(name string, hosts []*object.HostSystem) error {
ctx := context.Background() ctx := context.Background()
dir, err := tempDir() dir, err := ioutil.TempDir("", fmt.Sprintf("govcsim-%s-%s-", dc, name))
if err != nil { if err != nil {
return err return err
} }

View File

@ -1,3 +1,5 @@
//+build !windows
/* /*
Copyright (c) 2017 VMware, Inc. All Rights Reserved. Copyright (c) 2017 VMware, Inc. All Rights Reserved.

View File

@ -213,8 +213,8 @@ func (r *Registry) getEntityParent(item mo.Entity, kind string) mo.Entity {
} }
// getEntityDatacenter returns the Datacenter containing the given item // getEntityDatacenter returns the Datacenter containing the given item
func (r *Registry) getEntityDatacenter(item mo.Entity) *mo.Datacenter { func (r *Registry) getEntityDatacenter(item mo.Entity) *Datacenter {
return r.getEntityParent(item, "Datacenter").(*mo.Datacenter) return r.getEntityParent(item, "Datacenter").(*Datacenter)
} }
func (r *Registry) getEntityFolder(item mo.Entity, kind string) *Folder { func (r *Registry) getEntityFolder(item mo.Entity, kind string) *Folder {

View File

@ -94,7 +94,7 @@ func (s *SearchIndex) FindChild(req *types.FindChild) soap.HasFault {
var children []types.ManagedObjectReference var children []types.ManagedObjectReference
switch e := obj.(type) { switch e := obj.(type) {
case *mo.Datacenter: case *Datacenter:
children = []types.ManagedObjectReference{e.VmFolder, e.HostFolder, e.DatastoreFolder, e.NetworkFolder} children = []types.ManagedObjectReference{e.VmFolder, e.HostFolder, e.DatastoreFolder, e.NetworkFolder}
case *Folder: case *Folder:
children = e.ChildEntity children = e.ChildEntity

View File

@ -153,7 +153,7 @@ func walk(root mo.Reference, f func(child types.ManagedObjectReference)) {
var children []types.ManagedObjectReference var children []types.ManagedObjectReference
switch e := root.(type) { switch e := root.(type) {
case *mo.Datacenter: case *Datacenter:
children = []types.ManagedObjectReference{e.VmFolder, e.HostFolder, e.DatastoreFolder, e.NetworkFolder} children = []types.ManagedObjectReference{e.VmFolder, e.HostFolder, e.DatastoreFolder, e.NetworkFolder}
case *Folder: case *Folder:
children = e.ChildEntity children = e.ChildEntity

View File

@ -152,6 +152,12 @@ func (m *VirtualDiskManager) MoveVirtualDiskTask(req *types.MoveVirtualDisk_Task
func (m *VirtualDiskManager) CopyVirtualDiskTask(req *types.CopyVirtualDisk_Task) soap.HasFault { func (m *VirtualDiskManager) CopyVirtualDiskTask(req *types.CopyVirtualDisk_Task) soap.HasFault {
task := CreateTask(m, "copyVirtualDisk", func(*Task) (types.AnyType, types.BaseMethodFault) { task := CreateTask(m, "copyVirtualDisk", func(*Task) (types.AnyType, types.BaseMethodFault) {
if req.DestSpec != nil {
if Map.IsVPX() {
return nil, new(types.NotImplemented)
}
}
fm := Map.FileManager() fm := Map.FileManager()
dest := m.names(req.DestName) dest := m.names(req.DestName)

View File

@ -513,19 +513,54 @@ func (vm *VirtualMachine) configureDevice(devices object.VirtualDeviceList, spec
return nil return nil
} }
func removeDevice(devices object.VirtualDeviceList, device types.BaseVirtualDevice) object.VirtualDeviceList { func (vm *VirtualMachine) removeDevice(devices object.VirtualDeviceList, spec *types.VirtualDeviceConfigSpec) object.VirtualDeviceList {
var result object.VirtualDeviceList key := spec.Device.GetVirtualDevice().Key
for i, d := range devices { for i, d := range devices {
if d.GetVirtualDevice().Key == device.GetVirtualDevice().Key { if d.GetVirtualDevice().Key != key {
result = append(result, devices[i+1:]...) continue
break
} }
result = append(result, d) devices = append(devices[:i], devices[i+1:]...)
switch device := spec.Device.(type) {
case *types.VirtualDisk:
if spec.FileOperation == types.VirtualDeviceConfigSpecFileOperationDestroy {
var file string
switch b := device.Backing.(type) {
case types.BaseVirtualDeviceFileBackingInfo:
file = b.GetVirtualDeviceFileBackingInfo().FileName
}
if file != "" {
dc := Map.getEntityDatacenter(Map.Get(*vm.Parent).(mo.Entity))
dm := Map.VirtualDiskManager()
dm.DeleteVirtualDiskTask(&types.DeleteVirtualDisk_Task{
Name: file,
Datacenter: &dc.Self,
})
}
}
case types.BaseVirtualEthernetCard:
var net types.ManagedObjectReference
switch b := device.GetVirtualEthernetCard().Backing.(type) {
case *types.VirtualEthernetCardNetworkBackingInfo:
net = *b.Network
case *types.VirtualEthernetCardDistributedVirtualPortBackingInfo:
net.Type = "DistributedVirtualPortgroup"
net.Value = b.Port.PortgroupKey
}
RemoveReference(&vm.Network, net)
}
break
} }
return result return devices
} }
func (vm *VirtualMachine) genVmdkPath() (string, types.BaseMethodFault) { func (vm *VirtualMachine) genVmdkPath() (string, types.BaseMethodFault) {
@ -559,9 +594,6 @@ func (vm *VirtualMachine) genVmdkPath() (string, types.BaseMethodFault) {
} }
func (vm *VirtualMachine) configureDevices(spec *types.VirtualMachineConfigSpec) types.BaseMethodFault { func (vm *VirtualMachine) configureDevices(spec *types.VirtualMachineConfigSpec) types.BaseMethodFault {
dc := Map.getEntityDatacenter(Map.Get(*vm.Parent).(mo.Entity))
dm := Map.VirtualDiskManager()
devices := object.VirtualDeviceList(vm.Config.Hardware.Device) devices := object.VirtualDeviceList(vm.Config.Hardware.Device)
for i, change := range spec.DeviceChange { for i, change := range spec.DeviceChange {
@ -577,7 +609,7 @@ func (vm *VirtualMachine) configureDevices(spec *types.VirtualMachineConfigSpec)
} }
// In this case, the CreateVM() spec included one of the default devices // In this case, the CreateVM() spec included one of the default devices
devices = removeDevice(devices, device) devices = vm.removeDevice(devices, dspec)
} }
err := vm.configureDevice(devices, dspec) err := vm.configureDevice(devices, dspec)
@ -586,25 +618,23 @@ func (vm *VirtualMachine) configureDevices(spec *types.VirtualMachineConfigSpec)
} }
devices = append(devices, dspec.Device) devices = append(devices, dspec.Device)
case types.VirtualDeviceConfigSpecOperationRemove: case types.VirtualDeviceConfigSpecOperationEdit:
devices = removeDevice(devices, dspec.Device) rspec := *dspec
rspec.Device = devices.FindByKey(device.Key)
disk, ok := dspec.Device.(*types.VirtualDisk) if rspec.Device == nil {
if ok && dspec.FileOperation == types.VirtualDeviceConfigSpecFileOperationDestroy { return invalid
var file string
switch b := disk.Backing.(type) {
case types.BaseVirtualDeviceFileBackingInfo:
file = b.GetVirtualDeviceFileBackingInfo().FileName
}
if file != "" {
dm.DeleteVirtualDiskTask(&types.DeleteVirtualDisk_Task{
Name: file,
Datacenter: &dc.Self,
})
}
} }
devices = vm.removeDevice(devices, &rspec)
device.DeviceInfo = nil // regenerate summary + label
err := vm.configureDevice(devices, dspec)
if err != nil {
return err
}
devices = append(devices, dspec.Device)
case types.VirtualDeviceConfigSpecOperationRemove:
devices = vm.removeDevice(devices, dspec)
} }
} }
@ -795,6 +825,30 @@ func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soa
}, },
} }
for _, device := range vm.Config.Hardware.Device {
var fop types.VirtualDeviceConfigSpecFileOperation
switch device.(type) {
case *types.VirtualDisk:
// TODO: consider VirtualMachineCloneSpec.DiskMoveType
fop = types.VirtualDeviceConfigSpecFileOperationCreate
device = &types.VirtualDisk{
VirtualDevice: types.VirtualDevice{
Backing: &types.VirtualDiskFlatVer2BackingInfo{
DiskMode: string(types.VirtualDiskModePersistent),
// Leave FileName empty so CreateVM will just create a new one under VmPathName
},
},
}
}
config.DeviceChange = append(config.DeviceChange, &types.VirtualDeviceConfigSpec{
Operation: types.VirtualDeviceConfigSpecOperationAdd,
Device: device,
FileOperation: fop,
})
}
res := folder.CreateVMTask(ctx, &types.CreateVM_Task{ res := folder.CreateVMTask(ctx, &types.CreateVM_Task{
This: folder.Self, This: folder.Self,
Config: config, Config: config,
@ -809,6 +863,7 @@ func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soa
ref := ctask.Info.Result.(types.ManagedObjectReference) ref := ctask.Info.Result.(types.ManagedObjectReference)
clone := Map.Get(ref).(*VirtualMachine) clone := Map.Get(ref).(*VirtualMachine)
clone.configureDevices(&types.VirtualMachineConfigSpec{DeviceChange: req.Spec.Location.DeviceChange})
ctx.postEvent(&types.VmClonedEvent{ ctx.postEvent(&types.VmClonedEvent{
VmCloneEvent: types.VmCloneEvent{VmEvent: clone.event()}, VmCloneEvent: types.VmCloneEvent{VmEvent: clone.event()},