yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #35052
[Bug 1471958] [NEW] Updates to network_info in info_cache lost with Cells + NeutronV2
Public bug reported:
Background: Nova commit eaaa659333c7586a71155c065dfb0f7b7e3758fc
modified the Cells code (specifically instance_update_at_top()) to use
objects instead of primitive dicts. One consequence of this is that the
changed fields tracking now controls what updates are applied to the
parent DB.
The nova.networking.neutronv2 module retrieves the result of
asynchronous network allocation and stores it in info_cache via the
get_instance_nw_info() method, which takes an update_cells parameter
(default True), which is ultimately passed to
nova.objects.InstanceInfoCache.save(). In this case
(allocate_for_instance() in neutronv2), update_cells was set to False
(for reasons I don't understand). This leads to the update message
never being sent to the cells service and so network_info is not set in
the parent cell on instance creation. This has been true for a long
time, but the network_info would be included very shortly thereafter in
a subsequent call to instance_update_at_top. However, the network_info
field is not marked as updated in that update, and so as of the commit
referenced above, with change tracking now in place, the network_info
field is never updated.
** Affects: nova
Importance: Undecided
Assignee: R. Nortman (launchpad-wonderclown)
Status: In Progress
** Tags: cells
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1471958
Title:
Updates to network_info in info_cache lost with Cells + NeutronV2
Status in OpenStack Compute (Nova):
In Progress
Bug description:
Background: Nova commit eaaa659333c7586a71155c065dfb0f7b7e3758fc
modified the Cells code (specifically instance_update_at_top()) to use
objects instead of primitive dicts. One consequence of this is that
the changed fields tracking now controls what updates are applied to
the parent DB.
The nova.networking.neutronv2 module retrieves the result of
asynchronous network allocation and stores it in info_cache via the
get_instance_nw_info() method, which takes an update_cells parameter
(default True), which is ultimately passed to
nova.objects.InstanceInfoCache.save(). In this case
(allocate_for_instance() in neutronv2), update_cells was set to False
(for reasons I don't understand). This leads to the update message
never being sent to the cells service and so network_info is not set
in the parent cell on instance creation. This has been true for a
long time, but the network_info would be included very shortly
thereafter in a subsequent call to instance_update_at_top. However,
the network_info field is not marked as updated in that update, and so
as of the commit referenced above, with change tracking now in place,
the network_info field is never updated.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1471958/+subscriptions
Follow ups
References