16:00:20 <jungleboyj> #startmeeting Cinder
16:00:21 <openstack> Meeting started Wed Oct  9 16:00:20 2019 UTC and is due to finish in 60 minutes.  The chair is jungleboyj. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:00:22 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
16:00:24 <openstack> The meeting name has been set to 'cinder'
16:00:44 <jungleboyj> Courtesy ping:  jungleboyj whoami-rajat rajinir lseki carloss pots woojay erlon geguileo eharney rosmaita enriquetaso e0ne smcginnis davidsha walshh_ xyang hemna _hemna tosky sfernand
16:00:45 <eharney> hey
16:00:51 <smcginnis> o/
16:00:53 <walshh_> hi
16:00:57 <xyang> hi
16:00:57 <whoami-rajat> Hi
16:00:58 <geguileo> hi! o/
16:00:59 <rosmaita> o/
16:01:06 <davidsha> o/
16:01:09 <e0ne> hi
16:01:15 <enriquetaso> o/
16:01:28 <dviroel> hi
16:01:34 <woojay> o/
16:01:35 <carloss> hi
16:02:20 <jungleboyj> @!
16:02:20 <_pewp_> jungleboyj ( *՞ਊ՞*)ノ
16:02:25 <jungleboyj> Look at all the people.
16:02:41 <tosky> o/
16:02:54 <rosmaita> big turnout
16:03:30 <jungleboyj> Figures given there is a light agenda.  :-)
16:03:59 <jungleboyj> Anyway, lets get started.
16:04:07 <jungleboyj> #topic announcements
16:04:23 <jungleboyj> Looks like the announcements are yours rosmaita ....
16:04:27 <rosmaita> ok
16:04:39 <rosmaita> first, RC-2 is available -- please test!
16:04:46 <jungleboyj> rosmaita: ++
16:05:02 <rosmaita> the "final RC" is whatever has been released on Friday (11 October)
16:05:27 <rosmaita> so if we have any critical bug fixes, we need to find, fix, and merge by Friday
16:05:48 <smcginnis> Which day?
16:05:52 <rosmaita> otherwise, if there's anything found after that, it's up to the release team (not us) whether it can be included in the release
16:06:01 <jungleboyj> smcginnis:  Oh no he didn't!
16:06:05 <jungleboyj> :-)
16:06:06 <smcginnis> :D :D
16:06:20 <jungleboyj> rosmaita:  Save yourself from the torture I got in the past.
16:06:37 * jungleboyj whispers just say Thursday
16:07:13 <rosmaita> oh, ok, Thursday (10 Oct)
16:07:18 <jungleboyj> :-)
16:07:23 <smcginnis> Good save. :P
16:07:31 <jungleboyj> smcginnis:  He is smarter than I am.
16:07:46 <rosmaita> anyway, i don't see any bugs filed or patches proposed for stable/train, and we are running out of time, so i think RC-2 will be our final RC
16:08:14 <jungleboyj> Good.  Nice that we could get it done in two RCs.  Thanks for the great leadership there rosmaita
16:08:24 <rosmaita> other announcement is the running reminder to please include topics on the PTG planning etherpad
16:08:34 <rosmaita> #link https://etherpad.openstack.org/p/cinder-ussuri-ptg-planning
16:08:55 <jungleboyj> rosmaita:  ++  If we are going all the way to Shanghai it should be productive.
16:08:58 <rosmaita> and i guess final announcement is Train coordinated release is one week from today!
16:09:26 <jungleboyj> Whooo whooo, chugga chugga ...
16:09:34 <rosmaita> that's all from me
16:09:54 <jungleboyj> rosmaita:  Awesome.  Thank you.
16:10:03 <rosmaita> :D
16:10:13 <jungleboyj> I only had one other topic for this week.
16:10:31 <jungleboyj> #topic Discuss Matt's proposal to remove legacy attach code
16:11:10 <jungleboyj> It looks like the last note in the thread is here:
16:11:14 <jungleboyj> #link http://lists.openstack.org/pipermail/openstack-discuss/2019-October/009959.html
16:11:40 <e0ne> can we really drop APIs with microversions and before cinder API v4?
16:11:57 <jungleboyj> Want to make sure that we get the people who understand this code involved.
16:12:39 <smcginnis> Yeah, I think we had realized we can't ever really drop code.
16:12:45 <jungleboyj> e0ne:  Good question.
16:12:55 <smcginnis> Even with a new microversion that excludes it, we still need the code there for the lower MVs.
16:13:03 <geguileo> we don't drop the API code, they just stop using it
16:13:06 <smcginnis> Nova can choose not to call the old code anymore of course.
16:13:07 <e0ne> smcginnis: +1
16:13:31 <geguileo> right now they may call both of them from the same host
16:13:45 <geguileo> depending on the instance and how/when the volumes where attached
16:13:53 <jungleboyj> But this isn't a question of removing it from Cinder, it is removing it from Nova.  Right?
16:14:02 <geguileo> yes
16:14:13 <smcginnis> We should figure out a good way to track things we do want to drop in case we ever do decide to do a v4 release and consolidate all mv changes into a new base version.
16:14:18 <geguileo> but to remove it from 'nova they need to migrate the BDM information to Cinder
16:14:34 <jungleboyj> smcginnis:  ++
16:17:23 <jungleboyj> geguileo:  So do we have a response to Matt's last note?
16:18:02 <geguileo> I don't have one yet (been sick in bed Mon and Tues)
16:18:20 <jungleboyj> geguileo:  Ugh.  :-(  Sorry to hear that.  Feel better.
16:19:06 <geguileo> I'm better now, thanks
16:19:12 <jungleboyj> geguileo:  If you are planning to respond though, I think we are good.  Just wanted to make sure that that wasn't forgotten.
16:20:14 <jungleboyj> So, I think that is all I had on that topic.
16:20:28 <jungleboyj> #topic Open Discussion
16:20:34 <geguileo> jungleboyj: I'm not entirely sure that it will work  :-(
16:20:47 <jungleboyj> :-(
16:20:58 <rosmaita> yeah, let's revisit this at next week's meeting
16:20:58 <geguileo> jungleboyj: in my opinion I would create a new microversion and accept the PUT method of the attachment to accept the connection information
16:21:25 <geguileo> rosmaita: sounds good
16:21:36 <jungleboyj> rosmaita: ++
16:21:42 <davee__> +1
16:21:51 <jungleboyj> Respond to Matt, see what he says and we can further discuss based on that.
16:22:11 <rosmaita> geguileo: that seems like a good idea, though, we make a call so that nova can pass us the "old" info and that way it won't get lost
16:22:43 <rosmaita> i mean, we don't make a call, we make a new call available for nova to use
16:22:58 <jungleboyj> Yeah.
16:23:06 <geguileo> rosmaita: we add functionality to the old attachments call
16:23:31 <rosmaita> ok
16:23:46 <jungleboyj> If we can't ever get rid of it though ... not the end of the world to help Nova get beyond it.
16:23:55 <jungleboyj> The Greater Good
16:25:05 <jungleboyj> Ok.  Any other topics for today?
16:25:25 <whoami-rajat> jungleboyj: just wanted to enquire if this is the right thing to do[1] since somehow the online migrations are already running on grenade jobs on gate (still looking into it)
16:25:25 <whoami-rajat> [1] https://review.opendev.org/#/c/686772/
16:25:31 <davee__> support it until a proper announcement with plenty of lead time for deprecation for users to update their environment appropriately
16:27:05 <jungleboyj> whoami-rajat:  Good question.
16:27:18 <jungleboyj> whoami-rajat:  I am not very familiar with Grenade.
16:27:24 <jungleboyj> eharney:  ^^^
16:27:33 <tosky> it's not much about grenade, I'd say
16:27:41 <smcginnis> I thought online migrations just ran at startup.
16:28:14 <tosky> grenade deploys using devstack, then it updates the code using the same configuration and some scripts which follows the suggested upgrade procedures
16:28:40 <tosky> the question is more whether the online migrations needs to be run automatically or not; the documentation seems to hint that they need to be executed manually
16:29:03 <tosky> or at least that's how my unexperienced eye reads them :) (looking for the link...)
16:29:41 <tosky> https://docs.openstack.org/cinder/latest/upgrade.html?highlight=online#online-data-migrations
16:30:47 <whoami-rajat> this man page [1] states 'This command should be run after upgrading the database schema.' which is exactly what i did in my patch
16:30:47 <whoami-rajat> [1] https://docs.openstack.org/cinder/latest/cli/cinder-manage.html
16:32:16 <jungleboyj> whoami-rajat:  But you think that it is already getting run even without your patch in place?
16:33:08 <smcginnis> Would be odd that we would need explicit handling for Cinder. Should be the same for all services.
16:33:12 <smcginnis> At least I would hope.
16:33:33 <whoami-rajat> smcginnis: if it runs after startup, is nova following a different approach to it[1]?
16:33:33 <whoami-rajat> https://opendev.org/openstack/grenade/src/branch/master/projects/60_nova/upgrade.sh#L133-L136
16:33:57 <smcginnis> whoami-rajat: Oh? So you're just doing the same thing nova is doing?
16:34:41 <tosky> that's the idea of whoami-rajat's patch, the question is: is it the right way? Is the documentation unclear?
16:34:50 <smcginnis> That looks like it should be fine then.
16:35:14 <jungleboyj> smcginnis:  ++
16:35:20 <davee__> smcginnis pulls pin on grenade and tosses to whoami-rajat ...
16:35:26 <smcginnis> :)
16:35:51 <whoami-rajat> jungleboyj:  yes, initially my patch failed due to a dependency on previous online migration, but when grenade updated master, it passed
16:35:53 <jungleboyj> He he
16:36:12 <jungleboyj> whoami-rajat:  Ok, than I think that is probably the direction we want to go.
16:36:24 <smcginnis> Unfortunately I think dulek and scottda were the ones that knew all of the DB migration stuff well.
16:36:59 <geguileo> well, we had a problem with online migration....
16:37:01 <jungleboyj> smcginnis:  Unfortunately.  I used to know it to some extent in the past but have been totally disconnected on the online stuff.
16:37:08 <geguileo> where we didn't follow the basics of it
16:37:16 <geguileo> and required services to be up and running
16:37:38 <smcginnis> Which is weird, because I would expect "online" migrations to require that anyway.
16:37:39 <geguileo> which is a no-no for online data migrations
16:37:59 <smcginnis> But yeah, I think it would be useful if all of the expectations and things were better documented somewhere.
16:38:01 * jungleboyj is so confused
16:38:10 <jungleboyj> So what does Online mean?
16:38:10 <smcginnis> Any maybe they are, but I don't know where.
16:38:11 <geguileo> smcginnis: I think I added it in a patch
16:38:33 <tosky> but then we may want to recheck how to make sure that granade (or any upgrade test) catches any issue linked to *not* executing the online migrations
16:39:27 <davee__> I t would be a reasonable assumption that any patch that uses a modified DB schema should also perform a DB Migration as part of that patch
16:40:07 <geguileo> https://opendev.org/openstack/cinder/src/branch/master/cinder/cmd/manage.py#L244
16:40:09 <tosky> does it mean that the online migration code is executed automatically?
16:40:14 * tosky confused
16:41:44 <geguileo> tosky: no, I think it is executed as part of any upgrade
16:41:44 <geguileo> the whole upgrade thing is quite complex
16:42:05 <smcginnis> "online-migrations" seems to be a bit of a misnomer.
16:42:16 <jungleboyj> So what makes them online vs any other DB upgrade?
16:42:20 <jungleboyj> smcginnis:  ++
16:42:30 <geguileo> but in sumary it's something like this
16:42:30 <geguileo> you make some changes in the DB that require either new info or info that you can get from other parts of the DB
16:42:31 <geguileo> then you add online migration code to your component
16:42:45 <geguileo> that runs every time you load the object and see it doesn't have the new data
16:42:58 <geguileo> so you load, check, if old, then change, and save
16:43:13 <geguileo> that way you are postponing the changes until the objects are used
16:43:15 <geguileo> and spread the load
16:43:34 <geguileo> then, for the next release you have an online migration code on the manager
16:43:49 <jungleboyj> Ok.
16:43:58 <geguileo> that does that serially, without requiring the services running (in case this is an FFU and not a rolling upgrade)
16:44:32 <geguileo> and on that same release you can remove the online migration from your service code so it doesn't get checked on the loads
16:44:54 <geguileo> because the cinder-manage online migration code will be run before the new services are started
16:45:12 <davee__> geguileo gets it  +2
16:45:20 <smcginnis> So these can be removed now on master, right? https://opendev.org/openstack/cinder/src/branch/master/cinder/cmd/manage.py#L253
16:45:21 <geguileo> maybe you cannot remove it on the next (N+1) but instead in N+2
16:45:31 <geguileo> I'm not entirely sure about that one
16:45:52 <geguileo> but when you run the cinder-manage online migrations, the amount of data to migrate should be considerably smaller
16:46:06 <geguileo> and therefore faster
16:46:10 <smcginnis> The code comment you added indicated N+1. I think we still state we only do single hop upgrades, but I suppose it would be a small performance impact to keep things around an extra release just in case.
16:46:39 <geguileo> smcginnis: you can remove the cinder-manage code in N+1
16:47:01 <geguileo> smcginnis: not sure about the service online migration code though, in case you are running rolling upgrades
16:47:07 <geguileo> I would have to think about it to be sure
16:47:23 <smcginnis> Ah, I think I get it.
16:47:24 <smcginnis> Thanks
16:47:30 <davee__> always a good idea to include a versioning field in the db schema aand base upgrade logic on that version number so you know what needs to be done to end up in a stable operational state
16:47:47 <smcginnis> That's basically how it works.
16:48:01 <jungleboyj> geguileo:  ++ Yeah, that is helpful.
16:48:05 <smcginnis> At least for the schema. Not the data that these appear to address.
16:49:30 <tosky> when everything is confirmed, could the documentation at https://docs.openstack.org/cinder/latest/upgrade.html?highlight=online#online-data-migrations be updated then to explain that it's not strictly needed, but it just speeds up everything?
16:49:42 <whoami-rajat> geguileo: so the online migration running is related to upgrade process and not cinder right? it might be a part of the volbak playbook or the upgrade process grenade follows ?
16:49:44 <tosky> (or whethever is the expected behavior)
16:50:09 <geguileo> whoami-rajat: the cinder-manage online migration is part of the upgrade
16:50:22 <geguileo> whoami-rajat: the online migrations should also be part of the cinder service code
16:52:14 <smcginnis> That's part of the confusion - there are two different "online migration" steps.
16:52:48 <jungleboyj> There is the part that runs online as part of the service and the part that runs later during upgrade?
16:53:00 <whoami-rajat> geguileo:  so it should be run manually during an upgrade or is automatically associated with the startup of services?
16:53:03 <geguileo> jungleboyj: yup, great summary :-)
16:53:20 <geguileo> whoami-rajat: it should be handled by the upgrade mechanism
16:53:24 <geguileo> whoami-rajat: whatever that is
16:53:41 <jungleboyj> geguileo:  Ah, so I am getting it.  So that is why people got in trouble is they had originally written it to assume the service was up but then when they moved it to upgrade and the service wasn't up, it blew up.
16:53:58 <geguileo> jungleboyj: yup
16:54:08 <geguileo> jungleboyj: it'll only be up if we are doing rolling upgrades
16:54:31 <geguileo> but if you do a forward upgrade from N to N+3, then you bring them down
16:54:48 <geguileo> and you run db-sync and online upgrade on each of the intermediary releases
16:54:49 <jungleboyj> geguileo:  Ok.  Good to know.
16:55:00 <jungleboyj> This makes more sense now.
16:55:11 <davidsha> Just want to get this in quickly before the meeting ends, I think this bug may have gone under the radar: https://bugs.launchpad.net/os-brick/+bug/1843431
16:55:11 <openstack> Launchpad bug 1843431 in os-brick "NVMeOF connector fails to disconnect a volume with the latest nvme-cli" [Undecided,New]
16:56:22 <smcginnis> Oh great. Any code ready for that yet?
16:56:33 <jungleboyj> davidsha:  Thanks for raising.  Look like we have someone fixing it.
16:57:20 <davidsha> This patch is it? https://review.opendev.org/#/c/683917/
16:57:46 <smcginnis> Ah, just didn't get linked to the bug report.
16:58:00 <jungleboyj> Weird.
16:58:11 <smcginnis> One other quick thing before we end - we had a few late driver submissions in train.
16:58:23 <smcginnis> I've put them under a better topic to help track them for ussuri.
16:58:29 <smcginnis> https://review.opendev.org/#/q/topic:ussuri-drivers+(status:open+OR+status:merged)
16:58:51 <smcginnis> Any other ones, please update the topic to ussuri-drivers to help us keep track of what's out there.
16:59:08 <jungleboyj> smcginnis:  Thanks!
16:59:32 <davidsha> Thanks!
17:00:11 <jungleboyj> Ok.
17:00:31 <jungleboyj> Our time is up.  Thank you everyone.
17:00:38 <jungleboyj> #endmeeting