Earlier  
Posted Nick Remark
#openstack-nova - 2017-01-26
14:33:44 bauzas dansmith: I'm maybe particularly exhausted and short-sighted but have we agreed to ask operators to modify their nova.conf to amend placement section in newton before upgrading ?
14:34:06 dansmith bauzas: didn't we agree to that like weeks ago?
14:34:23 bauzas I think I'm nervous
14:34:24 dansmith if not, I'm not sure why we're doing all of this :)
14:34:49 bauzas and I think my brain is litterally getting me mad
14:35:26 dansmith I'm nervous that we might have to wait until pike to deliver any measurable scheduler improvement
14:35:42 dansmith by the way,
14:36:47 dansmith cdent: I know jaypipes did some scheduler benchmarking early on to test the sql-based approach, but do you know if anyone has measured the performance of the potentially large http queries the scheduler will be making? Like, under load with a large cloud...
14:36:59 dansmith I was thinking about that last night
14:37:08 claudiub|2 dansmith: does this help? 2017-01-26 03:04:14.169 2780 WARNING nova.scheduler.client.report [req-b2db1cb5-b647-4e48-b939-b0dfd7509e17 - - - - -] No authentication information found for placement API. Placement is optional in Newton, but required in Ocata. Please enable the placement service before upgrading.
14:37:08 cdent dansmith: have you seen the mail I sent last night on a similar topic
14:37:27 dansmith claudiub|2: help what?
14:37:35 bauzas dansmith: nothing really yet AFAIU
14:37:53 bauzas we haven't tested yet the performance, only what yingxin and jay did
14:38:07 claudiub|2 a, sorry, bauzas asked about the placement section in nova.conf. my bad. :)
14:38:09 cdent dansmith: my calculations are ~250 requests per second on a 1000 compute node cluster with 10 instances per node
14:38:21 dansmith claudiub|2: ah, yeah, that.. we added that warning to help exactly that, yeah :)
14:38:21 cdent that vast majority of those GETs
14:38:33 johnthetubaguy dansmith: are you very against doing scheduling the old way, but only until all compute nodes are upgraded? (a modified option 3)
14:38:38 bauzas okay, we need to move on
14:38:47 cdent and many of them redudant, with a few minor fixes to the resource_tracker (all in the email dansmith)
14:38:52 dansmith cdent: ah, okay, that's a pretty high rate right?
14:38:54 dansmith cdent: yeah, looking now
14:38:57 cdent dansmith: yes
14:39:00 bauzas I'll at least work on trying to have the force_hosts thing to accept an empty list
14:39:06 johnthetubaguy is that without any builds happening?
14:39:07 dansmith johnthetubaguy: I have been yeah
14:39:24 cdent johnthetubaguy: yes, that's after the builds are done and change has frozen
14:39:37 johnthetubaguy dansmith: don't get me wrong, I would love to do a clean switch, but I would rather that than not land it
14:39:42 cdent but it can be cut _way_ back with a few changes. halfed with a bug fix that's already in progress
14:40:05 johnthetubaguy cdent: that sounds like a worthy aim
14:40:44 cdent in order to make one fix, I/someone needs to understand why tracked_instances in the resource tracker is being cleared on every periodic job
14:40:46 dansmith cdent: okay, but also, we can scale that horizontally
14:41:02 cdent if that clear() doesn't happen, the number of requests can drop, alot
14:41:14 cdent dansmith: yeah, which is nicely easy
14:41:17 dansmith johnthetubaguy: the problem with that is that I think people will rely on that crutch
14:41:30 cdent yeah, that crutch is something we've been wanting to avoid
14:41:34 dansmith johnthetubaguy: but, if we check service_version and only do the fallback if there are old nodes, maybe that's a thing
14:41:45 johnthetubaguy dansmith: thats the one I was meaning
14:41:50 dansmith johnthetubaguy: that way once they've updated everything then they're stuck
14:41:51 johnthetubaguy dansmith: only during upgrade, allow the fallback
14:42:04 johnthetubaguy we should totally not fallback once we are upgraded
14:42:07 dansmith cdent: I know, I really want to avoid the crutch
14:42:19 bauzas we all want to avoid the crutch
14:42:29 bauzas (whatever the word means for a non-English speaking person)
14:42:31 dansmith but, if we give them a crutch that is half cut through so that it breaks once they walk out the door
14:43:04 johnthetubaguy dansmith: thats the one
14:43:18 johnthetubaguy dansmith: like trolley wheels that lock on if you steal the trolley
14:43:19 bauzas johnthetubaguy: dansmith: I can propose something about a conditional branch verifying the service version
14:43:36 bauzas and if you upgrade all your computes, then good luck
14:43:40 johnthetubaguy bauzas: thats what I suggested on the ML anyways (at least thats what I tried to suggest)
14:44:21 dansmith johnthetubaguy: by trolley you mean "shopping cart" right?
14:44:25 bauzas johnthetubaguy: well, I mentioned that also in my email as a conclusion, but I said we turned down the idea
14:44:41 bauzas johnthetubaguy: if we revise that to something acceptable, then I can surely implement it
14:44:49 dansmith cdent: what do you think about that?
14:44:49 bauzas but I'd love to see some quorum here
14:45:11 dansmith cdent: I'll summarize
14:45:21 dansmith cdent: we can detect if all the computes have been upgraded or not,
14:45:43 dansmith cdent: and so we could fall back on the crutch until that point, and then go scorched-earth after that and refuse to look at anything other than placement
14:46:09 dansmith cdent: which would solve our current problem and not let anyone (reasonably) keep from using placement in ocata
14:46:29 dansmith most people that don't do full-on live upgrades would have to deploy placement immediately (i.e. the tripleo types)
14:46:31 cdent so each resource tracker would say "are all my peers up to date with me?" and if not, they'd use the old method of handling inventory?
14:46:37 dansmith no,
14:46:51 dansmith computes would all do placement and RT all the time like they do now,
14:47:00 dansmith but scheduler would refuse to look at the RT data once all the computes are upgraded
14:47:30 dansmith so it would just be a change in bauzas' patch
14:47:31 cdent but the problem we're having right now is computes that _may_ be upgraded, but haven't changed their configuration?
14:47:32 bauzas lemme fire a patch ip
14:47:40 bauzas so cdent can see
14:47:45 bauzas I mean a diff pastebin
14:47:53 cdent I understand the change, I'm just not clear if it covers all the issues
14:48:05 dansmith I'm pretty sure it does
14:48:09 johnthetubaguy so we might need one step worse...
14:48:19 johnthetubaguy the placement data will be incomplete
14:48:33 johnthetubaguy so we could use the crutch all the time, until the upgrade has completed
14:48:39 dansmith johnthetubaguy: right you'd have to favor the RT data until the time when you switch
14:48:43 openstackgerrit Sergey Nikitin proposed openstack/nova: Change parent of diagnostics objects to NovaObject class https://review.openstack.org/394480
14:48:44 openstackgerrit Sergey Nikitin proposed openstack/nova: Standardization of VM diagnostics info API. https://review.openstack.org/355540
14:48:46 openstackgerrit Sergey Nikitin proposed openstack/nova: Completed implementation of instance diagnostics for Xen https://review.openstack.org/399613
14:49:02 dansmith johnthetubaguy: the downside is that it makes the switch to different data non-obvious, so people may not know why things are suddenly being different,
14:49:08 dansmith just because a lab monkey upgraded the last one
14:49:15 johnthetubaguy yeah
14:49:38 bauzas easy peasy question, can someone tell me the minimum service version for Ocata computes ?
14:49:57 bauzas we don't comment that in the SERVICE_VERSION_HISTORY dict
14:50:02 dansmith johnthetubaguy: we could log all-caps WARNING messages whilst using the crutch :)
14:50:04 johnthetubaguy bauzas: technically, you might want to bump that, so you know everyone has your patch
14:50:06 dansmith bauzas: yes, it's easy
14:50:18 bauzas johnthetubaguy: we don't need that
14:50:29 cdent okay, I think I'm caught up with you dansmith: the scheduler is the one that checks if all the compute nodes are up to date, and then makes a choice on what type of scheduling it does, yeah?
14:50:35 bauzas johnthetubaguy: all computes are already able to talk to placement since newton
14:50:49 bauzas johnthetubaguy: I just want to detect a fresh code
14:50:49 dansmith bauzas: https://github.com/openstack/nova/blob/stable/newton/nova/objects/service.py#L92
14:50:59 dansmith cdent: yes
14:50:59 cdent bauzas: but only if they have the config...
14:51:12 bauzas cdent: but we say they need to upgrade to ocata, right?
14:51:27 johnthetubaguy so does a compute node die if it doesn't have placement configured?
14:51:29 bauzas dansmith: okay, so I need to set a new version
14:51:34 bauzas johnthetubaguy: nope
14:51:38 dansmith will ocata computes fail to start if the placement config is not done?
14:51:39 cdent bauzas: yes, but earlier you were complaining that making people change their configs to upgrade to ocata was in violation?

Earlier   Later