Merge pull request #77385 from humblec/gluster-error

Avoid duplicate error reporting in glusterfs
This commit is contained in:
Kubernetes Prow Robot 2019-05-07 14:31:28 -07:00 committed by GitHub
commit 2a7eaa30da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -553,8 +553,7 @@ func (plugin *glusterfsPlugin) collectGids(className string, gidTable *MinMaxAll
} }
pvList, err := kubeClient.CoreV1().PersistentVolumes().List(metav1.ListOptions{LabelSelector: labels.Everything().String()}) pvList, err := kubeClient.CoreV1().PersistentVolumes().List(metav1.ListOptions{LabelSelector: labels.Everything().String()})
if err != nil { if err != nil {
klog.Error("failed to get existing persistent volumes") return fmt.Errorf("failed to get existing persistent volumes")
return err
} }
for _, pv := range pvList.Items { for _, pv := range pvList.Items {
@ -581,8 +580,7 @@ func (plugin *glusterfsPlugin) collectGids(className string, gidTable *MinMaxAll
if err == ErrConflict { if err == ErrConflict {
klog.Warningf("GID %v found in pv %v was already allocated", gid, pvName) klog.Warningf("GID %v found in pv %v was already allocated", gid, pvName)
} else if err != nil { } else if err != nil {
klog.Errorf("failed to store gid %v found in pv %v: %v", gid, pvName, err) return fmt.Errorf("failed to store gid %v found in pv %v: %v", gid, pvName, err)
return err
} }
} }
@ -771,7 +769,6 @@ func (p *glusterfsVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTop
klog.Errorf("error when releasing GID in storageclass %s: %v", scName, releaseErr) klog.Errorf("error when releasing GID in storageclass %s: %v", scName, releaseErr)
} }
klog.Errorf("failed to create volume: %v", err)
return nil, fmt.Errorf("failed to create volume: %v", err) return nil, fmt.Errorf("failed to create volume: %v", err)
} }
mode := v1.PersistentVolumeFilesystem mode := v1.PersistentVolumeFilesystem
@ -817,12 +814,10 @@ func (p *glusterfsVolumeProvisioner) CreateVolume(gid int) (r *v1.GlusterfsPersi
klog.V(2).Infof("create volume of size %dGiB", sz) klog.V(2).Infof("create volume of size %dGiB", sz)
if p.url == "" { if p.url == "" {
klog.Errorf("REST server endpoint is empty")
return nil, 0, "", fmt.Errorf("failed to create glusterfs REST client, REST URL is empty") return nil, 0, "", fmt.Errorf("failed to create glusterfs REST client, REST URL is empty")
} }
cli := gcli.NewClient(p.url, p.user, p.secretValue) cli := gcli.NewClient(p.url, p.user, p.secretValue)
if cli == nil { if cli == nil {
klog.Errorf("failed to create glusterfs REST client")
return nil, 0, "", fmt.Errorf("failed to create glusterfs REST client, REST server authentication failed") return nil, 0, "", fmt.Errorf("failed to create glusterfs REST client, REST server authentication failed")
} }
if p.provisionerConfig.clusterID != "" { if p.provisionerConfig.clusterID != "" {
@ -846,14 +841,12 @@ func (p *glusterfsVolumeProvisioner) CreateVolume(gid int) (r *v1.GlusterfsPersi
volumeReq := &gapi.VolumeCreateRequest{Size: sz, Name: customVolumeName, Clusters: clusterIDs, Gid: gid64, Durability: p.volumeType, GlusterVolumeOptions: p.volumeOptions, Snapshot: snaps} volumeReq := &gapi.VolumeCreateRequest{Size: sz, Name: customVolumeName, Clusters: clusterIDs, Gid: gid64, Durability: p.volumeType, GlusterVolumeOptions: p.volumeOptions, Snapshot: snaps}
volume, err := cli.VolumeCreate(volumeReq) volume, err := cli.VolumeCreate(volumeReq)
if err != nil { if err != nil {
klog.Errorf("failed to create volume: %v", err)
return nil, 0, "", fmt.Errorf("failed to create volume: %v", err) return nil, 0, "", fmt.Errorf("failed to create volume: %v", err)
} }
klog.V(1).Infof("volume with size %d and name %s created", volume.Size, volume.Name) klog.V(1).Infof("volume with size %d and name %s created", volume.Size, volume.Name)
volID = volume.Id volID = volume.Id
dynamicHostIps, err := getClusterNodes(cli, volume.Cluster) dynamicHostIps, err := getClusterNodes(cli, volume.Cluster)
if err != nil { if err != nil {
klog.Errorf("failed to get cluster nodes for volume %s: %v", volume, err)
return nil, 0, "", fmt.Errorf("failed to get cluster nodes for volume %s: %v", volume, err) return nil, 0, "", fmt.Errorf("failed to get cluster nodes for volume %s: %v", volume, err)
} }
@ -865,7 +858,6 @@ func (p *glusterfsVolumeProvisioner) CreateVolume(gid int) (r *v1.GlusterfsPersi
epNamespace := p.options.PVC.Namespace epNamespace := p.options.PVC.Namespace
endpoint, service, err := p.createEndpointService(epNamespace, epServiceName, dynamicHostIps, p.options.PVC) endpoint, service, err := p.createEndpointService(epNamespace, epServiceName, dynamicHostIps, p.options.PVC)
if err != nil { if err != nil {
klog.Errorf("failed to create endpoint/service %v/%v: %v", epNamespace, epServiceName, err)
deleteErr := cli.VolumeDelete(volume.Id) deleteErr := cli.VolumeDelete(volume.Id)
if deleteErr != nil { if deleteErr != nil {
klog.Errorf("failed to delete volume: %v, manual deletion of the volume required", deleteErr) klog.Errorf("failed to delete volume: %v, manual deletion of the volume required", deleteErr)
@ -953,7 +945,6 @@ func (d *glusterfsVolumeDeleter) deleteEndpointService(namespace string, epServi
} }
err = kubeClient.CoreV1().Services(namespace).Delete(epServiceName, nil) err = kubeClient.CoreV1().Services(namespace).Delete(epServiceName, nil)
if err != nil { if err != nil {
klog.Errorf("failed to delete service %s/%s: %v", namespace, epServiceName, err)
return fmt.Errorf("failed to delete service %s/%s: %v", namespace, epServiceName, err) return fmt.Errorf("failed to delete service %s/%s: %v", namespace, epServiceName, err)
} }
klog.V(1).Infof("service/endpoint: %s/%s deleted successfully", namespace, epServiceName) klog.V(1).Infof("service/endpoint: %s/%s deleted successfully", namespace, epServiceName)
@ -986,7 +977,6 @@ func parseSecret(namespace, secretName string, kubeClient clientset.Interface) (
func getClusterNodes(cli *gcli.Client, cluster string) (dynamicHostIps []string, err error) { func getClusterNodes(cli *gcli.Client, cluster string) (dynamicHostIps []string, err error) {
clusterinfo, err := cli.ClusterInfo(cluster) clusterinfo, err := cli.ClusterInfo(cluster)
if err != nil { if err != nil {
klog.Errorf("failed to get cluster details: %v", err)
return nil, fmt.Errorf("failed to get cluster details: %v", err) return nil, fmt.Errorf("failed to get cluster details: %v", err)
} }
@ -996,7 +986,6 @@ func getClusterNodes(cli *gcli.Client, cluster string) (dynamicHostIps []string,
for _, node := range clusterinfo.Nodes { for _, node := range clusterinfo.Nodes {
nodeInfo, err := cli.NodeInfo(string(node)) nodeInfo, err := cli.NodeInfo(string(node))
if err != nil { if err != nil {
klog.Errorf("failed to get host ipaddress: %v", err)
return nil, fmt.Errorf("failed to get host ipaddress: %v", err) return nil, fmt.Errorf("failed to get host ipaddress: %v", err)
} }
ipaddr := dstrings.Join(nodeInfo.NodeAddRequest.Hostnames.Storage, "") ipaddr := dstrings.Join(nodeInfo.NodeAddRequest.Hostnames.Storage, "")
@ -1004,7 +993,6 @@ func getClusterNodes(cli *gcli.Client, cluster string) (dynamicHostIps []string,
} }
klog.V(3).Infof("host list :%v", dynamicHostIps) klog.V(3).Infof("host list :%v", dynamicHostIps)
if len(dynamicHostIps) == 0 { if len(dynamicHostIps) == 0 {
klog.Errorf("no hosts found: %v", err)
return nil, fmt.Errorf("no hosts found: %v", err) return nil, fmt.Errorf("no hosts found: %v", err)
} }
return dynamicHostIps, nil return dynamicHostIps, nil