summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorChris Behrens <cbehrens@codestud.com>2013-06-05 19:13:06 +0000
committerChris Behrens <cbehrens@codestud.com>2013-06-21 18:58:45 +0000
commit967e9675874fc2a02a585cc6f9b99175f9cd656c (patch)
tree131581c6b0df0a5f07dc6eb6a1b611e192ed1c35 /nova/virt
parent022bd8d6c16a1a06a3996f1fa827bc17b4272af7 (diff)
Fix sys_meta access in prep for instance object
Fix various places that access instance['system_metadata'] as if it's a list of sqlalchemy models. A helper util method was created in a previous patch set in nova/utils... so this patch converts things to use it. Left one use in _init_instance() in compute/manager.py because it's being addressed with a different patch set. Related to blueprint unified-object-model Change-Id: I876a6c57f64d61d64069c884bf0414c3596e1aa0
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/xenapi/agent.py2
-rw-r--r--nova/virt/xenapi/vm_utils.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/nova/virt/xenapi/agent.py b/nova/virt/xenapi/agent.py
index 05a0fae41..0bd6d776e 100644
--- a/nova/virt/xenapi/agent.py
+++ b/nova/virt/xenapi/agent.py
@@ -197,7 +197,7 @@ class XenAPIBasedAgent(object):
if sshkey:
ctxt = context.get_admin_context()
enc = crypto.ssh_encrypt_text(sshkey, new_pass)
- sys_meta = utils.metadata_to_dict(self.instance['system_metadata'])
+ sys_meta = utils.instance_sys_meta(self.instance)
sys_meta.update(password.convert_password(ctxt,
base64.b64encode(enc)))
self.virtapi.instance_update(ctxt, self.instance['uuid'],
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py
index ff6f7f266..ac8c9c58b 100644
--- a/nova/virt/xenapi/vm_utils.py
+++ b/nova/virt/xenapi/vm_utils.py
@@ -1017,7 +1017,7 @@ def _create_image(context, session, instance, name_label, image_id,
elif cache_images == 'all':
cache = True
elif cache_images == 'some':
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ sys_meta = utils.instance_sys_meta(instance)
try:
cache = strutils.bool_from_string(sys_meta['image_cache_in_nova'])
except KeyError:
@@ -1112,7 +1112,7 @@ def _image_uses_bittorrent(context, instance):
if xenapi_torrent_images == 'all':
bittorrent = True
elif xenapi_torrent_images == 'some':
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ sys_meta = utils.instance_sys_meta(instance)
try:
bittorrent = strutils.bool_from_string(
sys_meta['image_bittorrent'])