教程

本教程旨在介绍如何使用 os-brick

先决条件

在开始之前,请确保您已安装 os-brick 分发版 安装。在 Python shell 中,以下代码应能运行而不会引发异常

>>> import os_brick

配置

一些 os-brick 连接器使用文件锁来防止对代码的关键部分进行并发访问。

这些文件锁使用 oslo.concurrency lock_utils 模块,并且需要将 lock_path 配置为创建锁的路径。

os-brick 可以使用一个专门用于其锁的目录,也可以使用使用 os-brick 的服务相同的目录。

os-brick 特定的配置选项是 [os_brick]/lock_path,如果未定义,它将使用 [oslo_concurrency]/lock_path 中的值。

设置

加载 os-brick 后,需要对其进行初始化,方法是使用 oslo.conf 配置调用 os_brick.setup 方法。

重要的是,对 setup 方法的调用必须在 oslo.config 得到正确初始化 之后 进行。

from oslo_config import cfg
from cinder import version

CONF = cfg.CONF

def main():
    CONF(sys.argv[1:], project='cinder',
         version=version.version_string())
    os_brick.setup(CONF)

从主机获取所有发起者信息

一个如何收集将卷导出到此主机所需的发起者信息的示例。

from os_brick.initiator import connector


os_brick.setup(CONF)

# what helper do you want to use to get root access?
root_helper = "sudo"
# The ip address of the host you are running on
my_ip = "192.168.1.1"
# Do you want to support multipath connections?
multipath = True
# Do you want to enforce that multipath daemon is running?
enforce_multipath = False
initiator = connector.get_connector_properties(root_helper, my_ip,
                                               multipath,
                                               enforce_multipath)