Earlier  
Posted Nick Remark
#openstack-nova - 2017-01-26
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?
14:51:52 dansmith bauzas: I dunno what a new version would signal, TBH
14:52:21 snikitin sfinucan: Hi! thank you for comments! I updated https://review.openstack.org/#/c/399613
14:52:38 dansmith bauzas: if they don't die, then maybe we should make them die and make that a new service version, and then check for that version in the scheduler
14:52:41 bauzas dansmith: good question about nova computes refusing to start
14:52:51 bauzas dansmith: I agree with that plan
14:52:54 johnthetubaguy cdent: its not as bad, because the old compute could have had that same config, but its sure borderline
14:52:57 dansmith I think it's what johnthetubaguy was saying too
14:52:59 bauzas dansmith: that's the move defensive one
14:53:12 johnthetubaguy yeah, make it obvious things are bad
14:53:22 snikitin alex_xu: Hi Alex! I got two +2 on this patch https://review.openstack.org/#/c/394480/ can I get a +W, please?
14:53:41 dansmith johnthetubaguy: do you think it's too borderline?
14:53:49 bauzas but we said placement is mandatory for ocata, right?
14:54:02 dansmith johnthetubaguy: I feel like we've already agreed we're going to make this decision
14:54:03 dansmith right
14:54:03 bauzas so that means you have to access it when restarting your services
14:54:04 dansmith what bauzas said
14:54:05 dansmith and we're logging on newton
14:54:28 johnthetubaguy dansmith: I think I am OK because we get a massive gain, so we stick with it
14:54:31 bauzas here, we're just trying to allow newton computes that are untouched to still be able to get instances on them
14:54:58 dansmith johnthetubaguy: but really, it was optional in newton, required in ocata, and this is just enforcing that no?
14:55:21 bauzas dansmith: to summarize, if I'm bumping the service version now, that would mean I'm sure the service is upgraded to ocata
14:55:49 johnthetubaguy dansmith: I think the key bit that makes me OK, is they just need to update the config on the old system before they do the upgrade, if they haven't done that
14:55:54 mriedem o/
14:56:05 dansmith bauzas: you don't need to bump it now, but if you're going to make the computes refuse to start, I'd call that a service version.. otherwise you're adding a number that doesn't have any real meaning
14:56:06 bauzas now, the only question would be : should we silently soft-fail and do nothing with the risk for operators that they could loose capacity if they misconfigure ?
14:56:19 johnthetubaguy big fire, always the big fire
14:56:24 dansmith johnthetubaguy: right, and they could have done that in newton months ago if they wanted to be proactive
14:56:29 bauzas dansmith: the thing is that we haven't bumped the version in Ocata
14:56:36 dansmith bauzas: not at all?
14:56:36 johnthetubaguy dansmith: yeah, I think thats what makes me OK with it
14:56:52 bauzas dansmith: I'm still seeing version 15 in my local master branch
14:56:59 dansmith mriedem: read back to my "let me summarize" comment to cdent
14:57:03 mriedem what are we doing with a min service version check?
14:57:04 dansmith bauzas: then yes you need to add one
14:57:12 johnthetubaguy yeah, just add one
14:57:23 bauzas on it
14:57:23 dansmith mriedem: thinking we will add a fallback to RT data _if_ the computes are not all upgraded
14:57:27 dansmith mriedem: in the scheduler
14:57:38 bauzas and we hard-fail, as johnthetubaguy said
14:57:39 dansmith mriedem: which will let us get past grenade, and give the deployers a little longer grace period
14:58:15 dansmith mriedem: once they upgrade all their computes, scheduler will stop looking at RT data
14:58:29 dansmith mriedem: which means if they only change config during the upgrade they will still be fine
14:58:55 dansmith mriedem: whereas before, we had to make them configure their newton computes before starting the controller upgrade
14:59:25 mriedem we only fallback if we don't get any RPs *and* minimum compute isn't new enough right?
14:59:26 sfinucan claudiub|2: I looked at that and it seems fine, but I think one of Moshe's questions still stands
14:59:41 dansmith mriedem: no we have to always fallback if computes are old

Earlier   Later