From 5cc0c8aac7b094b4df62474a337bbc1b6a53f262 Mon Sep 17 00:00:00 2001 From: Dennis Marttinen Date: Thu, 8 Aug 2019 14:03:48 +0300 Subject: [PATCH 1/2] Add `runtime.id` to the API for tracking the VM container's ID --- cmd/ignite-spawn/ignite-spawn.go | 1 + docs/api/ignite_v1alpha2.md | 16 ++++++++-- pkg/apis/ignite/types.go | 6 ++++ .../v1alpha1/zz_generated.conversion.go | 1 + pkg/apis/ignite/v1alpha2/types.go | 6 ++++ .../v1alpha2/zz_generated.conversion.go | 32 +++++++++++++++++++ .../ignite/v1alpha2/zz_generated.deepcopy.go | 21 ++++++++++++ pkg/apis/ignite/zz_generated.deepcopy.go | 21 ++++++++++++ pkg/openapi/openapi_generated.go | 28 +++++++++++++++- pkg/openapi/violations.txt | 8 +++++ pkg/operations/start.go | 14 +++++++- 11 files changed, 150 insertions(+), 4 deletions(-) diff --git a/cmd/ignite-spawn/ignite-spawn.go b/cmd/ignite-spawn/ignite-spawn.go index 4c01a67f7..331e26860 100644 --- a/cmd/ignite-spawn/ignite-spawn.go +++ b/cmd/ignite-spawn/ignite-spawn.go @@ -100,6 +100,7 @@ func patchStopped(vm *api.VM) error { return patchVM(vm, func(patchVM *api.VM) error { patchVM.Status.Running = false patchVM.Status.IPAddresses = nil + patchVM.Status.Runtime = nil return nil }) } diff --git a/docs/api/ignite_v1alpha2.md b/docs/api/ignite_v1alpha2.md index b3b38ebab..39804e14e 100644 --- a/docs/api/ignite_v1alpha2.md +++ b/docs/api/ignite_v1alpha2.md @@ -1,4 +1,4 @@ -t# v1alpha2 +# v1alpha2 `import "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2"` @@ -41,6 +41,7 @@ t# v1alpha2 - [type PoolDeviceType](#PoolDeviceType) - [type PoolSpec](#PoolSpec) - [type PoolStatus](#PoolStatus) + - [type Runtime](#Runtime) - [type SSH](#SSH) - [func (s \*SSH) MarshalJSON() (\[\]byte, error)](#SSH.MarshalJSON) @@ -389,6 +390,16 @@ type PoolStatus struct { PoolStatus defines the Pool’s current status +## type [Runtime](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=9335:9381#L261) + +``` go +type Runtime struct { + ID string `json:"id"` +} +``` + +Runtime specifies the VM’s runtime information + ## type [SSH](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=8705:8782#L238) ``` go @@ -485,11 +496,12 @@ type VMSpec struct { VMSpec describes the configuration of a VM -## type [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=9324:9547#L261) +## type [VMStatus](https://github.com/weaveworks/ignite/tree/master/pkg/apis/ignite/v1alpha2/types.go?s=9422:9702#L266) ``` go type VMStatus struct { Running bool `json:"running"` + Runtime *Runtime `json:"runtime,omitempty"` IPAddresses meta.IPAddresses `json:"ipAddresses,omitempty"` Image OCIImageSource `json:"image"` Kernel OCIImageSource `json:"kernel"` diff --git a/pkg/apis/ignite/types.go b/pkg/apis/ignite/types.go index 18dd3128f..db201f6f9 100644 --- a/pkg/apis/ignite/types.go +++ b/pkg/apis/ignite/types.go @@ -257,9 +257,15 @@ const ( // Whenever updating this list, also update GetNetworkModes in helpers.go ) +// Runtime specifies the VM's runtime information +type Runtime struct { + ID string `json:"id"` +} + // VMStatus defines the status of a VM type VMStatus struct { Running bool `json:"running"` + Runtime *Runtime `json:"runtime,omitempty"` IPAddresses meta.IPAddresses `json:"ipAddresses,omitempty"` Image OCIImageSource `json:"image"` Kernel OCIImageSource `json:"kernel"` diff --git a/pkg/apis/ignite/v1alpha1/zz_generated.conversion.go b/pkg/apis/ignite/v1alpha1/zz_generated.conversion.go index 475f32084..2ed73a373 100644 --- a/pkg/apis/ignite/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/ignite/v1alpha1/zz_generated.conversion.go @@ -762,6 +762,7 @@ func autoConvert_v1alpha1_VMStatus_To_ignite_VMStatus(in *VMStatus, out *ignite. func autoConvert_ignite_VMStatus_To_v1alpha1_VMStatus(in *ignite.VMStatus, out *VMStatus, s conversion.Scope) error { // WARNING: in.Running requires manual conversion: does not exist in peer-type + // WARNING: in.Runtime requires manual conversion: does not exist in peer-type out.IPAddresses = *(*metav1alpha1.IPAddresses)(unsafe.Pointer(&in.IPAddresses)) if err := Convert_ignite_OCIImageSource_To_v1alpha1_OCIImageSource(&in.Image, &out.Image, s); err != nil { return err diff --git a/pkg/apis/ignite/v1alpha2/types.go b/pkg/apis/ignite/v1alpha2/types.go index 8a168821d..5a4aba74a 100644 --- a/pkg/apis/ignite/v1alpha2/types.go +++ b/pkg/apis/ignite/v1alpha2/types.go @@ -257,9 +257,15 @@ const ( // Whenever updating this list, also update GetNetworkModes in helpers.go ) +// Runtime specifies the VM's runtime information +type Runtime struct { + ID string `json:"id"` +} + // VMStatus defines the status of a VM type VMStatus struct { Running bool `json:"running"` + Runtime *Runtime `json:"runtime,omitempty"` IPAddresses meta.IPAddresses `json:"ipAddresses,omitempty"` Image OCIImageSource `json:"image"` Kernel OCIImageSource `json:"kernel"` diff --git a/pkg/apis/ignite/v1alpha2/zz_generated.conversion.go b/pkg/apis/ignite/v1alpha2/zz_generated.conversion.go index a53f4708e..9f71e6a91 100644 --- a/pkg/apis/ignite/v1alpha2/zz_generated.conversion.go +++ b/pkg/apis/ignite/v1alpha2/zz_generated.conversion.go @@ -160,6 +160,16 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddGeneratedConversionFunc((*Runtime)(nil), (*ignite.Runtime)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha2_Runtime_To_ignite_Runtime(a.(*Runtime), b.(*ignite.Runtime), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*ignite.Runtime)(nil), (*Runtime)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_ignite_Runtime_To_v1alpha2_Runtime(a.(*ignite.Runtime), b.(*Runtime), scope) + }); err != nil { + return err + } if err := s.AddGeneratedConversionFunc((*SSH)(nil), (*ignite.SSH)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1alpha2_SSH_To_ignite_SSH(a.(*SSH), b.(*ignite.SSH), scope) }); err != nil { @@ -623,6 +633,26 @@ func Convert_ignite_PoolStatus_To_v1alpha2_PoolStatus(in *ignite.PoolStatus, out return autoConvert_ignite_PoolStatus_To_v1alpha2_PoolStatus(in, out, s) } +func autoConvert_v1alpha2_Runtime_To_ignite_Runtime(in *Runtime, out *ignite.Runtime, s conversion.Scope) error { + out.ID = in.ID + return nil +} + +// Convert_v1alpha2_Runtime_To_ignite_Runtime is an autogenerated conversion function. +func Convert_v1alpha2_Runtime_To_ignite_Runtime(in *Runtime, out *ignite.Runtime, s conversion.Scope) error { + return autoConvert_v1alpha2_Runtime_To_ignite_Runtime(in, out, s) +} + +func autoConvert_ignite_Runtime_To_v1alpha2_Runtime(in *ignite.Runtime, out *Runtime, s conversion.Scope) error { + out.ID = in.ID + return nil +} + +// Convert_ignite_Runtime_To_v1alpha2_Runtime is an autogenerated conversion function. +func Convert_ignite_Runtime_To_v1alpha2_Runtime(in *ignite.Runtime, out *Runtime, s conversion.Scope) error { + return autoConvert_ignite_Runtime_To_v1alpha2_Runtime(in, out, s) +} + func autoConvert_v1alpha2_SSH_To_ignite_SSH(in *SSH, out *ignite.SSH, s conversion.Scope) error { out.Generate = in.Generate out.PublicKey = in.PublicKey @@ -805,6 +835,7 @@ func Convert_ignite_VMSpec_To_v1alpha2_VMSpec(in *ignite.VMSpec, out *VMSpec, s func autoConvert_v1alpha2_VMStatus_To_ignite_VMStatus(in *VMStatus, out *ignite.VMStatus, s conversion.Scope) error { out.Running = in.Running + out.Runtime = (*ignite.Runtime)(unsafe.Pointer(in.Runtime)) out.IPAddresses = *(*v1alpha1.IPAddresses)(unsafe.Pointer(&in.IPAddresses)) if err := Convert_v1alpha2_OCIImageSource_To_ignite_OCIImageSource(&in.Image, &out.Image, s); err != nil { return err @@ -822,6 +853,7 @@ func Convert_v1alpha2_VMStatus_To_ignite_VMStatus(in *VMStatus, out *ignite.VMSt func autoConvert_ignite_VMStatus_To_v1alpha2_VMStatus(in *ignite.VMStatus, out *VMStatus, s conversion.Scope) error { out.Running = in.Running + out.Runtime = (*Runtime)(unsafe.Pointer(in.Runtime)) out.IPAddresses = *(*v1alpha1.IPAddresses)(unsafe.Pointer(&in.IPAddresses)) if err := Convert_ignite_OCIImageSource_To_v1alpha2_OCIImageSource(&in.Image, &out.Image, s); err != nil { return err diff --git a/pkg/apis/ignite/v1alpha2/zz_generated.deepcopy.go b/pkg/apis/ignite/v1alpha2/zz_generated.deepcopy.go index a782e28fd..b5f33cc8f 100644 --- a/pkg/apis/ignite/v1alpha2/zz_generated.deepcopy.go +++ b/pkg/apis/ignite/v1alpha2/zz_generated.deepcopy.go @@ -296,6 +296,22 @@ func (in *PoolStatus) DeepCopy() *PoolStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Runtime) DeepCopyInto(out *Runtime) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Runtime. +func (in *Runtime) DeepCopy() *Runtime { + if in == nil { + return nil + } + out := new(Runtime) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SSH) DeepCopyInto(out *SSH) { *out = *in @@ -430,6 +446,11 @@ func (in *VMSpec) DeepCopy() *VMSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VMStatus) DeepCopyInto(out *VMStatus) { *out = *in + if in.Runtime != nil { + in, out := &in.Runtime, &out.Runtime + *out = new(Runtime) + **out = **in + } if in.IPAddresses != nil { in, out := &in.IPAddresses, &out.IPAddresses *out = make(v1alpha1.IPAddresses, len(*in)) diff --git a/pkg/apis/ignite/zz_generated.deepcopy.go b/pkg/apis/ignite/zz_generated.deepcopy.go index 0398ae49a..f4ddc1f97 100644 --- a/pkg/apis/ignite/zz_generated.deepcopy.go +++ b/pkg/apis/ignite/zz_generated.deepcopy.go @@ -296,6 +296,22 @@ func (in *PoolStatus) DeepCopy() *PoolStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Runtime) DeepCopyInto(out *Runtime) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Runtime. +func (in *Runtime) DeepCopy() *Runtime { + if in == nil { + return nil + } + out := new(Runtime) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SSH) DeepCopyInto(out *SSH) { *out = *in @@ -430,6 +446,11 @@ func (in *VMSpec) DeepCopy() *VMSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VMStatus) DeepCopyInto(out *VMStatus) { *out = *in + if in.Runtime != nil { + in, out := &in.Runtime, &out.Runtime + *out = new(Runtime) + **out = **in + } if in.IPAddresses != nil { in, out := &in.IPAddresses, &out.IPAddresses *out = make(v1alpha1.IPAddresses, len(*in)) diff --git a/pkg/openapi/openapi_generated.go b/pkg/openapi/openapi_generated.go index d0511d33c..660904fe0 100644 --- a/pkg/openapi/openapi_generated.go +++ b/pkg/openapi/openapi_generated.go @@ -47,6 +47,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.PoolDevice": schema_pkg_apis_ignite_v1alpha2_PoolDevice(ref), "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.PoolSpec": schema_pkg_apis_ignite_v1alpha2_PoolSpec(ref), "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.PoolStatus": schema_pkg_apis_ignite_v1alpha2_PoolStatus(ref), + "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.Runtime": schema_pkg_apis_ignite_v1alpha2_Runtime(ref), "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.SSH": schema_pkg_apis_ignite_v1alpha2_SSH(ref), "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.VM": schema_pkg_apis_ignite_v1alpha2_VM(ref), "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.VMImageSpec": schema_pkg_apis_ignite_v1alpha2_VMImageSpec(ref), @@ -1145,6 +1146,26 @@ func schema_pkg_apis_ignite_v1alpha2_PoolStatus(ref common.ReferenceCallback) co } } +func schema_pkg_apis_ignite_v1alpha2_Runtime(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Runtime specifies the VM's runtime information", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "id": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"id"}, + }, + }, + } +} + func schema_pkg_apis_ignite_v1alpha2_SSH(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -1356,6 +1377,11 @@ func schema_pkg_apis_ignite_v1alpha2_VMStatus(ref common.ReferenceCallback) comm Format: "", }, }, + "runtime": { + SchemaProps: spec.SchemaProps{ + Ref: ref("github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.Runtime"), + }, + }, "ipAddresses": { SchemaProps: spec.SchemaProps{ Type: []string{"array"}, @@ -1384,7 +1410,7 @@ func schema_pkg_apis_ignite_v1alpha2_VMStatus(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.OCIImageSource"}, + "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.OCIImageSource", "github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2.Runtime"}, } } diff --git a/pkg/openapi/violations.txt b/pkg/openapi/violations.txt index f83625dc8..6f9b171d4 100644 --- a/pkg/openapi/violations.txt +++ b/pkg/openapi/violations.txt @@ -1,3 +1,11 @@ +API rule violation: list_type_missing,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha1,OCIImageSource,RepoDigests +API rule violation: list_type_missing,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha1,PoolStatus,Devices +API rule violation: list_type_missing,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha1,VMSpec,CopyFiles +API rule violation: list_type_missing,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2,OCIImageSource,RepoDigests +API rule violation: list_type_missing,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2,PoolStatus,Devices +API rule violation: list_type_missing,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2,VMSpec,CopyFiles +API rule violation: list_type_missing,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2,VMStorageSpec,VolumeMounts +API rule violation: list_type_missing,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2,VMStorageSpec,Volumes API rule violation: names_match,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha1,VMSpec,CPUs API rule violation: names_match,github.com/weaveworks/ignite/pkg/apis/ignite/v1alpha2,VMSpec,CPUs API rule violation: names_match,github.com/weaveworks/ignite/pkg/apis/meta/v1alpha1,DMID,index diff --git a/pkg/operations/start.go b/pkg/operations/start.go index a69339bba..6b26b22b6 100644 --- a/pkg/operations/start.go +++ b/pkg/operations/start.go @@ -107,6 +107,9 @@ func StartVM(vm *api.VM, debug bool) error { return fmt.Errorf("failed to start container for VM %q: %v", vm.GetUID(), err) } + // Set the container ID for the VM + vm.Status.Runtime = &api.Runtime{ID: containerID} + if vm.Spec.Network.Mode == api.NetworkModeCNI { if err := providers.NetworkPlugin.SetupContainerNetwork(containerID); err != nil { return err @@ -120,7 +123,16 @@ func StartVM(vm *api.VM, debug bool) error { // TODO: Follow-up the container here with a defer, or dedicated goroutine. We should output // if it started successfully or not // TODO: This is temporary until we have proper communication to the container - return waitForSpawn(vm) + if err := waitForSpawn(vm); err != nil { + return err + } + + // TODO: Enable this when ignite-spawn doesn't write to the file anymore + //if err := providers.Client.VMs().Set(vm); err != nil { + // return err + //} + + return nil } func verifyPulled(image string) error { From e883d8f54e5bb3215cbd9092e3ad29105369cbdf Mon Sep 17 00:00:00 2001 From: Dennis Marttinen Date: Thu, 8 Aug 2019 14:05:36 +0300 Subject: [PATCH 2/2] make autogen tidy --- go.mod | 2 +- go.sum | 19 ------------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/go.mod b/go.mod index 530cc20f6..1a7d47b57 100644 --- a/go.mod +++ b/go.mod @@ -16,6 +16,7 @@ require ( github.com/firecracker-microvm/firecracker-go-sdk v0.15.2-0.20190627223500-b2e8284e890c github.com/freddierice/go-losetup v0.0.0-20170407175016-fc9adea44124 github.com/go-openapi/spec v0.19.2 + github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d // indirect github.com/goombaio/namegenerator v0.0.0-20181006234301-989e774b106e github.com/gorilla/mux v1.7.2 // indirect github.com/krolaw/dhcp4 v0.0.0-20190531080455-7b64900047ae @@ -44,7 +45,6 @@ require ( gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 gotest.tools v2.2.0+incompatible // indirect k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719 - k8s.io/code-generator v0.0.0-20190807220449-91311fc7abe8 // indirect k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058 sigs.k8s.io/yaml v1.1.0 ) diff --git a/go.sum b/go.sum index e47b8a78e..b2525b635 100644 --- a/go.sum +++ b/go.sum @@ -4,7 +4,6 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Microsoft/go-winio v0.4.12 h1:xAfWHN1IrQ0NJ9TBC0KBZoqLjzDTr1ML+4MywiUOryc= github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= @@ -53,7 +52,6 @@ github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/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/emicklei/go-restful v2.9.6+incompatible h1:tfrHha8zJ01ywiOEC1miGY8st1/igzWB8OmvPgoYX7w= github.com/emicklei/go-restful v2.9.6+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= @@ -225,7 +223,6 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8= github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= @@ -266,11 +263,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/net v0.0.0-20170114055629-f2499483f923/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-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -316,14 +309,9 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb 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-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 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-20190614205625-5aca471b1d59 h1:QjA/9ArTfVTLfEhClDCG7SGrZkZixxWpwNCDiwJfh88= golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -350,8 +338,6 @@ gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719 h1:uV4S5IB5g4Nvi+TBVNf3e9L4wrirlwYJ6w88jUQxTUw= k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719/go.mod h1:I4A+glKBHiTgiEjQiCCQfCAIcIMFGt291SmsvcrFzJA= -k8s.io/code-generator v0.0.0-20190807220449-91311fc7abe8 h1:rmrU+mkCD2lEOkmr+rAC6XmQoLqVPo3+t6uSYjai4BY= -k8s.io/code-generator v0.0.0-20190807220449-91311fc7abe8/go.mod h1:+ehOMJCZcDSNlbNnRAoe9wNEPwf0h03MUOmDkq6J1FE= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6 h1:4s3/R4+OYYYUKptXPhZKjQ04WJ6EhQQVFdjOFvCazDk= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= @@ -361,11 +347,6 @@ k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30 h1:TRb4wNWoBVrH9plmkp2q86 k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058 h1:di3XCwddOR9cWBNpfgXaskhh6cgJuwcK54rvtwUaC10= k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4= -modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= -modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= -modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= -modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= -modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=