openstack.block_storage.v3.service

Service 类

Service 类继承自 Resource

class openstack.block_storage.v3.service.Service(_synchronized=False, connection=None, **attrs)

基础资源

参数:
  • _synchronized (bool) – 这不打算直接使用。请参阅 new()existing()

  • connection (openstack.connection.Connection) – 对正在使用的 Connection 的引用。默认为 None,允许在单元测试中等情况下使用不带活动 Connection 的 Resource 对象。Resource 代码中对 self._connection 的使用应使用 None 检查进行保护。

resources_key = 'services'

资源的复数形式的键。

base_path = '/os-services'

此资源的 URI 的基本部分。

allow_list = True

允许对此资源进行列表操作。

active_backend_id

活动存储后端 ID(仅 cinder-volume 服务)

availability_zone

服务可用区

backend_state

存储后端状态(仅 cinder-volume 服务)(自 3.49 起)

binary

服务二进制名称

cluster

集群名称(自 3.7 起)

disabled_reason

服务禁用原因

host

服务运行的主机名称

name

服务名称

replication_status

卷服务复制状态(仅 cinder-volume 服务)

state

服务状态

status

服务状态

updated_at

资源更新的日期和时间

classmethod find(session, name_or_id, ignore_missing=True, **params)

按其名称或 ID 查找资源。

参数:
  • session (Adapter) – 用于发出此请求的会话。

  • name_or_id – 此资源的标识符(如果请求需要)。默认值为 None

  • ignore_missing (bool) – 当设置为 False 时,如果资源不存在,将引发 NotFoundException。当设置为 True 时,尝试查找不存在的资源时将返回 None。

  • list_base_path (str) – 需要列出资源时使用的 base_path。

  • microversion (str) – 覆盖协商版本使用的 API 版本。

  • params (dict) – 传递给底层方法的任何其他参数,例如传递 URI 参数到 existing()

返回值:

与给定名称或 ID 匹配的 Resource 对象,或者如果没有任何匹配项则返回 None。

引发:

openstack.exceptions.DuplicateResource 如果为该请求找到多个资源。

引发:

openstack.exceptions.NotFoundException 如果未找到任何内容且 ignore_missing 为 False

commit(session, prepend_key=False, *args, **kwargs)

提交实例的状态到远程资源。

参数:
  • session (Adapter) – 用于发出此请求的会话。

  • prepend_key – 一个布尔值,指示是否应在资源更新请求中将 resource_key 附加到前面。默认为 True。

  • retry_on_conflict (bool) – 是否启用在 HTTP CONFLICT (409) 发生时重试。值为 None 将使用 Adapter 的默认值。

  • base_path (str) – 修改资源的 URI 的基本部分,如果与 base_path 不同。

  • microversion (str) – 覆盖协商版本使用的 API 版本。

  • kwargs (dict) – 将传递给 _prepare_request() 的参数

返回值:

Resource 实例。

引发:

MethodNotSupported 如果 Resource.allow_commit 未设置为 True

enable(session)

启用服务。

disable(session, *, reason=None)

禁用服务。

classmethod set_log_levels(session, *, level, binary=None, server=None, prefix=None)

设置服务的日志级别。

参数:
  • session – 用于进行此请求的会话。

  • level – 要设置的日志级别,不区分大小写,允许的值为 INFOWARNINGERRORDEBUG

  • binary – 服务的二进制名称。

  • server – 主机名称。

  • prefix – 我们正在查询的日志路径的前缀,例如 cinder.sqlalchemy.engine. 如果未提供或传递空字符串,将检索所有日志级别。

返回值:

None。

classmethod get_log_levels(session, *, binary=None, server=None, prefix=None)

获取服务的日志级别。

参数:
  • session – 用于进行此请求的会话。

  • binary – 服务的二进制名称。

  • server – 主机名称。

  • prefix – 我们正在查询的日志路径的前缀,例如 cinder.sqlalchemy.engine. 如果未提供或传递空字符串,将检索所有日志级别。

返回值:

一个 LogLevel 对象生成器。

failover(session, *, cluster=None, backend_id=None)

故障转移服务

仅适用于复制 cinder-volume 服务。