Skip to content

Commit bb07a1f

Browse files
authored
Merge pull request kubernetes#89796 from msau42/automated-cherry-pick-of-#89794-upstream-release-1.18
Automated cherry pick of kubernetes#89794: Clean up event messages for errors.
2 parents 8fbe2f4 + b5470e1 commit bb07a1f

File tree

4 files changed

+91
-35
lines changed

4 files changed

+91
-35
lines changed

pkg/volume/glusterfs/glusterfs.go

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -670,8 +670,9 @@ func (d *glusterfsVolumeDeleter) Delete() error {
670670
err = cli.VolumeDelete(volumeID)
671671
if err != nil {
672672
if dstrings.TrimSpace(err.Error()) != errIDNotFound {
673-
klog.Errorf("failed to delete volume %s: %v", volumeName, err)
674-
return fmt.Errorf("failed to delete volume %s: %v", volumeName, err)
673+
// don't log error details from client calls in events
674+
klog.V(4).Infof("failed to delete volume %s: %v", volumeName, err)
675+
return fmt.Errorf("failed to delete volume: see kube-controller-manager.log for details")
675676
}
676677
klog.V(2).Infof("volume %s not present in heketi, ignoring", volumeName)
677678
}
@@ -816,7 +817,9 @@ func (p *glusterfsVolumeProvisioner) CreateVolume(gid int) (r *v1.GlusterfsPersi
816817
volumeReq := &gapi.VolumeCreateRequest{Size: sz, Name: customVolumeName, Clusters: clusterIDs, Gid: gid64, Durability: p.volumeType, GlusterVolumeOptions: p.volumeOptions, Snapshot: snaps}
817818
volume, err := cli.VolumeCreate(volumeReq)
818819
if err != nil {
819-
return nil, 0, "", fmt.Errorf("failed to create volume: %v", err)
820+
// don't log error details from client calls in events
821+
klog.V(4).Infof("failed to create volume: %v", err)
822+
return nil, 0, "", fmt.Errorf("failed to create volume: see kube-controller-manager.log for details")
820823
}
821824
klog.V(1).Infof("volume with size %d and name %s created", volume.Size, volume.Name)
822825
volID = volume.Id
@@ -837,7 +840,8 @@ func (p *glusterfsVolumeProvisioner) CreateVolume(gid int) (r *v1.GlusterfsPersi
837840
if err != nil {
838841
deleteErr := cli.VolumeDelete(volume.Id)
839842
if deleteErr != nil {
840-
klog.Errorf("failed to delete volume: %v, manual deletion of the volume required", deleteErr)
843+
// don't log error details from client calls in events
844+
klog.V(4).Infof("failed to delete volume: %v, manual deletion of the volume required", deleteErr)
841845
}
842846
klog.V(3).Infof("failed to update endpoint, deleting %s", endpoint)
843847
err = kubeClient.CoreV1().Services(epNamespace).Delete(context.TODO(), epServiceName, metav1.DeleteOptions{})
@@ -955,7 +959,9 @@ func parseSecret(namespace, secretName string, kubeClient clientset.Interface) (
955959
func getClusterNodes(cli *gcli.Client, cluster string) (dynamicHostIps []string, err error) {
956960
clusterinfo, err := cli.ClusterInfo(cluster)
957961
if err != nil {
958-
return nil, fmt.Errorf("failed to get cluster details: %v", err)
962+
// don't log error details from client calls in events
963+
klog.V(4).Infof("failed to get cluster details: %v", err)
964+
return nil, fmt.Errorf("failed to get cluster details: see kube-controller-manager.log for details")
959965
}
960966

961967
// For the dynamically provisioned volume, we gather the list of node IPs
@@ -964,7 +970,9 @@ func getClusterNodes(cli *gcli.Client, cluster string) (dynamicHostIps []string,
964970
for _, node := range clusterinfo.Nodes {
965971
nodeInfo, err := cli.NodeInfo(string(node))
966972
if err != nil {
967-
return nil, fmt.Errorf("failed to get host ipaddress: %v", err)
973+
// don't log error details from client calls in events
974+
klog.V(4).Infof("failed to get host ipaddress: %v", err)
975+
return nil, fmt.Errorf("failed to get host ipaddress: see kube-controller-manager.log for details")
968976
}
969977
ipaddr := dstrings.Join(nodeInfo.NodeAddRequest.Hostnames.Storage, "")
970978
// IP validates if a string is a valid IP address.
@@ -1213,8 +1221,9 @@ func (plugin *glusterfsPlugin) ExpandVolumeDevice(spec *volume.Spec, newSize res
12131221
//Check the existing volume size
12141222
currentVolumeInfo, err := cli.VolumeInfo(volumeID)
12151223
if err != nil {
1216-
klog.Errorf("error when fetching details of volume %s: %v", volumeName, err)
1217-
return oldSize, err
1224+
// don't log error details from client calls in events
1225+
klog.V(4).Infof("error when fetching details of volume %s: %v", volumeName, err)
1226+
return oldSize, fmt.Errorf("failed to get volume info %s: see kube-controller-manager.log for details", volumeName)
12181227
}
12191228
if int64(currentVolumeInfo.Size) >= requestGiB {
12201229
return newSize, nil
@@ -1226,8 +1235,9 @@ func (plugin *glusterfsPlugin) ExpandVolumeDevice(spec *volume.Spec, newSize res
12261235
// Expand the volume
12271236
volumeInfoRes, err := cli.VolumeExpand(volumeID, volumeExpandReq)
12281237
if err != nil {
1229-
klog.Errorf("failed to expand volume %s: %v", volumeName, err)
1230-
return oldSize, err
1238+
// don't log error details from client calls in events
1239+
klog.V(4).Infof("failed to expand volume %s: %v", volumeName, err)
1240+
return oldSize, fmt.Errorf("failed to expand volume: see kube-controller-manager.log for details")
12311241
}
12321242
klog.V(2).Infof("volume %s expanded to new size %d successfully", volumeName, volumeInfoRes.Size)
12331243
newVolumeSize := resource.MustParse(fmt.Sprintf("%dGi", volumeInfoRes.Size))

pkg/volume/quobyte/quobyte.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package quobyte
1818

1919
import (
20+
"errors"
2021
"fmt"
2122
"os"
2223
"path/filepath"
@@ -413,7 +414,9 @@ func (provisioner *quobyteVolumeProvisioner) Provision(selectedNode *v1.Node, al
413414

414415
vol, sizeGB, err := manager.createVolume(provisioner, createQuota)
415416
if err != nil {
416-
return nil, err
417+
// don't log error details from client calls in events
418+
klog.V(4).Infof("CreateVolume failed: %v", err)
419+
return nil, errors.New("CreateVolume failed: see kube-controller-manager.log for details")
417420
}
418421
pv := new(v1.PersistentVolume)
419422
metav1.SetMetaDataAnnotation(&pv.ObjectMeta, util.VolumeDynamicallyCreatedByKey, "quobyte-dynamic-provisioner")
@@ -448,7 +451,13 @@ func (deleter *quobyteVolumeDeleter) Delete() error {
448451
manager := &quobyteVolumeManager{
449452
config: cfg,
450453
}
451-
return manager.deleteVolume(deleter)
454+
err = manager.deleteVolume(deleter)
455+
if err != nil {
456+
// don't log error details from client calls in events
457+
klog.V(4).Infof("DeleteVolume failed: %v", err)
458+
return errors.New("DeleteVolume failed: see kube-controller-manager.log for details")
459+
}
460+
return nil
452461
}
453462

454463
// Parse API configuration (url, username and password) out of class.Parameters.

pkg/volume/scaleio/sio_client.go

Lines changed: 51 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,9 @@ func (c *sioClient) init() error {
126126
Username: c.username,
127127
Password: c.password},
128128
); err != nil {
129-
klog.Error(log("client authentication failed: %v", err))
130-
return err
129+
// don't log error details from client calls in events
130+
klog.V(4).Infof(log("client authentication failed: %v", err))
131+
return errors.New("client authentication failed")
131132
}
132133

133134
// retrieve system
@@ -214,8 +215,9 @@ func (c *sioClient) CreateVolume(name string, sizeGB int64) (*siotypes.Volume, e
214215
}
215216
createResponse, err := c.client.CreateVolume(params, c.storagePool.Name)
216217
if err != nil {
217-
klog.Error(log("failed to create volume %s: %v", name, err))
218-
return nil, err
218+
// don't log error details from client calls in events
219+
klog.V(4).Infof(log("failed to create volume %s: %v", name, err))
220+
return nil, errors.New("failed to create volume: see kubernetes logs for details")
219221
}
220222
return c.Volume(sioVolumeID(createResponse.ID))
221223
}
@@ -243,8 +245,9 @@ func (c *sioClient) AttachVolume(id sioVolumeID, multipleMappings bool) error {
243245
volClient.Volume = &siotypes.Volume{ID: string(id)}
244246

245247
if err := volClient.MapVolumeSdc(params); err != nil {
246-
klog.Error(log("failed to attach volume id %s: %v", id, err))
247-
return err
248+
// don't log error details from client calls in events
249+
klog.V(4).Infof(log("failed to attach volume id %s: %v", id, err))
250+
return errors.New("failed to attach volume: see kubernetes logs for details")
248251
}
249252

250253
klog.V(4).Info(log("volume %s attached successfully", id))
@@ -269,7 +272,9 @@ func (c *sioClient) DetachVolume(id sioVolumeID) error {
269272
volClient := sio.NewVolume(c.client)
270273
volClient.Volume = &siotypes.Volume{ID: string(id)}
271274
if err := volClient.UnmapVolumeSdc(params); err != nil {
272-
return err
275+
// don't log error details from client calls in events
276+
klog.V(4).Infof(log("failed to detach volume id %s: %v", id, err))
277+
return errors.New("failed to detach volume: see kubernetes logs for details")
273278
}
274279
return nil
275280
}
@@ -287,7 +292,9 @@ func (c *sioClient) DeleteVolume(id sioVolumeID) error {
287292
volClient := sio.NewVolume(c.client)
288293
volClient.Volume = vol
289294
if err := volClient.RemoveVolume("ONLY_ME"); err != nil {
290-
return err
295+
// don't log error details from client calls in events
296+
klog.V(4).Infof(log("failed to remove volume id %s: %v", id, err))
297+
return errors.New("failed to remove volume: see kubernetes logs for details")
291298
}
292299
return nil
293300
}
@@ -306,8 +313,9 @@ func (c *sioClient) IID() (string, error) {
306313
}
307314
sdc, err := c.sysClient.FindSdc("SdcGUID", guid)
308315
if err != nil {
309-
klog.Error(log("failed to retrieve sdc info %s", err))
310-
return "", err
316+
// don't log error details from client calls in events
317+
klog.V(4).Infof(log("failed to retrieve sdc info %s", err))
318+
return "", errors.New("failed to retrieve sdc info: see kubernetes logs for details")
311319
}
312320
c.instanceID = sdc.Sdc.ID
313321
klog.V(4).Info(log("retrieved instanceID %s", c.instanceID))
@@ -472,12 +480,15 @@ func (c *sioClient) WaitForDetachedDevice(token string) error {
472480
// ***********************************************************************
473481
func (c *sioClient) findSystem(sysname string) (sys *siotypes.System, err error) {
474482
if c.sysClient, err = c.client.FindSystem("", sysname, ""); err != nil {
475-
return nil, err
483+
// don't log error details from clients in events
484+
klog.V(4).Infof(log("failed to find system %q: %v", sysname, err))
485+
return nil, errors.New("failed to find system: see kubernetes logs for details")
476486
}
477487
systems, err := c.client.GetInstance("")
478488
if err != nil {
479-
klog.Error(log("failed to retrieve instances: %v", err))
480-
return nil, err
489+
// don't log error details from clients in events
490+
klog.V(4).Infof(log("failed to retrieve instances: %v", err))
491+
return nil, errors.New("failed to retrieve instances: see kubernetes logs for details")
481492
}
482493
for _, sys = range systems {
483494
if sys.Name == sysname {
@@ -493,8 +504,9 @@ func (c *sioClient) findProtectionDomain(pdname string) (*siotypes.ProtectionDom
493504
if c.sysClient != nil {
494505
protectionDomain, err := c.sysClient.FindProtectionDomain("", pdname, "")
495506
if err != nil {
496-
klog.Error(log("failed to retrieve protection domains: %v", err))
497-
return nil, err
507+
// don't log error details from clients in events
508+
klog.V(4).Infof(log("failed to retrieve protection domains: %v", err))
509+
return nil, errors.New("failed to retrieve protection domains: see kubernetes logs for details")
498510
}
499511
c.pdClient.ProtectionDomain = protectionDomain
500512
return protectionDomain, nil
@@ -508,8 +520,9 @@ func (c *sioClient) findStoragePool(spname string) (*siotypes.StoragePool, error
508520
if c.pdClient != nil {
509521
sp, err := c.pdClient.FindStoragePool("", spname, "")
510522
if err != nil {
511-
klog.Error(log("failed to retrieve storage pool: %v", err))
512-
return nil, err
523+
// don't log error details from clients in events
524+
klog.V(4).Infof(log("failed to retrieve storage pool: %v", err))
525+
return nil, errors.New("failed to retrieve storage pool: see kubernetes logs for details")
513526
}
514527
c.spClient.StoragePool = sp
515528
return sp, nil
@@ -519,14 +532,32 @@ func (c *sioClient) findStoragePool(spname string) (*siotypes.StoragePool, error
519532
}
520533

521534
func (c *sioClient) getVolumes() ([]*siotypes.Volume, error) {
522-
return c.client.GetVolume("", "", "", "", true)
535+
volumes, err := c.client.GetVolume("", "", "", "", true)
536+
if err != nil {
537+
// don't log error details from clients in events
538+
klog.V(4).Infof(log("failed to get volumes: %v", err))
539+
return nil, errors.New("failed to get volumes: see kubernetes logs for details")
540+
}
541+
return volumes, nil
523542
}
524543
func (c *sioClient) getVolumesByID(id sioVolumeID) ([]*siotypes.Volume, error) {
525-
return c.client.GetVolume("", string(id), "", "", true)
544+
volumes, err := c.client.GetVolume("", string(id), "", "", true)
545+
if err != nil {
546+
// don't log error details from clients in events
547+
klog.V(4).Infof(log("failed to get volumes by id: %v", err))
548+
return nil, errors.New("failed to get volumes by id: see kubernetes logs for details")
549+
}
550+
return volumes, nil
526551
}
527552

528553
func (c *sioClient) getVolumesByName(name string) ([]*siotypes.Volume, error) {
529-
return c.client.GetVolume("", "", "", name, true)
554+
volumes, err := c.client.GetVolume("", "", "", name, true)
555+
if err != nil {
556+
// don't log error details from clients in events
557+
klog.V(4).Infof(log("failed to get volumes by name: %v", err))
558+
return nil, errors.New("failed to get volumes by name: see kubernetes logs for details")
559+
}
560+
return volumes, nil
530561
}
531562

532563
func (c *sioClient) getSdcPath() string {

pkg/volume/storageos/storageos_util.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,9 @@ func (u *storageosUtil) CreateVolume(p *storageosProvisioner) (*storageosVolume,
127127

128128
vol, err := u.api.VolumeCreate(opts)
129129
if err != nil {
130-
klog.Errorf("volume create failed for volume %q (%v)", opts.Name, err)
131-
return nil, err
130+
// don't log error details from client calls in events
131+
klog.V(4).Infof("volume create failed for volume %q (%v)", opts.Name, err)
132+
return nil, errors.New("volume create failed: see kube-controller-manager.log for details")
132133
}
133134
return &storageosVolume{
134135
ID: vol.ID,
@@ -293,7 +294,12 @@ func (u *storageosUtil) DeleteVolume(d *storageosDeleter) error {
293294
Namespace: d.volNamespace,
294295
Force: true,
295296
}
296-
return u.api.VolumeDelete(opts)
297+
if err := u.api.VolumeDelete(opts); err != nil {
298+
// don't log error details from client calls in events
299+
klog.V(4).Infof("volume deleted failed for volume %q in namespace %q: %v", d.volName, d.volNamespace, err)
300+
return errors.New("volume delete failed: see kube-controller-manager.log for details")
301+
}
302+
return nil
297303
}
298304

299305
// Get the node's device path from the API, falling back to the default if not

0 commit comments

Comments
 (0)