| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-02-18 | |||
| 13:45:22 | kashyap | gibi: fried_rice: Appreciate one more look on the above, when you get a few minutes. | |
| 13:45:39 | kashyap | gibi: It was already ACKed, I fixed the issue discovered by zKVM CI | |
| 13:45:47 | gibi | kashyap: looking | |
| 13:47:18 | kashyap | gibi: Err, 1 sec, let me quickly respin -- I moved the code comment to the wrong function. | |
| 13:50:19 | openstackgerrit | Kashyap Chamarthy proposed openstack/nova master: libvirt: Bump MIN_{LIBVIRT,QEMU}_VERSION for "Stein" https://review.openstack.org/632507 | |
| 13:50:19 | openstackgerrit | Kashyap Chamarthy proposed openstack/nova master: libvirt: Rewrite _create_pty_device() to be clearer https://review.openstack.org/637152 | |
| 13:50:20 | openstackgerrit | Kashyap Chamarthy proposed openstack/nova master: libvirt: Drop MIN_LIBVIRT_PARALLELS_SET_ADMIN_PASSWD https://review.openstack.org/632514 | |
| 13:51:40 | efried | n-sch meeting in 9 minutes in #openstack-meeting-alt | |
| 13:51:56 | kashyap | Done. | |
| 13:55:39 | kashyap | gibi: ^ Thanks! (If you're deep in the middle of a different change, probably look at it later. The context-switch can be expensive here.) | |
| 13:56:00 | gibi | kashyap: done | |
| 13:56:43 | kashyap | That's fast. | |
| 13:56:52 | kashyap | gibi: Wauw; that's crazy | |
| 13:57:04 | openstackgerrit | Surya Seetharaman proposed openstack/python-novaclient master: API microversion 2.69: Handles Down Cells https://review.openstack.org/579563 | |
| 13:57:09 | kashyap | gibi: This will come in handy ;-) -- https://tobytripp.github.io/meeting-ticker/ | |
| 13:58:48 | gibi | kashyap: thanks :D | |
| 14:03:41 | openstackgerrit | Matt Riedemann proposed openstack/nova master: API microversion 2.69: Handles Down Cells Documentation https://review.openstack.org/635147 | |
| 14:10:50 | sean-k-mooney | general question is it leagal to delete an instance when it is building? | |
| 14:11:22 | sean-k-mooney | if so we have a bug in our network cleanup logic which i need to go fix | |
| 14:12:04 | sean-k-mooney | ill fix it regardless of they answer to my first question but im wondering if we expect you to be able to delete a currently building instance. | |
| 14:13:53 | sean-k-mooney | looking at https://developer.openstack.org/api-ref/compute/?expanded=delete-server-detail#delete-server it does not look like there is a precondition preventing deltion while it is spawning | |
| 14:14:27 | efried | sean-k-mooney: I know a delete request is certainly accepted during spawn, and seems to delete the instance. | |
| 14:15:21 | sean-k-mooney | efried: ya so https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L2000-L2036 we dont clean up host networking if we raise exception.UnexpectedDeletingTaskStateError | |
| 14:16:02 | efried | okay | |
| 14:16:22 | sean-k-mooney | so between the time os-vif plugs the vif and the managner updates the db to set the stat to active if we recive a delete request we dont clean up properly | |
| 14:33:32 | dansmith | mriedem: tssurya: we should probably have some stuff in the docs around best practices for effectively tolerating down cells.. like db and mq timeout settings | |
| 14:37:32 | mriedem | dansmith: e.g. https://bugs.launchpad.net/nova/+bug/1815697 ? | |
| 14:37:33 | openstack | Launchpad bug 1815697 in OpenStack Compute (nova) "[upgrade_levels]compute=auto grinds the API response times when a cell is down" [Medium,Confirmed] | |
| 14:37:45 | dansmith | mriedem: yeah and that | |
| 14:37:56 | dansmith | very op-focused docs | |
| 14:38:40 | mriedem | sure, that would go in https://docs.openstack.org/nova/latest/admin/ | |
| 14:39:04 | mriedem | https://review.openstack.org/#/c/635147/ is already pretty big, so i'd suggest we split that off | |
| 14:39:13 | dansmith | yep | |
| 14:39:46 | NewBruce | sean-k-mooney wrt your open question above, i think there are a few paths that don’t clean up when an error occurs | |
| 14:40:12 | NewBruce | for instance, the issue i’m debugging which we were discussing last week is one as well - | |
| 14:40:30 | sean-k-mooney | NewBruce: yes in this case i dont think we ever call the drivers destroy or cleanup fucntions | |
| 14:41:14 | NewBruce | yep, and in some cases it tends to leave allocations - which i suspect will eventually play havoc with the scheduler/placement | |
| 14:41:37 | NewBruce | def _update_port_with_migration_profile( | |
| 14:41:37 | NewBruce | self, instance, port_id, port_profile, admin_client): | |
| 14:41:37 | NewBruce | try: | |
| 14:41:37 | NewBruce | updated_port = admin_client.update_port( | |
| 14:41:37 | NewBruce | port_id, {'port': {BINDING_PROFILE: port_profile}}) | |
| 14:41:37 | NewBruce | return updated_port | |
| 14:41:37 | NewBruce | except Exception as ex: | |
| 14:41:38 | NewBruce | with excutils.save_and_reraise_exception(): | |
| 14:41:38 | NewBruce | LOG.error("Unable to update binding profile " | |
| 14:41:39 | NewBruce | "for port: %(port)s due to failure: %(error)s", | |
| 14:41:39 | NewBruce | {'port': port_id, 'error': ex}, | |
| 14:41:40 | NewBruce | instance=instance) | |
| 14:41:58 | sean-k-mooney | in this case the allcoation are being cleaned up but its not cleaning upu the network ports | |
| 14:42:04 | sean-k-mooney | e.g. unplginning the vifs | |
| 14:42:18 | NewBruce | Aha - ok | |
| 14:42:44 | sean-k-mooney | im not sure if we are cleaning up disk image ectra either so i think just calling self.driver.cleanup would be the simplest solution | |
| 14:43:31 | NewBruce | sean-k-mooney will you in the channel for a while? ill be back in a few hours and if possible would love to continue our chat from last week - ive got some extra debug info which i can’t make sense of | |
| 14:43:57 | sean-k-mooney | yes ill be around for anohter few hours | |
| 14:49:28 | stephenfin | kashyap: Is there an open bug for s390x before this patch goes in so? https://review.openstack.org/#/c/632507/12 | |
| 14:50:39 | stephenfin | kashyap: i.e. if you have a new enough version of libvirt, you'll end up with the duplicate pty devices? | |
| 14:58:09 | mriedem | dansmith: in addition to config i'd think you'd want to disable any down cells via the cli and sighup the scheduler service so we don't waste time trying to pull compute nodes from them for scheduling | |
| 14:58:26 | mriedem | with that bug above i was wondering if filtering disabled cells could be more generally applied | |
| 14:58:30 | dansmith | mriedem: yep, probs | |
| 14:58:44 | mriedem | the min service version check specifically | |
| 15:03:56 | kashyap | stephenfin: No open bug is required. | |
| 15:04:08 | kashyap | Because: | |
| 15:06:58 | kashyap | stephenfin: Scratch that; I need to determine if we really one. But having one is always useful, though. | |
| 15:07:31 | stephenfin | kashyap: It's mostly because if there is a bug, it would be better fix that in a separate precursor patch so that we can backport that wholesale | |
| 15:08:04 | kashyap | stephenfin: No, there is no pre-existing bug. I discovered this the hard way (from zKVM CI), after the version bump analysis | |
| 15:08:53 | kashyap | stephenfin: I see what you mean, though -- I'd have _really_ preferred this to be a separate change ("one logical change per commit"). But I don't think we can do it in this instance - as it's tied to version bump :-( | |
| 15:09:20 | kashyap | (Aside: Do we have any active s390x contributors?) | |
| 15:13:58 | mriedem | no | |
| 15:16:32 | kashyap | Nod. In this case, we're reasonably safe: I checked with the s390x maintainer (for 10-ish years) in QEMU, and she said what I'm doing is sane, FWIW. | |
| 15:17:25 | kashyap | s/reasonably// :D ("Avoid tame, colorless, hesitating, noncommittal language.") | |
| 15:19:15 | openstackgerrit | Matt Riedemann proposed openstack/nova stable/queens: Ignore VolumeAttachmentNotFound exception in compute.manager https://review.openstack.org/637391 | |
| 15:19:50 | mriedem | need another core on this api-ref change https://review.openstack.org/#/c/635315/ to unblock this code fix https://review.openstack.org/#/c/509206/ for the longstanding "don't allow az renames when the az has instances in it" | |
| 15:26:13 | gibi | mriedem: I'm looking at the heal_allocation code and I'm wondering how to handle when more than on thing is missing | |
| 15:26:16 | gibi | (e.g. project_id and some port allocation) from the instance allocation: | |
| 15:26:22 | gibi | a) do a separate PUT /allocations/{instance.uuid} for each step | |
| 15:26:24 | kashyap | mriedem: When you get a moment, on this: https://specs.openstack.org/openstack/nova-specs/specs/stein/approved/cpu-model-selection.html | |
| 15:26:29 | gibi | b) generate all the missing allocation of the instance and | |
| 15:26:44 | gibi | do a single PUT /allocations/{instance.uuid} at the end | |
| 15:26:45 | kashyap | mriedem: Do you know if Jack Ding / cfriesen et al are working on it? | |
| 15:27:00 | gibi | #a) has the benefit to allow only healing project_id when there is no bandwidth inventory to heal the port allocations | |
| 15:27:08 | gibi | #b) has the benefit of only calling PUT /allocations once | |
| 15:28:18 | kashyap | gibi: Sorry for breaking your chat, didn't realize it for a moment. | |
| 15:28:41 | gibi | kashyap: no worries I think we break each other chat :D | |
| 15:28:55 | kashyap | (I know there is no 'mutex' on IRC, but still :-)) | |
| 15:28:59 | kashyap | Matt: I ask because, there is a related blueprint I filed the other day: https://blueprints.launchpad.net/nova/+spec/cpu-selection-with-hypervisor-consideration | |
| 15:32:02 | kashyap | Anyway, it can be worked out; as no one posted any code for it. | |
| 15:32:52 | mriedem | kashyap: no https://blueprints.launchpad.net/nova/+spec/cpu-model-selection | |
| 15:32:58 | mriedem | no patches proposed | |
| 15:33:07 | kashyap | mriedem: Right, I saw that. | |
| 15:33:34 | kashyap | But most important thing is to rip out existing two CPU-related APIs and use the more sensible APIs that take into account the hypervisor capabilities. | |
| 15:33:57 | mriedem | gibi: i'm assuming (a) is less change in the heal_allocations code | |
| 15:34:26 | mriedem | gibi: for healing missing bw allocations i would hope most of that can be a separate private method that does the check and calculates the allocations to PUT | |
| 15:34:52 | gibi | mriedem: (a) seems a bit less intrusive to the existing code yes | |
| 15:35:10 | gibi | mriedem: yes, I will definitly separate out the bw healing to methos | |
| 15:35:13 | gibi | methods | |
| 15:35:37 | mriedem | gibi: so we already do at most 2 PUTs per instance right? | |
| 15:35:40 | mriedem | first here https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L1892 | |
| 15:35:49 | mriedem | second here https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L1912 | |
| 15:35:57 | mriedem | the second is getting allocations from the flavor | |