private CephRbdConnectionManager(CephRbdInfo config, String poolName) { try { LOG.trace("Opening a new connection to Ceph cluster pool=" + poolName); rados = new Rados(config.getCephUser()); rados.confSet(KEYRING, config.getCephKeyringFile()); rados.confReadFile(new File(config.getCephConfigFile())); rados.connect(); pool = poolName; ioContext = rados.ioCtxCreate(pool); rbd = new Rbd(ioContext); } catch (RadosException e) { disconnect(); LOG.warn("Unable to connect to Ceph cluster"); throw new EucalyptusCephException( "Failed to connect to pool " + poolName + " in Ceph cluster. Verify Ceph cluster health, privileges of Ceph user assigned to Eucalyptus, Ceph parameters configured in Eucalyptus " + config.toString() + " and retry operation", e); } }