diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-04-30 13:38:18 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-04-30 13:38:18 +0000 |
| commit | f582052f97e091cb3cd27cc577b7067577ad723a (patch) | |
| tree | fcae4da6a846dfd1c97f7c19989c2b5b4cc3c1fd /nova/db | |
| parent | ad5f3e927334144599a6c73c4ba1f7f80f7b64e4 (diff) | |
| parent | 48621685389a491d0519faf8fe52dc682e020c67 (diff) | |
Merge "Performance optimization for contrib.flavorextraspecs"
Diffstat (limited to 'nova/db')
| -rw-r--r-- | nova/db/api.py | 5 | ||||
| -rw-r--r-- | nova/db/sqlalchemy/api.py | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/nova/db/api.py b/nova/db/api.py index f454a2d15..81350ec20 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -1313,6 +1313,11 @@ def instance_type_extra_specs_get(context, flavor_id): return IMPL.instance_type_extra_specs_get(context, flavor_id) +def instance_type_extra_specs_get_item(context, flavor_id, key): + """Get extra specs by key and flavor_id.""" + return IMPL.instance_type_extra_specs_get_item(context, flavor_id, key) + + def instance_type_extra_specs_delete(context, flavor_id, key): """Delete the given extra specs item.""" IMPL.instance_type_extra_specs_delete(context, flavor_id, key) diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 55be0da2d..a269dd263 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -3875,6 +3875,18 @@ def instance_type_extra_specs_get(context, flavor_id): @require_context +def instance_type_extra_specs_get_item(context, flavor_id, key): + result = _instance_type_extra_specs_get_query(context, flavor_id).\ + filter(models.InstanceTypeExtraSpecs.key == key).\ + first() + if not result: + raise exception.InstanceTypeExtraSpecsNotFound( + extra_specs_key=key, instance_type_id=flavor_id) + + return {result["key"]: result["value"]} + + +@require_context def instance_type_extra_specs_delete(context, flavor_id, key): _instance_type_extra_specs_get_query(context, flavor_id).\ filter(models.InstanceTypeExtraSpecs.key == key).\ |
