| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-01-05 | |||
| 15:24:48 | sean-k-mooney | here https://review.opendev.org/c/openstack/nova/+/729563/26/nova/conductor/manager.py#1251 | |
| 15:31:47 | sean-k-mooney | gibi: ya im not sure im a fan of folding _rebuild_cyborg_arq into the calling function | |
| 15:32:00 | gibi | that could be a comment | |
| 15:32:26 | sean-k-mooney | the other changes all look correct to me in the conductor manager however | |
| 15:33:50 | sean-k-mooney | well it only had one caller | |
| 15:34:21 | sean-k-mooney | and i intoduced it so ti could be reused for the other opertion so if we are not doing that removing it makes sense | |
| 15:34:41 | sean-k-mooney | its just the calling function is already quite large so its was nice to have it broken out | |
| 15:36:32 | gibi | yeah | |
| 15:36:41 | gibi | they tried to reuse it but that would neede a new flag | |
| 15:36:46 | gibi | so I was against that | |
| 15:36:54 | gibi | but we can keep it the hlper | |
| 15:36:56 | gibi | helper | |
| 15:44:12 | sean-k-mooney | its a nice to have rather then anything functional so not enough to -1 over | |
| 17:12:42 | openstackgerrit | Dan Smith proposed openstack/nova stable/victoria: Warn when starting services with older than N-1 computes https://review.opendev.org/c/openstack/nova/+/761923 | |
| 17:13:19 | dansmith | gibi: if you will double-check my edits here I can just +2+W this as I just fixed nits ^ | |
| 17:14:42 | gibi | dansmith: looking | |
| 17:16:24 | gibi | dansmith: thanks, looks good to me | |
| 17:20:38 | dansmith | ack | |
| 23:59:24 | openstackgerrit | Merged openstack/nova master: Improving the description for unshelve request body https://review.opendev.org/c/openstack/nova/+/767251 | |
| #openstack-nova - 2021-01-06 | |||
| 01:17:27 | openstackgerrit | melanie witt proposed openstack/nova master: Enable test_volume_backed_live_migration in tempest https://review.opendev.org/c/openstack/nova/+/528104 | |
| 01:30:11 | brinzhang0 | bauzas, sean-k-mooney: I have replied the cyborg shelve/unshleve patch, pls review again, and I think there is no need to update in, one comments need to move the comments, and I will addressed in the followed up patch | |
| 06:53:47 | openstackgerrit | Mamduh proposed openstack/os-vif stable/queens: Refactor code of linux_net to more cleaner and increase performace https://review.opendev.org/c/openstack/os-vif/+/765941 | |
| 06:53:48 | openstackgerrit | Mamduh proposed openstack/os-vif stable/queens: Fix - os-vif fails to get the correct UpLink Representor https://review.opendev.org/c/openstack/os-vif/+/765983 | |
| 08:21:22 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Remove dead code from SchedulerReportClient https://review.opendev.org/c/openstack/nova/+/769467 | |
| 09:42:14 | alexe9191 | Hello There, | |
| 09:42:50 | alexe9191 | I was wondering if I can run a newer version of nova-api/scheduler/conductor on an older version of nova-compute. Nova-compute would be kili for instance and the newer version of the API services would be on Pike or Rocky for instance? | |
| 09:44:47 | gibi | alexe9191: nova keeps compatibility between version N+1 controller and version N compute service | |
| 09:45:28 | gibi | so you can have Rocky controller services and Pike compute services | |
| 09:45:41 | gibi | sorry, so you can have Rocky controller services and Queens compute serivces | |
| 09:46:14 | gibi | as Q + 1 = R | |
| 09:46:18 | alexe9191 | interesting, what out of curiosity. Does this also work the other way around? | |
| 09:46:30 | alexe9191 | so nova-compute R and nova-api Q ? | |
| 09:49:19 | gibi | no, the controller services need to be upgraded first | |
| 09:50:17 | alexe9191 | I am also guessing that I can't immediately upgrade the nova-compute from kilo to rocky in one go? This also has to be done in a rolling fashion? So basically, K -> L -> etc > R on the nova-computes ? | |
| 09:51:38 | gibi | alexe9191: what we test is upstream is rolling upgrade as you guessed. There are some support for fast forward upgrade where you move more than one release forward in single step | |
| 09:51:52 | gibi | https://wiki.openstack.org/wiki/Fast_forward_upgrades | |
| 09:54:36 | alexe9191 | I honestly fail to understand that a little bit as the documentation is not really clear on fast forward upgrades | |
| 09:55:41 | sean-k-mooney | alexe9191: fast forward upgrades are not really a feature of the comonet project more an installer feature that the compoent project like nova try to not intentionally break | |
| 09:55:58 | sean-k-mooney | stictly speaking nova only support n to n+1 | |
| 09:56:19 | alexe9191 | So basically this fast forward *feature* is more of a wrapper around what nova support ? | |
| 09:57:05 | sean-k-mooney | not quite it a way of runnign all the db updates and migration for the intermidat release so that you can skip them | |
| 09:57:42 | sean-k-mooney | on the nova side we try to keep that logic around for multiple release so that if you skip 3 version of the compute agent it will still have the compatibley code | |
| 09:58:09 | sean-k-mooney | so nova "supports" fast forward upgrades | |
| 09:58:18 | alexe9191 | So for instance running the DB migration scripts from newton while one is running Kilo ? | |
| 09:58:33 | sean-k-mooney | by keeping the compat code for several release beyond when it was striclty reuired | |
| 09:59:13 | sean-k-mooney | when you do an FFU there is a period where the contolplane is in accessable. | |
| 09:59:41 | sean-k-mooney | basiclly you move the contoler services to newton while the computes are on kilo | |
| 09:59:48 | sean-k-mooney | then you move the compute to newton | |
| 10:00:11 | sean-k-mooney | when you do that in principal the newton contoler cannot manage the kilo compute but the vms keep running | |
| 10:00:35 | sean-k-mooney | when you bring the compute back up to newton manageablity is restored | |
| 10:01:22 | sean-k-mooney | in pratice if there has been no RPC major version bump between the two version you have deploy the contoler could tehoretically mange compute more then 1 releasee old | |
| 10:01:27 | sean-k-mooney | but we dont test that | |
| 10:01:40 | alexe9191 | ok, and rolling upgrade being moving everything at once from one release to the other, both the APi & the nova-compute agents, K, L, N, ... | |
| 10:01:46 | sean-k-mooney | there is typically 5-6 release betwwen major rpc version bumps | |
| 10:02:32 | alexe9191 | That's very helpful to know! | |
| 10:02:50 | sean-k-mooney | alexe9191: rolling upgrades are where you move the contolplane in one go to n+1, then move the computes in a "rolling" or incremental fashion 1 by 1 | |
| 10:03:31 | sean-k-mooney | rolling upgrades allow you to maintain managmeablity of the computes with mixed verions | |
| 10:03:41 | sean-k-mooney | but we only test a delta of 1 verions | |
| 10:04:11 | sean-k-mooney | we write the code such that it could be a larger delta but the test matix is too large for use to offialy support that | |
| 10:04:12 | alexe9191 | Right, so if upgrading K to L. I could basically roll the upgrade to the compute nodes one rack at a time from K to L | |
| 10:04:28 | sean-k-mooney | yes | |
| 10:04:47 | alexe9191 | So in theory one could do N+2 but that's not tested. | |
| 10:05:28 | sean-k-mooney | yes in princiapl n->n+2 should work provided there is not an rpc major version bump in between | |
| 10:05:47 | sean-k-mooney | but really you would be the first to test that | |
| 10:06:10 | alexe9191 | I'd rather stick to what you guys are doing upstream in that case. | |
| 10:06:13 | sean-k-mooney | we have been on RPC version 5.X for about 5 releases now | |
| 10:06:44 | sean-k-mooney | alexe9191: ya if this is a prod deployment that is likely your safest option | |
| 10:06:49 | alexe9191 | I am guessing there are major changes between K and R in RPC versions, is that documented in the release note? | |
| 10:07:05 | alexe9191 | Yes, which sounds that doing the rolling-upgrades is the safest supported solution. | |
| 10:08:08 | sean-k-mooney | i think it would be in the release notes but i can quickly check the code | |
| 10:08:38 | alexe9191 | Fantastic, if I could also know which file you are checking in the source tree that would be great as well. | |
| 10:09:07 | sean-k-mooney | we have each verion bump documented with a comment https://github.com/openstack/nova/blame/master/nova/compute/rpcapi.py#L76 | |
| 10:09:37 | sean-k-mooney | https://github.com/openstack/nova/blame/master/nova/compute/rpcapi.py#L385 | |
| 10:09:42 | alexe9191 | Awesome! | |
| 10:09:45 | sean-k-mooney | the aliase are the quickest way to check | |
| 10:10:23 | alexe9191 | Interesting, so K to P is on the same Major RPC release. | |
| 10:10:32 | sean-k-mooney | so kilo was 4.0 | |
| 10:10:39 | sean-k-mooney | rocky was 5.0 | |
| 10:10:57 | sean-k-mooney | technically 5.0 is the ame as 4.22 | |
| 10:11:46 | sean-k-mooney | so if rocky still has the 4.22 compat code then you could pin the rpc version to 4.0 in principal | |
| 10:11:56 | sean-k-mooney | but it proably will have bugs | |
| 10:12:36 | alexe9191 | This is really helpful! | |
| 10:13:35 | sean-k-mooney | honestly i doubt we actully manged to keep perfect rpc compate and i suspect rocky has had the 4.x compat code removed | |
| 10:14:31 | sean-k-mooney | but looking quickly it looks like the compat code was maybe removed in stine | |
| 10:14:58 | sean-k-mooney | without testign it first however i would not bet on it it fully working | |
| 10:15:07 | alexe9191 | If I am not mistaken, this could mean that in theory I could run Newton API on kilo nova compute. Since the RPC API is on the same major version. | |
| 10:15:39 | sean-k-mooney | in theory yes | |
| 10:16:02 | sean-k-mooney | in practice you would likely be the first to try that and you would have to let us know if it works :) | |
| 10:16:27 | alexe9191 | I will most definitely do that :) | |
| 10:16:33 | sean-k-mooney | you would pin the RPC version of the newton contolplane to 4.0 | |
| 10:16:49 | alexe9191 | This should be done in nova.conf I could imagine ? | |
| 10:16:50 | sean-k-mooney | you can do that via the upgrade levels in the nova.conf | |
| 10:19:02 | alexe9191 | I am gonna let you guys know once I test that! Thanks a lot for all of the helpful information. | |
| 10:19:44 | bauzas | sean-k-mooney: alexe9191: well, Kilo is very prehistoric | |
| 10:20:09 | bauzas | and from the RPC PoV, we only started to introduce massively nova objects by this time | |
| 10:20:15 | sean-k-mooney | it is but so is newton :P | |
| 10:20:33 | bauzas | at newton, we mostly stopped to use dicts on RPC calls | |
| 10:20:48 | bauzas | while during kilo, most of the values were those | |
| 10:20:50 | sean-k-mooney | mostly but we still have a few even on master | |
| 10:21:21 | bauzas | speaking of RPC compat, I'd say a nova boot *could* work | |