summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmando Migliaccio <armando.migliaccio@citrix.com>2010-12-16 17:47:48 +0000
committerArmando Migliaccio <armando.migliaccio@citrix.com>2010-12-16 17:47:48 +0000
commit8152acf7c3df83a04591fdafb21201965da7bfad (patch)
treea7d30dcf58e3e65261d95f142319a562363fa7d0
parenta4db44b94e611798d57ad59f4d4dbb5fb00516db (diff)
downloadnova-8152acf7c3df83a04591fdafb21201965da7bfad.tar.gz
nova-8152acf7c3df83a04591fdafb21201965da7bfad.tar.xz
nova-8152acf7c3df83a04591fdafb21201965da7bfad.zip
fake session clean-up
-rw-r--r--nova/tests/db/__init__.py16
-rw-r--r--nova/tests/xenapi/__init__.py16
-rw-r--r--nova/virt/xenapi/fake.py34
3 files changed, 22 insertions, 44 deletions
diff --git a/nova/tests/db/__init__.py b/nova/tests/db/__init__.py
index a157d7592..dcd81b743 100644
--- a/nova/tests/db/__init__.py
+++ b/nova/tests/db/__init__.py
@@ -1,21 +1,5 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
-# Copyright (c) 2010 Citrix Systems, 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.
-
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
# Copyright (c) 2010 Citrix Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff --git a/nova/tests/xenapi/__init__.py b/nova/tests/xenapi/__init__.py
index a157d7592..dcd81b743 100644
--- a/nova/tests/xenapi/__init__.py
+++ b/nova/tests/xenapi/__init__.py
@@ -1,21 +1,5 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
-# Copyright (c) 2010 Citrix Systems, 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.
-
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
# Copyright (c) 2010 Citrix Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff --git a/nova/virt/xenapi/fake.py b/nova/virt/xenapi/fake.py
index 038064e8e..a46f3fd80 100644
--- a/nova/virt/xenapi/fake.py
+++ b/nova/virt/xenapi/fake.py
@@ -105,9 +105,10 @@ def create_vdi(name_label, read_only, sr_ref, sharable):
})
-def create_pbd(config, attached):
+def create_pbd(config, sr_ref, attached):
return _create_object('PBD', {
'device-config': config,
+ 'SR': sr_ref,
'currently-attached': attached,
})
@@ -126,6 +127,21 @@ def _create_object(table, obj):
return ref
+def _create_sr(table, obj):
+ sr_type = obj[6]
+ # Forces fake to support iscsi only
+ if sr_type != 'iscsi':
+ raise Failure(['SR_UNKNOWN_DRIVER', sr_type])
+ sr_ref = _create_object(table, obj[2])
+ vdi_ref = create_vdi('', False, sr_ref, False)
+ pbd_ref = create_pbd('', sr_ref, True)
+ _db_content['SR'][sr_ref]['VDIs'] = [vdi_ref]
+ _db_content['SR'][sr_ref]['PBDs'] = [pbd_ref]
+ _db_content['VDI'][vdi_ref]['SR'] = sr_ref
+ _db_content['PBD'][pbd_ref]['SR'] = sr_ref
+ return sr_ref
+
+
def get_all(table):
return _db_content[table].keys()
@@ -296,19 +312,13 @@ class SessionBase(object):
def _create(self, name, params):
self._check_session(params)
- expected = 2
- if name == 'SR.create':
- expected = 10
+ is_sr_create = name == 'SR.create'
+ # Storage Repositories have a different API
+ expected = is_sr_create and 10 or 2
self._check_arg_count(params, expected)
(cls, _) = name.split('.')
- if name == 'SR.create':
- vdi_ref = create_vdi('', False, '', False)
- pbd_ref = create_pbd('', True)
- params[2]['VDIs'] = [vdi_ref]
- params[2]['PBDs'] = [pbd_ref]
- ref = _create_object(cls, params[2])
- else:
- ref = _create_object(cls, params[1])
+ ref = is_sr_create and \
+ _create_sr(cls, params) or _create_object(cls, params[1])
obj = get_record(cls, ref)
# Add RO fields