def METHOD_NAME(self, connection_properties):
    # NOTE(e0ne): sanity check if ceph-common is installed.
    try:
        self._execute('which', 'rbd')
    except putils.ProcessExecutionError:
        msg = 'ceph-common package not installed'
        raise exception.BrickException(msg)
    # Extract connection parameters and generate config file
    try:
        user = connection_properties['auth_username']
        pool, volume = connection_properties['name'].split('/')
        cluster_name = connection_properties.get('cluster_name')
        monitor_ips = connection_properties.get('hosts')
        monitor_ports = connection_properties.get('ports')
        keyring = connection_properties.get('keyring')
    except IndexError:
        msg = 'Malformed connection properties'
        raise exception.BrickException(msg)
    conf = self._create_ceph_conf(monitor_ips, monitor_ports,
                                  str(cluster_name), user,
                                  keyring)
    # Map RBD volume if it's not already mapped
    rbd_dev_path = self.get_rbd_device_name(pool, volume)
    if (not os.path.islink(rbd_dev_path) or
            not os.path.exists(os.path.realpath(rbd_dev_path))):
        cmd = ['rbd', 'map', volume, '--pool', pool, '--conf', conf]
        cmd += self._get_rbd_args(connection_properties)
        self._execute(*cmd, root_helper=self._root_helper,
                      run_as_root=True)
    return {'path': os.path.realpath(rbd_dev_path),
            'conf': conf,
            'type': 'block'}