Earlier  
Posted Nick Remark
#openstack-nova - 2018-01-18
09:44:16 kashyap (I still need to fix 9 or so unit tests.)
09:44:23 mdbooth kashyap: Looking at that, too
09:46:12 mdbooth kashyap: Whoa, just cranking up my brain to process the commit message :)
09:46:13 kashyap mdbooth: Thank you. I am not sure if I got all the LibvirtConfigGuestCPUFeature() object generation stuff right
09:46:23 kashyap mdbooth: Hehe, that's why I gave the tl;dr :P
09:46:30 kashyap Is it obscenely verbose?
09:47:03 mdbooth No, it's probably just right.
09:48:23 kashyap Gerrit lacks "cover letter" concept. That actually should go into that (although it won't be in the commit message, though)
09:49:05 kashyap mdbooth: The most practical bits are tl;dr and the "Other use cases" -- as in, what else I can use this for
09:49:36 kashyap (s/I/one/)
09:50:15 mdbooth kashyap: Personally I think this is appropriate detail for a commit message. A cover letter is more for navigating multiple commits imho.
09:50:50 mdbooth You can't find a cover letter when git spelunking, so you shouldn't leave critical information there.
09:51:47 Spazmotic I hope john takes mercy on my poor xenapi code today.. I will build an alter of sorts to his xenapis knowledge to assist.+
09:53:01 kashyap mdbooth: Yeah, you're right. I mixed it up
09:53:37 kashyap mdbooth: Still a bit shaken from my bike ride, where the 140 KM/hr wind gust almost pushed me into the tram!
09:54:26 mdbooth Sounds like an excellent excuse not to be on your bike!
09:54:28 kashyap But point for navigating multiple messages via a cover letter is still a missing feature of Gerrit
09:55:31 kashyap mdbooth: Yeah. I couldn't believe for a moment that the wind was simply "pushing" me aside, like a leaf, and I had to really resist it
09:55:57 mdbooth kashyap: This is where I ride my bike on windy days: https://photos.app.goo.gl/OCo5xBNqWi0yNs5y1
09:56:00 Spazmotic You need more spoilers and wings on that thing
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"

Earlier   Later