[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