diff options
| author | Chris Behrens <cbehrens@codestud.com> | 2012-08-21 16:57:13 +0000 |
|---|---|---|
| committer | Chris Behrens <cbehrens@codestud.com> | 2012-08-21 16:57:13 +0000 |
| commit | 2ed1acbf784fdf58e5690283ef01f7f5aeb442fe (patch) | |
| tree | 59875d1f88a6f265d3744be6c40ea54b421d7f56 /nova/db | |
| parent | 96e72e7295909cbe2ddb835283f68168cef883c1 (diff) | |
| download | nova-2ed1acbf784fdf58e5690283ef01f7f5aeb442fe.tar.gz nova-2ed1acbf784fdf58e5690283ef01f7f5aeb442fe.tar.xz nova-2ed1acbf784fdf58e5690283ef01f7f5aeb442fe.zip | |
Have compute_node_get() join 'service'
Fixes bug 1039633
compute_node_get() is used by hypervisors extension and it accesses
compute_node['service']. Lazy joins fail now and then..
Also fixes line continuation indents with other compute_node calls in
sqlalchemy/api.py
Change-Id: I3ac02aad739e96a4866a64cabe859cf484341784
Diffstat (limited to 'nova/db')
| -rw-r--r-- | nova/db/sqlalchemy/api.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 7128fada6..d15609de7 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -484,9 +484,10 @@ def service_update(context, service_id, values): def compute_node_get(context, compute_id, session=None): result = model_query(context, models.ComputeNode, session=session).\ - filter_by(id=compute_id).\ - options(joinedload('stats')).\ - first() + filter_by(id=compute_id).\ + options(joinedload('service')).\ + options(joinedload('stats')).\ + first() if not result: raise exception.ComputeHostNotFound(host=compute_id) @@ -497,18 +498,18 @@ def compute_node_get(context, compute_id, session=None): @require_admin_context def compute_node_get_all(context, session=None): return model_query(context, models.ComputeNode, session=session).\ - options(joinedload('service')).\ - options(joinedload('stats')).\ - all() + options(joinedload('service')).\ + options(joinedload('stats')).\ + all() @require_admin_context def compute_node_search_by_hypervisor(context, hypervisor_match): field = models.ComputeNode.hypervisor_hostname return model_query(context, models.ComputeNode).\ - options(joinedload('service')).\ - filter(field.like('%%%s%%' % hypervisor_match)).\ - all() + options(joinedload('service')).\ + filter(field.like('%%%s%%' % hypervisor_match)).\ + all() def _prep_stats_dict(values): |
