Registry / data / os-brick

os-brick

JSON →
library7.1.0pypypi✓ verified 84d ago

OpenStack Cinder brick library for managing local volume attaches. Used by Cinder and Nova to connect and disconnect volumes (iSCSI, Fibre Channel, NFS, etc.). Current version 7.0.0, supports Python >=3.10. Releases follow OpenStack cycle, with stable releases every 6 months.

pip install os-brick
INSTALL
IMPORT
SIG · OS-BRICK
O
os-brick
datapythonv7.1.0
Install
7.5s avg
Import
2455ms
Disk
69MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v7.0.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 2.531s · 64.9MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 7.5s · import 2.378s · 63MB
69MB installed
● package 69MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

get_connector_properties
from os_brick.initiator import connector
from cinder.volume import driver
os-brick is a standalone library; never import via cinder paths
InitiatorConnector
from os_brick.initiator import connector
from os_brick.connector import InitiatorConnector
InitiatorConnector is under os_brick.initiator.connector
LinuxConnectorMixin
from os_brick.initiator.connectors import base
from os_brick.base import LinuxConnectorMixin
base class is in os_brick.initiator.connectors.base

Retrieve host connector properties (initiator name, WWNs, etc.) for volume attachment.

import os from os_brick.initiator import connector # Get connector properties (must be root or have appropriate privileges) props = connector.get_connector_properties( root_helper='sudo', my_ip='192.168.1.10', multipath=True, enforce_multipath=False ) print(props) # Example: create an iSCSI connector (requires root) # conn = connector.InitiatorConnector.factory('iscsi', root_helper='sudo') # conn.connect_volume(connection_properties) # volume must be present
Debug
Known issues
breakingos-brick 7.0.0 drops support for Python <3.10. Ensure your environment uses Python 3.10+.
fix
Upgrade to Python 3.10 or later before installing os-brick>=7.0.0.
affects: >=7.0.0
breakingIn version 7.0.0, the 'root_helper' parameter is required in many connector methods. Previously it defaulted to 'sudo'. Now it must be explicitly provided or set via config.
fix
Pass root_helper='sudo' (or appropriate helper) to connector factory or get_connector_properties.
affects: >=7.0.0
gotchaos-brick requires root privileges for most operations (e.g., scanning iSCSI, partitioning). Running without root will result in PermissionError.
fix
Run your Python script with sudo or ensure the user has passwordless sudo for the root_helper command.
affects: all
gotchaThe initiator connector classes are not thread-safe. Do not share connector instances across threads.
fix
Create a new connector per thread or use locking (e.g., oslo_concurrency.lockutils).
affects: all
deprecatedUse of 'os_brick.remotefs' module is deprecated in favor of 'os_brick.initiator.connectors.remotefs'.
fix
Import from os_brick.initiator.connectors.remotefs instead of os_brick.remotefs.
affects: >=6.0.0
Errors
Common errors & fixes
ImportError: No module named os_brick
os-brick is not installed or virtual environment not activated.
fix
pip install os-brick
PermissionError: [Errno 13] Permission denied: '/sys/class/scsi_host'
Script not run as root; os-brick needs root to discover SCSI hosts.
fix
Run the script with sudo: sudo python your_script.py
TypeError: get_connector_properties() missing 1 required positional argument: 'my_ip'
In os-brick >=7.0.0, 'my_ip' is a required argument.
fix
Provide the host IP: get_connector_properties(root_helper='sudo', my_ip='192.168.1.10')
os_brick.exception.ProtocolNotSupported: Protocol iscsi is not supported
iSCSI tools (iscsiadm, etc.) not installed on the system.
fix
Install open-iscsi or appropriate package: sudo apt-get install open-iscsi (Debian/Ubuntu)
AttributeError: module 'os_brick' has no attribute 'initiator'
os-brick library is very old (<2.0) or installed incorrectly (e.g., from source without setup).
fix
Upgrade to latest: pip install --upgrade os-brick
Upgrade
Version history
7.1.0latest on PyPI · released May 19, 2026
Audit
Dependencies
oslo.concurrencyrequiredlockutils for file locking
oslo.privseprequiredprivilege separation for root operations
pyudevrequiredudev device detection
libvirt-pythonoptionallibvirt integration for qemu connections
Agent activity
2 hits · last 30 days
node
2
Resources
os-brick — pip install os-brick · libregistry