Earlier  
Posted Nick Remark
#openstack-nova - 2018-06-12
15:46:20 dansmith a real one I mean
15:46:36 edleafe lyarwood: ugh, they're running Mitaka
15:46:54 mriedem edleafe: s/they're/everyone's/
15:47:46 edleafe mriedem: I'd laugh if that weren't true
15:47:51 mriedem dansmith: good news is,
15:48:03 mriedem MIN_QEMU_FILE_BACKED_VERSION = (2, 6, 0)
15:48:03 mriedem MIN_LIBVIRT_FILE_BACKED_VERSION = (4, 0, 0)
15:48:10 mriedem ii qemu-system-x86 1:2.11+dfsg-1ubuntu7~cloud0
15:48:10 zcorneli dansmith: Yea, I think I need to make a real test for the migration checks. Guess I need to figure out how to set that up.
15:48:17 mriedem ii libvirt-bin 4.0.0-1ubuntu7~cloud0
15:48:23 mriedem we can totally test this in the gate
15:48:30 mriedem zcorneli: i can help you there
15:48:36 dansmith mriedem: well, we'll need to fake some file-backed memory
15:48:51 zcorneli mriedem: Woo! Help is always good.
15:49:11 mriedem oh right...
15:49:19 dansmith mriedem: it's doable
15:49:21 mriedem if we don't have file-backed memory on these hosts then
15:49:45 dansmith mriedem: mount tmpfs on /var/lib/qemu/whatever and configure it on
15:49:51 zcorneli dansmith: mriedem: perhaps a tmpfs? Not sure if that's configurable as part of gate tests, but it wouldn't need to be very big
15:49:57 dansmith zcorneli: yep :)
15:50:59 mriedem i'm thinking we'd need a devstack flag
15:51:13 mriedem ENABLE_FILE_BACKED_MEMORY
15:51:20 dansmith mriedem: just to be clear, the thing I think we need to test is old/new computes across this boundary
15:51:28 dansmith mriedem: is that what you were thinking?
15:51:29 mriedem we could do that with the grenade live migration job
15:51:39 mriedem which runs live migration back and forth
15:51:54 dansmith because in that case, a one-off DNM patch to prove it does it right now would address my concern I think
15:51:59 mriedem http://logs.openstack.org/76/567876/10/check/legacy-grenade-dsvm-neutron-multinode-live-migration/df96c54/
15:52:05 dansmith oh
15:52:07 dansmith sweet
15:52:15 mriedem that's queens<>rocky live migration both ways
15:52:35 dansmith yeah, but still, you're not going to always configure file-backed memory for that job, just a one-off yeah?
15:52:44 mriedem we could do it in a one off
15:52:48 mriedem or an experimental queue job
15:52:50 mriedem that's run on demand
15:52:54 dansmith aye
15:53:08 mriedem if someone wants to work on the devstack changes for that we could link it up
15:53:45 dansmith okay
15:54:04 zcorneli Would we be able to validate that old -> new+file_backed fails?
15:54:09 zcorneli ( / is rejected )
15:54:29 dansmith zcorneli: well, that's why it needs to be a one-off or something special I think
15:55:04 dansmith mriedem: in case it's not clear, because the sending host's libvirt gets to choose the xml for the destination, if it's old and doesn't know about this,
15:55:12 zcorneli dansmith: Ah. Wasn't catching that.
15:55:14 dansmith it will generate xml that violates the config of the remote side
15:55:29 dansmith mriedem: so we have to make sure to refuse to let an older node send to us if we're configured for this on,
15:55:37 dansmith basically a "don't turn this on until all your nodes are updated" kind of thing
15:56:10 kmalloc efried: +2 on the KSA change,
15:56:23 efried kmalloc: Nice, thanks. cdent ^
15:56:26 mriedem dansmith: isn't that this compute version check? https://review.openstack.org/#/c/567876/11/nova/virt/libvirt/driver.py@6529
15:56:31 cdent woot
15:56:36 kmalloc efried: once zuul weighs in, we can get it merged and (pending lbragstad's ok) released
15:56:46 openstackgerrit Chris Dent proposed openstack/nova master: Optional separate database for placement API https://review.openstack.org/362766
15:56:47 openstackgerrit Chris Dent proposed openstack/nova master: Isolate placement database config https://review.openstack.org/541435
15:56:48 efried kmalloc: Schweet
15:56:49 openstackgerrit Chris Dent proposed openstack/nova master: Ensure that os-traits sync is attempted only at start of process https://review.openstack.org/553857
15:56:49 kmalloc efried: thanks for making it easy and maintaining base behavior(s)
15:56:54 stephenfin dansmith: If I set a default for an o.vo field, should I be able to do instance.field without needing the "if 'field' in instance" check?
15:56:56 dansmith mriedem: that's the dest checking the source
15:57:00 mriedem dansmith: zcorneli: but yeah - as noted in the change, i'd like to see admin config guide docs for this feature
15:57:09 mriedem which can explain the libvirt-only nature of it, and upgrade implications
15:57:19 dansmith stephenfin: no, obj_set_defaults()
15:58:14 mriedem dansmith: right, but check_can_live_migrate_destination is checking the service version of the source compute and if it's too old to know about this, it fails
15:58:27 dansmith mriedem: right
15:59:02 mriedem anyway, seems we're in violent agreement
15:59:06 dansmith mriedem: I'm saying failing is all it can do, it can't fix the xml later and still allow the migration or anything like that
15:59:11 mriedem also, channel topic needs to be updated for current runways
15:59:19 mriedem dansmith: i think that's fine
15:59:24 stephenfin dansmith: Ah. Before I do something that will make you cry, any reason not to do that in __init__? https://github.com/openstack/nova/blob/master/nova/objects/diagnostics.py#L107
16:00:14 openstackgerrit Merged openstack/nova master: Extract part of PlacementFixture to placement https://review.openstack.org/568359
16:00:21 dansmith stephenfin: in general I'm very much opposed to it, yeah, because if you have half an object (think fields not lazy-loaded yet) and you always do that, you'll blow away things in the DB you would have otherwise left as-is
16:00:52 dansmith stephenfin: so it depends on the type of object.. if it's stored as a blob, then *might* be okay to do that, but it is then confusing for other people when they find examples like you linked
16:01:38 stephenfin dansmith: I figured (else this would be done by default). What's the best practice, in that case?
16:01:45 stephenfin Call 'obj_set_defaults()' every time I need to create a new object or don't use defaults, perhaps?
16:01:49 cdent oh this is fun: AssertionError: u'host3' == u'host3' in http://logs.openstack.org/08/574408/3/gate/nova-tox-functional/39c1a57/testr_results.html.gz
16:01:53 cdent wtf?
16:02:21 dansmith stephenfin: well, defaults were really introduced for something else kinda stupid, and honestly we probably shouldn't have left that in when we moved to oslo, but alas
16:02:46 dansmith stephenfin: if you want to do it in init and you're sure you're always going to be right, just throw a scary comment on it or something
16:02:47 gibi cdent: assertNotEqual :)
16:02:55 cdent yeah, got there
16:02:57 cdent eventually
16:03:06 dansmith stephenfin: or use it whenever you instantiate, or when you need them to be set
16:03:11 gibi cdent: I also saw this test fails infrequently locally
16:03:28 dansmith stephenfin: or, how about you call it in obj_load_attr() ? then, it'll set defaults if you touch something that isn't set
16:03:37 dansmith stephenfin: but still, scary comment I tink
16:04:59 stephenfin dansmith: I can do that. Cheers :)
16:05:02 openstackgerrit Eric Fried proposed openstack/nova master: Provide a direct interface to placement https://review.openstack.org/572576
16:05:11 sahid efried: i hink you made good point for the ut here
16:05:21 sahid https://review.openstack.org/#/c/571030/
16:05:55 openstackgerrit Merged openstack/nova master: placement: Use INNER JOIN for requied traits https://review.openstack.org/573113
16:06:04 mriedem cfriesen: that's a known issue on a bug you've already investigated
16:06:13 mriedem http://status.openstack.org/elastic-recheck/#1763181
16:06:24 efried sahid: Yeah, figured that wasn't enough to hold it up, I would fast-approve a fup to fix that if you're so inclined.
16:08:19 sahid efried: i'm not
16:08:24 efried :)
16:08:33 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: Add method to get cpu traits https://review.openstack.org/560317
16:09:32 cfriesen mriedem: sorry, you referring to the swap size thing?
16:09:44 mriedem cfriesen: no, the "wtf test failure" thing
16:10:05 mriedem oh oops
16:10:07 mriedem cdent: ....
16:10:10 mriedem sorry, too many c's

Earlier   Later