Add cinderclient
Partially implements blueprint attach-cinder-volume Change-Id: Ia6238b5db07ffcba32332a5dd93deaa9287e0c93
This commit is contained in:
parent
8f98763c1d
commit
e77da44ac0
47
savanna/utils/openstack/cinder.py
Normal file
47
savanna/utils/openstack/cinder.py
Normal file
@ -0,0 +1,47 @@
|
||||
# Copyright (c) 2013 Mirantis Inc.
|
||||
#
|
||||
# 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.
|
||||
|
||||
import logging
|
||||
|
||||
from cinderclient.v1 import client as cinder_client
|
||||
|
||||
from savanna import context
|
||||
from savanna.utils.openstack import base
|
||||
|
||||
|
||||
def client():
|
||||
headers = context.current().headers
|
||||
username = headers['X-User-Name']
|
||||
token = headers['X-Auth-Token']
|
||||
tenant = headers['X-Tenant-Id']
|
||||
volume_url = base.url_for(headers, 'volume')
|
||||
|
||||
logging.debug('cinderclient connection created using token '
|
||||
'"%s", tenant "%s" and url "%s"',
|
||||
token, tenant, volume_url)
|
||||
|
||||
cinder = cinder_client.Client(username, token, tenant. volume_url)
|
||||
|
||||
cinder.client.auth_token = token
|
||||
cinder.client.management_url = volume_url
|
||||
return cinder
|
||||
|
||||
|
||||
def get_volumes():
|
||||
return [volume.id for volume in client().volumes.list()]
|
||||
|
||||
|
||||
def get_volume(volume_id):
|
||||
return client().volumes.get(volume_id)
|
@ -7,6 +7,7 @@ netaddr
|
||||
oslo.config>=1.1.0
|
||||
paramiko>=1.8.0
|
||||
pbr>=0.5.16,<0.6
|
||||
python-cinderclient>=1.0.4,<2
|
||||
python-keystoneclient>=0.2,<0.3
|
||||
python-novaclient>=2.12.0,<3
|
||||
six
|
||||
|
Loading…
Reference in New Issue
Block a user