openstackgerrit | Sam Morrison proposed openstack/trove master: Pass availability zone through to volume creation. https://review.opendev.org/761250 | 00:18 |
---|---|---|
sorrison | lxkong: I'm wondering what the upgrade strategy is too, I see some changes to the guestagent API and thinking we really need to version this API and get the guest agents to send us their supported version | 00:28 |
sorrison | the change in signature to the 'upgrade' method in guestagent.api I think is going to cause issues | 00:29 |
sorrison | the changes to prepare, start_db_with_conf_changes, resize_fs add arguments but the changes to stop_db, attach_replica remove arguments so it essentially makes it impossible to upgrade | 00:31 |
sorrison | What is the order, trove-taskmanager/api first and then guestagents or the other way around? | 00:32 |
sorrison | actually because the removed args have defaults I think it would be ok it guest agents upgraded first and then api/taskmakager etc. | 00:33 |
lxkong | sorrison: for the ram quota, why do you need to refresh quota_usage table? Trove can add the row automatically if the resource type doesn't exist. | 00:59 |
lxkong | sorrison: have you tested in your local env to verify? | 00:59 |
lxkong | trove guest agent API version is something i was thinking when doing changes, currently we have to upgrade trove-guestagent toghether with upgrading trove itself, that's why I implemented 'rebuild' API. Otherwise, newer version Trove can't talk to older version guest agent. | 01:02 |
lxkong | that part is not carefully designed in the past | 01:02 |
lxkong | the relationship between trove itself and guest agent is like octavia and amphora. If there is change in amphora code, the operator needs to do manually failover after upgrading Octavia. | 01:05 |
sorrison | yeah if the project already has existing instances | 01:05 |
sorrison | then the quota usage for ram will be 0 instead of what it is actually using | 01:05 |
lxkong | oh, right | 01:06 |
lxkong | that's a little bit tricky | 01:06 |
sorrison | I don't know of a nice way to do it, as could do it in a db migration but it would need to talk to nova which I don't think is good | 01:06 |
lxkong | yeah, either we provide script to fill out the table, or need explicitly tell the customer that the quota takes effect for the new instances but ignore the existing ones | 01:07 |
sorrison | Should I make the release note a bit more explicit | 01:08 |
lxkong | yes, please | 01:08 |
sorrison | I think for guest api it's a bit different to octavia as that can be done independently and without user downtime | 01:10 |
lxkong | yeah, we could figure out a way to achieve that | 01:11 |
sorrison | can we have a policy of upgrading taskmaster/api before guestagent? | 01:11 |
lxkong | sure | 01:11 |
sorrison | and then have it so it supports n-1 guest agents? | 01:11 |
sorrison | we could do this a couple of ways. we could do oslo rpc versioning etc. and have version caps | 01:13 |
sorrison | eg. so taskmaster could be at wallaby but only send messages to guests at victoria version | 01:13 |
lxkong | yep | 01:14 |
sorrison | version caps are a bit easier, the other way would be to get guest agents to have a rpc version in the DB and so we would know which version to send | 01:14 |
lxkong | sorrison: we probably need a simple design doc for this feature. | 01:16 |
* lxkong has to run errand now, will be back online later | 01:16 | |
sorrison | yeah sure | 01:16 |
sorrison | cheers | 01:17 |
*** sapd1 has joined #openstack-trove | 01:33 | |
*** rcernin has quit IRC | 02:48 | |
*** rcernin has joined #openstack-trove | 02:49 | |
sorrison | I've just realised all the stuff for doing guest api versioning and caps is already in there | 03:25 |
sorrison | so essentially we just need to start using it. I'll prepare a patch that will make things more backwards compatible | 03:26 |
sorrison | lxkong: I've got some stuff working, so I can get current master running with ussuri or victoria guest agents | 03:49 |
sorrison | one thing I'm confused about is the change in how upgrade works, it seems it doesn't do a nova rebuild anymore? How do you change to use a newer image now? | 03:49 |
lxkong | with docker, we don't need to rebuild to upgrade database. | 04:08 |
lxkong | rebuilding image is for trove-guestagent upgrade | 04:08 |
lxkong | see https://docs.openstack.org/api-ref/database/?expanded=rebuild-instance-detail#rebuild-instance | 04:09 |
sorrison | ah ok, I see now. We need the ability for users to upgrade their own DBs at a time that suits them. | 04:17 |
sorrison | I've been issuing trove upgrade commands and it doesn't seem to be doing anything and not getting to the taskmanager. has the actual API around how to issue an upgrade changed as well? | 04:17 |
sorrison | I would love to be able to upgrade to newer versions of trove but it is not possible without a lot of changes | 04:19 |
sorrison | eg curl -g -i -X PATCH http://trove.dev.rc.nectar.org.au:8779/v1.0/094ae1e2c08f4eddb444a9d9db71ab40/instances/ef5630f5-4c6c-4388-8ed0-7cc03e89371e -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: trove keystoneauth1/4.0.0 python-requests/2.18.4 CPython/3.6.9" -H "X-Auth-Token: {SHA256}xyz" -d '{"instance": {"datastore_version": "5.7-29"}}' | 04:21 |
*** sapd1 has quit IRC | 04:29 | |
lxkong | sorrison: https://docs.openstack.org/api-ref/database/?expanded=upgrade-datastore-version-for-instance-detail#upgrade-datastore-version-for-instance, have you tried using PUT? | 04:42 |
sorrison | I'm just using the openstack client | 04:43 |
lxkong | what's you command> | 04:43 |
sorrison | openstack database instance upgrade ef5630f5-4c6c-4388-8ed0-7cc03e89371e 5.7-29 | 04:44 |
sorrison | using openstack 5.4.0 | 04:45 |
lxkong | ok, i will have a try after dinner in my env. | 04:46 |
sorrison | I'm using latest master | 04:46 |
sorrison | Yeah ok I see the issue c4fd9cbe346de707281c3254bfbbda8f2759ec4d broke upgrade | 05:09 |
sorrison | is there a patch to fix functional testing in the gate? I'm happy to help | 05:10 |
openstackgerrit | Sam Morrison proposed openstack/trove master: WIP Make guest agent api changes backwards compatible https://review.opendev.org/761270 | 05:21 |
sorrison | can confirm that reverting c4fd9cbe346de707281c3254bfbbda8f2759ec4d fixes things | 05:22 |
*** spatel has joined #openstack-trove | 07:58 | |
*** spatel has quit IRC | 08:03 | |
*** rcernin has quit IRC | 08:05 | |
*** rcernin has joined #openstack-trove | 08:37 | |
*** tosky has joined #openstack-trove | 08:42 | |
*** e0ne has joined #openstack-trove | 08:51 | |
*** rcernin has quit IRC | 08:56 | |
*** rcernin has joined #openstack-trove | 09:59 | |
*** rcernin has quit IRC | 10:13 | |
lxkong | sorrison: hmm, yes, i found my note for that commit | 10:31 |
lxkong | there is a todo to support datastore version upgrade after that patch | 10:31 |
lxkong | but it is missed for some reason | 10:32 |
*** spatel has joined #openstack-trove | 10:59 | |
*** spatel has quit IRC | 11:04 | |
openstackgerrit | Lingxian Kong proposed openstack/python-troveclient master: Fix help message of datastore version upgrade https://review.opendev.org/761393 | 11:06 |
lxkong | sorrison: i will fix that | 11:12 |
*** e0ne has quit IRC | 11:26 | |
*** e0ne has joined #openstack-trove | 11:58 | |
*** e0ne has quit IRC | 12:14 | |
*** spatel has joined #openstack-trove | 12:27 | |
*** spatel has quit IRC | 12:32 | |
*** e0ne has joined #openstack-trove | 13:17 | |
*** sapd1 has joined #openstack-trove | 14:27 | |
openstackgerrit | Ivan Kolodyazhny proposed openstack/trove-dashboard master: Fix replica number input type https://review.opendev.org/761419 | 14:49 |
*** e0ne has quit IRC | 16:07 | |
*** sapd1 has quit IRC | 16:54 | |
*** tosky has quit IRC | 17:15 | |
*** e0ne has joined #openstack-trove | 17:59 | |
*** mugsie has quit IRC | 18:18 | |
*** mugsie has joined #openstack-trove | 18:21 | |
*** e0ne has quit IRC | 20:31 | |
*** tosky has joined #openstack-trove | 20:35 | |
openstackgerrit | Lingxian Kong proposed openstack/trove master: Fix upgrading instance datastore version https://review.opendev.org/761465 | 21:17 |
lxkong | sorrison: https://review.opendev.org/#/c/761465/, please review and test if you could | 21:19 |
*** rcernin has joined #openstack-trove | 21:41 | |
*** rcernin has quit IRC | 22:09 | |
*** rcernin has joined #openstack-trove | 22:09 | |
sorrison | lxkong: ok will take a look. I've been looking into trove-tempest too. We are using an older version of trove tempest and it still has all the API tests in it. It looks like its failing a few pointing it to master trove | 22:26 |
sorrison | I'm going to submit a patch to reinstate all the api tests hopefully today too, it's a shame these were all removed. they are really needed | 22:27 |
*** rcernin has quit IRC | 23:04 | |
*** spatel has joined #openstack-trove | 23:12 | |
*** rcernin has joined #openstack-trove | 23:12 | |
*** rcernin has quit IRC | 23:16 | |
*** rcernin has joined #openstack-trove | 23:16 | |
*** spatel has quit IRC | 23:17 | |
lxkong | yeah, collaboration and contribution are really important for open source project | 23:31 |
lxkong | i am very happy you start doing that now | 23:31 |
lxkong | almost all the people left since Tesora was aquired, and we are deploying trove using Victoria, so i didn't take all the previous technical debt into consideration | 23:34 |
lxkong | some things are mostly refactored actually | 23:34 |
openstackgerrit | Sam Morrison proposed openstack/trove-tempest-plugin master: [WIP] reinstate removed api tests https://review.opendev.org/761472 | 23:34 |
lxkong | what Tesora did previously was not good for an openstack project. I am ok we move some stuff back but must in a reasonable way | 23:35 |
lxkong | e.g. flavor API is one of them | 23:36 |
lxkong | so don't blame open source, if you care about open source, open source cares about you :-) | 23:37 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!