summaryrefslogtreecommitdiffstats
path: root/nova/volume/api.py
diff options
context:
space:
mode:
authorvladimir.p <vladimir@zadarastorage.com>2011-08-23 15:18:50 -0700
committervladimir.p <vladimir@zadarastorage.com>2011-08-23 15:18:50 -0700
commitddc7d9470674a4d7300d15e5c6fa54b784b6a36f (patch)
tree99d5ea16405985b5ed31f31d11b8663b06d89494 /nova/volume/api.py
parent1d121a42f5072026a3ad19cb5fd1915d7cd2ff63 (diff)
downloadnova-ddc7d9470674a4d7300d15e5c6fa54b784b6a36f.tar.gz
nova-ddc7d9470674a4d7300d15e5c6fa54b784b6a36f.tar.xz
nova-ddc7d9470674a4d7300d15e5c6fa54b784b6a36f.zip
added volume_types APIs
Diffstat (limited to 'nova/volume/api.py')
-rw-r--r--nova/volume/api.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/nova/volume/api.py b/nova/volume/api.py
index 7a78e244f..80e8bd85f 100644
--- a/nova/volume/api.py
+++ b/nova/volume/api.py
@@ -42,7 +42,7 @@ class API(base.Base):
"""API for interacting with the volume manager."""
def create(self, context, size, snapshot_id, name, description,
- volume_type=None, metadata=None):
+ volume_type=None, metadata=None, availability_zone=None):
if snapshot_id != None:
snapshot = self.get_snapshot(context, snapshot_id)
if snapshot['status'] != "available":
@@ -58,18 +58,21 @@ class API(base.Base):
raise quota.QuotaError(_("Volume quota exceeded. You cannot "
"create a volume of size %sG") % size)
+ if availability_zone is None:
+ availability_zone = FLAGS.storage_availability_zone
+
options = {
'size': size,
'user_id': context.user_id,
'project_id': context.project_id,
'snapshot_id': snapshot_id,
- 'availability_zone': FLAGS.storage_availability_zone,
+ 'availability_zone': availability_zone,
'status': "creating",
'attach_status': "detached",
'display_name': name,
'display_description': description,
'volume_type_id': volume_type.get('id', None),
- 'metadata' metadata,
+ 'metadata': metadata,
}
volume = self.db.volume_create(context, options)