diskimage-builder/diskimage_builder/elements/python-brickclient
Ian Wienand 7a155e08bf Merge branch 'master' into merge-branch
Change-Id: I28e4c7837d84e8b66eff3d182666c5a87a9e3c9b
2017-02-09 13:35:53 +11:00
..
post-install.d Release 1.25.2 2017-02-02 11:20:00 +11:00
element-deps Release 1.25.2 2017-02-02 11:20:00 +11:00
package-installs.yaml Merge branch 'master' into merge-branch 2017-02-09 13:35:53 +11:00
pkg-map Merge branch 'master' into merge-branch 2017-02-09 13:35:53 +11:00
README.rst Merge branch 'master' into merge-branch 2017-02-09 13:35:53 +11:00

python-brickclient

  • This element is aimed for providing cinder local attach/detach functionality.
  • Currently the feature has a dependency on a known bug https://launchpad.net/bugs/1623549, which has been resolved and will be part of the upstream with the next release of python-brick-cinderclient-ext. Note: Current version of python-brick-cinderclient-ext i.e. 0.2.0 requires and update to be made in Line32 for /usr/share/python-brickclient/venv/lib/python2.7/site-packages/brick_cinderclient_ext/__init__.py: update brick-python-cinderclient-ext to python-brick-cinderclient-ext.

Usage

Pass the below shell script to parameter user-data and set config-drive=true at the time of provisioning the node via nova-boot to make cinder local attach/detach commands talk to your cloud controller.

#!/bin/bash
FILE="/etc/bash.bashrc"
[ ! -f "$FILE" ] && touch "$FILE"
echo 'export OS_AUTH_URL="http://<controller_ip>:5000/v2.0"' >> "$FILE"
echo 'export OS_PASSWORD="password"'  >> "$FILE"
echo 'export OS_USERNAME="demo"' >> "$FILE"
echo 'export OS_TENANT_NAME="demo"'  >> "$FILE"
echo 'export OS_PROJECT_NAME="demo"' >> "$FILE"
exec bash

To attach: ``/usr/share/python-brickclient/venv/bin/cinder local-attach <volume_id>``
To detach: ``/usr/share/python-brickclient/venv/bin/cinder local-detach <volume_id>``

Alternatively, the same action can be completed manually at the node which does not require setting up of config drive such as:

/usr/share/python-brickclient/venv/bin/cinder \
  --os-username demo --os-password password \
  --os-tenant-name demo --os-project-name demo \
  --os-auth-url=http://<controller_ip>:5000/v2.0 local-attach <volume_id>