| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-09-04 | |||
| 14:26:17 | sean-k-mooney | is greade hard to run or is basically the same as devstack | |
| 14:32:03 | mriedem | it's just a set of bash scripts that orchestrates setting up n-1 devstack, creating some resources, shutting down and then running N version devstack and making sure those resources are still around | |
| 14:32:14 | mriedem | i've never run it locally manually, only in CI | |
| 14:32:33 | gibi | mriedem: looking at the MigrationTask. When the dest is selected by the scheduler I can check right away if the dest has a new enough compute service version. But if not, then what? simulate a re-schedule locally in the conductor? https://github.com/openstack/nova/blob/cbaea3bd690c683e83a063acfa69919668eaa123/nova/conductor/tasks/migrate.py#L248 | |
| 14:33:10 | mriedem | gibi: you'd have to iterate alternates | |
| 14:33:13 | sean-k-mooney | mriedem: looking at the zuul config they dont have a non legacy way to run it | |
| 14:33:19 | sean-k-mooney | https://opendev.org/openstack/grenade/src/branch/master/.zuul.yaml | |
| 14:33:21 | mriedem | it's times like this that i've thought about having a compute service version filter in the scheduler | |
| 14:33:32 | mriedem | so we can say internally "only give me computes with service version >= x for this feature" | |
| 14:34:12 | sean-k-mooney | mriedem: well if that feature was a compute capablity tratis we could use placemtn for that | |
| 14:34:14 | gibi | mriedem: Yeah that was what I mean by simualting a re-schedule locally , as I have to take care of num_retries and the allocations too | |
| 14:34:16 | mriedem | sean-k-mooney: https://review.opendev.org/#/c/548936/ | |
| 14:34:20 | sean-k-mooney | like your multi attach stuff | |
| 14:34:39 | openstackgerrit | Merged openstack/nova master: Make _get_cpu_feature_traits() always return a dict https://review.opendev.org/679568 | |
| 14:34:52 | openstackgerrit | Merged openstack/nova master: libvirt: Make scheduler filters customizable https://review.opendev.org/679745 | |
| 14:34:52 | sean-k-mooney | mriedem: ya i saw that mentioned on the infra irc yesterday | |
| 14:35:00 | mriedem | gibi: num_retries, you mean max_attempts? | |
| 14:35:00 | sean-k-mooney | i was not sure how far along it was | |
| 14:35:10 | mriedem | gibi: if so, that's built into the number of alternates you get back from the scheduler | |
| 14:35:38 | gibi | mriedem: ohh, good point. If I run out of alternates then raise MaxRetriesExceeded | |
| 14:36:17 | mriedem | gibi: yeah, and write it in a separate method so we can drop that in U or V | |
| 14:36:23 | gibi | mriedem: sure | |
| 14:37:10 | sean-k-mooney | mriedem: ok it looks like that is passing. i wonder is there a reason it is not merged yet. i should go ask them | |
| 14:37:27 | gibi | mriedem: also I think I have to check the version of the source compute as well becuase request spec travels like cond -> dest -> source -> dest so if the source is old then the request_spec will not reach the dest at the end | |
| 14:37:32 | mriedem | sean-k-mooney: the scheduler will already filter dest computes that have the required nested inventory for qos bw providers, but we do'nt know if that dest compute is stein or train to support cold migratoin with those things, and i don't think we want to get into a habit of adding a compute capability for every "supports_fancy_unicorn" feature just for rolling upgrade support | |
| 14:37:45 | mriedem | sean-k-mooney: probably b/c grenade cores (of which i'm one) haven't looked at it | |
| 14:38:09 | mriedem | gibi: correct, like the port binding stuff in live migration, you have to check source and dest | |
| 14:38:20 | gibi | mriedem: OK. thanks for the help. | |
| 14:38:23 | mriedem | gibi: the source you could check in the API i guess | |
| 14:38:30 | mriedem | and 409 if it's old | |
| 14:38:36 | gibi | mriedem: yes, I can do that | |
| 14:40:03 | mriedem | his? | |
| 14:46:47 | gibi | (as a note, in hungarian are no gender specific words for he, she, it, just a single 'ő' ) | |
| 14:52:26 | mriedem | could be worse, could be french, right? isn't everything gender specific in french? | |
| 14:54:00 | gibi | I know german a bit, and that already worse :) | |
| 14:54:40 | gibi | and I can imagine hungarian being worse on many different level compared to english | |
| 14:55:42 | sean-k-mooney | gibi: you can almost always use the gender nutral form in english if you prefer although singular they or it can annoy some | |
| 14:56:01 | mriedem | brinzhang: the reason for the functional test failures is inline https://review.opendev.org/#/c/673133/ | |
| 14:56:06 | stephenfin | mriedem, gibi: I need a way to prevent people only setting '[compute] cpu_dedicated_set' on hosts that have non-pinned instances (to prevent https://review.opendev.org/#/c/674895/22/nova/virt/libvirt/driver.py@7358) | |
| 14:56:07 | sean-k-mooney | for some reason people dont like to be refered to as "it" | |
| 14:56:11 | mriedem | it's because of stubs in the api samples tests | |
| 14:56:22 | gibi | sean-k-mooney: thank. I try to remember to that | |
| 14:56:28 | mriedem | if we were using real compute services and the CinderFixture we wouldn't have that problem, but re-writing those tests is beyond this patch | |
| 14:56:43 | stephenfin | I'm thinking iterating through every single instance on the host in 'LibvirtDriver.init_host' is too expensive | |
| 14:57:12 | gibi | stephenfin: don't we already iterating every instance in init_host? | |
| 14:57:30 | sean-k-mooney | we do in update_resouces or whatevre its called | |
| 14:57:43 | sean-k-mooney | i thikn we call that as part of init | |
| 14:57:49 | stephenfin | gibi: If we do, I don't see it | |
| 14:57:52 | sean-k-mooney | we iterate over all instance to plug there interfaces | |
| 14:57:55 | sean-k-mooney | at the very least | |
| 14:58:01 | stephenfin | It all seems to be basic config opt checks | |
| 14:58:03 | stephenfin | Hmm | |
| 14:58:03 | mriedem | gibi might be thinking of ComputeManager.init_host | |
| 14:58:12 | dansmith | artom: check me here: https://review.opendev.org/#/c/634606/73 | |
| 14:58:17 | gibi | yeah, I think I remember ComputeManager.init_host | |
| 14:58:18 | openstackgerrit | Luyao Zhong proposed openstack/nova master: db: Add resources column in instance_extra table https://review.opendev.org/678447 | |
| 14:58:19 | openstackgerrit | Luyao Zhong proposed openstack/nova master: object: Introduce Resource and ResouceList objs https://review.opendev.org/678448 | |
| 14:58:20 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Add resources dict into _Provider https://review.opendev.org/678449 | |
| 14:58:20 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Retrieve the allocations early https://review.opendev.org/678450 | |
| 14:58:21 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Claim resources in resource tracker https://review.opendev.org/678452 | |
| 14:58:21 | openstackgerrit | Luyao Zhong proposed openstack/nova master: libvirt: Enable driver discovering PMEM namespaces https://review.opendev.org/678453 | |
| 14:58:22 | openstackgerrit | Luyao Zhong proposed openstack/nova master: libvirt: report VPMEM resources by provider tree https://review.opendev.org/678454 | |
| 14:58:22 | openstackgerrit | Luyao Zhong proposed openstack/nova master: libvirt: Support VM creation with vpmems and vpmems cleanup https://review.opendev.org/678455 | |
| 14:58:23 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Parse vpmem related flavor extra spec https://review.opendev.org/678456 | |
| 14:58:23 | openstackgerrit | Luyao Zhong proposed openstack/nova master: libvirt: Enable driver configuring PMEM namespaces https://review.opendev.org/679640 | |
| 14:58:24 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Add functional tests for virtual persistent memory https://review.opendev.org/678470 | |
| 14:58:31 | dansmith | artom: that's a big nasty patch, so it's a good sign that I only had a couple minor things | |
| 14:59:02 | mriedem | ComputeManager.init_host gets all instances https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1256 | |
| 14:59:07 | stephenfin | Oh, ComputeManager.init_host | |
| 14:59:26 | stephenfin | I was thinking this would have to live in 'LibvirtDriver.init_host' | |
| 14:59:37 | artom | dansmith, witness me! | |
| 14:59:57 | mriedem | stephenfin: is cpu_dedicated_set a new config option in that series? | |
| 15:00:02 | stephenfin | yup | |
| 15:00:32 | mriedem | how do you determine if an instance is pinned or not? | |
| 15:00:38 | mriedem | looking at the instance.numa_topology? | |
| 15:01:01 | cdent | try to lift it up | |
| 15:01:05 | cdent | if it doesn't move... | |
| 15:01:08 | stephenfin | mriedem: Instance.numa_topology.cpu_pinning_requested | |
| 15:01:22 | mriedem | stephenfin: so none of that is libvirt specific yeah? | |
| 15:01:45 | stephenfin | technically no. It just won't do anything without libvirt | |
| 15:02:16 | mriedem | for now | |
| 15:02:27 | stephenfin | That 'cpu_pinning_requested' property would never be set on non-libvirt driver | |
| 15:02:30 | stephenfin | Correct | |
| 15:02:48 | mriedem | so...add a compute driver capability so a nova-compute running vsphere doesn't have to look at that for 1K+ instances managed by that host | |
| 15:03:35 | mriedem | if self.driver.capabilities.get('supports_some_hw_magic', False): | |
| 15:03:38 | mriedem | # do expensive thing | |
| 15:04:16 | stephenfin | so not "if CONF.compute_driver == 'libvirt'" ? | |
| 15:04:20 | mriedem | alternatively we change the ComputeDriver.init_host interface to pass the list of instances on that host into the virt driver | |
| 15:04:24 | openstackgerrit | Luyao Zhong proposed openstack/nova master: object: Introduce Resource and ResourceList objs https://review.opendev.org/678448 | |
| 15:04:24 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Add resources dict into _Provider https://review.opendev.org/678449 | |
| 15:04:25 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Retrieve the allocations early https://review.opendev.org/678450 | |
| 15:04:25 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Claim resources in resource tracker https://review.opendev.org/678452 | |
| 15:04:26 | openstackgerrit | Luyao Zhong proposed openstack/nova master: libvirt: Enable driver discovering PMEM namespaces https://review.opendev.org/678453 | |
| 15:04:26 | openstackgerrit | Luyao Zhong proposed openstack/nova master: libvirt: report VPMEM resources by provider tree https://review.opendev.org/678454 | |
| 15:04:27 | openstackgerrit | Luyao Zhong proposed openstack/nova master: libvirt: Support VM creation with vpmems and vpmems cleanup https://review.opendev.org/678455 | |
| 15:04:27 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Parse vpmem related flavor extra spec https://review.opendev.org/678456 | |
| 15:04:28 | openstackgerrit | Luyao Zhong proposed openstack/nova master: libvirt: Enable driver configuring PMEM namespaces https://review.opendev.org/679640 | |
| 15:04:28 | openstackgerrit | Luyao Zhong proposed openstack/nova master: Add functional tests for virtual persistent memory https://review.opendev.org/678470 | |
| 15:04:29 | artom | stephenfin, eww | |
| 15:04:33 | mriedem | stephenfin: right that ^ | |