| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-05-02 | |||
| 18:41:58 | melwitt | jroll: multi cell is not a thing in ocata, I'd say | |
| 18:42:16 | jroll | melwitt: yeah, that was my actual question, thanks | |
| 18:43:03 | melwitt | and, affinity scheduling doesn't work with multi cell yet, there's a bug (I have a patch up to fix it) https://review.openstack.org/540258 | |
| 18:43:35 | melwitt | I know that's something y'all need | |
| 18:45:02 | jroll | tis, thanks for that | |
| 19:02:33 | melwitt | hm, seeing an issue where a BFV instance being deleted fails to detach the volume because attachment_id = None http://logs.openstack.org/01/565601/2/check/tempest-full/f1004d9/controller/logs/screen-n-cpu.txt.gz#_May_02_03_50_00_958050 | |
| 19:03:55 | cfriesen | anyone know offhand what's causing this failure when running tox against newton? http://paste.openstack.org/show/720243/ | |
| 19:04:50 | melwitt | did you do a tox -e<whatevs> -r first? | |
| 19:04:57 | melwitt | usually have to do that when you switch branches | |
| 19:05:39 | cfriesen | will try that, thanks | |
| 19:06:47 | melwitt | usually you'll have different deps versions required per branch and that's where those errors come from. if the env has a module version missing an attribute that another branch needs | |
| 19:11:21 | melwitt | so for the BFV volume detach, it's using the old attach API, that means bdm.attachment_id was not set or None | |
| 19:11:56 | melwitt | and then the old os-detach API is called with attachment_id = null and that yields a 400 from cinder | |
| 19:13:33 | melwitt | now to figure out why attachment_id isn't set for a BFV instance created from a snapshot | |
| 19:22:04 | mriedem | melwitt: i know exactly why | |
| 19:22:08 | arvindn05 | efried: thanks for the review :). For the comment on the commit message, i just squash my individual commits to create the single commit that gerrit requires..hence the Added unit and functional tests | |
| 19:22:20 | mriedem | melwitt: https://review.openstack.org/#/c/541420/ | |
| 19:22:44 | melwitt | yesss, I was hoping there was already a patch for dat | |
| 19:22:49 | mriedem | melwitt: either way, when detaching we should know if we're doing new style detach (attachment_id is not None) or old style detach | |
| 19:23:05 | efried | arvindn05: You mean in your sandbox you had multiple commits, one that did the code and one that did the test, and you squashed them together before proposing them to gerrit? | |
| 19:23:19 | arvindn05 | yup | |
| 19:23:36 | efried | arvindn05: Yeah, that doesn't change my opinion :) There's no need for a commit message on a change that clearly has unit and functional tests to say that it has unit and functional tests. | |
| 19:23:39 | melwitt | mriedem: right. we're doing old style because attachment_id is None but, attachment_id sent over to cinder in the old style os-detach action call is also None which gets a 400 response | |
| 19:23:45 | efried | arvindn05: But you notice I'm not blocking on it either. | |
| 19:24:16 | melwitt | so old style detach fails | |
| 19:24:34 | mriedem | we don't send an attachment_id to os-detach in cinder | |
| 19:24:40 | mriedem | it's not a parameter for that api | |
| 19:24:49 | mriedem | well, i don't think it is | |
| 19:24:52 | melwitt | it's in the log here http://logs.openstack.org/01/565601/2/check/tempest-full/f1004d9/controller/logs/screen-n-cpu.txt.gz#_May_02_03_50_00_958050 | |
| 19:24:54 | mriedem | for new style detach, we'd call attachment_delete | |
| 19:25:03 | mriedem | log schmog, that's fake news | |
| 19:25:05 | melwitt | it's the only thing we're sending | |
| 19:25:06 | arvindn05 | efried: cool....i dont like the gerrit workflow...more used to github which allows individual commits and lets the maintainer decide on squash vs rebase vs commit as is | |
| 19:25:21 | arvindn05 | but going with the flow :) | |
| 19:25:36 | melwitt | WHAT SAY YOU | |
| 19:26:17 | efried | arvindn05: You're welcome (even encouraged) to split up reviews in gerrit, though generally if along test/impl lines the test should come first. | |
| 19:26:44 | efried | arvindn05: Me, I've never used github, so no basis for comparison there. | |
| 19:26:46 | mriedem | oh yeah i guess os-detach does take an attachment_id parameter, which is optional | |
| 19:27:14 | melwitt | it's weird that of all the params, that's the only thing we're sending. seems wrong | |
| 19:27:15 | mriedem | melwitt: we can't detach the volume on a volume-backed instance, is that what you're trying to do? | |
| 19:27:31 | mriedem | *root volume | |
| 19:28:34 | melwitt | mriedem: maybe. this is a delete_on_termination=True instance created from a snapshot (the tempest test) and when we delete the instance, it tries to detach the volume and delete it. and it fails to detach it | |
| 19:28:46 | mriedem | this schema check looks wrong | |
| 19:28:47 | mriedem | InvalidInput: Invalid input received: Invalid input for field/attribute attachment_id. Value: None. None is not of type 'string' | |
| 19:28:57 | melwitt | a BFV instance, that is | |
| 19:29:04 | mriedem | this schema doesn't say attachment_id is required https://github.com/openstack/cinder/blob/master/cinder/api/schemas/volume_actions.py#L73 | |
| 19:29:08 | mriedem | and it allows null | |
| 19:29:16 | mriedem | oh no sorry | |
| 19:29:23 | mriedem | that says you don't have to put a body in it | |
| 19:30:15 | melwitt | so what's the correct flow for deleting a BFV instance with delete_on_termination=True? has to detach and then delete the volume, the volume can't be deleted if it's in-use | |
| 19:31:31 | arvindn05 | efried: in gerrit, subsequent changes are always amends for a single review which means on the git side, you do lose history. If you wanted to say revert changes back to commit #2, we would need to download the code from gerrit for PS#2...anyway just my rant from using both github and gerrit :) | |
| 19:32:23 | efried | arvindn05: You can do commits in series, which means you use a different change-id for the second commit but set the first commit as its parent. | |
| 19:32:41 | mriedem | melwitt: the attachment_id getting passed to cinder isn't from the bdm, it's from the volume['attachments'] information, which is a thing that existed before the new style attach flow https://github.com/openstack/nova/blob/master/nova/compute/api.py#L4026 | |
| 19:33:32 | efried | arvindn05: example: https://review.openstack.org/#/c/565279/2 is first, https://review.openstack.org/#/c/564351/5 is second, https://review.openstack.org/#/c/517757/33 is third in the series. | |
| 19:34:37 | mriedem | this code is likely all old and busted and should be removed https://github.com/openstack/nova/blob/master/nova/volume/cinder.py#L537-L559 | |
| 19:34:44 | mriedem | since we don't support multiattach volumes with old style attachments | |
| 19:34:58 | openstackgerrit | Merged openstack/nova master: Remove ExactCoreFilter ExactDiskFilter ExactRamFilter https://review.openstack.org/508886 | |
| 19:35:16 | mriedem | that was all prep work written in mitaka https://review.openstack.org/#/c/193134/ | |
| 19:35:41 | melwitt | arvindn05: yeah, with gerrit, you can't have multiple commits in one "review". so to do that, you have to make a stack of gerrit reviews (one review per commit) and then upload them together. you just do all of your commits as usual, then 'git review' will upload all of them as separate reviews that depend on each other | |
| 19:36:18 | mriedem | melwitt: so it looks like we have a bug that we still pass an attachment_id to os-detach even if we don't have an attachment_id | |
| 19:36:46 | melwitt | mriedem: okay, so an empty body os-detach will still do the right thing and detach the volume | |
| 19:37:30 | mriedem | maybe, not really sure, we don't have tests that try to detach a root volume | |
| 19:37:37 | melwitt | I'll try depends-on your patch and see if it makes the tempest test change work (I added an assert that the volume was gone and that failed because the volume couldn't be detached and thus deleted) | |
| 19:38:36 | mriedem | melwitt: ok, but you need this to get ceph working on stable branches? | |
| 19:39:11 | melwitt | mriedem: on master. I don't know why it's failing 100% now over this "volume dependent on snapshot" issue when it didn't use to, but that's what's going on | |
| 19:39:31 | mriedem | ok deps-on my patch and then we'll go from there | |
| 19:39:56 | arvindn05 | melwitt: efried: ahh...k. will keep that in mind. Good workflow to use when all of your commits are complete...if the last one is WIP, we will have to mark it in gerrit review i guess | |
| 19:40:02 | melwitt | but because the test does not first remove the volume snapshot, the second instance can't be deleted. I Don't Know How This Ever Worked(tm) for ceph | |
| 19:40:15 | arvindn05 | learn something new about gerrit everyday :) | |
| 19:40:21 | efried | arvindn05: Happens all the time. Even ones that *aren't* the last one get marked WIPs. | |
| 19:40:35 | efried | arvindn05: And the whole series doesn't merge at once; they merge bottom up like you would expect. | |
| 19:40:42 | efried | each is a dependency of the next. | |
| 19:40:46 | melwitt | arvindn05: yeah, the usual way is to just prepend your commit message subject line on the WIP one with "WIP" | |
| 19:41:30 | mriedem | melwitt: the test wasn't skipped for the ceph job before was it? | |
| 19:41:56 | arvindn05 | thanks! | |
| 19:42:00 | melwitt | mriedem: it might have been. I can't think of any other way this makes sense but I didn't find that yet. tbh I don't remember where to find the skip list for ceph | |
| 19:43:03 | mriedem | i don't think it ever landed, i remember cleaning up something about this recently | |
| 19:43:49 | mriedem | https://review.openstack.org/#/c/550497/ | |
| 19:46:40 | melwitt | so both skip list changes are abandoned ... does that mean there's no skip list? I'm confused | |
| 19:47:08 | melwitt | so that implies that test is new? *looks* | |
| 19:47:18 | mriedem | it's not new | |
| 19:47:23 | mriedem | it's only recently been renamed | |
| 19:47:31 | mriedem | but the idempotent id hasn't changed | |
| 19:47:38 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Add nova-manage placement heal_allocations CLI https://review.openstack.org/565886 | |
| 19:47:51 | melwitt | hrm | |
| 19:47:54 | mriedem | mgagne: dansmith: ^ here is my start, sans tests and docs and lots of todos/notes | |
| 19:48:16 | mriedem | melwitt: this is the job definition, and no it doesn't have a skip list http://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/playbooks/legacy/tempest-dsvm-py35-full-devstack-plugin-ceph/run.yaml#n2 | |
| 19:48:26 | mriedem | jbernard was working on one but as you can see those patches were all abandoned | |
| 19:48:27 | melwitt | doubleyew tee eff | |
| 19:48:31 | mriedem | so for awhile the job was just totally broken | |
| 19:48:52 | melwitt | I don't know how this test could ever pass with ceph | |
| 19:49:45 | melwitt | and the job hasn't been broken for _that_ long, I didn't think | |
| 19:49:52 | melwitt | anywho | |
| 19:50:01 | mriedem | melwitt: could be that it wasn't using DEVSTACK_GATE_TEMPEST_FULL | |
| 19:51:09 | mriedem | tempest tox -e full runs tempest api tests concurrently and then scenario tests serially | |
| 19:51:12 | mriedem | and this is a scenario tes | |
| 19:51:13 | mriedem | *test | |
| 19:51:22 | efried | arvindn05: Do we always have access to the old image metadata during a rebuild? | |
| 19:51:26 | melwitt | okay, I'll take a look for that | |
| 19:51:48 | mriedem | if DEVSTACK_GATE_TEMPEST_* isn't specified, it looks like it should just be running smoke tests | |