Earlier  
Posted Nick Remark
#openstack-nova - 2017-06-15
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 they are the stats
16:13:41 mriedem yes?
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
16:32:28 openstackgerrit OpenStack Proposal Bot proposed openstack/os-vif master: Updated from global requirements https://review.openstack.org/467173
16:32:48 mriedem i don't think anything sets this https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L554
16:33:32 bauzas I have a fun KB
16:33:33 bauzas https://www.ibm.com/support/knowledgecenter/SS8MU9_2.3.0/Admin/tasks/integratingplugin.html
16:34:23 mriedem well it used to be stevedore plugin extensions i think
16:34:30 mriedem i think we might have killed that in newton or so
16:35:21 mriedem anyway, i don't even remember what i was doing 40 minutes ago when i went down this mess, and now it's lunch time
16:37:36 bauzas gosh, all that spaghetti code is confusing me too
16:39:25 bauzas hmpf, looks like I was confusing stats and metrics
16:39:54 mriedem i don't see how that could be possibly confusing
16:40:19 bauzas but anyway, we have *something* that is amending the HostState so that ComputeCapabilitiesFilter can use it thru the extra specs
16:44:01 bauzas oh, and I remember other thing
16:44:15 bauzas mriedem: virt drivers are reporting the instances they can support
16:44:25 bauzas mriedem: thru a supported_instances field
16:45:07 bauzas anyway, I need to bail out
16:45:41 bauzas not sure we can just summarize all of that but saying it's just hard
16:46:16 NostawRm lol, I thought I'd try to do what I was saying with the accessIPv4, but its not as straight forward as I'd thought just because i was confused thinking that 'instance' was an arg for get_injected_network_template()
17:01:16 openstackgerrit Merged openstack/python-novaclient master: Revert "client.logger.warning wrongly used in migrations" https://review.openstack.org/474600
17:25:52 openstackgerrit Gábor Antal proposed openstack/nova master: Transform instance.resize_prep notification https://review.openstack.org/465081
17:44:34 eandersson How do I output python logging even on successful tests?
17:45:24 eandersson Want to compare the output from successful and failed runs

Earlier   Later