Files
kubernetes/pkg/volume
Kubernetes Submit Queue 803369b9cc Merge pull request #42006 from screeley44/error-events3
Automatic merge from submit-queue (batch tested with PRs 42522, 42545, 42556, 42006, 42631)

Fixes MountVolume.NewMounter errors not displayed to users via describe events

Fixes #42004 

This fixes the problem of mount errors being eaten and not displayed to users again.  Specifically erros caught in MountVolume.NewMounter (like missing endpoints, etc...)

Current behavior for any mount failure:

```
Events:
  FirstSeen    LastSeen    Count    From            SubObjectPath    Type        Reason        Message
  ---------    --------    -----    ----            -------------    --------    ------        -------
  12m        12m        1    default-scheduler            Normal        Scheduled    Successfully assigned glusterfs-bb-pod1 to 127.0.0.1
  10m        1m        5    kubelet, 127.0.0.1            Warning        FailedMount    Unable to mount volumes for pod "glusterfs-bb-pod1_default(67c9dfa7-f9f5-11e6-aee2-5254003a59cf)": timeout expired waiting for volumes to attach/mount for pod "default"/"glusterfs-bb-pod1". list of unattached/unmounted volumes=[glusterfsvol]
  10m        1m        5    kubelet, 127.0.0.1            Warning        FailedSync    Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "default"/"glusterfs-bb-pod1". list of unattached/unmounted volumes=[glusterfsvol]
```

New Behavior:

For example on glusterfs - deliberately didn't create endpoints, now correct message is displayed:
```
Events:
  FirstSeen	LastSeen	Count	From			SubObjectPath	Type		Reason		Message
  ---------	--------	-----	----			-------------	--------	------		-------
  2m		2m		1	default-scheduler			Normal		Scheduled	Successfully assigned glusterfs-bb-pod1 to 127.0.0.1
  54s		54s		1	kubelet, 127.0.0.1			Warning		FailedMount	Unable to mount volumes for pod "glusterfs-bb-pod1_default(8edd2c25-fa09-11e6-92ae-5254003a59cf)": timeout expired waiting for volumes to attach/mount for pod "default"/"glusterfs-bb-pod1". With error timed out waiting for the condition. list of unattached/unmounted volumes=[glusterfsvol]
  54s		54s		1	kubelet, 127.0.0.1			Warning		FailedSync	Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "default"/"glusterfs-bb-pod1". With error timed out waiting for the condition. list of unattached/unmounted volumes=[glusterfsvol]
  2m		6s		814	kubelet, 127.0.0.1			Warning		FailedMount	MountVolume.NewMounter failed for volume "kubernetes.io/glusterfs/8edd2c25-fa09-11e6-92ae-5254003a59cf-glusterfsvol" (spec.Name: "glusterfsvol") pod "8edd2c25-fa09-11e6-92ae-5254003a59cf" (UID: "8edd2c25-fa09-11e6-92ae-5254003a59cf") with: endpoints "glusterfs-cluster" not found
```
2017-03-24 15:10:33 -07:00
..
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-02 14:59:59 -05:00
2017-03-09 18:24:37 -05:00
2016-07-16 13:48:21 -04:00
2017-03-02 15:01:59 -08:00
2017-03-02 15:01:59 -08:00
2017-03-02 15:01:59 -08:00
2017-03-02 15:01:59 -08:00
2017-02-27 09:12:15 -05:00
2017-03-02 14:59:59 -05:00

Multipath

To leverage multiple paths for block storage, it is important to perform the multipath configuration on the host. If your distribution does not provide /etc/multipath.conf, then you can either use the following minimalistic one:

defaults {
    find_multipaths yes
    user_friendly_names yes
}

or create a new one by running:

$ mpathconf --enable

Finally you'll need to ensure to start or reload and enable multipath:

$ systemctl enable multipathd.service
$ systemctl restart multipathd.service

Note: Any change to multipath.conf or enabling multipath can lead to inaccessible block devices, because they'll be claimed by multipath and exposed as a device in /dev/mapper/*.

Some additional informations about multipath can be found in the iSCSI documentation