[openstack-dev] [nova] Next steps for resource providers work
Jay Pipes
jaypipes at gmail.com
Wed Aug 31 09:07:10 UTC 2016
On 08/29/2016 12:40 PM, Matt Riedemann wrote:
> I've been out for a week and not very involved in the resource providers
> work, but after talking about the various changes up in the air at the
> moment a bunch of us thought it would be helpful to lay out next steps
> for the work we want to get done this week.
Apologies to all. BT Internet has been out most of the time in the house
I've been staying at in Cheshire while on holiday and so I've been
having to trek to a Starbucks to try and get work done. :(
> Keep in mind feature freeze is more or less Thursday 9/1.
>
> Also keep in mind the goal from the midcycle:
>
> "Jay's personal goal for Newton is for the resource tracker to be
> writing inventory and allocation data via the placement API. Get the
> data pumping into the placement API in Newton so we can start using it
> in Ocata."
Indeed, that is the objective...
> 1. The ResourceTracker work starts here:
>
> https://review.openstack.org/#/c/358797/
>
> That relies on the placement service being in the service catalog and
> will be optional for Newton.
Technically, the original revision of that patch *didn't* require the
placement API service to be in the service catalog. If it wasn't there,
the scheduler reporting client wouldn't bomb out, it would just log a
warning and an admin could restart nova-compute when a placement API
service entry was added to Keystone's service catalog.
But then I was asked to "robustify" things instead of use a simple error
marker variable in the reporting client to indicate an unrecoverable
problem with connectivity to the placement service. And the patch I
pushed for that robustification failed all over the place, quite
predictably. I was trying to keep the patch size to a minimum originally
and incrementally add robust retry logic and better error handling. I
also as noted in the commit message, used the exact same code we were
using in the Cinder volume driver for finding the service endpoint via
the keystone service catalog:
https://github.com/openstack/nova/blob/master/nova/volume/cinder.py#L71-L83
That has been changed in the latest patch from Sean to use the
keystoneauth1.session.Session object instead of a requests.Session
object directly. Not sure why, but that's fine I suppose.
> There are details to be sorted about
> if/when to retry connecting to the placement service with or without
> requiring a restart of nova-compute, but I don't think those are too hairy.
They are indeed hairy, as most retry logic tends to be. I would be happy
to get confirmation that we can iteratively add retry logic to followup
patches, instead of doing it all up front in the 358797 patch.
> Jay is working on changes that go on top of that series to push the
> inventory and allocation data from the resource tracker to the placement
> service.
Yes, I have the inventory patch ready to go but have not pushed it yet
because I was trying to get the initial patch agreed-upon. I will push
the inventory patch up shortly as soon as I rebase onto Sean's latest
revision.
Best,
-jay
More information about the OpenStack-dev
mailing list