This job view page is being replaced by Spyglass soon. Check out the new job view.
PRcpanato: WIP golang: Update to go1.19beta1
ResultFAILURE
Tests 6 failed / 37 succeeded
Started2022-06-23 08:59
Elapsed44m9s
Revisionedfaf3e6b12d84960f2abdb3c6957dceb336e5c0
Refs 110739

Test Failures


verify generated-device-plugin 3m25s

make verify WHAT=generated-device-plugin
from junit_verify.xml

verify generated-files 0.09s

make verify WHAT=generated-files
Unexpected dirty working directory:

  diff --git a/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.pb.go b/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.pb.go
  index 6a79013e123..b720b6ec8e8 100644
  --- a/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.pb.go
  +++ b/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.pb.go
  @@ -197,10 +197,11 @@ func (m *ListAndWatchResponse) GetDevices() []*Device {
   }
   
   // E.g:
  -// struct Device {
  -//    ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e",
  -//    Health: "Healthy",
  -//}
  +//
  +//	struct Device {
  +//	   ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e",
  +//	   Health: "Healthy",
  +//	}
   type Device struct {
   	// A unique ID assigned by the device plugin used
   	// to identify devices during the communication
  @@ -258,12 +259,12 @@ func (m *Device) GetHealth() string {
   	return ""
   }
   
  -// - Allocate is expected to be called during pod creation since allocation
  -//   failures for any container would result in pod startup failure.
  -// - Allocate allows kubelet to exposes additional artifacts in a pod's
  -//   environment as directed by the plugin.
  -// - Allocate allows Device Plugin to run device specific operations on
  -//   the Devices requested
  +//   - Allocate is expected to be called during pod creation since allocation
  +//     failures for any container would result in pod startup failure.
  +//   - Allocate allows kubelet to exposes additional artifacts in a pod's
  +//     environment as directed by the plugin.
  +//   - Allocate allows Device Plugin to run device specific operations on
  +//     the Devices requested
   type AllocateRequest struct {
   	DevicesIDs           []string `protobuf:"bytes,1,rep,name=devicesIDs,proto3" json:"devicesIDs,omitempty"`
   	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  diff --git a/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1/api.pb.go b/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1/api.pb.go
  index ced0bf57c50..4f183239ca4 100644
  --- a/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1/api.pb.go
  +++ b/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1/api.pb.go
  @@ -351,13 +351,14 @@ func (m *NUMANode) GetID() int64 {
   }
   
   // E.g:
  -// struct Device {
  -//    ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e",
  -//    Health: "Healthy",
  -//    Topology:
  -//      Node:
  -//        ID: 1
  -//}
  +//
  +//	struct Device {
  +//	   ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e",
  +//	   Health: "Healthy",
  +//	   Topology:
  +//	     Node:
  +//	       ID: 1
  +//	}
   type Device struct {
   	// A unique ID assigned by the device plugin used
   	// to identify devices during the communication
  @@ -424,10 +425,10 @@ func (m *Device) GetTopology() *TopologyInfo {
   	return nil
   }
   
  -// - PreStartContainer is expected to be called before each container start if indicated by plugin during registration phase.
  -// - PreStartContainer allows kubelet to pass reinitialized devices to containers.
  -// - PreStartContainer allows Device Plugin to run device specific operations on
  -//   the Devices requested
  +//   - PreStartContainer is expected to be called before each container start if indicated by plugin during registration phase.
  +//   - PreStartContainer allows kubelet to pass reinitialized devices to containers.
  +//   - PreStartContainer allows Device Plugin to run device specific operations on
  +//     the Devices requested
   type PreStartContainerRequest struct {
   	DevicesIDs           []string `protobuf:"bytes,1,rep,name=devices_ids,json=devicesIds,proto3" json:"devices_ids,omitempty"`
   	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  @@ -717,12 +718,12 @@ func (m *ContainerPreferredAllocationResponse) GetDeviceIDs() []string {
   	return nil
   }
   
  -// - Allocate is expected to be called during pod creation since allocation
  -//   failures for any container would result in pod startup failure.
  -// - Allocate allows kubelet to exposes additional artifacts in a pod's
  -//   environment as directed by the plugin.
  -// - Allocate allows Device Plugin to run device specific operations on
  -//   the Devices requested
  +//   - Allocate is expected to be called during pod creation since allocation
  +//     failures for any container would result in pod startup failure.
  +//   - Allocate allows kubelet to exposes additional artifacts in a pod's
  +//     environment as directed by the plugin.
  +//   - Allocate allows Device Plugin to run device specific operations on
  +//     the Devices requested
   type AllocateRequest struct {
   	ContainerRequests    []*ContainerAllocateRequest `protobuf:"bytes,1,rep,name=container_requests,json=containerRequests,proto3" json:"container_requests,omitempty"`
   	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
!!! [0623 09:15:28] Call tree:
!!! [0623 09:15:28]  1: hack/make-rules/../../hack/verify-generated-files.sh:29 kube::util::ensure_clean_working_dir(...)
				
				Click to see stdout/stderrfrom junit_verify.xml

Find creation mentions in log files | View test history on testgrid


verify generated-protobuf 42s

make verify WHAT=generated-protobuf
2022/06/23 09:16:22 k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:22 k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1beta1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:23 k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/testapigroup/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/testapigroup/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:23 k8s.io/kubernetes/vendor/k8s.io/api/admission/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:23 k8s.io/kubernetes/vendor/k8s.io/api/admission/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:23 k8s.io/kubernetes/vendor/k8s.io/api/admissionregistration/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/admissionregistration/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:23 k8s.io/kubernetes/vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:24 k8s.io/kubernetes/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/apiserverinternal/v1alpha1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:24 k8s.io/kubernetes/vendor/k8s.io/api/apps/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:25 k8s.io/kubernetes/vendor/k8s.io/api/apps/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:25 k8s.io/kubernetes/vendor/k8s.io/api/apps/v1beta2/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:26 k8s.io/kubernetes/vendor/k8s.io/api/authentication/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/authentication/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:26 k8s.io/kubernetes/vendor/k8s.io/api/authentication/v1beta1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/authentication/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:26 k8s.io/kubernetes/vendor/k8s.io/api/authorization/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/authorization/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:26 k8s.io/kubernetes/vendor/k8s.io/api/authorization/v1beta1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/authorization/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:27 k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:27 k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:28 k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:29 k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/autoscaling/v2beta2/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:29 k8s.io/kubernetes/vendor/k8s.io/api/batch/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/batch/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:30 k8s.io/kubernetes/vendor/k8s.io/api/batch/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/batch/v1beta1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:30 k8s.io/kubernetes/vendor/k8s.io/api/certificates/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/certificates/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/certificates/v1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:30 k8s.io/kubernetes/vendor/k8s.io/api/certificates/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/certificates/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/certificates/v1beta1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:31 k8s.io/kubernetes/vendor/k8s.io/api/coordination/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/coordination/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:31 k8s.io/kubernetes/vendor/k8s.io/api/coordination/v1beta1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/coordination/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:32 k8s.io/kubernetes/vendor/k8s.io/api/core/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:34 k8s.io/kubernetes/vendor/k8s.io/api/discovery/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/discovery/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:34 k8s.io/kubernetes/vendor/k8s.io/api/discovery/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/discovery/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:35 k8s.io/kubernetes/vendor/k8s.io/api/events/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/events/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:35 k8s.io/kubernetes/vendor/k8s.io/api/events/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/events/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:36 k8s.io/kubernetes/vendor/k8s.io/api/extensions/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/extensions/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:36 k8s.io/kubernetes/vendor/k8s.io/api/flowcontrol/v1alpha1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/flowcontrol/v1alpha1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:36 k8s.io/kubernetes/vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/flowcontrol/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:37 k8s.io/kubernetes/vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/flowcontrol/v1beta2/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:37 k8s.io/kubernetes/vendor/k8s.io/api/imagepolicy/v1alpha1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/imagepolicy/v1alpha1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:37 k8s.io/kubernetes/vendor/k8s.io/api/networking/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/networking/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:38 k8s.io/kubernetes/vendor/k8s.io/api/networking/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/networking/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:38 k8s.io/kubernetes/vendor/k8s.io/api/node/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/node/v1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:39 k8s.io/kubernetes/vendor/k8s.io/api/node/v1alpha1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/node/v1alpha1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:39 k8s.io/kubernetes/vendor/k8s.io/api/node/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/node/v1beta1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:39 k8s.io/kubernetes/vendor/k8s.io/api/policy/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/policy/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:40 k8s.io/kubernetes/vendor/k8s.io/api/policy/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/policy/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:40 k8s.io/kubernetes/vendor/k8s.io/api/rbac/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/rbac/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:40 k8s.io/kubernetes/vendor/k8s.io/api/rbac/v1alpha1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/rbac/v1alpha1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:40 k8s.io/kubernetes/vendor/k8s.io/api/rbac/v1beta1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/rbac/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:41 k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:41 k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1alpha1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1alpha1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1alpha1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:41 k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/scheduling/v1beta1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:42 k8s.io/kubernetes/vendor/k8s.io/api/storage/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/storage/v1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:42 k8s.io/kubernetes/vendor/k8s.io/api/storage/v1alpha1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/storage/v1alpha1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:43 k8s.io/kubernetes/vendor/k8s.io/api/storage/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/api/storage/v1beta1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:43 k8s.io/kubernetes/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:44 k8s.io/kubernetes/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:44 k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/audit/v1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:44 k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/example/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/apis/example/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:44 k8s.io/kubernetes/vendor/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:44 k8s.io/kubernetes/vendor/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1/generated.proto:26:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:45 k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:45 k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1beta2/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1beta2/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:45 k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/external_metrics/v1beta1/generated.proto:27:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/external_metrics/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
2022/06/23 09:16:46 k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
2022/06/23 09:16:46 k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/metrics/v1beta1/generated.proto:28:1: warning: Import k8s.io/apimachinery/pkg/runtime/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/metrics/v1beta1/generated.proto:29:1: warning: Import k8s.io/apimachinery/pkg/runtime/schema/generated.proto is unused.
k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/metrics/v1beta1/generated.proto:25:1: warning: Import k8s.io/api/core/v1/generated.proto is unused.
				
				Click to see stdout/stderrfrom junit_verify.xml

Filter through log files | View test history on testgrid


verify generated-runtime 10s

make verify WHAT=generated-runtime
from junit_verify.xml

verify internal-modules 0.27s

make verify WHAT=internal-modules
Unexpected dirty working directory:

  diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go
  index 74e4c1804ce..aa66d26d985 100644
  --- a/pkg/generated/openapi/zz_generated.openapi.go
  +++ b/pkg/generated/openapi/zz_generated.openapi.go
  @@ -3799,7 +3799,7 @@ func schema_k8sio_api_apps_v1_StatefulSet(ref common.ReferenceCallback) common.O
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.",
  +				Description: "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n  - Network: A single stable DNS and hostname.\n  - Storage: As many VolumeClaims as requested.\n\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"kind": {
  @@ -4910,7 +4910,7 @@ func schema_k8sio_api_apps_v1beta1_StatefulSet(ref common.ReferenceCallback) com
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See the release notes for more information. StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.",
  +				Description: "DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See the release notes for more information. StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n  - Network: A single stable DNS and hostname.\n  - Storage: As many VolumeClaims as requested.\n\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"kind": {
  @@ -6567,7 +6567,7 @@ func schema_k8sio_api_apps_v1beta2_StatefulSet(ref common.ReferenceCallback) com
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the release notes for more information. StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.",
  +				Description: "DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the release notes for more information. StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n  - Network: A single stable DNS and hostname.\n  - Storage: As many VolumeClaims as requested.\n\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"kind": {
  @@ -16490,7 +16490,7 @@ func schema_k8sio_api_core_v1_EndpointSubset(ref common.ReferenceCallback) commo
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:\n  {\n    Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n    Ports:     [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n  }\nThe resulting set of endpoints can be viewed as:\n    a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],\n    b: [ 10.10.1.1:309, 10.10.2.2:309 ]",
  +				Description: "EndpointSubset is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:\n\n\t{\n\t  Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n\t  Ports:     [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n\t}\n\nThe resulting set of endpoints can be viewed as:\n\n\ta: [ 10.10.1.1:8675, 10.10.2.2:8675 ],\n\tb: [ 10.10.1.1:309, 10.10.2.2:309 ]",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"addresses": {
  @@ -16547,7 +16547,7 @@ func schema_k8sio_api_core_v1_Endpoints(ref common.ReferenceCallback) common.Ope
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "Endpoints is a collection of endpoints that implement the actual service. Example:\n  Name: \"mysvc\",\n  Subsets: [\n    {\n      Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n      Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n    },\n    {\n      Addresses: [{\"ip\": \"10.10.3.3\"}],\n      Ports: [{\"name\": \"a\", \"port\": 93}, {\"name\": \"b\", \"port\": 76}]\n    },\n ]",
  +				Description: "Endpoints is a collection of endpoints that implement the actual service. Example:\n\n\t Name: \"mysvc\",\n\t Subsets: [\n\t   {\n\t     Addresses: [{\"ip\": \"10.10.1.1\"}, {\"ip\": \"10.10.2.2\"}],\n\t     Ports: [{\"name\": \"a\", \"port\": 8675}, {\"name\": \"b\", \"port\": 309}]\n\t   },\n\t   {\n\t     Addresses: [{\"ip\": \"10.10.3.3\"}],\n\t     Ports: [{\"name\": \"a\", \"port\": 93}, {\"name\": \"b\", \"port\": 76}]\n\t   },\n\t]",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"kind": {
  @@ -21397,7 +21397,7 @@ func schema_k8sio_api_core_v1_PodIP(ref common.ReferenceCallback) common.OpenAPI
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "IP address information for entries in the (plural) PodIPs field. Each entry includes:\n   IP: An IP address allocated to the pod. Routable at least within the cluster.",
  +				Description: "IP address information for entries in the (plural) PodIPs field. Each entry includes:\n\n\tIP: An IP address allocated to the pod. Routable at least within the cluster.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"ip": {
  @@ -30322,7 +30322,7 @@ func schema_k8sio_api_flowcontrol_v1alpha1_LimitedPriorityLevelConfiguration(ref
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits. It addresses two issues:\n * How are requests for this priority level limited?\n * What should be done with requests that exceed the limit?",
  +				Description: "LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits. It addresses two issues:\n  - How are requests for this priority level limited?\n  - What should be done with requests that exceed the limit?",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"assuredConcurrencyShares": {
  @@ -31307,7 +31307,7 @@ func schema_k8sio_api_flowcontrol_v1beta1_LimitedPriorityLevelConfiguration(ref
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits. It addresses two issues:\n * How are requests for this priority level limited?\n * What should be done with requests that exceed the limit?",
  +				Description: "LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits. It addresses two issues:\n  - How are requests for this priority level limited?\n  - What should be done with requests that exceed the limit?",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"assuredConcurrencyShares": {
  @@ -32292,7 +32292,7 @@ func schema_k8sio_api_flowcontrol_v1beta2_LimitedPriorityLevelConfiguration(ref
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits. It addresses two issues:\n * How are requests for this priority level limited?\n * What should be done with requests that exceed the limit?",
  +				Description: "LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits. It addresses two issues:\n  - How are requests for this priority level limited?\n  - What should be done with requests that exceed the limit?",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"assuredConcurrencyShares": {
  @@ -46088,7 +46088,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
  +				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.Object `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// External package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// On the wire, the JSON will look something like this:\n\n\t{\n\t\t\"kind\":\"MyAPIObject\",\n\t\t\"apiVersion\":\"v1\",\n\t\t\"myPlugin\": {\n\t\t\t\"kind\":\"PluginA\",\n\t\t\t\"aOption\":\"foo\",\n\t\t},\n\t}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
   				Type:        []string{"object"},
   			},
   		},
  @@ -46099,7 +46099,7 @@ func schema_k8sio_apimachinery_pkg_runtime_TypeMeta(ref common.ReferenceCallback
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this: type MyAwesomeAPIObject struct {\n     runtime.TypeMeta    `json:\",inline\"`\n     ... // other fields\n} func (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
  +				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this:\n\n\ttype MyAwesomeAPIObject struct {\n\t     runtime.TypeMeta    `json:\",inline\"`\n\t     ... // other fields\n\t}\n\nfunc (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"apiVersion": {
  diff --git a/staging/src/k8s.io/api/apps/v1/types.go b/staging/src/k8s.io/api/apps/v1/types.go
  index 28474be7f4f..a070679327f 100644
  --- a/staging/src/k8s.io/api/apps/v1/types.go
  +++ b/staging/src/k8s.io/api/apps/v1/types.go
  @@ -39,8 +39,9 @@ const (
   
   // StatefulSet represents a set of pods with consistent identities.
   // Identities are defined as:
  -//  - Network: A single stable DNS and hostname.
  -//  - Storage: As many VolumeClaims as requested.
  +//   - Network: A single stable DNS and hostname.
  +//   - Storage: As many VolumeClaims as requested.
  +//
   // The StatefulSet guarantees that a given network identity will always
   // map to the same storage identity.
   type StatefulSet struct {
  diff --git a/staging/src/k8s.io/api/apps/v1beta1/types.go b/staging/src/k8s.io/api/apps/v1beta1/types.go
  index cdc81c956a3..2980a447e7b 100644
  --- a/staging/src/k8s.io/api/apps/v1beta1/types.go
  +++ b/staging/src/k8s.io/api/apps/v1beta1/types.go
  @@ -88,8 +88,9 @@ type Scale struct {
   // more information.
   // StatefulSet represents a set of pods with consistent identities.
   // Identities are defined as:
  -//  - Network: A single stable DNS and hostname.
  -//  - Storage: As many VolumeClaims as requested.
  +//   - Network: A single stable DNS and hostname.
  +//   - Storage: As many VolumeClaims as requested.
  +//
   // The StatefulSet guarantees that a given network identity will always
   // map to the same storage identity.
   type StatefulSet struct {
  diff --git a/staging/src/k8s.io/api/apps/v1beta2/types.go b/staging/src/k8s.io/api/apps/v1beta2/types.go
  index 6c2448869e7..00263f95f7d 100644
  --- a/staging/src/k8s.io/api/apps/v1beta2/types.go
  +++ b/staging/src/k8s.io/api/apps/v1beta2/types.go
  @@ -94,8 +94,9 @@ type Scale struct {
   // more information.
   // StatefulSet represents a set of pods with consistent identities.
   // Identities are defined as:
  -//  - Network: A single stable DNS and hostname.
  -//  - Storage: As many VolumeClaims as requested.
  +//   - Network: A single stable DNS and hostname.
  +//   - Storage: As many VolumeClaims as requested.
  +//
   // The StatefulSet guarantees that a given network identity will always
   // map to the same storage identity.
   type StatefulSet struct {
  diff --git a/staging/src/k8s.io/api/certificates/v1/types.go b/staging/src/k8s.io/api/certificates/v1/types.go
  index 752c6697347..af5efb5165b 100644
  --- a/staging/src/k8s.io/api/certificates/v1/types.go
  +++ b/staging/src/k8s.io/api/certificates/v1/types.go
  @@ -275,7 +275,9 @@ type CertificateSigningRequestList struct {
   
   // KeyUsage specifies valid usage contexts for keys.
   // See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3
  -//      https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  +//
  +//	https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  +//
   // +enum
   type KeyUsage string
   
  diff --git a/staging/src/k8s.io/api/certificates/v1beta1/types.go b/staging/src/k8s.io/api/certificates/v1beta1/types.go
  index 877312d97e3..fe7aab9704d 100644
  --- a/staging/src/k8s.io/api/certificates/v1beta1/types.go
  +++ b/staging/src/k8s.io/api/certificates/v1beta1/types.go
  @@ -230,7 +230,8 @@ type CertificateSigningRequestList struct {
   
   // KeyUsages specifies valid usage contexts for keys.
   // See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3
  -//      https://tools.ietf.org/html/rfc5280#section-4.2.1.12
  +//
  +//	https://tools.ietf.org/html/rfc5280#section-4.2.1.12
   type KeyUsage string
   
   const (
  diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go
  index 73c605fb5bf..25a3d9e9959 100644
  --- a/staging/src/k8s.io/api/core/v1/types.go
  +++ b/staging/src/k8s.io/api/core/v1/types.go
  @@ -3647,7 +3647,8 @@ type PodDNSConfigOption struct {
   
   // IP address information for entries in the (plural) PodIPs field.
   // Each entry includes:
  -//    IP: An IP address allocated to the pod. Routable at least within the cluster.
  +//
  +//	IP: An IP address allocated to the pod. Routable at least within the cluster.
   type PodIP struct {
   	// ip is an IP address (IPv4 or IPv6) assigned to the pod
   	IP string `json:"ip,omitempty" protobuf:"bytes,1,opt,name=ip"`
  @@ -4721,17 +4722,18 @@ type ServiceAccountList struct {
   // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
   
   // Endpoints is a collection of endpoints that implement the actual service. Example:
  -//   Name: "mysvc",
  -//   Subsets: [
  -//     {
  -//       Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
  -//       Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
  -//     },
  -//     {
  -//       Addresses: [{"ip": "10.10.3.3"}],
  -//       Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}]
  -//     },
  -//  ]
  +//
  +//	 Name: "mysvc",
  +//	 Subsets: [
  +//	   {
  +//	     Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
  +//	     Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
  +//	   },
  +//	   {
  +//	     Addresses: [{"ip": "10.10.3.3"}],
  +//	     Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}]
  +//	   },
  +//	]
   type Endpoints struct {
   	metav1.TypeMeta `json:",inline"`
   	// Standard object's metadata.
  @@ -4753,13 +4755,16 @@ type Endpoints struct {
   // EndpointSubset is a group of addresses with a common set of ports. The
   // expanded set of endpoints is the Cartesian product of Addresses x Ports.
   // For example, given:
  -//   {
  -//     Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
  -//     Ports:     [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
  -//   }
  +//
  +//	{
  +//	  Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}],
  +//	  Ports:     [{"name": "a", "port": 8675}, {"name": "b", "port": 309}]
  +//	}
  +//
   // The resulting set of endpoints can be viewed as:
  -//     a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],
  -//     b: [ 10.10.1.1:309, 10.10.2.2:309 ]
  +//
  +//	a: [ 10.10.1.1:8675, 10.10.2.2:8675 ],
  +//	b: [ 10.10.1.1:309, 10.10.2.2:309 ]
   type EndpointSubset struct {
   	// IP addresses which offer the related ports that are marked as ready. These endpoints
   	// should be considered safe for load balancers and clients to utilize.
  @@ -5632,6 +5637,7 @@ type ServiceProxyOptions struct {
   //     and the version of the actual struct is irrelevant.
   //  5. We cannot easily change it.  Because this type is embedded in many locations, updates to this type
   //     will affect numerous schemas.  Don't make new APIs embed an underspecified API type they do not control.
  +//
   // Instead of using this type, create a locally provided and used type that is well-focused on your reference.
   // For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
   // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
  diff --git a/staging/src/k8s.io/api/flowcontrol/v1alpha1/types.go b/staging/src/k8s.io/api/flowcontrol/v1alpha1/types.go
  index 5af677e2f53..c52c9aa7b9c 100644
  --- a/staging/src/k8s.io/api/flowcontrol/v1alpha1/types.go
  +++ b/staging/src/k8s.io/api/flowcontrol/v1alpha1/types.go
  @@ -415,8 +415,8 @@ const (
   
   // LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits.
   // It addresses two issues:
  -//  * How are requests for this priority level limited?
  -//  * What should be done with requests that exceed the limit?
  +//   - How are requests for this priority level limited?
  +//   - What should be done with requests that exceed the limit?
   type LimitedPriorityLevelConfiguration struct {
   	// `assuredConcurrencyShares` (ACS) configures the execution
   	// limit, which is a limit on the number of requests of this
  diff --git a/staging/src/k8s.io/api/flowcontrol/v1beta1/types.go b/staging/src/k8s.io/api/flowcontrol/v1beta1/types.go
  index b4573264298..d6744f6f692 100644
  --- a/staging/src/k8s.io/api/flowcontrol/v1beta1/types.go
  +++ b/staging/src/k8s.io/api/flowcontrol/v1beta1/types.go
  @@ -451,8 +451,8 @@ const (
   
   // LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits.
   // It addresses two issues:
  -//  * How are requests for this priority level limited?
  -//  * What should be done with requests that exceed the limit?
  +//   - How are requests for this priority level limited?
  +//   - What should be done with requests that exceed the limit?
   type LimitedPriorityLevelConfiguration struct {
   	// `assuredConcurrencyShares` (ACS) configures the execution
   	// limit, which is a limit on the number of requests of this
  diff --git a/staging/src/k8s.io/api/flowcontrol/v1beta2/types.go b/staging/src/k8s.io/api/flowcontrol/v1beta2/types.go
  index 408681e998c..3ee00f29355 100644
  --- a/staging/src/k8s.io/api/flowcontrol/v1beta2/types.go
  +++ b/staging/src/k8s.io/api/flowcontrol/v1beta2/types.go
  @@ -447,8 +447,8 @@ const (
   
   // LimitedPriorityLevelConfiguration specifies how to handle requests that are subject to limits.
   // It addresses two issues:
  -//  * How are requests for this priority level limited?
  -//  * What should be done with requests that exceed the limit?
  +//   - How are requests for this priority level limited?
  +//   - What should be done with requests that exceed the limit?
   type LimitedPriorityLevelConfiguration struct {
   	// `assuredConcurrencyShares` (ACS) configures the execution
   	// limit, which is a limit on the number of requests of this
  diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
  index 8ceea79b0dc..241dd297389 100644
  --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
  +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
  @@ -3304,7 +3304,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
  +				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.Object `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// External package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// On the wire, the JSON will look something like this:\n\n\t{\n\t\t\"kind\":\"MyAPIObject\",\n\t\t\"apiVersion\":\"v1\",\n\t\t\"myPlugin\": {\n\t\t\t\"kind\":\"PluginA\",\n\t\t\t\"aOption\":\"foo\",\n\t\t},\n\t}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
   				Type:        []string{"object"},
   			},
   		},
  @@ -3315,7 +3315,7 @@ func schema_k8sio_apimachinery_pkg_runtime_TypeMeta(ref common.ReferenceCallback
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this: type MyAwesomeAPIObject struct {\n     runtime.TypeMeta    `json:\",inline\"`\n     ... // other fields\n} func (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
  +				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this:\n\n\ttype MyAwesomeAPIObject struct {\n\t     runtime.TypeMeta    `json:\",inline\"`\n\t     ... // other fields\n\t}\n\nfunc (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"apiVersion": {
  diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go
  index 5b1ba1a883b..152f99296ca 100644
  --- a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go
  +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go
  @@ -17,10 +17,11 @@ limitations under the License.
   // Package v1 contains API types that are common to all versions.
   //
   // The package contains two categories of types:
  -// - external (serialized) types that lack their own version (e.g TypeMeta)
  -// - internal (never-serialized) types that are needed by several different
  -//   api groups, and so live here, to avoid duplication and/or import loops
  -//   (e.g. LabelSelector).
  +//   - external (serialized) types that lack their own version (e.g TypeMeta)
  +//   - internal (never-serialized) types that are needed by several different
  +//     api groups, and so live here, to avoid duplication and/or import loops
  +//     (e.g. LabelSelector).
  +//
   // In the future, we will probably move these categories of objects into
   // separate packages.
   package v1
  @@ -1448,17 +1449,18 @@ type PartialObjectMetadataList struct {
   // Condition contains details for one aspect of the current state of this API Resource.
   // ---
   // This struct is intended for direct use as an array at the field path .status.conditions.  For example,
  -// type FooStatus struct{
  -//     // Represents the observations of a foo's current state.
  -//     // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
  -//     // +patchMergeKey=type
  -//     // +patchStrategy=merge
  -//     // +listType=map
  -//     // +listMapKey=type
  -//     Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
   //
  -//     // other fields
  -// }
  +//	type FooStatus struct{
  +//	    // Represents the observations of a foo's current state.
  +//	    // Known .status.conditions.type are: "Available", "Progressing", and "Degraded"
  +//	    // +patchMergeKey=type
  +//	    // +patchStrategy=merge
  +//	    // +listType=map
  +//	    // +listMapKey=type
  +//	    Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
  +//
  +//	    // other fields
  +//	}
   type Condition struct {
   	// type of condition in CamelCase or in foo.example.com/CamelCase.
   	// ---
  diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/types.go b/staging/src/k8s.io/apimachinery/pkg/runtime/types.go
  index 31359f35f45..3dc9a5a2f2a 100644
  --- a/staging/src/k8s.io/apimachinery/pkg/runtime/types.go
  +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/types.go
  @@ -21,10 +21,12 @@ package runtime
   
   // TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type,
   // like this:
  -// type MyAwesomeAPIObject struct {
  -//      runtime.TypeMeta    `json:",inline"`
  -//      ... // other fields
  -// }
  +//
  +//	type MyAwesomeAPIObject struct {
  +//	     runtime.TypeMeta    `json:",inline"`
  +//	     ... // other fields
  +//	}
  +//
   // func (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind
   //
   // TypeMeta is provided here for convenience. You may use it directly from this package or define
  @@ -53,32 +55,37 @@ const (
   // various plugin types.
   //
   // // Internal package:
  -// type MyAPIObject struct {
  -// 	runtime.TypeMeta `json:",inline"`
  -//	MyPlugin runtime.Object `json:"myPlugin"`
  -// }
  -// type PluginA struct {
  -//	AOption string `json:"aOption"`
  -// }
  +//
  +//	type MyAPIObject struct {
  +//		runtime.TypeMeta `json:",inline"`
  +//		MyPlugin runtime.Object `json:"myPlugin"`
  +//	}
  +//
  +//	type PluginA struct {
  +//		AOption string `json:"aOption"`
  +//	}
   //
   // // External package:
  -// type MyAPIObject struct {
  -// 	runtime.TypeMeta `json:",inline"`
  -//	MyPlugin runtime.RawExtension `json:"myPlugin"`
  -// }
  -// type PluginA struct {
  -//	AOption string `json:"aOption"`
  -// }
  +//
  +//	type MyAPIObject struct {
  +//		runtime.TypeMeta `json:",inline"`
  +//		MyPlugin runtime.RawExtension `json:"myPlugin"`
  +//	}
  +//
  +//	type PluginA struct {
  +//		AOption string `json:"aOption"`
  +//	}
   //
   // // On the wire, the JSON will look something like this:
  -// {
  -//	"kind":"MyAPIObject",
  -//	"apiVersion":"v1",
  -//	"myPlugin": {
  -//		"kind":"PluginA",
  -//		"aOption":"foo",
  -//	},
  -// }
  +//
  +//	{
  +//		"kind":"MyAPIObject",
  +//		"apiVersion":"v1",
  +//		"myPlugin": {
  +//			"kind":"PluginA",
  +//			"aOption":"foo",
  +//		},
  +//	}
   //
   // So what happens? Decode first uses json or yaml to unmarshal the serialized data into
   // your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked.
  diff --git a/staging/src/k8s.io/code-generator/examples/apiserver/openapi/zz_generated.openapi.go b/staging/src/k8s.io/code-generator/examples/apiserver/openapi/zz_generated.openapi.go
  index c2e72aab834..58faccba6f2 100644
  --- a/staging/src/k8s.io/code-generator/examples/apiserver/openapi/zz_generated.openapi.go
  +++ b/staging/src/k8s.io/code-generator/examples/apiserver/openapi/zz_generated.openapi.go
  @@ -2367,7 +2367,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
  +				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.Object `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// External package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// On the wire, the JSON will look something like this:\n\n\t{\n\t\t\"kind\":\"MyAPIObject\",\n\t\t\"apiVersion\":\"v1\",\n\t\t\"myPlugin\": {\n\t\t\t\"kind\":\"PluginA\",\n\t\t\t\"aOption\":\"foo\",\n\t\t},\n\t}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
   				Type:        []string{"object"},
   			},
   		},
  @@ -2378,7 +2378,7 @@ func schema_k8sio_apimachinery_pkg_runtime_TypeMeta(ref common.ReferenceCallback
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this: type MyAwesomeAPIObject struct {\n     runtime.TypeMeta    `json:\",inline\"`\n     ... // other fields\n} func (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
  +				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this:\n\n\ttype MyAwesomeAPIObject struct {\n\t     runtime.TypeMeta    `json:\",inline\"`\n\t     ... // other fields\n\t}\n\nfunc (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"apiVersion": {
  diff --git a/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go b/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go
  index 15d76cac3a7..23690c6a8af 100644
  --- a/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go
  +++ b/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go
  @@ -721,9 +721,9 @@ func (m *Int64Value) GetValue() int64 {
   
   // LinuxSandboxSecurityContext holds linux security configuration that will be
   // applied to a sandbox. Note that:
  -// 1) It does not apply to containers in the pods.
  -// 2) It may not be applicable to a PodSandbox which does not contain any running
  -//    process.
  +//  1. It does not apply to containers in the pods.
  +//  2. It may not be applicable to a PodSandbox which does not contain any running
  +//     process.
   type LinuxSandboxSecurityContext struct {
   	// Configurations for the sandbox's namespaces.
   	// This will be used only if the PodSandbox uses namespace for isolation.
  @@ -751,10 +751,11 @@ type LinuxSandboxSecurityContext struct {
   	// AppArmor profile for the sandbox.
   	Apparmor *SecurityProfile `protobuf:"bytes,10,opt,name=apparmor,proto3" json:"apparmor,omitempty"`
   	// Seccomp profile for the sandbox, candidate values are:
  -	// * runtime/default: the default profile for the container runtime
  -	// * unconfined: unconfined profile, ie, no seccomp sandboxing
  -	// * localhost/<full-path-to-profile>: the profile installed on the node.
  -	//   <full-path-to-profile> is the full path of the profile.
  +	//   - runtime/default: the default profile for the container runtime
  +	//   - unconfined: unconfined profile, ie, no seccomp sandboxing
  +	//   - localhost/<full-path-to-profile>: the profile installed on the node.
  +	//     <full-path-to-profile> is the full path of the profile.
  +	//
   	// Default: "", which is identical with unconfined.
   	SeccompProfilePath   string   `protobuf:"bytes,7,opt,name=seccomp_profile_path,json=seccompProfilePath,proto3" json:"seccomp_profile_path,omitempty"` // Deprecated: Do not use.
   	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  @@ -1105,8 +1106,9 @@ type PodSandboxConfig struct {
   	// containers. For example, the files might be newline separated JSON
   	// structured logs, systemd-journald journal files, gRPC trace files, etc.
   	// E.g.,
  -	//     PodSandboxConfig.LogDirectory = `/var/log/pods/<podUID>/`
  -	//     ContainerConfig.LogPath = `containerName/Instance#.log`
  +	//
  +	//	PodSandboxConfig.LogDirectory = `/var/log/pods/<podUID>/`
  +	//	ContainerConfig.LogPath = `containerName/Instance#.log`
   	LogDirectory string `protobuf:"bytes,3,opt,name=log_directory,json=logDirectory,proto3" json:"log_directory,omitempty"`
   	// DNS config for the sandbox.
   	DnsConfig *DNSConfig `protobuf:"bytes,4,opt,name=dns_config,json=dnsConfig,proto3" json:"dns_config,omitempty"`
  @@ -3459,17 +3461,18 @@ type LinuxContainerSecurityContext struct {
   	// AppArmor profile for the container.
   	Apparmor *SecurityProfile `protobuf:"bytes,16,opt,name=apparmor,proto3" json:"apparmor,omitempty"`
   	// AppArmor profile for the container, candidate values are:
  -	// * runtime/default: equivalent to not specifying a profile.
  -	// * unconfined: no profiles are loaded
  -	// * localhost/<profile_name>: profile loaded on the node
  -	//    (localhost) by name. The possible profile names are detailed at
  -	//    https://gitlab.com/apparmor/apparmor/-/wikis/AppArmor_Core_Policy_Reference
  +	//   - runtime/default: equivalent to not specifying a profile.
  +	//   - unconfined: no profiles are loaded
  +	//   - localhost/<profile_name>: profile loaded on the node
  +	//     (localhost) by name. The possible profile names are detailed at
  +	//     https://gitlab.com/apparmor/apparmor/-/wikis/AppArmor_Core_Policy_Reference
   	ApparmorProfile string `protobuf:"bytes,9,opt,name=apparmor_profile,json=apparmorProfile,proto3" json:"apparmor_profile,omitempty"` // Deprecated: Do not use.
   	// Seccomp profile for the container, candidate values are:
  -	// * runtime/default: the default profile for the container runtime
  -	// * unconfined: unconfined profile, ie, no seccomp sandboxing
  -	// * localhost/<full-path-to-profile>: the profile installed on the node.
  -	//   <full-path-to-profile> is the full path of the profile.
  +	//   - runtime/default: the default profile for the container runtime
  +	//   - unconfined: unconfined profile, ie, no seccomp sandboxing
  +	//   - localhost/<full-path-to-profile>: the profile installed on the node.
  +	//     <full-path-to-profile> is the full path of the profile.
  +	//
   	// Default: "", which is identical with unconfined.
   	SeccompProfilePath   string   `protobuf:"bytes,10,opt,name=seccomp_profile_path,json=seccompProfilePath,proto3" json:"seccomp_profile_path,omitempty"` // Deprecated: Do not use.
   	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  @@ -4156,10 +4159,11 @@ type ContainerConfig struct {
   	Devices []*Device `protobuf:"bytes,8,rep,name=devices,proto3" json:"devices,omitempty"`
   	// Key-value pairs that may be used to scope and select individual resources.
   	// Label keys are of the form:
  -	//     label-key ::= prefixed-name | name
  -	//     prefixed-name ::= prefix '/' name
  -	//     prefix ::= DNS_SUBDOMAIN
  -	//     name ::= DNS_LABEL
  +	//
  +	//	label-key ::= prefixed-name | name
  +	//	prefixed-name ::= prefix '/' name
  +	//	prefix ::= DNS_SUBDOMAIN
  +	//	name ::= DNS_LABEL
   	Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   	// Unstructured key-value map that may be used by the kubelet to store and
   	// retrieve arbitrary metadata.
  @@ -4175,8 +4179,9 @@ type ContainerConfig struct {
   	// Path relative to PodSandboxConfig.LogDirectory for container to store
   	// the log (STDOUT and STDERR) on the host.
   	// E.g.,
  -	//     PodSandboxConfig.LogDirectory = `/var/log/pods/<podUID>/`
  -	//     ContainerConfig.LogPath = `containerName/Instance#.log`
  +	//
  +	//	PodSandboxConfig.LogDirectory = `/var/log/pods/<podUID>/`
  +	//	ContainerConfig.LogPath = `containerName/Instance#.log`
   	//
   	// WARNING: Log management and how kubelet should interface with the
   	// container logs are under active discussion in
  @@ -6790,10 +6795,11 @@ var xxx_messageInfo_UpdateRuntimeConfigResponse proto.InternalMessageInfo
   // 1. Required conditions: Conditions are required for kubelet to work
   // properly. If any required condition is unmet, the node will be not ready.
   // The required conditions include:
  -//   * RuntimeReady: RuntimeReady means the runtime is up and ready to accept
  -//   basic containers e.g. container only needs host network.
  -//   * NetworkReady: NetworkReady means the runtime network is up and ready to
  -//   accept containers which require container network.
  +//   - RuntimeReady: RuntimeReady means the runtime is up and ready to accept
  +//     basic containers e.g. container only needs host network.
  +//   - NetworkReady: NetworkReady means the runtime network is up and ready to
  +//     accept containers which require container network.
  +//
   // 2. Optional conditions: Conditions are informative to the user, but kubelet
   // will not rely on. Since condition type is an arbitrary string, all conditions
   // not required are optional. These conditions will be exposed to users to help
  diff --git a/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2/api.pb.go b/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2/api.pb.go
  index 9f37999dedc..cc06e404469 100644
  --- a/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2/api.pb.go
  +++ b/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2/api.pb.go
  @@ -721,9 +721,9 @@ func (m *Int64Value) GetValue() int64 {
   
   // LinuxSandboxSecurityContext holds linux security configuration that will be
   // applied to a sandbox. Note that:
  -// 1) It does not apply to containers in the pods.
  -// 2) It may not be applicable to a PodSandbox which does not contain any running
  -//    process.
  +//  1. It does not apply to containers in the pods.
  +//  2. It may not be applicable to a PodSandbox which does not contain any running
  +//     process.
   type LinuxSandboxSecurityContext struct {
   	// Configurations for the sandbox's namespaces.
   	// This will be used only if the PodSandbox uses namespace for isolation.
  @@ -751,10 +751,11 @@ type LinuxSandboxSecurityContext struct {
   	// AppArmor profile for the sandbox.
   	Apparmor *SecurityProfile `protobuf:"bytes,10,opt,name=apparmor,proto3" json:"apparmor,omitempty"`
   	// Seccomp profile for the sandbox, candidate values are:
  -	// * runtime/default: the default profile for the container runtime
  -	// * unconfined: unconfined profile, ie, no seccomp sandboxing
  -	// * localhost/<full-path-to-profile>: the profile installed on the node.
  -	//   <full-path-to-profile> is the full path of the profile.
  +	//   - runtime/default: the default profile for the container runtime
  +	//   - unconfined: unconfined profile, ie, no seccomp sandboxing
  +	//   - localhost/<full-path-to-profile>: the profile installed on the node.
  +	//     <full-path-to-profile> is the full path of the profile.
  +	//
   	// Default: "", which is identical with unconfined.
   	SeccompProfilePath   string   `protobuf:"bytes,7,opt,name=seccomp_profile_path,json=seccompProfilePath,proto3" json:"seccomp_profile_path,omitempty"` // Deprecated: Do not use.
   	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  @@ -1105,8 +1106,9 @@ type PodSandboxConfig struct {
   	// containers. For example, the files might be newline separated JSON
   	// structured logs, systemd-journald journal files, gRPC trace files, etc.
   	// E.g.,
  -	//     PodSandboxConfig.LogDirectory = `/var/log/pods/<podUID>/`
  -	//     ContainerConfig.LogPath = `containerName/Instance#.log`
  +	//
  +	//	PodSandboxConfig.LogDirectory = `/var/log/pods/<podUID>/`
  +	//	ContainerConfig.LogPath = `containerName/Instance#.log`
   	LogDirectory string `protobuf:"bytes,3,opt,name=log_directory,json=logDirectory,proto3" json:"log_directory,omitempty"`
   	// DNS config for the sandbox.
   	DnsConfig *DNSConfig `protobuf:"bytes,4,opt,name=dns_config,json=dnsConfig,proto3" json:"dns_config,omitempty"`
  @@ -3459,17 +3461,18 @@ type LinuxContainerSecurityContext struct {
   	// AppArmor profile for the container.
   	Apparmor *SecurityProfile `protobuf:"bytes,16,opt,name=apparmor,proto3" json:"apparmor,omitempty"`
   	// AppArmor profile for the container, candidate values are:
  -	// * runtime/default: equivalent to not specifying a profile.
  -	// * unconfined: no profiles are loaded
  -	// * localhost/<profile_name>: profile loaded on the node
  -	//    (localhost) by name. The possible profile names are detailed at
  -	//    https://gitlab.com/apparmor/apparmor/-/wikis/AppArmor_Core_Policy_Reference
  +	//   - runtime/default: equivalent to not specifying a profile.
  +	//   - unconfined: no profiles are loaded
  +	//   - localhost/<profile_name>: profile loaded on the node
  +	//     (localhost) by name. The possible profile names are detailed at
  +	//     https://gitlab.com/apparmor/apparmor/-/wikis/AppArmor_Core_Policy_Reference
   	ApparmorProfile string `protobuf:"bytes,9,opt,name=apparmor_profile,json=apparmorProfile,proto3" json:"apparmor_profile,omitempty"` // Deprecated: Do not use.
   	// Seccomp profile for the container, candidate values are:
  -	// * runtime/default: the default profile for the container runtime
  -	// * unconfined: unconfined profile, ie, no seccomp sandboxing
  -	// * localhost/<full-path-to-profile>: the profile installed on the node.
  -	//   <full-path-to-profile> is the full path of the profile.
  +	//   - runtime/default: the default profile for the container runtime
  +	//   - unconfined: unconfined profile, ie, no seccomp sandboxing
  +	//   - localhost/<full-path-to-profile>: the profile installed on the node.
  +	//     <full-path-to-profile> is the full path of the profile.
  +	//
   	// Default: "", which is identical with unconfined.
   	SeccompProfilePath   string   `protobuf:"bytes,10,opt,name=seccomp_profile_path,json=seccompProfilePath,proto3" json:"seccomp_profile_path,omitempty"` // Deprecated: Do not use.
   	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  @@ -4156,10 +4159,11 @@ type ContainerConfig struct {
   	Devices []*Device `protobuf:"bytes,8,rep,name=devices,proto3" json:"devices,omitempty"`
   	// Key-value pairs that may be used to scope and select individual resources.
   	// Label keys are of the form:
  -	//     label-key ::= prefixed-name | name
  -	//     prefixed-name ::= prefix '/' name
  -	//     prefix ::= DNS_SUBDOMAIN
  -	//     name ::= DNS_LABEL
  +	//
  +	//	label-key ::= prefixed-name | name
  +	//	prefixed-name ::= prefix '/' name
  +	//	prefix ::= DNS_SUBDOMAIN
  +	//	name ::= DNS_LABEL
   	Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   	// Unstructured key-value map that may be used by the kubelet to store and
   	// retrieve arbitrary metadata.
  @@ -4175,8 +4179,9 @@ type ContainerConfig struct {
   	// Path relative to PodSandboxConfig.LogDirectory for container to store
   	// the log (STDOUT and STDERR) on the host.
   	// E.g.,
  -	//     PodSandboxConfig.LogDirectory = `/var/log/pods/<podUID>/`
  -	//     ContainerConfig.LogPath = `containerName/Instance#.log`
  +	//
  +	//	PodSandboxConfig.LogDirectory = `/var/log/pods/<podUID>/`
  +	//	ContainerConfig.LogPath = `containerName/Instance#.log`
   	//
   	// WARNING: Log management and how kubelet should interface with the
   	// container logs are under active discussion in
  @@ -6790,10 +6795,11 @@ var xxx_messageInfo_UpdateRuntimeConfigResponse proto.InternalMessageInfo
   // 1. Required conditions: Conditions are required for kubelet to work
   // properly. If any required condition is unmet, the node will be not ready.
   // The required conditions include:
  -//   * RuntimeReady: RuntimeReady means the runtime is up and ready to accept
  -//   basic containers e.g. container only needs host network.
  -//   * NetworkReady: NetworkReady means the runtime network is up and ready to
  -//   accept containers which require container network.
  +//   - RuntimeReady: RuntimeReady means the runtime is up and ready to accept
  +//     basic containers e.g. container only needs host network.
  +//   - NetworkReady: NetworkReady means the runtime network is up and ready to
  +//     accept containers which require container network.
  +//
   // 2. Optional conditions: Conditions are informative to the user, but kubelet
   // will not rely on. Since condition type is an arbitrary string, all conditions
   // not required are optional. These conditions will be exposed to users to help
  diff --git a/staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go b/staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
  index 3272fa71e5c..a1490307a23 100644
  --- a/staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
  +++ b/staging/src/k8s.io/kube-aggregator/pkg/generated/openapi/zz_generated.openapi.go
  @@ -2370,7 +2370,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
  +				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.Object `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// External package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// On the wire, the JSON will look something like this:\n\n\t{\n\t\t\"kind\":\"MyAPIObject\",\n\t\t\"apiVersion\":\"v1\",\n\t\t\"myPlugin\": {\n\t\t\t\"kind\":\"PluginA\",\n\t\t\t\"aOption\":\"foo\",\n\t\t},\n\t}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
   				Type:        []string{"object"},
   			},
   		},
  @@ -2381,7 +2381,7 @@ func schema_k8sio_apimachinery_pkg_runtime_TypeMeta(ref common.ReferenceCallback
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this: type MyAwesomeAPIObject struct {\n     runtime.TypeMeta    `json:\",inline\"`\n     ... // other fields\n} func (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
  +				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this:\n\n\ttype MyAwesomeAPIObject struct {\n\t     runtime.TypeMeta    `json:\",inline\"`\n\t     ... // other fields\n\t}\n\nfunc (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"apiVersion": {
  diff --git a/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.pb.go b/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.pb.go
  index 6a79013e123..b720b6ec8e8 100644
  --- a/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.pb.go
  +++ b/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1alpha/api.pb.go
  @@ -197,10 +197,11 @@ func (m *ListAndWatchResponse) GetDevices() []*Device {
   }
   
   // E.g:
  -// struct Device {
  -//    ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e",
  -//    Health: "Healthy",
  -//}
  +//
  +//	struct Device {
  +//	   ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e",
  +//	   Health: "Healthy",
  +//	}
   type Device struct {
   	// A unique ID assigned by the device plugin used
   	// to identify devices during the communication
  @@ -258,12 +259,12 @@ func (m *Device) GetHealth() string {
   	return ""
   }
   
  -// - Allocate is expected to be called during pod creation since allocation
  -//   failures for any container would result in pod startup failure.
  -// - Allocate allows kubelet to exposes additional artifacts in a pod's
  -//   environment as directed by the plugin.
  -// - Allocate allows Device Plugin to run device specific operations on
  -//   the Devices requested
  +//   - Allocate is expected to be called during pod creation since allocation
  +//     failures for any container would result in pod startup failure.
  +//   - Allocate allows kubelet to exposes additional artifacts in a pod's
  +//     environment as directed by the plugin.
  +//   - Allocate allows Device Plugin to run device specific operations on
  +//     the Devices requested
   type AllocateRequest struct {
   	DevicesIDs           []string `protobuf:"bytes,1,rep,name=devicesIDs,proto3" json:"devicesIDs,omitempty"`
   	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  diff --git a/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1/api.pb.go b/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1/api.pb.go
  index ced0bf57c50..4f183239ca4 100644
  --- a/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1/api.pb.go
  +++ b/staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1/api.pb.go
  @@ -351,13 +351,14 @@ func (m *NUMANode) GetID() int64 {
   }
   
   // E.g:
  -// struct Device {
  -//    ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e",
  -//    Health: "Healthy",
  -//    Topology:
  -//      Node:
  -//        ID: 1
  -//}
  +//
  +//	struct Device {
  +//	   ID: "GPU-fef8089b-4820-abfc-e83e-94318197576e",
  +//	   Health: "Healthy",
  +//	   Topology:
  +//	     Node:
  +//	       ID: 1
  +//	}
   type Device struct {
   	// A unique ID assigned by the device plugin used
   	// to identify devices during the communication
  @@ -424,10 +425,10 @@ func (m *Device) GetTopology() *TopologyInfo {
   	return nil
   }
   
  -// - PreStartContainer is expected to be called before each container start if indicated by plugin during registration phase.
  -// - PreStartContainer allows kubelet to pass reinitialized devices to containers.
  -// - PreStartContainer allows Device Plugin to run device specific operations on
  -//   the Devices requested
  +//   - PreStartContainer is expected to be called before each container start if indicated by plugin during registration phase.
  +//   - PreStartContainer allows kubelet to pass reinitialized devices to containers.
  +//   - PreStartContainer allows Device Plugin to run device specific operations on
  +//     the Devices requested
   type PreStartContainerRequest struct {
   	DevicesIDs           []string `protobuf:"bytes,1,rep,name=devices_ids,json=devicesIds,proto3" json:"devices_ids,omitempty"`
   	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  @@ -717,12 +718,12 @@ func (m *ContainerPreferredAllocationResponse) GetDeviceIDs() []string {
   	return nil
   }
   
  -// - Allocate is expected to be called during pod creation since allocation
  -//   failures for any container would result in pod startup failure.
  -// - Allocate allows kubelet to exposes additional artifacts in a pod's
  -//   environment as directed by the plugin.
  -// - Allocate allows Device Plugin to run device specific operations on
  -//   the Devices requested
  +//   - Allocate is expected to be called during pod creation since allocation
  +//     failures for any container would result in pod startup failure.
  +//   - Allocate allows kubelet to exposes additional artifacts in a pod's
  +//     environment as directed by the plugin.
  +//   - Allocate allows Device Plugin to run device specific operations on
  +//     the Devices requested
   type AllocateRequest struct {
   	ContainerRequests    []*ContainerAllocateRequest `protobuf:"bytes,1,rep,name=container_requests,json=containerRequests,proto3" json:"container_requests,omitempty"`
   	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
  diff --git a/staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go b/staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go
  index 139da2d4649..cef3b163ad1 100644
  --- a/staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go
  +++ b/staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go
  @@ -2368,7 +2368,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
  +				Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.Object `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// External package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// On the wire, the JSON will look something like this:\n\n\t{\n\t\t\"kind\":\"MyAPIObject\",\n\t\t\"apiVersion\":\"v1\",\n\t\t\"myPlugin\": {\n\t\t\t\"kind\":\"PluginA\",\n\t\t\t\"aOption\":\"foo\",\n\t\t},\n\t}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)",
   				Type:        []string{"object"},
   			},
   		},
  @@ -2379,7 +2379,7 @@ func schema_k8sio_apimachinery_pkg_runtime_TypeMeta(ref common.ReferenceCallback
   	return common.OpenAPIDefinition{
   		Schema: spec.Schema{
   			SchemaProps: spec.SchemaProps{
  -				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this: type MyAwesomeAPIObject struct {\n     runtime.TypeMeta    `json:\",inline\"`\n     ... // other fields\n} func (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
  +				Description: "TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, like this:\n\n\ttype MyAwesomeAPIObject struct {\n\t     runtime.TypeMeta    `json:\",inline\"`\n\t     ... // other fields\n\t}\n\nfunc (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind\n\nTypeMeta is provided here for convenience. You may use it directly from this package or define your own with the same fields.",
   				Type:        []string{"object"},
   				Properties: map[string]spec.Schema{
   					"apiVersion": {
!!! [0623 09:38:04] Call tree:
!!! [0623 09:38:04]  1: hack/make-rules/../../hack/verify-internal-modules.sh:24 kube::util::ensure_clean_working_dir(...)
				
				Click to see stdout/stderrfrom junit_verify.xml

Find creation mentions in log files | View test history on testgrid


verify mocks 22s

make verify WHAT=mocks
staging/src/k8s.io/legacy-cloud-providers/azure/clients/securitygroupclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/vmsizeclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/vmssclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/armclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/publicipclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/diskclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/storageaccountclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/containerserviceclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/vmssvmclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/vmclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/snapshotclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/routeclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/deploymentclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/subnetclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/interfaceclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/loadbalancerclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/clients/routetableclient/interface.go
staging/src/k8s.io/legacy-cloud-providers/azure/azure_vmsets.go
test/e2e/storage/drivers/csi-test/driver/driver.go
go: downloading github.com/container-storage-interface/spec v1.6.0
pkg/kubelet/status/status_manager.go
pkg/kubelet/pod/pod_manager.go
go: downloading github.com/opencontainers/selinux v1.10.0
pkg/kubelet/cadvisor/types.go
pkg/kubelet/apis/podresources/types.go
pkg/kubelet/eviction/types.go
pkg/kubelet/server/stats/handler.go
pkg/kubelet/server/stats/summary.go
pkg/kubelet/container/runtime_cache.go
pkg/kubelet/container/runtime.go
Mock files are out of date. Please run hack/update-mocks.sh
				
				Click to see stdout/stderrfrom junit_verify.xml

Filter through log files | View test history on testgrid


Show 37 Passed Tests