14:00:15 <edleafe> #startmeeting nova_scheduler
14:00:15 <openstack> Meeting started Mon Mar 20 14:00:15 2017 UTC and is due to finish in 60 minutes.  The chair is edleafe. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:00:17 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
14:00:19 <openstack> The meeting name has been set to 'nova_scheduler'
14:00:24 <edleafe> Godd UGT morning! Who
14:00:28 <edleafe> doh
14:00:32 <jroll> morning :P
14:00:32 <edleafe> Who's here?
14:00:45 <edleafe> s/Godd/Good
14:00:46 <alex_xu> o/
14:01:02 * edleafe has sufficient caffeine, so no excuse for sloppy typing
14:02:55 <mriedem> o/
14:03:35 <edleafe> kind of empty, eh?
14:04:23 <jroll> jaypipes is here but looking at a tripleo bug in -nova it seems
14:04:34 <jaypipes> yeah, I'm here.
14:04:43 <edleafe> Well, let's get started
14:04:46 <edleafe> #topic Specs & Reviews
14:05:01 <edleafe> First up - Traits series, starting with:
14:05:01 <edleafe> #link https://review.openstack.org/#/c/376199/
14:05:19 <bauzas> \o
14:05:24 <edleafe> That series is very important, so please everyone spend some review cycles on it
14:05:50 <edleafe> It's looking pretty close, too
14:06:18 <edleafe> Also, my allocation/inventory fixes are languishing:
14:06:18 <edleafe> #link https://review.openstack.org/#/c/416751/
14:06:26 <edleafe> Gotta rebase one of those
14:06:37 <edleafe> But it would be nice to get these in soon
14:06:49 <edleafe> Any other specs/reviews to discuss?
14:06:57 <alex_xu> i have question for trait
14:07:01 <bauzas> will do some reviews
14:07:02 <jroll> yeah, I have a spec up
14:07:02 <edleafe> go
14:07:03 * jroll digs
14:07:26 <alex_xu> jroll can go first
14:07:30 <jroll> this adds the extra specs we need to flavors for custom resource classes: https://review.openstack.org/#/c/446570/
14:07:45 <jroll> I wanted to check with jaypipes if he's cool working on the allocation dependency noted there
14:07:49 <edleafe> #link https://review.openstack.org/#/c/446570/
14:07:53 <jroll> or if we should include it in that spec
14:07:56 <jroll> alex_xu: thanks :)
14:08:00 <alex_xu> jroll: np :)
14:09:18 <edleafe> alex_xu: go ahead with yours
14:09:20 <jroll> we can move to alex_xu's question and come back to mine
14:09:22 <jroll> heh
14:09:29 <alex_xu> #link https://review.openstack.org/#/c/376200/19/nova/tests/functional/api/openstack/placement/gabbits/traits.yaml@41
14:10:08 <edleafe> alex_xu: that's a good question
14:10:12 <alex_xu> 'PUT /traits/CUSTOM_TRAIT_1' needn't a request body, but it's forced to have a 'content-type' header, I feel it is strange
14:10:27 <alex_xu> #link https://github.com/openstack/nova/blob/master/nova/api/openstack/placement/handler.py#L189
14:10:33 <alex_xu> ^ it is forced at here
14:10:45 <edleafe> alex_xu: I defer those questions to cdent, who isn't around at the moment
14:11:01 <alex_xu> I also care about what cdent think about
14:11:14 <alex_xu> but I can check with him when he is online
14:11:15 <jroll> that is odd, I agree, but I think it's something we could clean up later
14:11:39 <alex_xu> jroll: to consider the microversion...
14:11:40 <edleafe> alex_xu: That does seem odd to enforce if there is no request body
14:11:48 <alex_xu> i afraid it is kind of API contract change
14:12:10 <jroll> alex_xu: true, I guess I don't worry about microversions much
14:12:16 <jroll> meaning I think lots of them are ok
14:12:17 <edleafe> alex_xu: that's a grey area. Is it a bugfix, or a simple change of behavior
14:12:40 <edleafe> alex_xu: IOW, something is now failing that shouldn't
14:13:20 <alex_xu> yea
14:14:11 <edleafe> jroll: to get back to your question, since the dependency is necessary to get done, one of us will do it for sure
14:14:26 <edleafe> might be jaypipes or not
14:14:49 <jroll> edleafe: it's in jaypipes head, that's why I ask him :P
14:15:28 <jroll> but yeah
14:15:29 <jaypipes> jroll: I will review the spec for custom resource classes in flavors today.
14:15:48 <edleafe> jroll: we're working on a way to wire jaypipes to the internet so we can Google his head
14:15:48 <jroll> jaypipes: thanks
14:16:10 <jaypipes> edleafe: lol, that would be scary.
14:16:39 <edleafe> Anything else for Specs/Reviews?
14:16:55 <bauzas> alex_xu: I think I have part of the answer here https://tools.ietf.org/html/rfc7231#section-4.3.4
14:17:07 <bauzas> alex_xu: that's because we need to know the semantics
14:18:35 <edleafe> bauzas: specifying a different content-type should fail, yes.
14:18:47 <alex_xu> bauzas: ok, that is long, i need a little time to read it
14:18:52 <edleafe> bauzas: the concern is not specifying one. Hard to say that that "conflicts"
14:19:11 <bauzas> alex_xu: https://tools.ietf.org/html/rfc7231#section-3.1.1.5 is maybe better to read
14:19:57 <bauzas> "Implementers are encouraged to provide a    means of disabling such "content sniffing" when it is used. "
14:20:00 <bauzas> but let's move on
14:20:02 <edleafe> We can continue this on the review, if desired
14:20:09 <alex_xu> at least it didn't say we should return 400?
14:20:26 <alex_xu> ok
14:20:31 <edleafe> #topic Bugs
14:20:45 * bauzas loves digging RFCs like going to the dentist...
14:20:51 <edleafe> Ran into this one late Friday.
14:20:52 <edleafe> (edleafe) from my functional test work, I noticed that the resource_tracker._allocate_for_instance() silently fails if the resource amounts consumed by an instance violate the inventory constraints. We need to figure out a better way of handling these types of failures.
14:20:57 <edleafe> #link https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L952-L953
14:21:00 <edleafe> #link https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L987-L988
14:21:04 <edleafe> Failures, if any, are ignored.
14:21:29 <edleafe> I had created a functional test that created an instance whose DISK_GB violated the step_size constraint
14:21:54 <edleafe> But because I was testing the RT, I didn't use the placement API directly.
14:22:14 <edleafe> The scheduler report client correctly disallowed the allocation
14:22:34 <edleafe> But the RT just went ahead as if it had succeeded
14:22:53 <edleafe> I wanted to discuss whether that is the design we want
14:23:01 <cdent> sorry I'm late
14:23:08 <edleafe> IOW, in practice we should never hit that code path
14:23:16 <edleafe> But those are "famous last words"
14:23:29 <edleafe> welcome, cdent!
14:24:33 <edleafe> I added a test that demonstrates the failure to
14:24:36 <edleafe> #link https://review.openstack.org/446123
14:25:41 <cdent> If the answer is "no, that is not the design we want" what is the alternative? What should happen?
14:26:21 <edleafe> cdent: well, that's why I wanted a discussion
14:26:39 <edleafe> cdent: Should the RT always assume that allocations succeed?
14:26:57 <edleafe> And if it doesn't, how should it complain?
14:27:17 <cdent> my question was with what modes _can_ it complain
14:27:22 * cdent is not clear on the options
14:27:42 <jaypipes> edleafe: that is by design.
14:28:16 * bauzas needing to leave the meeting for the last time of the year :)
14:28:23 <edleafe> jaypipes: can you explain the intent?
14:28:32 <jaypipes> edleafe: we do not want the resource tracker/compute worker to go down due to new placement inventory constraints being violated.
14:28:35 <bauzas> next week, we'll be on summer time \o/
14:28:49 <cdent> (alex_xu: I think we can call that put needing a content-type header thing a bug in the placement framework that we can fix)
14:28:56 * cdent is catching up on the log
14:29:04 <edleafe> jaypipes: go down, sure I get that. But to ignore it completely?
14:29:11 <bauzas> cdent: I left a possible explanation on the review itself
14:29:16 * bauzas disappearing
14:29:20 <jaypipes> edleafe: what would be your solution?
14:29:32 <alex_xu> cdent: to fix later, that is kind of break the rule of microversion
14:30:04 <edleafe> jaypipes: dunno - maybe at least a log entry saying "Hey, things are out of whack with this compute node's resources"
14:30:25 <alex_xu> cdent: or you just mean it is bug, we can fix it now
14:30:51 <cdent> alex_xu: it is a bug, we can (and should) fix it
14:30:57 <jaypipes> edleafe: sure, feel free to add a log entry in there! :)
14:31:04 <alex_xu> cdent: ok, cool, thanks
14:32:41 <cdent> alex_xu: probably best to check both content-lenght and content-type instead of just content-type. I'll fix it this afternoon if nobody else has already started
14:34:11 <alex_xu> cdent: ok, free to fix it if you have time, i also can fix it, but it is tomorrow for me. free to leave me a message if you didn't get free time
14:34:27 <cdent> alex_xu: will keep you posted
14:34:35 <alex_xu> cdent: thanks
14:34:45 <edleafe> #agreed Don't require Content-type if there is no content
14:35:15 <edleafe> Any other bugs to discuss?
14:35:48 <edleafe> #topic Open discussion
14:36:05 <edleafe> One item on the agenda:
14:36:06 <edleafe> (jroll) I wrote down a rough plan for how we transition ironic flavors, and started thinking about how we move ironic "capabilities" from the ComputeCapabilitiesFilter to placement's traits. Would like quick feedback on the former before I write a spec this week, and will be iterating on the latter to be worked on in queens.
14:36:11 <edleafe> #link https://etherpad.openstack.org/p/nova-ironic-flavor-transition-plan
14:36:22 <edleafe> jroll: anything to add?
14:36:22 <jroll> hey, yeah
14:36:41 <jroll> not really, I'd love some quick feedback there, the traits bit is a wip
14:37:02 <jroll> otherwise I'll be putting that in a spec soon
14:37:21 <edleafe> ok, cool. Everyone be sure to read that etherpad and add your thoughts
14:37:27 <jroll> thanks
14:37:48 <alex_xu> jroll: i guess you are looking for https://review.openstack.org/351063
14:38:16 <cdent> jroll customer resource class value = 1? you've got 0
14:38:49 <cdent> heh, customer. I keep doing that.
14:38:54 <jroll> alex_xu: well, no, we should be following the traits work in http://specs.openstack.org/openstack/nova-specs/specs/pike/approved/resource-provider-traits.html
14:39:27 <jroll> alex_xu: ironic has lots of custom capabilities, with people using the ComputeCapabilitiesFilter, need to find a way to move to traits there
14:40:01 <jroll> cdent: thanks, fixed
14:40:32 <cdent> jroll: cool, was worried I had misunderstood everything up until this point and was going to disappear in a poof of logic
14:40:44 <jroll> cdent: heh, was on cruise control there
14:41:22 <edleafe> The only other thing I would like to mention is the aforementioned addition of some functional tests for the RT and placement. I threw a few tests together, but would really like some feedback and suggestions for improvement before moving ahead any further.
14:41:26 <edleafe> #link https://review.openstack.org/446123
14:41:27 <alex_xu> jroll: yea, https://review.openstack.org/351063 come with the 'resource-provider-traits' spec together, just didn't get progress as it isn't part of priority
14:41:46 <cdent> edleafe: I intend to look today, or at least tomorrow morning
14:41:54 <edleafe> cdent: thx
14:42:17 <edleafe> They already uncovered a "bug" (that really wasn't a bug)
14:42:25 <jroll> alex_xu: right, so I'm more concerned with the ironic transition to that :)
14:42:46 <alex_xu> is there any different between standard traits and custom traits in the flavor?
14:43:10 <jroll> we haven't defined the flavor changes for traits yet, so I don't know :)
14:44:35 <jroll> (afaik)
14:44:40 <diga> sorry, got late
14:45:39 <alex_xu> ok, i probably need to dig more
14:45:54 <edleafe> diga: we're just finishing up. Did you have anything to discuss?
14:46:36 <diga> nothing, as per cdent disucssion last time, I have listed out some details on notification
14:46:44 <diga> edleafe: cdent will update today
14:46:58 <diga> edleafe: cdent, sorry I was on holiday last week
14:47:03 <cdent> diga: no problem
14:47:45 <diga> cdent: will go through meeting logs, as I am late here
14:47:46 <edleafe> Anything else before we end?
14:48:16 <cdent> edleafe: not today, but we should start talking about claims in earnest
14:48:24 <cdent> the current spec is too how, not enough what
14:48:32 <cdent> we need to get what nailed before we start with the how
14:48:42 <edleafe> link?
14:49:02 <cdent> #link claim super wip spec: https://review.openstack.org/#/c/437424/
14:49:45 <edleafe> cdent: added to my "to review" set of tabs
14:50:59 <edleafe> Well, if no one has anything else...
14:51:16 * bauzas back
14:51:24 <bauzas> yeah, just leave comments
14:51:51 <edleafe> #endmeeting