| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-10-15 | |||
| 12:14:32 | gibi | sean-k-mooney: yeah, that is the direction of my thinknig | |
| 12:16:24 | lyarwood | stephenfin: FWIW I wanted to sort the evacuate command out in osc | |
| 12:16:58 | lyarwood | TIL sean-k-mooney had a change for this | |
| 12:19:24 | lyarwood | added to the PTG pad | |
| 12:28:20 | sean-k-mooney | lyarwood: yep it more or less done but we want to rename it back to evacuate | |
| 12:28:34 | sean-k-mooney | its been on my todo list for a whiel if you feel like taking it over | |
| 12:28:43 | sean-k-mooney | if not i can try and do it before the ptg | |
| 12:29:40 | lyarwood | sean-k-mooney: so was that outcome, that we wanted to stay with evacuate for now? | |
| 12:29:48 | lyarwood | sean-k-mooney: if so I can rework it now | |
| 12:30:19 | sean-k-mooney | lyarwood: thats what dansmith wanted | |
| 12:30:36 | sean-k-mooney | also since i want to add recreate as a new action it proably better not to rename | |
| 12:30:43 | brinzhang | gibi, sean-k-mooney: I encounter a question, I want to backport https://review.opendev.org/#/q/status:merged+project:openstack/nova+branch:master+topic:bp/numa-aware-live-migration to Rocky release | |
| 12:30:53 | brinzhang | gibi, sean-k-moooney: Because there is a big gap between its minor versions, I only merged the changes below the api, including the RPC Version changes, but changed rpc_version=5.3 to rpc_version=5.1 to adapt to the version number of Rocky release. | |
| 12:31:00 | sean-k-mooney | lyarwood: the main concen was people thinking it was a new thing calling it resurect | |
| 12:31:15 | sean-k-mooney | brinzhang: that a feature not a bug | |
| 12:31:21 | sean-k-mooney | brinzhang: so you cant backprot it | |
| 12:31:40 | lyarwood | sean-k-mooney: ack yup np, I'll rework it now in that case | |
| 12:31:42 | brinzhang | gibi: but, when I request live migration the rpcverion=5.1 can not valid | |
| 12:31:48 | sean-k-mooney | brinzhang: rpc backports cant realy be done | |
| 12:33:05 | brinzhang | sean-k-mooney: I know, but if I upgrade the rocky release to ussuri, that will be some impact than backport, so I just want to backport it | |
| 12:33:27 | brinzhang | but encountered the rpcverion invalid issue | |
| 12:33:34 | sean-k-mooney | brinzhang yes | |
| 12:33:57 | sean-k-mooney | you cant backport rpc change because it will break upgrades and rolling deployments | |
| 12:34:14 | sean-k-mooney | we have tried downstream and it really did not go well | |
| 12:34:20 | brinzhang | does it need to change the oslo.messaging to adopt 5.1? | |
| 12:35:17 | brinzhang | I got +1 on the basis of the rpc version of the Rocky version, which is not a complete backport | |
| 12:35:38 | sean-k-mooney | +1 from who? | |
| 12:36:10 | sean-k-mooney | we should not attempt to backport this upstream | |
| 12:36:35 | brinzhang | +1 from rocky rpc version 5.0-->5.1, and change the target_compute version from 35 to 36 | |
| 12:37:32 | brinzhang | I looked into the service db table, the node compute can be 36, but when we restart the compute service,the rpc version also in 5.0 | |
| 12:38:33 | brinzhang | sean-k-mooney: Backport is a last resort | |
| 12:39:25 | brinzhang | base on https://github.com/openstack/nova/blob/stable/rocky/nova/compute/rpcapi.py#L351, +1 for the rpcversion | |
| 12:40:01 | brinzhang | refer this patch: https://review.opendev.org/#/c/634606/86 | |
| 12:44:53 | gibi | brinzhang: I've never tried backporting an RPC change. | |
| 12:45:32 | sean-k-mooney | gibi: stephenfin has | |
| 12:45:37 | gibi | I did assisted backporting API changes downstream, there we simply put the new API into the latest microversion of that branch. It is ugly but it works | |
| 12:46:16 | sean-k-mooney | that is ya less then good if you have to ship it to others | |
| 12:46:17 | brinzhang | gibi: I want to know what key points I have overlooked. This method of incrementing the version number based on the rocky version is the same as adding a feature to the master, but why doesn't it take effect? | |
| 12:46:41 | sean-k-mooney | our rule is if it has object,db,api or rpc change its not backported | |
| 12:47:57 | brinzhang | the rules are clear :D | |
| 12:48:20 | sean-k-mooney | am have you pinned your rpc version in the config | |
| 12:48:43 | gibi | sean-k-mooney: yeah, it was a compromise where the necessary risk and future cost was accepted (and I don't have to touch it so I'm fine with it) | |
| 12:48:53 | brinzhang | but in theoretically, my thought can pass, but it is not | |
| 12:49:17 | sean-k-mooney | gibi: we have considered doing the same for api changes but decied not to for feature discovery | |
| 12:49:55 | gibi | brinzhang: might be your problem related to the RPC version alias on the given branch (simply guessing here) | |
| 12:50:02 | sean-k-mooney | e.g. we did not want ot create interoperabity issue between clouds | |
| 12:50:25 | sean-k-mooney | gibi: yep that is want i was wondering for the config | |
| 12:50:28 | sean-k-mooney | more or less | |
| 12:50:45 | sean-k-mooney | e.g. is it pinned to a version and or an alias | |
| 12:51:56 | brinzhang | gibi: alias? what does this mean? | |
| 12:52:14 | brinzhang | RPC version alias? | |
| 12:52:43 | gibi | brinzhang: https://docs.openstack.org/nova/latest/user/upgrade.html#concepts | |
| 12:53:11 | sean-k-mooney | https://github.com/openstack/nova/blob/stable/rocky/nova/compute/rpcapi.py#L354-L364 | |
| 12:54:20 | brinzhang | sean-k-mooney: we dont change the VERSION_ALIASES | |
| 12:54:43 | brinzhang | it is as the same as your paste | |
| 12:54:57 | sean-k-mooney | yes but what do you have your rpc version set to in the config | |
| 12:55:22 | sean-k-mooney | blank, auto, an alias or a value | |
| 12:55:57 | brinzhang | the default, because we dont config the rpcversion in conf file | |
| 12:56:27 | sean-k-mooney | so i think that will default to the newest version supported by the current node | |
| 12:56:48 | sean-k-mooney | meaing if you have not applie the change to all serivce some will be 5.0 and other will be 5.1 | |
| 12:57:06 | sean-k-mooney | auto i think figures out thet max supported version for all nodes | |
| 12:57:34 | sean-k-mooney | for the numa migration at least both comptue nodes and the conductor would need 5.1 | |
| 12:58:00 | brinzhang | sean-k-mooney: yeah, I can try your suggestion, I changed two nodes's code in my 3 nodes cluster | |
| 12:58:30 | brinzhang | but stoped the nova-* services in another node | |
| 12:59:12 | sean-k-mooney | i think we store the version in the db somewhere | |
| 12:59:46 | sean-k-mooney | so stopping it might not be enough dansmith is who i normally ask about this becasue i generally try to avoid it | |
| 12:59:59 | brinzhang | I just find the compute version in service db table | |
| 13:00:53 | sean-k-mooney | this is still the video i go to to understand this stuff https://www.youtube.com/watch?v=wVXiw09XP04 i wonder how much of that still applies | |
| 13:01:47 | brinzhang | https://github.com/openstack/nova/blob/stable/rocky/nova/conf/rpc.py this conf file seems not contain your said auto, default value | |
| 13:02:36 | brinzhang | yeah, I will see the vedio tomorrow, need to jump the firewall | |
| 13:02:38 | sean-k-mooney | auto is not the default | |
| 13:02:58 | brinzhang | if I want to use auto, how to config? | |
| 13:03:04 | sean-k-mooney | https://github.com/openstack/nova/blob/stable/rocky/nova/conf/upgrade_levels.py | |
| 13:03:10 | sean-k-mooney | but also that is the file you want | |
| 13:03:37 | sean-k-mooney | the default is unest which means use the latest vers this code knows | |
| 13:03:46 | sean-k-mooney | https://github.com/openstack/nova/blob/stable/rocky/nova/conf/upgrade_levels.py#L55-L61 | |
| 13:04:35 | sean-k-mooney | [upgrade_level]/compute=auto | |
| 13:04:51 | brinzhang | got it, thanks | |
| 13:04:56 | sean-k-mooney | in this case you want 5.1 | |
| 13:05:04 | sean-k-mooney | so you can just set that | |
| 13:05:21 | sean-k-mooney | you also need to do it for the conductor | |
| 13:05:30 | sean-k-mooney | https://github.com/openstack/nova/blob/stable/rocky/nova/conf/upgrade_levels.py#L117 | |
| 13:05:51 | brinzhang | yeah, I will try, two ways: 1. set [upgrade_level]/compute=auto in nova compute node, and then to do live migration, | |
| 13:06:07 | sean-k-mooney | you need to set it for both compute and conductor | |
| 13:06:13 | brinzhang | 2. replaced all nodes's code of nova, and then try again | |
| 13:06:25 | brinzhang | ack | |
| 13:06:43 | sean-k-mooney | i assume you have also backported all the ovo changes | |
| 13:07:10 | sean-k-mooney | e.g. the change to the migrate_data object to store the numa toplogy | |
| 13:08:15 | brinzhang | yes, I was backported all the bp's patches | |
| 13:08:48 | sean-k-mooney | there have been some bugfixes too but it more or less shoudl be fine | |
| 13:09:04 | sean-k-mooney | brinzhang: you are aware you can manually live migrate numa instance before too right | |
| 13:09:12 | sean-k-mooney | we just dont recaluate the xml | |
| 13:09:31 | sean-k-mooney | so if you have 1 free compute node you can live mgirate without thse backports to do a rolling upgrade | |
| 13:10:10 | sean-k-mooney | you just need to ensure the cpus and hugepages exctra are free on the dest | |
| 13:10:27 | brinzhang | yes | |
| 13:11:40 | brinzhang | I will use two node to have a test, at leat two node, because I should ensure this feature is fine, otherwise, it will have some risk, it's not allow | |
| 13:12:33 | brinzhang | Later I will search for related bug fixes and backport | |
| 13:13:00 | sean-k-mooney | have you also backported sriov live migration i assume not | |
| 13:13:55 | brinzhang | sriov live migration we completed it by ourself, dont need to backport ^^ | |
| 13:14:34 | brinzhang | If we upgrade in future, and we will use the merged codes too | |