[nova] [cyborg] Impact of moving bind to compute
Matt Riedemann
mriedemos at gmail.com
Fri Jun 7 20:16:29 UTC 2019
On 6/7/2019 12:17 AM, Nadathur, Sundar wrote:
> The ARQ creation could be done at [1], followed by the binding, before acquiring the semaphore or creating other resources. Why is that not a good option?
>
> [1]https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1898
If we created the ARQs in compute I think we'd do it in the
ComputeManager._build_resources method to be consistent with where we
create volumes and ports. My bigger point is if the ARQ creation fails
in compute for whatever reason, then we have to rollback any other
resources we create (ports and volumes) which gets messy.
Doing the ARQ creation before _build_resources in ComputeManager (what
you're suggesting) would side-step that bit but then we've got
inconsistencies in where the server create flow creates external
resources within the compute service, which I don't love.
So I think if we're going to do the ARQ creation early then we should do
it in the conductor so we can fail fast and avoid a reschedule from the
compute.
--
Thanks,
Matt
More information about the openstack-discuss
mailing list