Earlier  
Posted Nick Remark
#openstack-nova - 2018-01-18
09:57:14 kashyap mdbooth: Hehe
09:57:19 kashyap I love the bike
09:57:21 mdbooth Cold is fine, wet is... sometimes ok. Ice and wind are never ok.
09:57:27 kashyap Aside: http://knmi.nl/waarschuwingen (About the weather alarm; use translate)
10:11:19 mdbooth kashyap: So I just finished reading and digesting your commit message, and the linked article
10:12:34 mdbooth kashyap: FWIW, assuming libvirt/qemu aren't planning on handling this at that layer, we should probably switch this on *by default* in Nova, with a tuning knob to switch it back off if somebody has a weird reason to need that.
10:14:21 kashyap mdbooth: So you raise a good point
10:15:04 mdbooth kashyap: That wouldn't be a something for this change, though
10:15:04 kashyap mdbooth: About being handled at QEMU level. I was involved on the qemu-devel list thread where there was a debate about adding a specific CPU model
10:15:16 kashyap That will include the PCID feature by *default*
10:15:34 kashyap However. It's soon getting ridiculous, because of this exhibit:
10:16:03 kashyap E.g. one CPU model name will be: 'Haswell-noTSX-IBRS'
10:16:08 kashyap See anything odd?
10:16:23 kashyap How about this: 'Haswell-noTSX-IBRS-nowThisBug-andAlsoThusBug-AndMoreBugs'
10:16:33 mdbooth Yeah, that's pretty silly
10:17:14 kashyap So that was the thread, please read DanPB's response on context of Nova: https://lists.nongnu.org/archive/html/qemu-devel/2018-01/msg03689.html
10:17:24 kashyap mdbooth: Thanks for taking time to read this! I appreciate the concentration
10:17:52 kashyap 'this' as in: the Nova change and all the related info
10:18:18 kashyap mdbooth: But the thing is...about switching on by _default_, it's complicated.
10:18:23 mdbooth From reading that post, it sounds like this is something (?:pretty much)? all our users will want.
10:18:47 kashyap As this perf impact will only occur when someone chooses one of the named CPU models that doesn't have the PCID feature in libvirt's notion of the model.
10:18:52 kashyap (But, it exists in the hardware)
10:18:59 kashyap mdbooth: It won't affect users
10:19:06 kashyap ...*if* they chose 'host-model'
10:19:12 mdbooth users==operators
10:19:16 kashyap In that case, libvirt will do the grump work for you
10:19:23 kashyap mdbooth: (Yeah, I translated as much)
10:19:29 kashyap s/grump/grunt/
10:20:27 kashyap mdbooth: One thing is for *sure*. We (or I) have to do some clear write-up about what is the operator impact in all three cases:
10:20:31 kashyap (1) 'host-model'
10:20:35 kashyap (2) 'host-passthrough'
10:20:51 mdbooth kashyap: Is that something we can detect at startup? Host-model = X, real cpu is Y, so we should change host-model to X + PCID
10:20:51 kashyap (3) Custom CPU model <-- this is where my change comes in
10:22:30 mdbooth A reason *not* to do this would be the upgrade impact of not being able to live-migrate across the boundary?
10:22:45 mdbooth i.e. X != X+PCID, so you can't live migrate
10:23:04 Spazmotic You mean for the CPU mismatch?
10:23:04 kashyap mdbooth: Yes, live migration is a strict requirement
10:23:08 mdbooth Yeah
10:23:10 kashyap Yes, mismatch, indeed
10:23:13 mdbooth Spazmotic: Yeah
10:23:31 kashyap mdbooth: I still need to think more clearly about detecting it at guest start-up, where Nova generates the guest XML
10:23:41 mdbooth So if we could maintain host model strictly across live migrate, but reset it on restart...
10:23:41 kashyap What you're saying is ---
10:24:00 mdbooth s/guest/host/ startup
10:24:01 kashyap "If the guest is using a CPU without the PCID feature, add it."
10:24:22 kashyap (Assuming we detect that cleanly.)
10:26:32 kashyap mdbooth: So, from #virt, OFTC:
10:26:33 kashyap 11:21 < kashyap> Hi folks, can we detect at boot / start-up time what CPU model a guest is using?
10:26:36 kashyap 11:22 < kashyap> E.g. 'host-model' / 'host-passthrough' / or some custom model
10:26:39 kashyap 11:25 < danpb> in general you can't
10:26:41 kashyap 11:25 < danpb> you just get to see a model + flags in /proc/cpuinfo
10:27:58 mdbooth kashyap: I don't understand why we're interested in what the guest sees
10:28:17 mdbooth I mean, the guest is interested in what the guest sees, but we're just interested in what we present
10:28:36 mdbooth And we can absolutely determine that
10:30:11 kashyap mdbooth: Err, you're right. We should detect before the start-up
10:30:49 mdbooth kashyap: My thinking was that the host configuration for how guests are started is static, so we'd do it at host startup.
10:30:51 kashyap Using the baselineCPU() API
10:30:58 kashyap And VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES.
10:31:56 mdbooth Does that require a running domain? Or does it just query the xml file you referenced?
10:34:17 kashyap No, not a running domain
10:35:29 kashyap mdbooth: Near as I recall, libvirt caches the capabilities info it got from QEMU, via a QMP command.
10:35:48 kashyap (Before guest start up, obviously)
10:35:55 kashyap We'd be querying that cached XML, IIUC.
10:38:16 Spazmotic Checking my Xen boxes out of curiousity now
10:39:32 kashyap mdbooth: I'll stop hand-waving here, and get back with clearer details on the review.
10:39:39 openstackgerrit Stephen Finucane proposed openstack/nova master: Fix openstackdocstheme options for api-ref https://review.openstack.org/534712
10:39:39 openstackgerrit Stephen Finucane proposed openstack/nova master: trivial: Remove crud from 'conf.py' https://review.openstack.org/534713
10:40:55 Spazmotic Yeah interesting... i may need to send out an email to some peoples heh
10:41:47 bauzas gentle reminder for gibi and stephenfin about https://review.openstack.org/#/c/528832/ ;)
10:41:51 lyarwood kashyap: before you go, have you seen `Live Migration failure: invalid argument: monitor must not be NULL: libvirtError: invalid argument: monitor must not be NULL
10:42:05 lyarwood kashyap: urgh sorry, paste fail, ^ LM failure on f26 with the virt-preview repo
10:43:03 kashyap lyarwood: Got a link?
10:43:12 lyarwood ah wait that isn't the virt-preview repo
10:43:19 lyarwood kashyap: nope sorry local failure at the moment
10:44:29 kashyap Phew, okay. One less live migration issue to worry about, then
10:46:41 lyarwood cool, virt-preview works anyway
10:46:43 lyarwood sorry about that
10:51:30 kashyap No problem
11:02:37 ameeda jaypipes: good morning :) what If I use glance API to check the instance_metadata from nova side ? where is the wrong in that ?
11:04:27 ameeda jaypipes: I think that glance store image properties to nova db table "instance_metadata"
11:09:21 mdbooth kashyap: Reviewed, thanks.
11:09:52 kashyap mdbooth: Thank _you_ for spending time on this. I will read this on the train
11:14:58 kashyap mdbooth: A quick 'parser error', what do you mean by: "I don't think it lives [?] in this commit"
11:20:35 kashyap mdbooth: Disregard me, I got it.
11:34:30 ameeda jaypipes: I will update the patch with current functional test adding new comments.
11:35:45 ameeda jaypipes: I tried to access Nova DB directly, but I faced many issues. so I think the current scenario .
11:36:48 ameeda jaypipes: create new image with properties greater than 255 chars, then create server, great image from the created server,
11:37:30 ameeda jaypipes: new created image contains new image properties which is fetched from nova db.
11:38:04 ameeda jaypipes: then I check the image properties for new created image, so if it truncated it will raise error ]
11:40:41 openstackgerrit Ameed Ashour proposed openstack/nova master: change instance_system_metadata column type https://review.openstack.org/526900
12:03:51 bhujay hello everybody , is there any config for niva so that multiple compute nodes can share a Fibre Channel Storage Array ?
12:09:11 lyarwood bhujay: for block storage? Nova would just use Cinder to provide volumes from the array and use os-brick to connect to these.
12:11:47 bhujay lyarwood: I am looking for VM to boot from the shared storage , just the way it does for rbd . This for ease of live migration
12:13:37 lyarwood bhujay: Yup, you can boot from volumes provided by cinder, the only imagebackend you could use for this would be LVM but IMHO using a cinder volume driver for the FC array is the way to go.
12:21:06 bhujay lyarwood: Just to make sure I got it correctly . Cinder to be configured for FC block storage , create bootable image volumes and while creating instance select that volume for boot. Right ?
12:26:16 bhujay lyarwood: But if we use boot from a image which is there in glance with glance backend as ceph will the instance OS ephemeral be placed on FC array by nova ?
12:28:06 lyarwood bhujay: yeah, create the volume from the image with `cinder create --image $UUID $SIZE ; cinder set-bootable $VOLUME_ID true` and then boot from it with `nova boot --boot-volume $VOLUME_ID [..] etc`
12:28:28 lyarwood bhujay: cinder copies the image into a volume with the above
12:28:44 lyarwood bhujay: but if you're already using rbd I don't see why you need the FC array :)
12:30:57 openstackgerrit Ameed Ashour proposed openstack/nova master: change instance_system_metadata column type https://review.openstack.org/526900

Earlier   Later