mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
rbd: Set client timeout to 30 seconds.
By default the client_mount_timeout setting in librados is 300 seconds, but that causes the connect to the Ceph cluster to block for 5 minutes if the Ceph cluster is not available. This patch is not ideal, but it mitigates the problem for now. At a later point all this librados/librbd code should go back to libvirt again, but the current versions of libvirt in the distributions are to old for all the features we require. For now this should prevent the CloudStack agent blocking for 5 minutes when the Ceph cluster isn't available. This is also tracked at the Ceph tracker: http://tracker.ceph.com/issues/6507
This commit is contained in:
parent
f4a96d4c85
commit
5ae12f31b7
@ -1785,6 +1785,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
|
||||
Rados r = new Rados(pool.getAuthUserName());
|
||||
r.confSet("mon_host", pool.getSourceHost() + ":" + pool.getSourcePort());
|
||||
r.confSet("key", pool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
@ -2234,6 +2235,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
|
||||
Rados r = new Rados(primaryPool.getAuthUserName());
|
||||
r.confSet("mon_host", primaryPool.getSourceHost() + ":" + primaryPool.getSourcePort());
|
||||
r.confSet("key", primaryPool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
@ -2316,6 +2318,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
|
||||
Rados r = new Rados(primaryPool.getAuthUserName());
|
||||
r.confSet("mon_host", primaryPool.getSourceHost() + ":" + primaryPool.getSourcePort());
|
||||
r.confSet("key", primaryPool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
|
||||
@ -675,6 +675,7 @@ public class KVMStorageProcessor implements StorageProcessor {
|
||||
Rados r = new Rados(primaryPool.getAuthUserName());
|
||||
r.confSet("mon_host", primaryPool.getSourceHost() + ":" + primaryPool.getSourcePort());
|
||||
r.confSet("key", primaryPool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
@ -1095,6 +1096,7 @@ public class KVMStorageProcessor implements StorageProcessor {
|
||||
Rados r = new Rados(primaryPool.getAuthUserName());
|
||||
r.confSet("mon_host", primaryPool.getSourceHost() + ":" + primaryPool.getSourcePort());
|
||||
r.confSet("key", primaryPool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
|
||||
@ -619,6 +619,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
|
||||
Rados r = new Rados(pool.getAuthUserName());
|
||||
r.confSet("mon_host", pool.getSourceHost() + ":" + pool.getSourcePort());
|
||||
r.confSet("key", pool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
@ -730,6 +731,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
|
||||
Rados r = new Rados(pool.getAuthUserName());
|
||||
r.confSet("mon_host", pool.getSourceHost() + ":" + pool.getSourcePort());
|
||||
r.confSet("key", pool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
@ -840,6 +842,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
|
||||
Rados r = new Rados(srcPool.getAuthUserName());
|
||||
r.confSet("mon_host", srcPool.getSourceHost() + ":" + srcPool.getSourcePort());
|
||||
r.confSet("key", srcPool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
@ -877,12 +880,14 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
|
||||
Rados rSrc = new Rados(srcPool.getAuthUserName());
|
||||
rSrc.confSet("mon_host", srcPool.getSourceHost() + ":" + srcPool.getSourcePort());
|
||||
rSrc.confSet("key", srcPool.getAuthSecret());
|
||||
rSrc.confSet("client_mount_timeout", "30");
|
||||
rSrc.connect();
|
||||
s_logger.debug("Succesfully connected to source Ceph cluster at " + rSrc.confGet("mon_host"));
|
||||
|
||||
Rados rDest = new Rados(destPool.getAuthUserName());
|
||||
rDest.confSet("mon_host", destPool.getSourceHost() + ":" + destPool.getSourcePort());
|
||||
rDest.confSet("key", destPool.getAuthSecret());
|
||||
rDest.confSet("client_mount_timeout", "30");
|
||||
rDest.connect();
|
||||
s_logger.debug("Succesfully connected to source Ceph cluster at " + rDest.confGet("mon_host"));
|
||||
|
||||
@ -1062,6 +1067,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor {
|
||||
Rados r = new Rados(destPool.getAuthUserName());
|
||||
r.confSet("mon_host", destPool.getSourceHost() + ":" + destPool.getSourcePort());
|
||||
r.confSet("key", destPool.getAuthSecret());
|
||||
r.confSet("client_mount_timeout", "30");
|
||||
r.connect();
|
||||
s_logger.debug("Succesfully connected to Ceph cluster at " + r.confGet("mon_host"));
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user