| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-01-08 | |||
| 16:15:12 | lyarwood | mdbooth: https://bugs.launchpad.net/nova/+bug/1633033 - sorry that took a little digging | |
| 16:15:15 | openstack | Launchpad bug 1633033 in OpenStack Compute (nova) "live migration with encrypted volume fails" [Undecided,In progress] - Assigned to Lee Yarwood (lyarwood) | |
| 16:16:02 | mdbooth | lyarwood: Ok, so looks like that's broken too, same root cause | |
| 16:16:07 | lyarwood | yup | |
| 16:16:21 | mriedem | lyarwood: mdbooth: why don't you do the short-term backportable fix and then do the refactor on master which isn't backported? | |
| 16:16:32 | mriedem | don't refactor a bunch of code that you're going to backport | |
| 16:16:33 | mdbooth | Looking back over my notes, actually I think the _get_guest_xml fix is really easy | |
| 16:17:14 | lyarwood | mriedem: I'm trying to suggest that, I really don't want to play around with _get_guest_xml in backports | |
| 16:17:42 | mdbooth | lyarwood: The reason is that everywhere that calls _get_guest_xml either subsequently calls _create_domain_and_network, or doesn't pass block_device_info, so doesn't call _connect_volume | |
| 16:18:08 | mdbooth | Which means that all you need to do is move _connect_volume from _get_guest_xml to _create_domain_and_network | |
| 16:18:15 | mdbooth | Which is also totally intuitive | |
| 16:18:28 | mdbooth | I've audited ^^^, but feel free to do the same | |
| 16:18:51 | mdbooth | _create_domain_and_network already has context, which also makes sense | |
| 16:19:03 | mdbooth | So that change isn't going to be invasive at all | |
| 16:19:04 | matrohon | mriedem: I'm not sure networks=none would help me. My VM needs a port, but a port without IP. | |
| 16:19:29 | mriedem | matrohon: yeah it won't | |
| 16:19:34 | mriedem | networks=none means no ports | |
| 16:19:48 | mriedem | i didn't know about ip_allocation='none' | |
| 16:20:01 | mdbooth | lyarwood: Whatever way you look at it, we need context in swap_volume anyway | |
| 16:20:09 | mdbooth | So that part needs to be done anyway | |
| 16:20:14 | lyarwood | mdbooth: and is in the bugfix | |
| 16:20:31 | mdbooth | lyarwood: I don't see it in that review stack | |
| 16:20:47 | lyarwood | mdbooth: https://review.openstack.org/#/c/531233/3/nova/virt/libvirt/driver.py | |
| 16:20:50 | mdbooth | NP, now I do | |
| 16:21:03 | matrohon | mriedem: ok, I can work on fixing 1741575, with the attached patch as a first step | |
| 16:21:11 | mdbooth | lyarwood: Ok, that bit's already done. | |
| 16:21:37 | mdbooth | With those bits in place, moving the encryptor call into _connect/_disconnect is trivial | |
| 16:21:46 | mdbooth | And no harder to backport | |
| 16:21:52 | mdbooth | And also fixes pre_live_migration | |
| 16:22:04 | mdbooth | And anything else we missed | |
| 16:22:33 | mdbooth | Does lxc have encryptors? | |
| 16:23:01 | matrohon | mriedem: do you think I need something else than the bug report to start submitting code review? | |
| 16:23:14 | lyarwood | mdbooth: well, the frontend encryptors are host level so yeah, I can't see why not. | |
| 16:23:23 | lyarwood | mdbooth: not that they are tested anywhere. | |
| 16:23:30 | mdbooth | lyarwood: Ok, that's probably a bug too, then | |
| 16:23:52 | mdbooth | So it's a 3 for 1 fix | |
| 16:24:02 | openstackgerrit | Chris Dent proposed openstack/nova master: Optional separate database for placement API https://review.openstack.org/362766 | |
| 16:24:22 | lyarwood | mdbooth: right, I'll respin without moving _connect_volume out of _get_guest_xml | |
| 16:24:35 | mdbooth | I don't think you can do that | |
| 16:24:54 | lyarwood | right, context | |
| 16:25:02 | mdbooth | Actually it's already there | |
| 16:25:19 | mdbooth | But you'd have to remove the encryptor stuff from _create_domain_and_network | |
| 16:25:28 | mdbooth | Which is just backwards | |
| 16:25:32 | mriedem | matrohon: no | |
| 16:25:35 | mdbooth | Might as well go the other way | |
| 16:25:37 | mriedem | bug fix is fine | |
| 16:25:50 | matrohon | mriedem: ack, thanks | |
| 16:25:58 | mriedem | matrohon: but i looked at the patch and it doesn't really make sense to me, unless a port with ip_allocation='none' results in port.get('ip_allocation') == None? | |
| 16:27:12 | efried | jaypipes cdent What is the behavior when I try to delete a provider that has "stuff" associated with it? | |
| 16:27:34 | efried | I think I've seen some cases where we automatically delete the "stuff" and some where we bounce. | |
| 16:27:44 | cdent | fails, if there are allocations we bounce | |
| 16:27:48 | matrohon | mriedem: port.get('ip_allocation') == None is the unexpected result, I'm currently trying to find the reason why. I probably need to fix that first on the neutron side | |
| 16:27:55 | cdent | I think that's the only one, but let confirm | |
| 16:28:28 | efried | cdent I'm talking about inventory, aggregates, traits - but most especially aggregates at the moment. | |
| 16:29:09 | jaypipes | efried: we just delete. | |
| 16:29:27 | jaypipes | efried: allocations are the only thing that prevents deletion (and child providers) | |
| 16:29:28 | mriedem | matrohon: if neutron needs changes to support this case, then things get sticky with regards to interoperability | |
| 16:29:39 | cdent | efried: https://github.com/openstack/nova/blob/master/nova/objects/resource_provider.py#L816 | |
| 16:29:44 | efried | jaypipes Okay. So this is tricky. | |
| 16:29:55 | mriedem | because if you upgrade nova to handle this none scenario but neutron doesn't support it, things fail, and vice-versa | |
| 16:30:22 | efried | cdent Thanks, it's all right there! | |
| 16:31:36 | edleafe | mriedem: just getting caught up (sitting in traffic is *so* productive!) | |
| 16:31:43 | edleafe | mriedem: your changes look fine | |
| 16:32:43 | edleafe | mriedem: some of the issues you asked about on the review were from the original test, which was supposed to test alternate host usage; hence the 4 computes and such | |
| 16:33:02 | matrohon | mriedem: but ip_allocation | |
| 16:33:04 | edleafe | I'm going to add that test to the resize patch | |
| 16:33:09 | matrohon | mriedem: sorry | |
| 16:33:17 | efried | cdent jaypipes So this might be okay. A virt that's "leaving" an aggregate should only delete the aggregate association from self, not delete it from the aggregate or delete the shared provider. The sharing provider will still show up in the ProviderTree, so report client won't delete it. Then the next time we pull the compute RP and its associations, that sharing provider will be absent (because no longer associated by a | |
| 16:33:17 | efried | ggregate) so we'll... drop it from the local provider tree at that time, somehow. | |
| 16:33:22 | mriedem | edleafe: add the test to the resize patch? | |
| 16:33:31 | mriedem | edleafe: the test is already there since it comes before it in the series | |
| 16:33:51 | edleafe | mriedem: the regression test really doesn | |
| 16:34:06 | edleafe | doesn't check that the alternate hosts stuff is working as expected | |
| 16:34:16 | edleafe | just that it doesn't blow up :) | |
| 16:34:23 | cdent | efried: I think that sounds right, but as your patient, I'm going to the bath, will bbl | |
| 16:34:28 | mriedem | so you're going to modify the regresssion test to add to it in the resize patch | |
| 16:34:42 | efried | cdent Enjoy | |
| 16:35:29 | edleafe | mriedem: no, more or less copy parts to make a new functional test that's alternate host-specific | |
| 16:35:30 | ktibi | dansmith Hi do you know why consecutive_build_service_disable_threshold default value is 10 ? | |
| 16:35:36 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add pagination and Changes-since filter support for os-migrations. https://review.openstack.org/330406 | |
| 16:35:47 | ktibi | because I found a method for disable all compute service with a simple user :/ | |
| 16:35:57 | matrohon | mriedem: I'll keep on digging on the neutron side first, since not having the ip_allocation field set in port's attributes retrieved by a REST request, when it is explicitly set in the database is not really clean | |
| 16:36:03 | dansmith | ktibi: yes, because I set it to 10 after discussion in the room with a bunch of operators | |
| 16:36:16 | matrohon | mriedem: don't you think? | |
| 16:36:45 | mriedem | matrohon: i agree that None != unset and there are differences in client side behavior potentially, yes | |
| 16:36:46 | dansmith | ktibi: what's the method? might be something we need to exclude from the disable logic if it's not really a fault | |
| 16:36:56 | mriedem | matrohon: but i don't really know how that's all used on the neutron side | |
| 16:37:04 | ktibi | ok, 10 is good but for now, you can fool nova for disable all compute | |
| 16:37:29 | openstackgerrit | Matthew Booth proposed openstack/nova master: Don't connect volumes in _get_guest_storage_config https://review.openstack.org/531852 | |
| 16:37:32 | jaypipes | efried: yeah, that sounds about right to me, too. | |
| 16:37:36 | mdbooth | lyarwood: ^^^ | |
| 16:37:50 | efried | jaypipes Dangit, that still leaves us with orphan-able shared providers. | |
| 16:37:54 | mdbooth | lyarwood: Lets see how that does against tempest, but that change would be extremely backportable | |
| 16:38:04 | mriedem | ktibi: perhaps you'd like to share how users can do that | |
| 16:38:05 | efried | (aside from being asymmetrical) | |
| 16:38:09 | ktibi | dansmith if you spawn multi instances in a network with 0 free IP, nova fail to spawn and increase the trigger. if you deploy ~60 instances, you disable 6 computes | |
| 16:38:10 | dansmith | ktibi: what's the method? | |
| 16:38:17 | matrohon | mriedem: I'll have a look, but AFAIK, routed networks is the only feature really using the ip_allocation field for now | |
| 16:38:53 | ktibi | one user disable my 15 computes with spawn 200 instance on a /28 private network | |
| 16:39:08 | jaypipes | efried: don't worry about that too much. | |