| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-06-15 | |||
| 16:07:08 | bauzas | yeah, we already have some filters for matching with hypervisors "capabilities" | |
| 16:07:21 | bauzas | one for matching flavors against it, and the other for images | |
| 16:07:50 | bauzas | say you have a flavor, you can restrict it to some computes based on their "capabilities" | |
| 16:07:56 | bauzas | ie. old traits style | |
| 16:08:10 | dansmith | yeah this isn't quite that.. similar but not exactly | |
| 16:08:15 | dansmith | from the filtering side I mean | |
| 16:08:18 | bauzas | but sshhhttt, or jaypipes would tableflip :p | |
| 16:09:08 | dansmith | this would be something where we'd have to add the capability or trait of "can do device metadata" to what they or their image asked for | |
| 16:09:23 | dansmith | since they shouldn't have to ask for a trait of device-metadata _and_ set the device metadata themselves | |
| 16:09:58 | bauzas | dansmith: you mean the matching ? | |
| 16:10:14 | bauzas | dansmith: not sure I get you | |
| 16:10:20 | dansmith | not sure I get /you/ ;) | |
| 16:10:24 | bauzas | hah | |
| 16:10:41 | bauzas | pourtant je parle bien | |
| 16:10:42 | bauzas | :p | |
| 16:10:43 | mriedem | bauzas: my point or question is, | |
| 16:10:54 | mriedem | https://github.com/openstack/nova/blob/master/nova/virt/driver.py#L124 does not get exposed/used in ComputeCapabilitiesFilter right? | |
| 16:11:18 | mriedem | like "supports_attach_interface" seems kind of important to know for filtering | |
| 16:11:32 | mriedem | well, not really for filtering since it's something you do to an existing instance | |
| 16:11:38 | dansmith | mriedem:not really | |
| 16:11:39 | dansmith | yeah | |
| 16:11:44 | mriedem | so once you're on a host, you're screwed if it doesn't support that | |
| 16:11:45 | dansmith | you don't know you need that ahead of time necessarily | |
| 16:11:52 | bauzas | sec, verifying filters | |
| 16:12:04 | dansmith | I'm quite sure those virt caps are not reflected anyhere | |
| 16:12:10 | dansmith | they're just used as feature flags inside compute manager | |
| 16:12:13 | mriedem | right i didn't think so | |
| 16:12:23 | bauzas | dansmith: that's correct | |
| 16:12:48 | mriedem | i've always thought we could easily stash these in the compute node record and check them in the api, which would be a poor man's capabilities api thing | |
| 16:12:59 | mriedem | and i think that's kind of how the cinder volume backend capabilities stuff works | |
| 16:13:32 | bauzas | mriedem: dansmith: so the "capabilities" that are exposed in the HostState are not the above | |
| 16:13:34 | mriedem | but, i don't really want to go down that path right now | |
| 16:13:39 | mriedem | bauzas: right | |
| 16:13:41 | mriedem | yes? | |
| 16:13:41 | mriedem | they are the stats | |
| 16:13:42 | dansmith | not sure I'm in favor of half-assing the capabilities thing since it's pretty critical | |
| 16:13:52 | mriedem | dansmith: sure, i don't want to half ass it either, | |
| 16:13:58 | mriedem | there is currently 0 ass working on it | |
| 16:14:04 | dansmith | yeah | |
| 16:14:29 | bauzas | mriedem: not only the stats AFAIK | |
| 16:14:31 | mriedem | also, let's start quantifying efforts from now on by how much ass it requires | |
| 16:15:02 | dansmith | heh | |
| 16:15:04 | bauzas | mriedem: that's litterally : please match my flavor extra specs key with some HostState field having the same name, more or less namespaced | |
| 16:15:47 | mriedem | bauzas: we just have none of that defined anywhere though right? | |
| 16:15:58 | mriedem | like as an operator how would i know what the available capabilities are? | |
| 16:16:03 | mriedem | w/o reading the code | |
| 16:17:10 | mriedem | i'm surprised it's even in the default list of enabled filters | |
| 16:17:21 | bauzas | mriedem: that's just one of the hackiest filters we merged in the past with the worst external API | |
| 16:17:43 | bauzas | the API being the contract you make on your flavor extraspecs | |
| 16:18:18 | NostawRm | I'm not sure this is the right place for this, but I'm not really savvy on how nova uses everything all the fields it has available. I don't really see how 'accessIPv4/6' is being used, but would it make sense at all in netutils.py to get them and return that IP for metadata/configdrive if its in the list of IPs for a vif? | |
| 16:18:36 | NostawRm | Guess I don't want to start going down the rabbit hole unless it makes sense :P | |
| 16:18:51 | NostawRm | oh hrm, but it doesn't for most people, because for most people an access IP is a floating IP. | |
| 16:19:10 | mriedem | https://docs.openstack.org/developer/nova/filter_scheduler.html says | |
| 16:19:16 | mriedem | "checks that the capabilities provided by the host compute" | |
| 16:19:21 | bauzas | mriedem: see the UTs, you'll enjoy | |
| 16:19:24 | mriedem | but where would one find what those capabilities are? | |
| 16:19:37 | mriedem | is that checks that the capabilities provided by the host compute ? | |
| 16:19:42 | mriedem | er https://developer.openstack.org/api-ref/compute/?expanded=show-hypervisor-statistics-detail#show-hypervisor-statistics | |
| 16:20:01 | mriedem | so capabilities:running_vms < 10 ? | |
| 16:20:11 | bauzas | mriedem: https://github.com/openstack/nova/blob/master/nova/tests/unit/scheduler/filters/test_compute_capabilities_filters.py#L72 | |
| 16:20:20 | bauzas | mriedem: ^ is the flavor extra specs | |
| 16:20:29 | bauzas | mriedem: but you can ask for anything in the HostState object | |
| 16:20:43 | bauzas | of course, cpu_info is one attribute of it | |
| 16:20:49 | mriedem | so the answer is, go look at the HostState code | |
| 16:20:54 | bauzas | mriedem: exactly | |
| 16:20:58 | mriedem | which is a shit answer | |
| 16:21:01 | bauzas | exactly | |
| 16:21:19 | bauzas | no, it's just something driven by hack | |
| 16:21:45 | bauzas | but until we get traits sorting, that's the only thing you can do | |
| 16:22:03 | bauzas | lovely, isn't it ? | |
| 16:22:10 | mriedem | bauzas: is the HostState fields that feed that filter finite? | |
| 16:22:15 | openstackgerrit | John Griffith proposed openstack/nova master: WIP/POC Implement new attach Cinder flow https://review.openstack.org/330285 | |
| 16:22:16 | mriedem | s/is/are/ | |
| 16:22:22 | bauzas | mriedem: absolutely not | |
| 16:22:25 | mriedem | gdi | |
| 16:22:35 | bauzas | mriedem: because you can use stats | |
| 16:22:44 | bauzas | and voila, you can report anything you want | |
| 16:23:17 | mriedem | but what feeds the stats? | |
| 16:23:24 | bauzas | I refrained in the past a long list of changes wanting to add more things in the HostState or filtering based on any cool attributes | |
| 16:23:55 | bauzas | the only answer I was able to provide before jaypipes saved the world with ResourceProviders and Traits was "go use stats" | |
| 16:24:20 | jaypipes | bauzas: s/saved the world/caused the world to burn to a crisp/ | |
| 16:25:14 | bauzas | jaypipes: you should just feel like http://api.theweek.com/sites/default/files/styles/tw_image_9_4/public/50692_article_full.jpg?itok=X1oW13j5&resize=1260x560 | |
| 16:25:28 | jaypipes | heh | |
| 16:25:29 | bauzas | with the catchphrase | |
| 16:25:48 | bauzas | mriedem: to your question about stats, sec | |
| 16:26:07 | bauzas | I don't want to say something wrong | |
| 16:26:52 | mriedem | running_vms i guess? | |
| 16:26:54 | mriedem | oops | |
| 16:26:58 | mriedem | get_host_cpu_stats | |
| 16:27:02 | mriedem | which goes into the cpu monitor thing | |
| 16:27:19 | mriedem | and we said no more memory or nic bandwidth monitors | |
| 16:27:27 | mriedem | no more metrics or stats collection | |
| 16:28:14 | mriedem | or not, because that goes into compute_nodes.metrics | |
| 16:28:15 | bauzas | mriedem: yeah, so stats are compute monitors | |
| 16:29:13 | mriedem | what sets resources['stats'] though? https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L554 | |
| 16:29:24 | mriedem | resources comes from driver.get_available_resources() | |
| 16:29:35 | bauzas | mriedem: from compute.monitors | |
| 16:29:51 | bauzas | are you really sure you want to enter that rathole ? | |
| 16:30:01 | openstackgerrit | OpenStack Proposal Bot proposed openstack/nova master: Updated from global requirements https://review.openstack.org/474672 | |
| 16:30:50 | mriedem | i'm not making the connection between the cpu metric monitor and how that sets a "stats" key in the resources dict that the RT is using | |