Change:
PR had a few errors in its API objects, where the "description" field errors in its JSON declarations were missing. But, the "verify-" presubmit check didn't flag them. This should be investigated and fixed.
Could you please take a look at this?

Discussion:
# Print 1 if the file in $1 is not in need of additional field descriptions, 0 otherwise. FILE="$1" <del> if grep json: "${FILE}" | grep -v ,inline | grep -v -q description: | grep -v // ; then </del> <ins> if grep json: "${FILE}" | grep -v // | grep -v ,inline | grep -v -q description: ; then </ins> echo "0" else echo "1"

type EnvVar struct { // Required: This must be a C_IDENTIFIER. Name string `json:"name" description:"name of the environment variable; must be a C_IDENTIFIER"` <del> // Optional: defaults to "". </del> <ins> // Optional: No more than one of the following may be set. // Optional: Defaults to "" </ins> Value string `json:"value,omitempty" description:"value of the environment variable; defaults to empty string"` <del> // Optional: specify a source the value of this var should come from. </del> <ins> // Optional: Specifies a source the value of this var should come from. </ins> ValueFrom *EnvVarSource `json:"valueFrom,omitempty" description:"source for the environment variable's value; cannot be used if value is not empty"` } // EnvVarSource represents a source for the value of an EnvVar. <del> // Only one of its members may be specified. </del> type EnvVarSource struct { <del> // Selects a field of the pod; only name and namespace are supported. FieldPath *ObjectFieldSelector `json:"fieldPath,omitempty" description:"selects a field of the pod; only name and namespace are supported"` </del> <ins> // Required: Selects a field of the pod; only name and namespace are supported. FieldPath *ObjectFieldSelector `json:"fieldPath" description:"selects a field of the pod; only name and namespace are supported"` </ins> } // ObjectFieldSelector selects an APIVersioned field of an object. type ObjectFieldSelector struct { <del> // The API version the FieldPath is written in terms of. APIVersion string `json:"apiVersion,omitempty" description="The API version that FieldPath is written in terms of"` // The path of the field to select in the specified API version FieldPath string `json:"fieldPath,omitempty" description="The path of the field to select in the specified API version"` </del> <ins> // Optional: Version of the schema the FieldPath is written in terms of, defaults to "v1" APIVersion string `json:"apiVersion,omitempty" description:"version of the schema that fieldPath is written in terms of; defaults to v1"` // Required: Path of the field to select in the specified API version FieldPath string `json:"fieldPath" description:"path of the field to select in the specified API version"` </ins> } // HTTPGetAction describes an action based on HTTP Get requests.

type PersistentVolume struct { TypeMeta   `json:",inline"` <del> ObjectMeta `json:"metadata,omitempty"` </del> <ins> ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://docs.k8s.io/api-conventions.md#metadata"` </ins> //Spec defines a persistent volume owned by the cluster Spec PersistentVolumeSpec `json:"spec,omitempty" description:"specification of a persistent volume as provisioned by an administrator"`

type PersistentVolumeList struct { TypeMeta `json:",inline"` <del> ListMeta `json:"metadata,omitempty"` </del> <ins> ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://docs.k8s.io/api-conventions.md#types-kinds` </ins> Items    []PersistentVolume `json:"items,omitempty" description:"list of persistent volumes"` } // PersistentVolumeClaim is a user's request for and claim to a persistent volume type PersistentVolumeClaim struct { TypeMeta   `json:",inline"` <del> ObjectMeta `json:"metadata,omitempty"` </del> <ins> ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://docs.k8s.io/api-conventions.md#metadata"` </ins> // Spec defines the volume requested by a pod author Spec PersistentVolumeClaimSpec `json:"spec,omitempty" description: "the desired characteristics of a volume"`

type PersistentVolumeClaimList struct { TypeMeta `json:",inline"` <del> ListMeta `json:"metadata,omitempty"` </del> <ins> ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://docs.k8s.io/api-conventions.md#types-kinds` </ins> Items    []PersistentVolumeClaim `json:"items,omitempty" description: "a list of persistent volume claims"` }

// NodeSystemInfo is a set of ids/uuids to uniquely identify the node. type NodeSystemInfo struct { // MachineID is the machine-id reported by the node <del> MachineID string `json:"machineID"` </del> <ins> MachineID string `json:"machineID" description:"machine-id reported by the node"` </ins> // SystemUUID is the system-uuid reported by the node <del> SystemUUID string `json:"systemUUID"` </del> <ins> SystemUUID string `json:"systemUUID" description:"system-uuid reported by the node"` </ins> // BootID is the boot-id reported by the node BootID string `json:"bootID" description:"boot id is the boot-id reported by the node"` // Kernel version reported by the node

// Queried from cloud provider, if available. Addresses []NodeAddress `json:"addresses,omitempty" description:"list of addresses reachable to the node" patchStrategy:"merge" patchMergeKey:"type"` // NodeSystemInfo is a set of ids/uuids to uniquely identify the node <del> NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty"` </del> <ins> NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty" description:"set of ids/uuids to uniquely identify the node"` </ins> } type NodePhase string

) type NodeAddress struct { <del> Type    NodeAddressType `json:"type"` Address string          `json:"address"` </del> <ins> Type    NodeAddressType `json:"type" description:"node address type, one of Hostname, ExternalIP or InternalIP"` Address string          `json:"address" description:"the node address"` </ins> } // ResourceName is the name identifying various resources in a ResourceList.