Wednesday, 2020-11-18

sorrisonHi lxkong, I'm trying to figure out where to go next with trove. My main priority is making trove be upgradable from ussuri which isn't possible.00:06
sorrisonI think the first step is to make the "upgrade instance" method work how it does in ussuri with a nova rebuild, thoughts?00:07
lxkongsorrison: "making trove be upgradable from ussuri which isn't possible", you mean trove upgrade itself or the trove instance (guest agent)?00:18
lxkongcould you please remind again what's the problem?00:19
lxkongi have been so busy these days, not sure if we have talked about that before00:19
lxkongsorrison: in case i am distracted again, can you create a story to describe your problem?00:20
lxkongi am happy to help if that really needs to be fixed00:21
sorrisonI have https://storyboard.openstack.org/#!/story/200831500:24
sorrisonthe issue is I have ussuri guest agents running and I want to upgrade them which is now not possible00:24
sorrisonI also am wondering about the future of how it works with containers currently. I wonder if there are any thoughts on changing it back to how it used to work so we can get it working in the gate00:25
sorrisonI was wondering if the whole container thing could be done in a way that doesn't impact how it currently works in ussuri. The changes are so fundamental that it really breaks for all trove users00:26
sorrisoneg. it could be done as some kind of experimental thing that is enabled with a config flag or something00:27
lxkongthanks sorrison , i will take a look and get back to you asap.00:46
lxkongas you can see, i've been working on some datastore version improvement, lots of places need to change.00:49
lxkongfor this issue "Make guestagent api use RPC versions", i think it's already been fixed by https://review.opendev.org/#/c/762098/, right?00:49
lxkongFor "Make trove upgrade command work from ussuri guest agents to newer"00:49
lxkongi think you mean trove-guestagent upgrade (from ussuri to victoria), is that acceptable for your users to backup their instances first, then create new ones (new datastore image) from the backup?00:50
lxkongIf you are not interested in using container, to make the implementation simple, what i would suggest is:00:50
lxkongv00:50
lxkong1. create separate DIB elements (please don't just simply restore things, you can refer to the old ones and but only submit necessary changes)00:50
lxkong2. create a separte datastore category, e.g. trove/guestagent/datastore/vm and put all the supported databases there, e.g. trove/guestagent/datastore/vm/mysql.00:51
openstackgerritNguyen Thanh Cong proposed openstack/trove master: No validate when perform eject replica source  https://review.opendev.org/76249601:24
*** rcernin has quit IRC01:43
congnt95sorrison:01:54
sorrisonNo it's not really acceptable to do backup restore etc. the way it used to work was the best so I think trove should move back to that way02:20
*** rcernin has joined #openstack-trove02:20
*** rcernin has quit IRC02:24
*** rcernin has joined #openstack-trove02:28
*** rcernin has quit IRC02:31
*** rcernin has joined #openstack-trove02:32
*** spatel has joined #openstack-trove06:49
*** icey has quit IRC06:52
*** spatel has quit IRC06:53
*** icey has joined #openstack-trove06:54
*** sapd1 has joined #openstack-trove07:26
*** tosky has joined #openstack-trove08:45
*** rcernin has quit IRC08:52
openstackgerritLingxian Kong proposed openstack/trove master: Support datastore version number for creating instance  https://review.opendev.org/76313909:08
*** rcernin has joined #openstack-trove09:15
openstackgerritLingxian Kong proposed openstack/trove master: Update datastore version name  https://review.opendev.org/76294809:33
openstackgerritLingxian Kong proposed openstack/trove master: Support datastore version number for creating instance  https://review.opendev.org/76313909:33
*** e0ne has joined #openstack-trove09:38
openstackgerritNguyen Thanh Cong proposed openstack/trove master: convert to type str to compare  https://review.opendev.org/76282309:44
*** rcernin has quit IRC09:45
lxkongsorrison: may i know why backup/restore doesn't work for you? If rebuild is the thing you are pursuing, there is an admin rebuild API in Victoria.09:49
*** rcernin has joined #openstack-trove09:55
*** sapd1 has quit IRC10:18
*** icey has quit IRC10:31
*** icey has joined #openstack-trove10:32
*** sapd1 has joined #openstack-trove10:38
*** sapd1 has quit IRC10:47
*** sapd1 has joined #openstack-trove10:53
*** sapd1 has quit IRC10:57
*** icey has quit IRC11:05
*** rcernin has quit IRC11:18
*** rcernin has joined #openstack-trove11:19
*** icey has joined #openstack-trove11:26
*** rcernin has quit IRC11:27
*** spatel has joined #openstack-trove11:31
*** rcernin has joined #openstack-trove11:33
*** spatel has quit IRC11:36
*** icey has quit IRC11:41
*** icey has joined #openstack-trove11:43
*** e0ne has quit IRC11:44
*** rcernin has quit IRC11:46
*** icey has quit IRC11:49
*** rcernin has joined #openstack-trove11:52
*** rcernin has quit IRC11:55
*** icey has joined #openstack-trove11:55
*** e0ne has joined #openstack-trove12:18
*** icey has quit IRC12:23
*** icey has joined #openstack-trove12:24
*** icey has quit IRC12:50
*** e0ne has quit IRC13:51
*** sapd1 has joined #openstack-trove13:51
*** e0ne has joined #openstack-trove14:01
*** __ministry1 has joined #openstack-trove14:04
*** __ministry1 has quit IRC14:05
*** e0ne has quit IRC17:21
*** e0ne has joined #openstack-trove17:22
*** e0ne has quit IRC17:33
*** e0ne has joined #openstack-trove17:57
*** e0ne has quit IRC18:36
-openstackstatus- NOTICE: The Gerrit service at review.opendev.org is being restarted quickly as a pre-upgrade sanity check, estimated downtime is less than 5 minutes.18:37
*** openstackgerrit has quit IRC19:02
*** openstackgerrit has joined #openstack-trove20:36
openstackgerritLingxian Kong proposed openstack/trove master: Support datastore version number for creating configuration  https://review.opendev.org/76325920:36
*** dkehn has joined #openstack-trove20:40
*** sapd1 has quit IRC21:04
*** rcernin has joined #openstack-trove21:13
*** sapd1 has joined #openstack-trove21:17
sorrisonHi lxkong: I've described in https://storyboard.openstack.org/#!/story/2008373 about the need to reinstate trove upgrade command like ussuri21:58
sorrisonLet me know what you think, I think this is now the main blocker for anyone wanting to upgrade21:58
*** jmlowe has quit IRC22:26
lxkong22:49 <lxkong> sorrison: may i know why backup/restore doesn't work for you? If rebuild is the thing you are pursuing, there is an admin rebuild API in Victoria.23:27
lxkongbecause from victoria, the guest image doesn't contain the database software, so simply calling rebuild nova instance won't affect the database version23:29
lxkongwhat's why i added a rebuild api for trove admin for upgrading the OS and trove guest agent.23:30
lxkongso we need to split the upgrade process to two parts, one is for the end user to upgrade the database version, the other is for the trove admin to upgrade trove-guestagent23:31
sorrisonYeah I understand how its been change, I just don't think that is a good idea, the previous way it was is better from my point of view23:32
lxkongif datastore version upgrade API for the end user is still there23:32
lxkongbut is not doing the same thing under the hood23:32
sorrisonwe don't want to have to upgrade all the users DB instances ourselves. We want users to do it23:32
lxkongno, the end user shouldn't know anything about trove-guestagent, should they?23:33
sorrisoncorrect23:33
lxkongfrom user's perspective, they only need to upgrade datastore version23:34
sorrisoncorrect23:34
lxkongso update instance API can do that23:34
sorrisonbut with that datastore upgrade we also take the opportunity to upgrade the operating system and trove guest agent23:34
lxkongupgrading os and trove-guestagnet is the trove admin's task23:34
sorrisonIt's not with Ussuri and isn't a good model.23:35
sorrisonit means extra work for operators23:35
lxkongsorrison: that's not extra work, that's operators' job23:35
sorrisonwhy?23:35
sorrisonwith ussuri it worked so well23:35
lxkongbecause opreator should decide when and how to upgrade trove guest agent23:36
lxkongagain, ussuri works just because of the implementation allows you23:36
lxkongthat's not the intention23:36
sorrisonyes it was the intention23:36
sorrisonthat is why the guest api versioning existed in the first place23:37
lxkongfrom the  point of API design, why the trove guest agnet should be upgraded when the end user triggers a datastore version upgrade?23:37
sorrisonbecause it allows us to do seamless upgrades23:37
lxkongThe api tells the user you can upgrade mysql 5.7.29 to mysql 5.7.30, why trove should touch os and guest agent?23:38
sorrisonall user cares about is db version, but operators want to keep the images fresh23:38
sorrisonusers don't need to know or care about operating system23:38
lxkongyes, so the api is doing the right thing for the end user23:38
sorrisonyes but not the right thing by the operator23:38
sorrisonit now means more work23:38
lxkongas operator, you just want to use that chance to do your own work, it used to work because of the original implementation of building guest agnet image23:39
lxkongnow the guest agent image build mechanism is changing23:39
sorrisonyes exactly23:39
lxkongif we really want the old way to upgrade, we need to support the old style guest image first23:40
lxkonglike we discussed yersterday23:40
sorrisonI don't think so23:40
sorrisonthe existing images could be made to work in the same way23:40
lxkongas i said, the guest image doesn't contain database any more23:41
sorrisonyeah that's fine23:41
lxkongdoing rebuild is actually doing nothing23:41
sorrisonjust need to do a nova rebuild and also do the switch in containers23:41
sorrisonthe rebuild would then use the new image23:41
lxkongwhat you are saying is actually the trove admin rebuild api23:42
sorrisonyeah and that functionality needs to be put back in the upgrade step23:42
sorrisonas an example in our install we've never had to take down a users trove DB for an outage and we've been running trove for a long time23:44
sorrisonthis is awesome23:44
sorrisonthe only time a users db instance goes down is when they initiate the upgrade23:44
lxkongno, trove already provides the capability for what you want, if you insist to do the same thing as before, you can wrap the apis23:44
lxkongrebuild will stop the db23:45
lxkongthat's outage23:45
sorrisonyeah but it's a user initiated outage23:45
sorrisonthey get to choose when to do it23:45
sorrisonthat is the awesome feature of trove23:45
sorrisonIs that making sense now?23:46
lxkongno, i don't think so, allowing the user to choose when to upgrade os or trove guest agent is not reasonalbe from the cloud provider's perspective.23:49
lxkonglike us, we said clearly to customers it's our responsibility to upgrading OS and software inside when there is a security patch available23:50
sorrisonhow come? I'm a cloud provider :-)23:50
lxkongleaving it to customers will affect our own SLA, and can lead to seucrity issues for us23:51
sorrisonThat is still possible for the old way23:51
sorrisonwe have done this in the past where it is a security release so we give them say 24 hours to do the trove upgrade and if they haven't done it we do it for them23:52
lxkongi have an idea23:53
lxkongwhen the user is upgrading datastore version, trove does rebuild if the image changes. Otherwise, only upgrade the docker image tag.23:53
sorrisonyeah that would be great23:54
sorrisonnice idea23:54
lxkongbecause there was an assumption that we only support patch version upgrade (5.7.29 to 5.7.30), so the image won't change23:55
lxkongbut if that's something you need, we can add the ability to rebuild when the image is intentionally changed23:55
sorrisonsounds good23:55
lxkongthat won't affect us23:55
sorrisoneg. we also support upgrading from a 5.7.x release to a 8.0.x release which has been handy too23:56
lxkongsorrison: i haven't tested that yet, not sure if we should change some code23:56
lxkongi can start implementing that once i finish my current tasks23:56
lxkongsupporting datastore version number23:57
sorrisonawesome, I can help of course23:57
lxkongsorrison: yep, feel free to submit patch23:57
sorrisonI've been trying to support upgrading between major pgsql versions but it's a but more involved23:57
lxkongi will get back to you once finish the version number stuff23:57
sorrisonok thanks23:58
lxkongif you haven't started, i can pick up23:58
lxkongsorrison:  great discussion with you, lunch time now23:58
sorrisonhaven't started yet, but might have some time tomorrow to start23:58
sorrisonenjoy!23:58

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!