Earlier  
Posted Nick Remark
#openstack-nova - 2018-09-05
15:47:15 bauzas for the moment, we only support one, hence your change being good
15:47:26 mriedem bauzas: also, on that libvirt change, i haven't actually tested that with a real system that has vgpu inventory on it
15:47:46 bauzas mriedem: tbh, that's the problem I have, my machine has been passed to another one...
15:47:50 mriedem so if you have a setup like that, or are able to do it quicker than me, that would be great if you could actually make sure this does the needful
15:47:54 mriedem ah
15:48:03 bauzas mriedem: yeah sure, it's just...
15:48:11 bauzas you know, hardware etc.
15:49:56 mriedem i'm sure sean-k-mooney has some hardware that he nabbed from intel on the way out
15:52:19 sean-k-mooney mriedem: unfortunetly not but i have some hardware i bought on ebay
15:52:26 sean-k-mooney what was it in relation too?
15:55:08 mriedem vgpu testing for my reshaper patch
15:57:05 pvc just a quick question mriedem
15:57:25 pvc what release does the cinder volume in-use state extension supported?
15:57:28 sean-k-mooney mriedem: ah unforunetly i dont have any vgpu suff currently.
16:00:01 dansmith mriedem: so do you think we squashed it? http://status.openstack.org/elastic-recheck/#1789484
16:04:15 mgagne Lets say your Ironic instance only has 2 physical nics and you don't want a 3rd interface attached because it just wouldn't work. Would Nova check for this limitation and fail at the API level?
16:05:43 mriedem pvc: let me go back to your original question: https://review.openstack.org/#/c/590188/ will not be backported upstream
16:05:45 mriedem because it's for a feature
16:06:04 mriedem even though it says it's a bug, it's a bug related to implementing a feature
16:06:31 pvc i see thank you :)
16:07:40 mriedem volume extend support was added in pike https://specs.openstack.org/openstack/nova-specs/specs/pike/implemented/nova-support-attached-volume-extend.html
16:08:26 pvc yes but on LVM driver only. for rbd is not yet supported
16:09:01 mriedem sure, that's not a bug though
16:09:36 mriedem more specifically, it's supported for iscsi and fibrechannel volume types
16:09:42 mriedem which is more than just lvm
16:09:58 pvc yes do you have idea when is the implementation for rbd?
16:10:12 mriedem the next patch in that series https://review.openstack.org/#/c/594273/
16:10:27 mriedem but the blueprint isn't approved - it has to be discussed during the weekly nova meeting
16:11:45 pvc i see thank you so much for your time :)
16:15:42 openstackgerrit Matt Riedemann proposed openstack/nova stable/pike: Fix nova-status "_check_resource_providers" check https://review.openstack.org/600113
16:23:30 openstackgerrit Matt Riedemann proposed openstack/nova stable/ocata: Fix nova-status "_check_resource_providers" check https://review.openstack.org/600119
16:32:19 jaypipes mgagne: no, it would not fail at the API level, AFAIK. it would fail during node provisioning in ironic virt driver.
16:33:29 openstackgerrit melanie witt proposed openstack/nova stable/rocky: Make scheduler.utils.setup_instance_group query all cells https://review.openstack.org/599732
16:37:51 openstackgerrit melanie witt proposed openstack/nova stable/queens: Make scheduler.utils.setup_instance_group query all cells https://review.openstack.org/599766
16:50:59 openstackgerrit Merged openstack/nova master: Fix nova-status "_check_resource_providers" check https://review.openstack.org/599875
16:51:05 openstackgerrit Merged openstack/nova master: Fix DB archiver AttributeError due to wrong table name attribute used https://review.openstack.org/599878
16:54:39 mriedem alex_xu: Kevin_Zheng: yikun: replied in https://review.openstack.org/#/c/591976/ re: the changes-since == changes-before debate
16:54:50 mriedem cdent: edleafe: from an API SIG pov you might have input on ^
16:55:04 mriedem would be interesting to know if any other APIs in openstack have filtering capability like that
16:55:34 cdent mriedem: been a while since I looked at that so not caught up on the issues
16:56:06 cdent nova drove the existence of changes-since, yeah?
16:56:07 mriedem the big debate is what to do if changes-since == changes-before
16:56:27 mriedem umm, i'm assuming so...
16:57:35 mriedem glance has some funky filter-based filtering stuff using operators
16:59:53 mgagne jaypipes: I was referring to the attach-interface action, the hotplug feature
17:00:38 mgagne hmm I think I reworded my question before sending, might not have been clear then :-/
17:09:34 openstackgerrit Elancheran S proposed openstack/nova master: Add exact match aggregate image properties matcher/filter https://review.openstack.org/593167
17:10:27 mgagne ok, it seems it would fail on Ironic side with NoFreePhysicalPorts exception which would be mapped to a Bad Request at the Ironic API. This will be mapped to VirtualInterfacePlugException in Nova virt driver. There is a generic try catch in compute manager which will raise InterfaceAttachFailed. And API will map to HTTPInternalServerError
17:11:59 openstackgerrit Elancheran S proposed openstack/nova stable/pike: Add exact match aggregate image properties matcher/filter https://review.openstack.org/599870
17:12:12 sean-k-mooney mgagne: not in all cases. i know cisco added a thing where you can attach more interfaces then avaialble to a ironic system via neutron turnk port extition
17:12:50 mgagne sean-k-mooney: yes, I'm concerned about "flat" networks where there is no trunk involved
17:13:27 mgagne and about the UX in case of failure.
17:13:41 sean-k-mooney one thing i was not aware of and maybe you can clarify. do we today allow you to attach an interface to an ironic node after its deployed?
17:13:49 mgagne yes
17:14:15 sean-k-mooney mgagne: and if we execeed the available interfaces we get an error or silent failure today?
17:15:11 mgagne if you have flat networks, Nova will fail with a 500 error without much information about the reason. This is what I understood from reading the code.
17:15:42 sean-k-mooney and you would like to chage that to a vifplug exception
17:15:55 mgagne attach/detach for Ironic was added in Pike: https://docs.openstack.org/releasenotes/nova/pike.html#new-features (2nd item)
17:15:55 sean-k-mooney well VirtualInterfacePlugException
17:16:27 mgagne sean-k-mooney: it would be a much better UX if the user got a 400 instead of a 500
17:18:13 sean-k-mooney so you want to make it a 400 calls bad request rather then a 500 server error as its an enduser error to try to attach more interface then phyically avaialble
17:18:37 mgagne yes, anything in the 4XX range
17:19:17 mgagne because I don't think it's a server side error from the user perspective
17:19:25 sean-k-mooney i mean that seam reasonable. i think i reivewd or partly reviewd code from you on this topic
17:20:11 mgagne could be 406, 409. I'm not an expert.
17:20:36 mgagne so you are the person I want to be friend with =)
17:21:40 sean-k-mooney im not an expert either but i dont think 409 or 406 is correct
17:22:03 sean-k-mooney 406 is for content type mismatches e.g. server say i speak json and you give it xml
17:22:09 openstackgerrit melanie witt proposed openstack/nova stable/pike: Add functional test for affinity with multiple cells https://review.openstack.org/599840
17:22:10 openstackgerrit melanie witt proposed openstack/nova stable/pike: Make scheduler.utils.setup_instance_group query all cells https://review.openstack.org/599841
17:22:38 sean-k-mooney 409 is for rases e.g. you tried to update something but someone else also did please retry
17:22:47 mgagne so 400 looks fine
17:23:26 mgagne or 402 if you want to make them pay for that feature =)
17:25:00 sean-k-mooney mgagne: i would use 400 or 418 if you are felling exotic or british
17:26:12 sean-k-mooney i would be tempted by 412 but i would have to read rfc 7232 so see if its correct or not
17:26:28 mgagne hehe so my question is how to raise that exception from Ironic to Nova API without losing much details.
17:27:41 mgagne because Ironic returns a 400 too but the error message would need to be parsed to find the reason and map it to something else in Nova.
17:28:09 mgagne and I'm not sure it's the right way to do it
17:28:20 sean-k-mooney i have to runn but a 400 with an embeded error code in the body might be the best option. this has been a topic dhellmann might be able to advise on. i think he had a session in vancouver on having consitent behavor in our error handling
17:29:10 sean-k-mooney if the api does not return a 400 already then that is proably enough
17:29:53 mgagne can we just assume that all 400 returned by Ironic are user errors at the Nova API level?
17:31:15 sean-k-mooney not all responces but perhaps for that specific endpoint + http method
17:31:33 mgagne +1
17:36:52 jroll mgagne: you need to go through scheduling to be able to determine if the node you pick has enough NICs, so I don't think it can ever be a synchronous error in the API
17:37:12 mgagne jroll: we are talking about the hotplug feature ;)
17:37:20 jroll ah
17:37:39 jroll you still need to reach down into the virt driver, right? which is always async
17:37:55 melwitt it's not always async -- depends on whether it's a cast or a call
17:38:01 melwitt it's usually async though
17:38:06 mgagne this is not what I found? or I misunderstood?
17:38:20 jroll well, so much for being well-informed :)
17:38:37 melwitt for example, when we do an attach_volume, we call down to the driver synchronously first to see if there's room, and fail in the API if not
17:38:54 melwitt something I learned recently
17:38:57 mgagne https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/attach_interfaces.py#L131-L154
17:40:02 mgagne https://github.com/openstack/nova/blob/master/nova/compute/rpcapi.py#L465-L474
17:40:07 mgagne call() is used
17:40:14 jroll mgagne: ah, cool, so I guess what I would do is add some sort of "NoNicsAvailable" exception that the ironic driver can return in this case
17:40:29 melwitt thanks, was just looking for that
17:41:43 melwitt indeed, call is synchronous
17:42:23 dansmith this would be a call to compute which does an http call to ironic, yeah?

Earlier   Later