| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-05-03 | |||
| 16:18:24 | efried | bauzas: beyond that, sky's the limit. | |
| 16:18:38 | efried | bauzas: which is exactly why we made this a requirement in Dublin. | |
| 16:18:46 | efried | (dansmith and I almost came to blows over it) | |
| 16:18:51 | bauzas | yeah I remember | |
| 16:19:14 | efried | I still believe it's going to bite us, but time will tell. | |
| 16:19:36 | bauzas | efried: ok, so what's the way to set custom traits as of now ? | |
| 16:19:42 | bauzas | thru placement API ? (and the client) | |
| 16:19:55 | efried | bauzas: Sure, that works. | |
| 16:20:15 | bauzas | efried: ok, what I need is testing then | |
| 16:20:30 | bauzas | efried: my patch series is close to provide inventories using update_provider_tree() | |
| 16:20:44 | efried | bauzas: There's no change to the placement API for any of that; the only thing we did was update the u-p-t spec/docs to make it clear that a dance is required to make sure you're not stepping on each other. | |
| 16:21:12 | efried | bauzas: Oh, are you aware of https://review.openstack.org/#/c/560444/ ? | |
| 16:21:12 | bauzas | efried: ok, will look | |
| 16:21:40 | bauzas | efried: no, I wasn't | |
| 16:21:54 | bauzas | efried: my top patch in the series returns a dict of dicts | |
| 16:22:08 | bauzas | efried: I'll use that dict of dicts to populate the tree | |
| 16:22:31 | bauzas | efried: but I was considering to implement by a change the new public interface for libvirt | |
| 16:22:34 | openstackgerrit | Merged openstack/nova master: Get anchors for sharing providers https://review.openstack.org/565279 | |
| 16:22:42 | openstackgerrit | Merged openstack/nova master: Make association_refresh configurable https://review.openstack.org/565526 | |
| 16:23:00 | efried | bauzas: Have you been following the xen driver work for vgpus? | |
| 16:23:08 | bauzas | efried: barely but yes | |
| 16:23:10 | efried | bauzas: I think they're the furthest along with using upt in their driver. | |
| 16:23:30 | bauzas | efried: well, I'm pretty close too | |
| 16:23:35 | efried | bauzas: Of course, they're based on code that hasn't merged and/or won't work until the nrp-in-alloc-cands series lands. | |
| 16:23:55 | bauzas | efried: last change in my series is https://review.openstack.org/#/c/564215/ | |
| 16:24:13 | bauzas | efried: I know, and I was about to propose your series for a runway slot | |
| 16:24:42 | bauzas | I'm a bit out of review as of those days due to my patch series, but I can switch to reviewing if I'm blocked due to that series :p | |
| 16:25:06 | bauzas | anyway, I need to drop for today | |
| 16:25:08 | efried | bauzas: Granular is ready as well. (Except both series are going to bounce on merge conflict soon) | |
| 16:25:32 | bauzas | granular is already a runway candidate | |
| 16:25:32 | jaypipes | bauzas: I'm a strong -2 for having standard traits (or really, any traits) representing GPU vendor types | |
| 16:25:33 | efried | I guess I could put both of those series into the runway queue. | |
| 16:25:45 | efried | jaypipes: eh?? | |
| 16:25:50 | bauzas | jaypipes: I'm cool with that | |
| 16:25:57 | exarlos | mriedem: pastebin.com/SPpHu9Tu is the current error state of the VM. | |
| 16:26:11 | bauzas | jaypipes: I guess your concern is the os-traits explosion | |
| 16:26:14 | melwitt | looks like the gate is timing out a lot in response to me saying it had been good in the nova meeting | |
| 16:26:22 | efried | jaypipes: Oh, you're looking for GPU *features* as opposed to types. | |
| 16:26:25 | bauzas | melwitt: yup, I noticed that in the meeting too | |
| 16:26:33 | melwitt | :( sorry everyone | |
| 16:26:54 | exarlos | mriedem: I would think it's recoverable, but i'm still learning. | |
| 16:26:59 | bauzas | jaypipes: efried: anyway, I need to drop | |
| 16:27:12 | efried | bauzas: à bientôt | |
| 16:27:17 | bauzas | the first step is to make nested RPs a thing | |
| 16:27:32 | bauzas | the second step will be to test my patches using custom traits | |
| 16:27:39 | mriedem | melwitt: excellent catch on https://review.openstack.org/#/c/541420/ - i reproduced in one of the unit tests | |
| 16:28:01 | bauzas | so I'm super not concerned by having standard traits as of now, in particular for vendor purposes | |
| 16:28:11 | bauzas | jaypipes: hope that clarifies ^ | |
| 16:28:54 | jaypipes | bauzas: you don't need custom traits for any of this. | |
| 16:29:03 | jaypipes | bauzas: you don't need GPU types to be traits either. | |
| 16:29:16 | bauzas | what I want is a pony | |
| 16:29:25 | mriedem | exarlos: so you're hitting https://github.com/openstack/nova/blob/stable/ocata/nova/virt/libvirt/driver.py#L7450 | |
| 16:29:26 | jaypipes | bauzas: we had long conversations with Jianghua on the original VGPU spec about this. | |
| 16:29:32 | bauzas | jaypipes: what do you suggest ? | |
| 16:29:35 | mriedem | exarlos: which comes after https://github.com/openstack/nova/blob/stable/ocata/nova/virt/libvirt/driver.py#L7413 | |
| 16:29:49 | melwitt | mriedem: woot (though concerned the unit test was covering it up?) | |
| 16:29:51 | mriedem | exarlos: are you sure this isn't a volume-backed instance? and by volume-backed, i mean cinder volume, not local lvm disk | |
| 16:30:06 | jaypipes | bauzas: use the traits for GPUs that are already in os-traits for describing the *capabilities* of the GPU. | |
| 16:30:06 | mriedem | melwitt: well, the unit test was missing a check for the bdm turducken | |
| 16:30:12 | melwitt | a-ha | |
| 16:30:17 | jaypipes | bauzas: "nvidia-11" isn't a capability. | |
| 16:30:22 | mriedem | melwitt: the DriverVolumeBlockDevice wraps BlockDeviceMapping and proxies the fields to save on the internal BDM object | |
| 16:30:28 | jaypipes | bauzas: support for, say, OpenCL 2.0 is a capability. | |
| 16:30:39 | bauzas | got it, good idea | |
| 16:30:42 | jaypipes | bauzas: support for 4 max display heads is a capability (weirdly, but correct) | |
| 16:30:54 | jaypipes | bauzas: support for a particular resolution size is a capability. | |
| 16:30:57 | openstackgerrit | Merged openstack/os-vif stable/queens: Fix VF-rep lookup routine to use parent PF number https://review.openstack.org/554917 | |
| 16:31:27 | melwitt | mriedem: super turducken | |
| 16:31:36 | exarlos | mriedem: Ohhh. So, yes, I use cinder! Sorry. | |
| 16:31:50 | exarlos | I thought you mean ceph or some other storage backend. | |
| 16:34:41 | exarlos | mriedem: Again, i'll mention that i'm running package version 15.0.7 - so could well be some way behind on the code. | |
| 16:35:11 | exarlos | (I don't see locally the lines you're suggesting on github) | |
| 16:37:05 | mriedem | exarlos: ah ok then that is why you get past this check https://github.com/openstack/nova/blob/15.0.7/nova/virt/libvirt/driver.py#L7294 | |
| 16:37:17 | mriedem | and you fail here https://github.com/openstack/nova/blob/15.0.7/nova/virt/libvirt/driver.py#L7331 | |
| 16:38:39 | mriedem | exarlos: and your "instances_path" config option value must be /var/lib/nova/instances right? | |
| 16:40:28 | mriedem | you're hitting a ProcessExecutionError on the source node during the resize, and the instance is getting put into ERROR state here https://github.com/openstack/nova/blob/stable/ocata/nova/compute/manager.py#L6792 | |
| 16:40:38 | mriedem | the guest is otherwise fine on the source node, and you could reset it's state to ACTIVE | |
| 16:41:04 | mriedem | you'll have to debug why you're getting "Stderr: u"mv: cannot stat \'/var/lib/nova/instance'" | |
| 16:41:33 | mriedem | this is just trying to rename the directory mv /var/lib/nova/instances/97346b0a-71a5-4a66-a966-a41565cf3c80 /var/lib/nova/instances/97346b0a-71a5-4a66-a966-a41565cf3c80_resize | |
| 16:44:12 | exarlos | mriedem: yeah, that folder does not exist. Hence my question as to whether all VMs should have a folder in this respective /vat/lib/nova/instances folder. | |
| 16:44:21 | exarlos | They only contain the console.log file. | |
| 16:44:48 | exarlos | And only half of the folders are present, if I should expect all "servers" to have a folder here :-| | |
| 16:45:51 | exarlos | instances_path is default: $state_path/instances | |
| 16:46:18 | mriedem | and state_path is /var/lib/nova | |
| 16:47:28 | exarlos | mriedem: correct. | |
| 16:48:31 | mriedem | yes all instances should have that directory, spawn() eventually calls this https://github.com/openstack/nova/blob/15.0.7/nova/virt/libvirt/driver.py#L3104 | |
| 16:49:49 | mriedem | hard rebooting the instance should recreate that path | |
| 16:54:00 | exarlos | mriedem: ah, okay. Concerns me a little bit that this folder isn't already there :-| | |
| 16:54:10 | mriedem | yeah, i don't know why it wouldn't be | |
| 16:55:03 | mriedem | although, | |
| 16:55:12 | mriedem | https://github.com/openstack/nova/blob/15.0.7/nova/virt/libvirt/driver.py#L7229 might have done something naughty | |
| 16:56:03 | mriedem | well nvm, probably not because if utils.execute('mv', inst_base, inst_base_resize) failed then inst_base_resize shouldn't exist | |
| 16:57:12 | exarlos | it doesn't exist. I check my other compute nodes, and they do seem to have the folders present to match their VMs, but only show a console.log | |
| 16:57:29 | exarlos | okay, i'll try and reset the state and fire her up. | |
| 16:58:00 | mriedem | they only have a console.log because the actual image data for the guest is in the root cinder volume | |
| 16:58:52 | mriedem | you can also just reboot the instance in ERROR state | |
| 16:59:01 | mriedem | and verify that it recreates the instance dir | |
| 16:59:15 | mriedem | it will likely have to be a HARD reboot though | |
| 16:59:20 | mriedem | https://developer.openstack.org/api-ref/compute/#reboot-server-reboot-action | |
| 17:03:17 | exarlos | mriedem: It's starting up :-) | |