From e38be71ca44039b5f9fe603db99499f0aed4e15c Mon Sep 17 00:00:00 2001 From: Vladik Romanovsky <vromanso@redhat.com> Date: Wed, 27 Apr 2016 10:28:54 -0400 Subject: [PATCH] objects: adding an update method to virtual_interface Adding a save method to the virtual_interface object and an update method to its database model. Partially implements blueprint virt-device-role-tagging Co-authored-by: Artom Lifshitz <alifshit@redhat.com> Change-Id: I52673fc297cb578995be5c7a075c5693b0793bf5 --- nova/db/api.py | 5 +++++ nova/db/sqlalchemy/api.py | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/nova/db/api.py b/nova/db/api.py index 805189cfe..a120b069d 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -636,6 +636,11 @@ def virtual_interface_create(context, values): return IMPL.virtual_interface_create(context, values) +def virtual_interface_update(context, address, values): + """Create a virtual interface record in the database.""" + return IMPL.virtual_interface_update(context, address, values) + + def virtual_interface_get(context, vif_id): """Gets a virtual interface from the table.""" return IMPL.virtual_interface_get(context, vif_id) diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 132847ae3..08ff0e154 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -1530,6 +1530,15 @@ def _virtual_interface_query(context): return model_query(context, models.VirtualInterface, read_deleted="no") +@require_context +@pick_context_manager_writer +def virtual_interface_update(context, address, values): + vif_ref = virtual_interface_get_by_address(context, address) + vif_ref.update(values) + vif_ref.save(context.session) + return vif_ref + + @require_context @pick_context_manager_reader def virtual_interface_get(context, vif_id):