14:00:25 <edleafe> #startmeeting nova_scheduler
14:00:26 <openstack> Meeting started Mon Dec  5 14:00:25 2016 UTC and is due to finish in 60 minutes.  The chair is edleafe. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:00:27 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
14:00:29 <openstack> The meeting name has been set to 'nova_scheduler'
14:00:37 <edleafe> Good UGT morning! Who's here?
14:00:40 <cdent> o/
14:00:41 <macsz> \o
14:01:36 <edleafe> The agenda is in the usual place: https://wiki.openstack.org/wiki/Meetings/NovaScheduler#Agenda_for_next_meeting
14:02:07 <edleafe> Hmmm... quiet so far. Have the holiday doldrums started early this year?
14:02:45 <macsz> 3 is a crowd
14:02:48 * _gryf waves late
14:03:59 <cdent> maybe we need to do some louder pinging of jaypipes and bauzas ?
14:04:33 <edleafe> I really hate that practice. We all have calendars, don't we?
14:04:54 <edleafe> Mine even have alarms!
14:04:57 <jaypipes> cdent: U;n gere
14:05:05 <jaypipes> cdent: guh, typing.
14:05:10 <jaypipes> cdent: I'm here :)
14:05:13 <edleafe> Go home jaypipes - you're drunk
14:05:19 <_gryf> :D
14:05:29 <jaypipes> edleafe: no, just on two meetings simultaneously :)
14:05:37 <edleafe> jaypipes: :)
14:05:52 <edleafe> Well, let's get started
14:05:59 * cdent sits comfortably
14:06:02 <edleafe> #topic Specs & Reviews
14:06:27 <edleafe> I listed several of the current bits of code being worked on in the Agenda
14:06:36 <edleafe> Any questions/comments about any of them?
14:06:52 <jaypipes> edleafe: not from me.
14:07:07 <cdent> is nice to see so much going on
14:07:27 <edleafe> My only question was on https://review.openstack.org/#/c/362766/. cdent, is that out of the running for Ocata?
14:07:46 <cdent> I have no idea.
14:08:25 <edleafe> Well, Matt pointed out that the BP wasn't approved, and then didn't approve it
14:08:34 <cdent> because he wanted a spec
14:08:39 <edleafe> I read that as "not gonna happen in Ocata"
14:08:50 <cdent> and then the spec didn't get created because there wasn't consensus on what was wanted
14:09:02 <cdent> so an etherpad was created on which peope were going to decide what they wanted
14:09:06 <edleafe> BPs can be approved before the spec is done
14:09:08 <cdent> and it seemed to stall there
14:09:32 <edleafe> Link to the etherpad?
14:09:35 <jaypipes> edleafe: yeah, just not a priority.
14:09:36 <cdent> so my interpretation is that the current state of opinion is "meh, we'll wait and see"
14:09:44 <cdent> https://etherpad.openstack.org/p/placement-optional-db-spec
14:09:44 <jaypipes> cdent: ya
14:09:58 <edleafe> #link https://etherpad.openstack.org/p/placement-optional-db-spec
14:10:43 <edleafe> Yeah, it seems to have come full circle: from optional in Newton, mandatory in Ocata, to "meh"
14:10:56 <cdent> (my current opinion is that we should try hard to make it not matter: placement database wherever it lives should be self healing)
14:11:47 <edleafe> OK, let's move on then
14:11:51 <edleafe> #topic Bugs
14:12:00 <edleafe> cdent: You added https://bugs.launchpad.net/nova/+bug/1647316 this morning
14:12:00 <openstack> Launchpad bug 1647316 in OpenStack Compute (nova) "scheduler report client sends allocations with value of zero, violating min_unit" [Medium,Triaged] - Assigned to Chris Dent (cdent)
14:12:05 <edleafe> If you like, I can take that
14:12:28 <cdent> yeah, EmilienM is workign on puppet integration and discovered that while doing tests with ceph-based storage
14:12:42 <cdent> edleafe: have at if you have time/interest
14:12:48 <edleafe> I agree that if the amount is zero, there shouldn't be an allocation created
14:13:17 <edleafe> Done. Assigned it to me
14:13:25 <cdent>14:13:32 <edleafe> Any other bugs we need to discuss?
14:13:56 <cdent> yeah, there's one thing:
14:14:15 <edleafe> ok
14:14:33 <cdent> this https://review.openstack.org/#/c/395194/ is a proposed fix for https://bugs.launchpad.net/nova/+bug/1635182
14:14:33 <openstack> Launchpad bug 1635182 in OpenStack Compute (nova) "[placement] in api code repeated need to restate json_error_formatter is error prone" [Low,In progress] - Assigned to Pushkar Umaranikar (pushkar-umaranikar)
14:15:14 <cdent> however, all the proposed fixes have failed to actually work because webob has proven difficult. so what's needed are some additional eyes to help discern additional strategies
14:15:52 <jaypipes> cdent: no disagreements from me on that. I trust you on API-level stuff more than my own opinion :)
14:16:28 * cdent is feeling pretty "meh" about webob
14:16:38 <jaypipes> cdent: yeah
14:16:43 <jaypipes> not a fan either.
14:16:54 <cdent> mehs all around
14:17:05 <edleafe> cdent: so my quick impression: is this something that is needed with the nova stack because it is so dense, but your simpler WSGI implementation in placement makes this unnecessary?
14:17:21 <cdent> anyway, if people have some ideas, that would be great
14:17:29 <cdent> edleafe: which "this" do you mean?
14:18:06 <edleafe> the json_formatter addition
14:18:29 <cdent> that's there to get placement api to follow the api-wg errors guideline
14:18:39 <cdent> nova-api doesn't follow that
14:19:33 <edleafe> cdent: ah, ok. So what is the downside of adding the json_formatter to the exception raising?
14:20:14 <cdent> boilerplate that's easy to forget. it's not the end of the world, would just be nice if there was a way to do it once
14:20:26 <cdent> (without awful monkey hacks)
14:21:05 <edleafe> ok, so the objection is one of elegance, not merely necessity
14:21:17 <edleafe> (which I totally get)
14:21:40 <cdent> elegance + wanting to make sure all exceptions do in fact follow the guideline
14:21:55 <cdent> s/e$/e elegantly/
14:22:18 <cdent> it would be totally fair to say "meh, too hard, let's work on other stuff"
14:22:20 <edleafe> I don't see those as different. If they are, that's not very elegant. :)
14:23:02 <edleafe> #topic Open discussion
14:23:05 <edleafe> to remotable or not to remotable, that is the question: https://review.openstack.org/#/c/404279/
14:23:14 <edleafe> cdent: care to start?
14:23:34 <cdent> (on json_formatter) If Pushkar is able to come up with something, then cool, otherwise may as well let it die
14:23:42 <cdent> yeah, without bauzas here it might be hard though
14:24:12 <cdent> basically most of here have already said that we think it would be reasonable to get rid of remotable on the resource provider objects that the placement api uses
14:24:23 <edleafe> The idea as I understand it is that we don't need remotable, we don't foresee ever needing remotable, so let's simplify our objects
14:24:28 <cdent> this is because the intent is that the http api be the one interface
14:24:34 <cdent> and thus we don't need remotable
14:24:42 <edleafe> cdent: agreed on that point
14:24:54 <cdent> in irc discussion bauzas objected, essentially saying "but what if we change our mind"
14:24:55 <edleafe> it does seem more like a nova-ism
14:25:05 <cdent> to which I responded "YAGNI"
14:25:06 <edleafe> with inter-service RPC calls being the norm
14:25:56 <edleafe> I like the idea of removing it if for no other reason than to discourage the sort of calls that are common in Nova
14:25:59 <cdent> yeah, the idea is that api won't need/want multiple services to perform its function
14:26:10 <cdent> and thus RPC is out
14:26:25 <cdent> thus we should remove unused code (even if it "doesn't hurt anything")
14:26:48 <edleafe> the other side of the argument is that placement may grow over time, and we may need RPC within placement
14:26:59 <edleafe> Again, YAGNI seems about right
14:27:56 <jaypipes> cdent: yeah, kill the remoteable methods, IMHO.
14:28:04 <cdent> _gryf or macsz any thoughts?
14:28:20 <edleafe> #action edleafe jaypipes _gryf macsz to weigh in on https://review.openstack.org/#/c/404279/
14:28:36 <cdent> cool
14:28:41 <_gryf> I think that if we need any rpc later, do the appropriate work later :)
14:28:47 <edleafe> Since bauzas isn't here, let's discuss on the review
14:28:51 <jaypipes> _gryf: ++
14:28:59 <_gryf> i would focus on non remotable now
14:29:29 <edleafe> Any other topics for Opens?
14:29:49 <_gryf> edleafe, I've sent a patch for Add a retry loop to ResourceClass creation
14:29:54 <_gryf> check it put
14:29:59 <_gryf> *out
14:30:06 <edleafe> _gryf: yes, I saw it. Thanks for pitching in
14:30:16 <_gryf> there are two things
14:30:24 <_gryf> which might bother me and cdent
14:30:37 <_gryf> one is how many retries we would need
14:30:54 <_gryf> and those exceptions
14:30:59 <_gryf> thinkgy
14:31:04 <_gryf> thingy*
14:31:18 * _gryf hands are frozen
14:31:35 <edleafe> I like keeping the # of retries high enough that we'll never hit it, but having it there prevents the infinite loop that cdent was concerned about
14:31:56 <_gryf> edleafe, 100? 10,000 ? :)
14:32:07 <edleafe> I'd love some insights into how to distinguish the duplicate entry
14:32:12 <cdent> (i recognize that the odds of the loop are really low, but still)
14:32:19 <edleafe> 10 seems fine
14:32:31 <_gryf> that was my shot either
14:33:50 <edleafe> Also, I believe that DBDuplicateEntry should always have the 'columns' attribute
14:34:09 <edleafe> so I don't see the need for the hasattr that Matt suggested
14:34:19 * _gryf will check that, otherwise edleafe want to take it cover from here
14:34:34 <edleafe> _gryf: sure, I can pick it back up
14:34:39 <_gryf> cool
14:34:48 <edleafe> I was planning on working on it this morning anyway
14:35:04 <edleafe> was happy to see you already did most of the work :)
14:35:17 <_gryf> anything I can help with, you can ping me on #openstack-nova
14:35:42 <edleafe> The only other thing I think we need is a log message if we hit the retry limit.
14:35:51 <edleafe> that way we know if 10 is too low
14:36:20 <_gryf> +1
14:36:41 <edleafe> I know the calling methods will probably log the error, but this way when we have evidence that 10 is not too low, we can remove that specific log entry
14:37:15 <edleafe> Otherwise we are just guessing as to how often these conflicts will happen
14:37:57 * _gryf also wondering, if that retry count needs a config option
14:38:17 <edleafe> cdent: I think if there is a script to add a bunch of Ironic nodes, and it has to add nested RPs for each, it could be hit that way
14:38:32 <edleafe> _gryf: no, please, not a config option!
14:38:32 <edleafe> :)
14:38:35 <cdent> _gryf: no config!
14:38:38 <cdent> jinx
14:38:40 <_gryf> ok… :)
14:38:56 <edleafe> This isn't anything an operator should ever have to think about
14:39:11 <edleafe> It's just a failsafe to prevent infinite loops
14:39:25 <macsz> :)
14:39:27 <edleafe> So maybe let's make it 100 - we should never hit it then
14:39:35 <edleafe> and 640K will always be enough
14:39:39 <edleafe> :)
14:39:45 <_gryf> yeah :)
14:40:16 <edleafe> OK, I'll get to that later today.
14:40:26 <edleafe> Anyone have anything else for Opens?
14:40:31 <cdent> no sir
14:40:45 * _gryf neither
14:41:14 <edleafe> OK, thanks everyone!
14:41:15 <edleafe> #endmeeting