Earlier  
Posted Nick Remark
#openstack-nova - 2019-02-19
10:30:42 kashyap stephenfin: Alright, will do. I _began_ with a separate patch, originally, you know - then squashed it :-)
10:47:20 openstackgerrit Adam Spiers proposed openstack/nova master: WIP: Convert driver supported capabilities to compute node provider traits https://review.openstack.org/538498
11:40:18 openstackgerrit Silvan Kaiser proposed openstack/nova master: Added mount fstype based validation of Quobyte mounts https://review.openstack.org/522245
11:50:59 openstackgerrit sean mooney proposed openstack/os-vif master: [WIP] remove brctl from vif_plug_ovs https://review.openstack.org/636821
11:52:22 openstackgerrit sean mooney proposed openstack/os-vif master: remove brctl from vif_plug_ovs https://review.openstack.org/636821
11:53:52 openstackgerrit Lee Yarwood proposed openstack/nova stable/queens: Avoid redundant initialize_connection on source post live migration https://review.openstack.org/637827
12:35:35 openstackgerrit ya.wang proposed openstack/nova master: Add configuration item cpu_models to libvirt https://review.openstack.org/637834
13:12:21 aspiers cdent: you around? I'm a bit confused whether a compute driver should be able to provide a CUSTOM_ trait or not.
13:13:53 aspiers https://specs.openstack.org/openstack/nova-specs/specs/pike/implemented/resource-provider-traits.html suggests not but https://review.openstack.org/#/c/538498/7/nova/virt/driver.py@934 seems to contradict that
13:15:30 openstackgerrit sean mooney proposed openstack/os-vif master: remove use of brctl from vif_plug_linux_bridge https://review.openstack.org/636822
13:15:57 cdent aspiers: I'm around now. What's up?
13:16:09 aspiers that spec suggests CUSTOM_* was just for admin/operator usage, but maybe it's for everything not in os-traits?
13:16:24 aspiers I see the placement API prevents a PUT of any trait without CUSTOM_ prefix
13:16:53 aspiers would a virt driver ever want to provide a trait not in os-traits?
13:17:02 aspiers 3rd-party drivers maybe?
13:23:59 cdent aspiers: sorry for the delay. It depends on who you ask.
13:24:40 cdent The hope is that anything that is the result of the virt driver "knowing things" about it's environment would be traits in os-traits
13:24:53 cdent and as things are needed by the virt drivers they get added to os-traits
13:25:25 cdent but it's pretty clear that's not always going to be realistic, but, as you say placement will only allow CUSTOM_* traits to be created over the api
13:25:38 cdent s/it's/its/
13:26:11 kashyap stephenfin: Untangling the mess out of it turning out to be more painful than expected :-(
13:26:52 cdent aspiers: it's more a matter of trying (and failing) to fix my hasty typing disease. It's especially bad with contractions and homophones.
13:26:54 kashyap "the mess" -- remove the 'sclplm'-only first.
13:27:08 aspiers cdent: so you mean that for now at least, we have to allow for drivers providing traits not in os-traits? but would those traits always have the CUSTOM_ prefix, or not necessarily?
13:27:30 cdent If a driver needs to use something that's not in os-traits they have two choices:
13:27:34 cdent * add it to os-traits
13:27:40 cdent * use a CUSTOM_*
13:27:56 cdent ideally the former would be the go to thing
13:29:37 aspiers got it
13:47:16 aspiers cdent: so this? https://pasteboard.co/I1Tbzp2.png
13:48:00 openstackgerrit Silvan Kaiser proposed openstack/nova master: Exec systemd-run without --user flag in Quobyte driver https://review.openstack.org/554195
13:48:40 tssurya mriedem, dansmith: under which section of the admin docs would you prefer the down cell to be in ? or should I just start w new one?
13:49:09 kaisers stephenfin: Hi! FYI: Followed up on your comments on https://review.openstack.org/#/c/522245/ and https://review.openstack.org/#/c/554195/
14:17:06 openstackgerrit Hamdy Khader proposed openstack/os-vif master: Add create_port field in VIFPortProfileOpenVSwitch profile https://review.openstack.org/636061
14:17:08 stephenfin kaisers: Sweet. I've left comments on the systemd one. Might be as easy discuss here if you disagree
14:17:41 stephenfin kaisers: I'm well aware of how many revisions it's gone through too. Sorry :(
14:22:39 kaisers stephenfin: mmh, driver changes have outgrown the tests, I'm going through those...
14:32:43 cdent aspiers: was on a walk. parsing that image...
14:36:50 mriedem melwitt: so on https://review.openstack.org/#/c/633351/ you're picking up a marker instance record from an earlier data migration
14:36:55 mriedem and that marker instance doesn't have a user_id set
14:36:58 mriedem hence the infinite loop
14:37:04 stephenfin kaisers: Addressed the other one too https://review.openstack.org/#/c/522245/
14:38:03 kaisers stephenfin: thnx!
14:38:30 mriedem melwitt: this is the migration that creates the marker instance with the 0'ed uuid and no user_id https://github.com/openstack/nova/blob/ab5a9bba31664e74c1e866c620b0d284d1d4f4cb/nova/objects/virtual_interface.py#L301
14:39:45 mriedem there must also be a data migration that creates a marker instance mapping with the same 00000000-0000-0000-0000-000000000000 uuid
14:44:35 aspiers mriedem: please can you sanity check my understanding too? https://pasteboard.co/I1Tbzp2.png
14:45:45 mriedem the capabilities patch being the one you're trying to rebase?
14:45:50 mriedem then yes i think so
14:46:00 aspiers yes, that one
14:46:13 aspiers well, I've succeeded in rebasing it ;-) the struggle now is finishing off the tests
14:46:15 mriedem the compute "owns" the capabilities it reports, and if something external removes it then it will get put back on the next periodic task run
14:46:40 mriedem if an admin wants to schedule around hosts with a given capability, they use forbidden traits in their flavor
14:47:01 aspiers but the driver can still provide other traits outside this new capabilities-to-traits mechanism, right? like cpu flags etc.
14:47:14 mriedem correct
14:47:29 aspiers but it can also provide CUSTOM_* stuff which isn't capabilities?
14:47:41 mriedem the libvirt driver would be reporting traits that are both cpu flags and capabilities, like COMPUTE_SUPPORTS_MULTIATTACH or whatever
14:47:56 mriedem no i don't think so
14:48:21 aspiers is that COMPUTE_SUPPORTS_MULTIATTACH or CUSTOM_COMPUTE_SUPPORTS_MULTIATTACH?
14:48:33 mriedem not custom
14:48:38 mriedem it's a standard trait
14:48:42 aspiers ah OK
14:48:47 mriedem https://github.com/openstack/os-traits/tree/master/os_traits/compute
14:48:58 openstackgerrit Jan Gutter proposed openstack/os-vif master: Clean up versioned object backlevelling code https://review.openstack.org/630976
14:49:00 mriedem https://github.com/openstack/os-traits/blob/master/os_traits/compute/volume.py#L24
14:49:34 mriedem COMPUTE_TRUSTED_CERTS is another https://github.com/openstack/os-traits/blob/master/os_traits/compute/__init__.py#L19
14:49:50 aspiers got it
14:50:07 mriedem the *only* driver i'm not sure about is ironic since i think nova proxies the traits from the ironic node to placement
14:50:13 mriedem i'm not sure if those are made CUSTOM_
14:50:51 mriedem that happens here https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L831
14:50:59 mriedem looks like the traits on the node are just passed through as-is
14:51:02 mriedem so they can be standard or custom
14:51:07 mriedem jroll: ^ is that accurate?
14:51:30 mriedem https://developer.openstack.org/api-ref/baremetal/?expanded=show-node-details-detail#node-traits-nodes
14:51:39 mriedem "Traits can be either standard or custom."
14:52:46 aspiers mriedem: so the puzzle I'm currently facing with tests is this: I want to remove a CUSTOM_ trait in order to test that the periodic update replaces it correctly. But if I delete using the placement API fixtures then the trait is still in the provider tree, so it doesn't recognise that the traits are out of sync due to https://github.com/openstack/nova/blob/master/nova/scheduler/client/report.py#L1046
14:53:22 aspiers if I comment out that return then it works, but I'm not sure if that will break something else
14:54:23 jroll mriedem: they can only be custom: https://developer.openstack.org/api-ref/baremetal/#node-traits-nodes
14:54:27 jroll er wait
14:54:32 mriedem so set_traits_for_provider is being called with the traits from the provider tree in the compute driver rather than the traits from the placement API?
14:54:34 jroll no, they can be both, you're right
14:55:34 aspiers mriedem: correct
14:55:51 aspiers (I think anyway; my head is beginning to hurt a bit at this stage)
14:56:07 mriedem aspiers: that sounds like an efried question
14:56:11 aspiers OK
14:56:12 mriedem and i'm about to jump on a call
14:56:38 aspiers OK np, thanks for the help
14:56:40 mriedem eric should be well rested after his presidents day celebrations
14:56:43 efried aspiers: gimme a sec
14:56:46 aspiers haha
14:56:59 efried yeah, it wasn't what you would call a relaxing day.
14:57:15 mriedem was someone out protesting the border wall again
14:57:49 aspiers %-/
14:58:02 efried aspiers: should I read back or you wanna summarize?
14:58:13 aspiers I'll try to summarise
14:58:17 efried or that
14:58:26 stephenfin kashyap: What Georg Hoesch has pointed out here looks correct https://review.openstack.org/#/c/632507/12/nova/virt/libvirt/driver.py
14:58:34 aspiers it looks to me like set_traits_for_provider() is currently designed as a push from the provider tree to placement, rather than a bidirectional sync
14:58:35 stephenfin kashyap: If you agree, I'm happy to +2 as-is
14:58:44 stephenfin (Don't know how far you got in splitting up that patch)
14:59:07 kashyap stephenfin: Yeah, just read that. In the last 2 hours I came to the conclusion that we should untangle it

Earlier   Later