| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-11-15 | |||
| 20:34:11 | edleafe | mriedem: that rebase failure you noted was because this has been sitting for so long that the code changed from under it. I'll rebase the whole series | |
| 20:34:58 | mriedem | yeah that one is an easy fix | |
| 20:37:25 | edleafe | So for the chance scheduler, is it worth adding the cell restriction for the alternates? I mean, does anyone really use that? | |
| 20:37:56 | mriedem | no, not for chance, there is a todo in there from dan about restricting by cell, | |
| 20:38:03 | mriedem | i think if we care about that, we handle the todo later separately | |
| 20:38:20 | edleafe | ok, I'll add a note there. | |
| 20:41:56 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add a note about versioned notification samples being per-release https://review.openstack.org/520193 | |
| 20:42:07 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add a note about versioned notification samples being per-release https://review.openstack.org/520193 | |
| 20:48:48 | edleafe | mriedem: Not sure what the concern about the refactor is. Would it be better to duplicate the code in this patch, and then add a new patch that does the refactor? | |
| 20:49:14 | sdague | mriedem: +A on https://review.openstack.org/#/c/515213/ | |
| 20:49:47 | mriedem | sdague: thanks | |
| 20:49:58 | mriedem | edleafe: well, (1) why is the refactor needed? | |
| 20:50:15 | mriedem | because as i said in my comments, the change, per the commit message, is about returning Selection objects from the driver rather than HostState objects | |
| 20:50:17 | mriedem | but this is doing more | |
| 20:51:22 | mriedem | edleafe: in other words, why is _ensure_sufficient_hosts needed? why move that check from select_destinations? is it because by the time we get to select_destinations to validate, we don't have the correct *type* of object? | |
| 20:51:28 | mriedem | i'm guessing host.updated = None is the issue | |
| 20:51:36 | mriedem | because that is for a HostState object, not a Selection object | |
| 20:53:27 | mriedem | edleafe: if _ensure_sufficient_hosts is needed because of $reason_given_by_me_just_now, then i'm requesting that you split that refactor that introduces _ensure_sufficient_hosts into a patch before https://review.openstack.org/#/c/495854/ in the series | |
| 20:53:34 | mriedem | where we're still dealing with HostState objects | |
| 20:53:46 | mriedem | it would just make review easier to know if we are changing any behavior | |
| 20:54:47 | edleafe | mriedem: ok, I'll add a patch before this one. | |
| 20:55:08 | mriedem | cool, thanks | |
| 20:55:18 | mriedem | i think eventually that also allows us to just merge the select_destinations and _schedule methods in the FilterScheduler | |
| 20:55:23 | mriedem | collapse them | |
| 20:55:27 | mriedem | but - later | |
| 20:58:38 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Fix docstring for GET /os-migrations and related DB API https://review.openstack.org/520200 | |
| 21:16:11 | efried | jaypipes http://paste.openstack.org/raw/626443/ | |
| 21:16:41 | jaypipes | efried: told ya :) big difference. | |
| 21:16:46 | efried | jaypipes ++ | |
| 21:35:27 | efried | jaypipes Is it your vision that update_inventory be mutually exclusive with get_inventory? That is, if a virt driver implements the former, the latter is ignored? | |
| 21:36:49 | efried | jaypipes I had thought that implementing get_inventory caused get_available_resource to be ignored, but it kinda looks like that's not the case? | |
| 21:37:27 | jaypipes | efried: unfortunately, we need to continue supporting get_available_resource() until all resource classes are handled by placement. | |
| 21:37:42 | jaypipes | efried: it was my vision that update_inventory() would override get_inventory() when present, yes. | |
| 21:37:52 | efried | jaypipes Okay. | |
| 21:41:28 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add migration_get_by_uuid in db api. https://review.openstack.org/511421 | |
| 21:41:29 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Implement query param schema for migration index https://review.openstack.org/518644 | |
| 21:41:29 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add migration db and object pagination support. https://review.openstack.org/514904 | |
| 21:41:30 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add cross cell sort support for get_migrations https://review.openstack.org/517273 | |
| 21:41:30 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Extract SortContext/SortWrapper of instance_list into utils https://review.openstack.org/518871 | |
| 21:41:31 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add pagination and Changes-since filter support for os-migrations. https://review.openstack.org/330406 | |
| 22:08:34 | openstackgerrit | Merged openstack/nova master: Trivial grammar fix https://review.openstack.org/517283 | |
| 22:10:40 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add microversion to allow setting flavor description https://review.openstack.org/515213 | |
| 22:10:59 | mriedem | sdague: ^ i rebased to kick it into the gate, it didn't go through for some reason | |
| 22:17:23 | openstackgerrit | Eric Berglund proposed openstack/nova master: WIP(5): PowerVM driver: ovs vif https://review.openstack.org/422512 | |
| 22:54:55 | eandersson | Is there a reason why this flag is always set to False? https://github.com/openstack/nova/blob/mitaka-eol/nova/virt/driver.py#L1249 | |
| 22:56:14 | eandersson | In certain scenarios when nova-compute fails to schedule it does not clean up the network ports | |
| 22:56:35 | eandersson | e.g. when hitting > qemu-kvm: cannot set up guest memory 'pc.ram': Cannot allocate memory | |
| 22:57:10 | mriedem | eandersson: it's apparently specific to baremetal | |
| 22:57:15 | mriedem | in how it's used anyway | |
| 22:58:19 | mriedem | otherwise i think ports created for an instance will go with the instance and be bound on the next host | |
| 22:58:34 | eandersson | https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1880 | |
| 22:58:50 | eandersson | It's used in this code path | |
| 22:59:10 | mriedem | yeah i'm looking at it locally | |
| 22:59:13 | eandersson | and basically if this function is called self._cleanup_allocated_networks | |
| 22:59:17 | eandersson | it will clean it up properly | |
| 22:59:33 | mriedem | what do you actually need cleaned up before the reschedule? | |
| 22:59:48 | mriedem | the ports should not be bound to that host at that point | |
| 22:59:56 | eandersson | Well the problem we are hitting is that each time it gets re-scheduled, a new ip is assigned | |
| 23:00:03 | mriedem | is a new port created? | |
| 23:00:08 | eandersson | Yea | |
| 23:00:15 | mriedem | ok, that's a problem, and i think an old one | |
| 23:00:29 | mriedem | i'm sure i could find some bugs if i dug for a bit | |
| 23:00:49 | eandersson | I am reproducing it with this http://paste.openstack.org/show/626450/ | |
| 23:00:55 | openstack | Launchpad bug 1703540 in OpenStack Compute (nova) "Reschedule with libvirt exception leaves dangling neutron ports" [High,Triaged] | |
| 23:00:55 | mriedem | https://bugs.launchpad.net/nova/+bug/1703540 | |
| 23:01:08 | mriedem | https://bugs.launchpad.net/nova/+bug/1531022 | |
| 23:01:09 | openstack | Launchpad bug 1531022 in OpenStack Compute (nova) "libvirt driver doesn't cleanup the tap interface on vm re-schedule" [Low,Confirmed] | |
| 23:01:24 | eandersson | oh not sure why I didn't find that one | |
| 23:01:59 | mriedem | yeah see comment #3 on https://bugs.launchpad.net/nova/+bug/1703540 | |
| 23:02:00 | openstack | Launchpad bug 1703540 in OpenStack Compute (nova) "Reschedule with libvirt exception leaves dangling neutron ports" [High,Triaged] | |
| 23:02:23 | eandersson | Yep - perfect | |
| 23:02:31 | eandersson | that is the exact same conclusion I came to | |
| 23:02:37 | mriedem | it would be as easy as calling cleanup_instance_network_on_host to remove any ports we created | |
| 23:03:03 | mriedem | however, doing that for neutron would basically be the same as for _cleanup_allocated_networks i think | |
| 23:03:15 | mriedem | because nova has to be smart about not deleting ports that the user supplied vs ones that nova created | |
| 23:03:44 | eandersson | Is there a reason why we can't just call _cleanup_allocated_networks ? | |
| 23:03:53 | eandersson | I tested that out in my lab and it worked 100% of the time | |
| 23:04:38 | eandersson | but obviously my test case is rather limited | |
| 23:05:16 | mriedem | honestly i'm not sure, and i worry that doing that will break something else, which is probably why we've never just done that | |
| 23:05:24 | mriedem | there was this patch for a related bug long ago https://review.openstack.org/#/c/367316/ | |
| 23:06:37 | mriedem | oh that was a backport | |
| 23:07:11 | mriedem | ok so https://review.openstack.org/#/c/243477/ is a different fix, | |
| 23:07:29 | mriedem | ^ is if all reschedules fail and we've run out of retries i think, so the instance is set to ERROR | |
| 23:07:32 | mriedem | which is different than, | |
| 23:07:37 | mriedem | host A fails, host B works | |
| 23:07:41 | mriedem | you'd have 2 ports | |
| 23:07:48 | openstackgerrit | Michael Still proposed openstack/nova master: Convert ext filesystem resizes to privsep. https://review.openstack.org/517516 | |
| 23:07:49 | openstackgerrit | Michael Still proposed openstack/nova master: Start moving users of parted to privsep. https://review.openstack.org/519011 | |
| 23:07:49 | openstackgerrit | Michael Still proposed openstack/nova master: Move flushing block devices to privsep. https://review.openstack.org/519010 | |
| 23:07:50 | openstackgerrit | Michael Still proposed openstack/nova master: Convert users of tune2fs to privsep. https://review.openstack.org/519484 | |
| 23:07:50 | openstackgerrit | Michael Still proposed openstack/nova master: Move remaining uses of parted to privsep. https://review.openstack.org/519483 | |
| 23:08:20 | eandersson | I see | |
| 23:10:53 | mriedem | i'm also not entirely sure if _cleanup_allocated_networks will do the entire job since it doesn't explicitly unplug vifs via the virt driver, | |
| 23:11:08 | mriedem | i'm not sure if deleting the port will take care of that out of band? | |
| 23:11:28 | openstack | Launchpad bug 1531022 in OpenStack Compute (nova) "libvirt driver doesn't cleanup the tap interface on vm re-schedule" [Low,Confirmed] | |
| 23:11:28 | mriedem | https://bugs.launchpad.net/nova/+bug/1531022/comments/2 | |
| 23:12:21 | efried | jaypipes More sanity check: In order to pass the entire provider tree to update_inventory, I'm going to need to *get* the entire tree. Which entails a new method in report client that calls GET with the new ?tree= deal, then builds up the ProviderTree object accordingly. And then actually returns that guy, which is currently a private _provider_tree attribute and not actually returned anywhere yet. | |
| 23:12:27 | eandersson | I don't see the tap at least on the compute I tested it on | |
| 23:12:52 | eandersson | but this is mitaka, who knows how it would work on other versions of Openstack | |
| 23:13:08 | mriedem | well, does it maybe depend on the type of interface? | |