Earlier  
Posted Nick Remark
#openstack-nova - 2017-05-15
16:58:32 sdague melwitt: ok, cool.
16:58:38 dansmith can I have a teaser for next week's episode?
16:58:42 cfriesen ralonsoh: the nice thing about setting it via /sys/class/net is that it gives you flexibility if you have different hardware using the same module.
16:59:05 ralonsoh cfriesen: I know and I agree. The problem is how to store it
16:59:07 dansmith sdague: melwitt: I just pushed up a ulimit hack to see if that affects anything, fwiw
16:59:26 ralonsoh cfriesen: do you think the idea of adding a pre-up command is enough?
16:59:46 sdague melwitt: yeh, I would feel much more comfortable twiddling knobs if we understood why we were hitting that
17:01:08 melwitt dansmith: heh. well, I could be totally wrong, but I think it might be because we aren't caching the oslo.db transaction context managers. I had thought oslo.db connection pooling underneath took care of that, but now I want to try and see if there's a difference when doing it
17:01:27 dansmith melwitt: hmm
17:01:44 dansmith melwitt: so we also disable some amount of tpooling, which isn't connection pooling that I know of, but..
17:01:58 dansmith so maybe we're already breaking things and what I'm doing is just pushing us over a limit?
17:02:24 melwitt that's what I'm thinking, but it's a total guess
17:03:44 dansmith hmm, that would be like bad and stuff
17:03:49 sdague lyarwood - https://review.openstack.org/#/c/464664/ approved and in gate, so hopefully you'll be back to working in ~ 1 hr
17:03:51 dansmith not really sure how we'd not be gc'ing them, but..
17:03:57 melwitt I mean, I think cfriesen or somebody had mentioned recently they saw total db connections go way up since newton or ocata compared with before cells v2. so that had me thinking already that I wanted to look into this
17:04:03 dansmith maybe we're just hitting a rate that makes it a problem
17:04:31 dansmith melwitt: well, we would have an increase because of the api db
17:04:55 cfriesen ralonsoh: in our environment if a PF has VFs we only ever pass the VFs through to the guest so no personal experience with what you're trying to do. In the case where you're using VFs are you "up"ing the PF?
17:05:06 dansmith I guess if we're leaking somehow, we'd get worse the more targeting we do,
17:05:08 dansmith but..
17:05:25 melwitt yeah. so what I'm thinking might not be related, so I didn't want to get anyone worried about it untiI checked
17:05:38 cfriesen melwitt: we hit increased DB connections going from Mitaka to Newton
17:05:59 dansmith cfriesen: did you look at where those were coming from? i.e. only from api/conductor workers?
17:06:23 ralonsoh cfriesen: it's a user case (and a possible bug). You can use both, PF and VFs, but not at the same time. But if you start a VM with a PF and then you need to use the VFs, those are lost
17:06:26 dansmith well, I guess if we're leaking those would be the services anyway, so.. that might not tell us anything
17:09:07 cfriesen dansmith: I'm still catching up on email, but I don't think we've bottomed out exactly where they're coming from. I think we just bumped the number of connections for now.
17:09:41 dansmith alright
17:10:26 cfriesen dansmith: got any clever ways to figure out what code has open connections?
17:10:34 dansmith netstat?
17:10:37 jmlowe I've been having a problem with nova, I'm pretty sure bugs have been reported years ago (can't find them atm) but have languished, when an instance goes into error state the underlying disk is deleted, this is exactly the wrong thing to do
17:11:02 cfriesen dansmith: that's the easy part. what about within the python code?
17:11:23 dansmith cfriesen: well, knowing what binary has the excess is a start
17:11:37 dansmith we'd need extra instrumentation to know which code I think
17:12:22 mriedem jmlowe: never heard of that
17:12:22 jmlowe for instance, Wednesday during the summit a user resumed a suspended instance that didn't have enough memory so qemu wouldn't start, this is eminently fixable unless nova comes along and deletes the underlying block device for the instance
17:13:36 jmlowe If I dig back in my logs I even have errors from nova repeatedly deleting the same rbd device after the first wrongful deletion is succeeds
17:14:55 jmlowe no probably not just a gross conceptual error in the state diagram but also a bad implementation
17:15:43 jmlowe also kind of hard to replicate reliably on a 300 compute node production system
17:15:46 mriedem jmlowe: what you might be thinking of i,s
17:15:51 mriedem resume in the libvirt driver calls this https://github.com/openstack/nova/blob/8d9eb670c75a8209901bac3b4dd94925b6b1f000/nova/virt/libvirt/driver.py#L2562
17:16:12 mriedem if that fails in some unexpected way, we go here https://github.com/openstack/nova/blob/8d9eb670c75a8209901bac3b4dd94925b6b1f000/nova/virt/libvirt/driver.py#L5120
17:16:22 jmlowe will also trigger on error state due to migration error
17:17:14 mriedem destroy_disks_on_failure defaults to False here
17:17:18 mriedem and isn't set to True for the resume case
17:17:40 mriedem so when calling cleanup, destroy_disks would be False https://github.com/openstack/nova/blob/8d9eb670c75a8209901bac3b4dd94925b6b1f000/nova/virt/libvirt/driver.py#L5042
17:18:44 mriedem jmlowe: i'm confused, are you doing a migration or a resume?
17:19:08 jmlowe happens for both, seemingly any time an instance goes into error
17:19:10 mriedem because if is_shared_block_storage=True, then https://github.com/openstack/nova/blob/8d9eb670c75a8209901bac3b4dd94925b6b1f000/nova/virt/libvirt/driver.py#L1014 would delete instance files on disk
17:19:30 jmlowe in my case ceph backed
17:19:35 mriedem the instance going to error state is not a related issue for deleting the disks in the virt driver
17:20:11 mriedem jmlowe: which release of nova are you on?
17:20:17 jmlowe newton
17:20:27 jmlowe don't think it was doing this in mitaka
17:20:39 mriedem i don't really see anything in newton when resume would fail that would destroy the disks
17:21:24 mriedem now, i think that _cleanup_failed_start method was new in ocata and backported to newton...
17:21:47 mriedem yeah https://review.openstack.org/#/q/Iab5afdf1b5b8d107ea0e5895c24d50712e7dc7b1
17:23:13 mriedem hmm, destroy disks wasn't passed through at that point
17:23:15 mriedem checking something
17:24:09 mriedem https://review.openstack.org/#/q/I38c969690fedb71c5b5ec4418c1b0dd53df733ec
17:24:35 mriedem jmlowe: do you have this fix? https://review.openstack.org/#/c/428671/
17:24:41 mriedem went into newton 14.0.4
17:25:00 mriedem fixed the thing introduced in 14.0.3
17:27:27 jmlowe_ specifically I should have nova 14.0.3
17:27:56 mriedem jmlowe_: you mean that's what you're running?
17:28:10 mriedem if so, you need https://review.openstack.org/#/c/428671/
17:28:40 jmlowe_ yeah, was just trying to determine if that commit was in 14.0.3
17:29:23 jmlowe_ and it's not
17:31:22 jmlowe_ *grumble* now off to go harass the rdo packagers
17:31:41 jmlowe_ thanks for the pointer, never would have found that myself
17:32:08 jmlowe_ on the other hand I was planning on going to ocata in the next week or so
18:00:49 dansmith edleafe: looks like maybe this https://review.openstack.org/#/c/464086 should go underneath bauzas' patch to do the claim?
18:01:36 edleafe dansmith: sure, it should go before the claim code
18:07:29 dansmith edleafe: so given the conductor direction, are you going to work on the obviously half-finished claim-in-scheduler patch at the top of that series?
18:07:47 dansmith edleafe: there is a big missing piece of handling the case where we fail to claim the first host It hink
18:08:20 edleafe Well, I was kind of told *not* to work on that one :)
18:08:26 dansmith oh
18:08:29 edleafe But yeah, I was planning on completing it
18:08:36 edleafe until this morning
18:08:54 dansmith okay.. no update since may 11
18:09:08 dansmith I guess we're expecting something presently?
18:09:23 edleafe I'm curious, though - where do you see the claim fail logic missing?
18:10:29 dansmith if we fail doing _allocate_for_instance() here, we need to retry the claim for the same instance, but on the next host right? https://review.openstack.org/#/c/460455/6/nova/conductor/manager.py
18:10:45 dansmith L957 just moves on to the next instance, right?
18:10:46 edleafe dansmith: fwiw, I was on PTO May 12, and came back in town this morning to a big fat -2
18:11:21 dansmith edleafe: I meant no update on bauzas' conductor claim one
18:11:29 dansmith edleafe: yours have been updated more recently, AFAICT
18:11:31 edleafe dansmith: oh, you mean bauzas' series. I thought you meant mine
18:11:39 dansmith nope
18:11:43 edleafe ah
18:11:49 dansmith so actually,
18:12:00 dansmith if we fail to claim on L957 do we just stop building everything?
18:12:04 dansmith I'm kinda assuming we do
18:12:04 edleafe bauzas did mention that he was ready with a new PS real soon
18:12:28 dansmith actually, maybe we don't explode, but just continue with no allocation?
18:12:29 dansmith eesh
18:12:48 edleafe ...which negates the whole point of eliminating the race, no?
18:13:23 dansmith well, it's just completely wrong
18:13:34 dansmith we can't ask compute to build an instance we didn't actually claim for :P
18:13:49 edleafe My series didn't (yet) account for the computes not all being updated to the latest

Earlier   Later