| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-10-22 | |||
| 14:25:04 | sean-k-mooney | its also not technicall directly relevent to what im testing but if the traits chagned on rebuilt that in principal would need to be validated with placement | |
| 14:25:26 | mdbooth | mriedem: Right, it's all the placement helper stuff which isn't needed in general. | |
| 14:25:30 | sean-k-mooney | mriedem: yes | |
| 14:25:39 | mdbooth | I'm still starting placement. | |
| 14:25:48 | mriedem | mdbooth: if you need locks in the test you just add REQUIRES_LOCKING = True right? | |
| 14:26:47 | mdbooth | mriedem: Possibly, but I also didn't expect this lock to be filesystem based. I'm going to investigate thoroughly before assuming it's all ok. | |
| 14:27:34 | sean-k-mooney | mdbooth: the syconise decorators are always filesystem based | |
| 14:27:57 | mdbooth | sean-k-mooney: I thought that was only for external=True | |
| 14:28:09 | mdbooth | re-reading | |
| 14:28:10 | sean-k-mooney | oh am maybe | |
| 14:29:11 | gibi | fyi tomorrow is a national holiday here in Hungary so I will be off tomorrow | |
| 14:29:39 | sean-k-mooney | mdbooth: i guess it default to false https://github.com/openstack/oslo.concurrency/blob/master/oslo_concurrency/lockutils.py#L284 | |
| 14:29:39 | openstack | Launchpad bug 1815082 in OpenStack Compute (nova) rocky ""DBNonExistentTable: (sqlite3.OperationalError) no such table: services" when starting nova-metadata under uwsgi" [Medium,Triaged] | |
| 14:29:39 | mriedem | dansmith: i've abandoned my attempt at fixing https://bugs.launchpad.net/nova/+bug/1815082 but you might be interested in that | |
| 14:30:01 | mriedem | dansmith: tl;dr trying to get the indirection api working in n-api-meta in certain cases if we don't have direct access to the db | |
| 14:30:30 | openstackgerrit | Ghanshyam Mann proposed openstack/nova master: Fix policy doc for host_status and extended servers attribute https://review.opendev.org/689833 | |
| 14:30:55 | mriedem | er i guess we use the indirection api for n-api-meta when running with evetlet but not wsgi | |
| 14:32:31 | dansmith | mriedem: hmm, what you have seems like it should work, although your comment about it hitting superconductor isn't right, unless nova-cpu.conf has api db creds | |
| 14:33:25 | dansmith | mriedem: I could pick up on that, but unless someone is beating down the door for it and/or going to test it prior to merge, I'd probably set it aside too | |
| 14:33:38 | efried | mriedem: I can do those backports, yeah. | |
| 14:33:41 | sean-k-mooney | mriedem: before i go refactor my own work you would prefer i use ProviderUsageBaseTestCase instaead of _IntegratedTestBase and make it non libvirt specific | |
| 14:33:59 | mriedem | jroll: i have given up on https://review.opendev.org/#/c/637217/ - someone else that cares about completing the ironic flavor data migration added in pike is going to have to take over | |
| 14:34:27 | mriedem | dansmith: i had a tempest patch that depended on the nova fix to test it | |
| 14:34:44 | mriedem | https://review.opendev.org/#/q/status:abandoned+topic:bug/1815082 | |
| 14:35:29 | mriedem | dansmith: looking at latest comments the issue was n-api-meta was starting before conductor which blew up | |
| 14:36:21 | mriedem | frickler: ^ i've abandoned those changes for your bug fyi | |
| 14:36:40 | mriedem | sean-k-mooney: yes don't use _IntegratedTestBase for new tests | |
| 14:36:54 | sean-k-mooney | ok thanks | |
| 14:37:15 | mriedem | and yes it'd be cool if things that aren't libvirt specific didn't build on libvirt specific functional test base classes | |
| 14:37:43 | sean-k-mooney | ya i think i can create a small numa file that is not in the libvirt folder to test this | |
| 14:38:06 | sean-k-mooney | although there are few non libvirt numa things that will likely be added to it | |
| 14:39:33 | jroll | mriedem: thanks for the heads up | |
| 14:41:22 | mriedem | sean-k-mooney: just my opinion, don't bend over backward based on something i'm not actively reviewing | |
| 14:46:15 | sean-k-mooney | mriedem: ok be even so i tend to give you opipion weight even if you are not activly reviewing it since others often agree | |
| 14:49:39 | mdbooth | Whoa. It appears from tracing in oslo.concurrency that something is allowing a threading.Semaphore to be taken twice | |
| 14:49:56 | mdbooth | I wonder... is threading.Semaphore re-entrant by default? | |
| 14:50:45 | cdent | those have to be some most mdboothy statements I've ever seen | |
| 14:50:54 | cdent | "hey, everything might be wrong!" | |
| 14:51:12 | cdent | which I, of course, love | |
| 14:51:25 | mdbooth | cdent: I usually hope to follow them up by being wrong, but I like to think them first :) | |
| 14:51:33 | mdbooth | And unfortunately I'm not always wrong. | |
| 14:53:40 | bnemec | It seems highly unlikely that a concurrency class would be non-reentrant. | |
| 14:53:57 | mdbooth | bnemec: s/non-// | |
| 14:54:17 | mdbooth | bnemec: I would *not* expect Semaphore to be re-entrant, and certainly in a regular environment it isn't: | |
| 14:54:35 | bnemec | Are you sure the tracing is in the right place? We spent a bunch of time tracking down a double-locking problem at one point that was caused by logging in the wrong place. | |
| 14:54:48 | mdbooth | >>> import threading >>> s = threading.Semaphore() | |
| 14:54:49 | mdbooth | ... | |
| 14:54:49 | mdbooth | ... with s: ... print("Hello world") | |
| 14:54:49 | mdbooth | >>> with s: | |
| 14:54:51 | mdbooth | Eurgh | |
| 14:54:52 | mdbooth | Sorry | |
| 14:55:02 | mdbooth | Anyway, takes same semaphore twice, hangs | |
| 14:55:40 | bnemec | Oh, well no that wouldn't work. But that's not what reentrancy is. | |
| 14:55:51 | mdbooth | bnemec: Wouldn't rule it out, but I don't think so. It's in a functional test, though, so my prime suspect is environmental. | |
| 14:55:53 | bnemec | Reentrancy has to do with concurrent execution, which you can't get in a single thread. | |
| 14:56:06 | mdbooth | bnemec: You might want to look that up ;) | |
| 14:56:17 | bnemec | I did. Did you? https://en.m.wikipedia.org/wiki/Reentrancy_%28computing%29 | |
| 14:56:25 | bnemec | "In computing, a computer program or subroutine is called reentrant if multiple invocations can safely run concurrently." | |
| 14:56:39 | mdbooth | https://docs.python.org/3/library/threading.html#semaphore-objects | |
| 14:57:07 | mdbooth | https://en.wikipedia.org/wiki/Reentrant_mutex | |
| 14:57:52 | bnemec | Ah, we're talking about different things. | |
| 14:59:35 | mdbooth | So, Semaphore doesn't appear to be mocked, and yet I see 2 enters followed by 2 exits | |
| 15:00:36 | openstack | bug 1849165 in OpenStack Compute (nova) "_populate_assigned_resources raises "TypeError: argument of type 'NoneType' is not iterable" during active migration" [High,In progress] https://launchpad.net/bugs/1849165 - Assigned to Eric Fried (efried) | |
| 15:00:36 | openstackgerrit | Eric Fried proposed openstack/nova stable/train: Func: bug 1849165: mig race with _populate_assigned_resources https://review.opendev.org/690099 | |
| 15:01:20 | mdbooth | bnemec: To be clear, I'm *not* expecting to find a bug in oslo.concurrency. I'm expecting to find a fixture somewhere doing something I haven't thought of yet. | |
| 15:03:17 | mriedem | smells like a bro down in here https://www.youtube.com/watch?v=CHnbC1N_G6w | |
| 15:05:49 | mdbooth | Oh, great, it's a heisenbug >:( | |
| 15:07:39 | adrianc | sean-k-mooney, i can do the backport for https://review.opendev.org/#/c/675776/, however it will take me some time to get a setup up to test it | |
| 15:08:05 | bnemec | mdbooth: By any chance are you running tests in parallel? The external lock fixture from oslo.concurrency would make the locks independent. | |
| 15:09:36 | openstackgerrit | Dan Smith proposed openstack/nova master: Add image precaching docs for aggregates https://review.opendev.org/687348 | |
| 15:11:17 | openstackgerrit | Eric Fried proposed openstack/nova stable/train: Don't populate resources for not-yet-migrated inst https://review.opendev.org/690100 | |
| 15:11:39 | efried | there must be an easier way to cherry pick a series | |
| 15:15:23 | sean-k-mooney | efried: cerry picking a serise is baically a rebase | |
| 15:15:31 | sean-k-mooney | do you mean for backporting? | |
| 15:15:50 | efried | yes | |
| 15:15:55 | sean-k-mooney | ah | |
| 15:16:04 | sean-k-mooney | i was refering to a feature branch before | |
| 15:16:50 | sean-k-mooney | there is proably a way to do it in like 1 comamnd in git but i dont know what it is | |
| 15:17:48 | sean-k-mooney | oh git cherry-pick takes a list of commit | |
| 15:18:46 | sean-k-mooney | so if you do a git log betwen the base of the serise and top and just get the commits you shuld be able to pipe the revers of that to reverse and xargs to invoke the cherry pick | |
| 15:21:06 | efried | will that pile them up in a series? | |
| 15:21:15 | efried | that's probably the ticket, then. I'll try that next time. | |
| 15:21:29 | sean-k-mooney | i think so also looking at the exmaple in the git man pages | |
| 15:21:36 | sean-k-mooney | you might be able to do somting like this | |
| 15:21:46 | sean-k-mooney | git cherry-pick start..end | |
| 15:21:57 | sean-k-mooney | where start and end are two comites | |
| 15:21:57 | dansmith | can't you do a range? | |
| 15:21:58 | dansmith | yeah that | |
| 15:22:03 | dansmith | works for any other git command that takes multiple commits | |
| 15:22:31 | sean-k-mooney | they have an example fo "git cherry-pick ..master" | |
| 15:22:31 | dansmith | if you have them all in a branch, then something like "git cherry-pick -x branch~4.." probably works | |
| 15:22:48 | sean-k-mooney | that cherrypick anything on master but not locally | |
| 15:22:54 | sean-k-mooney | so i assuem you can close the range | |
| 15:23:09 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Require Migration object arg to migrate_instance_finish method https://review.opendev.org/690106 | |
| 15:24:49 | umbSublime | I have a specific workload where I need to enable invTSC, for this to work with migrations I also need to set the tsc frequency. How can I configure the tsc frequency in nova.conf on my compute hosts (is it possible with cpu_model_extra_flags)? in qemu it looks like this: "<clock><timer name='tsc' frequency='3000000000'/></clock>" | |
| 15:25:25 | sean-k-mooney | umbSublime: im pretty sure you cant | |
| 15:26:02 | sean-k-mooney | you could enabel a specific cpu flag but i dont think you can spcify the frequency | |
| 15:29:06 | umbSublime | Would the solution in this case be to create a custom CPU model and use that in nova.conf ? | |
| 15:29:16 | umbSublime | or is there an alternative workaround I didn't think about | |
| 15:29:54 | sean-k-mooney | well this is really a feature request so i would start with the uscase | |