]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
qa/suites/krbd: run unmap subsuite with msgr1 only 31290/head
authorIlya Dryomov <idryomov@gmail.com>
Tue, 29 Oct 2019 15:19:14 +0000 (16:19 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 31 Oct 2019 15:02:54 +0000 (16:02 +0100)
commit315b7ff13cd56cdb9d05826bc2e7452d9b03e003
treed991f8403af038e545d65920452fc8d496aaa91b
parentd2a56a4309811b997e1211be1a6df73b9bdf0d4e
qa/suites/krbd: run unmap subsuite with msgr1 only

pre-single-major.yaml kernel doesn't have any of the monitor client
fixes that came in 4.6.  If the connection is closed, it closes the
session and retries only after 10 seconds.  On top of that, there is
nothing to prevent it from picking the same monitor when reconnecting.
This means that when given both v1 and v2 ports (which look like two
different monitors), it is susceptible to mount_timeout (60 seconds):

  $ sudo rbd map img
  rbd: sysfs write failed
  In some cases useful info is found in syslog - try "dmesg | tail".
  rbd: map failed: (5) Input/output error

  [  822.242313] libceph: mon0 172.21.15.132:3300 socket closed (con state CONNECTING)
  [  832.265494] libceph: mon0 172.21.15.132:3300 socket closed (con state CONNECTING)
  [  842.296175] libceph: mon0 172.21.15.132:3300 socket closed (con state CONNECTING)
  [  852.326924] libceph: mon0 172.21.15.132:3300 socket closed (con state CONNECTING)
  [  862.357611] libceph: mon0 172.21.15.132:3300 socket closed (con state CONNECTING)
  [  872.388373] libceph: mon0 172.21.15.132:3300 socket closed (con state CONNECTING)
  [  882.676136] libceph: mon0 172.21.15.132:3300 socket closed (con state CONNECTING)

Unlike newer kernels that return ETIMEDOUT, it returns EIO.

Newer kernels are much more aggressive about retries and will pick
a different monitor when reconnecting, hence they are always able to
establish the session in time.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 5011cc926cd434a6c095bab57e4b0658f98f5657)
qa/suites/krbd/unmap/ceph/ceph.yaml