DIB element to support cinder local attach/detach functionality
This element adds python-brick-cinderclient-ext to the make customized image to support cinder local attach/detach functionality. Currently it has the dependency on known bug<https://launchpad.net/bugs/1623549>, which would be resolved with next release of python-brick-cinderclient-ext. Change-Id: Idfe83bafa2843c781c18b83f1a3aece3ae852f78
This commit is contained in:
parent
2e0f812efa
commit
34bdc7df90
34
elements/python-brickclient/README.rst
Normal file
34
elements/python-brickclient/README.rst
Normal file
@ -0,0 +1,34 @@
|
||||
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 fo below script.
|
||||
/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.
|
||||
[Example of Config Drive Script]
|
||||
#!/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>
|
2
elements/python-brickclient/element-deps
Normal file
2
elements/python-brickclient/element-deps
Normal file
@ -0,0 +1,2 @@
|
||||
package-installs
|
||||
pip-and-virtualenv
|
3
elements/python-brickclient/package-installs.yaml
Normal file
3
elements/python-brickclient/package-installs.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
libssl-dev:
|
||||
libffi-dev:
|
||||
python-dev:
|
14
elements/python-brickclient/pkg-map
Normal file
14
elements/python-brickclient/pkg-map
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"family": {
|
||||
"redhat": {
|
||||
"python-dev": "python2-devel",
|
||||
"libssl-dev": "openssl-devel",
|
||||
"libffi-dev": "libffi-devel"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"python-dev": "python-dev",
|
||||
"libssl-dev": "libssl-dev",
|
||||
"libffi-dev": "libffi-dev"
|
||||
}
|
||||
}
|
33
elements/python-brickclient/post-install.d/55-brick-client-install
Executable file
33
elements/python-brickclient/post-install.d/55-brick-client-install
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright 2016 Hewlett Packard Enterprise Company, L.P.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
PBCDIR=/usr/share/python-brickclient
|
||||
mkdir $PBCDIR
|
||||
|
||||
# create the virtual environment
|
||||
virtualenv $PBCDIR/venv
|
||||
|
||||
# Install the required packages inside virtual env
|
||||
$PBCDIR/venv/bin/pip install python-brick-cinderclient-ext
|
||||
|
||||
ln -s $PBCDIR/venv/bin/python-brickclient /usr/local/bin/python-brickclient
|
Loading…
Reference in New Issue
Block a user