14:00:06 <rafaelweingartne> #startmeeting cloudkitty 14:00:07 <openstack> Meeting started Mon Jan 11 14:00:06 2021 UTC and is due to finish in 60 minutes. The chair is rafaelweingartne. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:08 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:10 <openstack> The meeting name has been set to 'cloudkitty' 14:00:20 <rafaelweingartne> Hello guys, happy new year! 14:00:30 <rafaelweingartne> Roll count 14:02:15 <priteau> o/ 14:02:19 <priteau> Happy new year rafaelweingartne! 14:05:42 <rafaelweingartne> priteau: it seems that it is just us today 14:05:51 <priteau> And maybe mkarpiarz? 14:06:10 <mkarpiarz> Hi, I'm here! 14:06:11 <rafaelweingartne> hmm... mkarpiarz: are you going to participate in the meeting? 14:06:14 <rafaelweingartne> ah.. cool! 14:06:24 <rafaelweingartne> #topic Review priorities 14:06:38 <rafaelweingartne> We have reviewed and merged some patches in the past week. 14:07:13 <rafaelweingartne> Do you guys have some review priorities for us to focus on? 14:08:26 <mkarpiarz> Nothing in the pipeline from my side. 14:09:02 <priteau> Nothing special from me either. 14:09:05 <mkarpiarz> But I was trying to assign priorities to tasks from our PTG meeting. 14:09:51 <mkarpiarz> And also add tasks that could kickstartdevelopment for each section. 14:11:08 <rafaelweingartne> I see 14:11:34 <mkarpiarz> My idea was to try and focus on ideas we came up during the PTG. 14:12:09 <rafaelweingartne> I agree 14:12:25 <rafaelweingartne> I confess that I have not had time to address those issues 14:12:40 <priteau> mkarpiarz: When you said "last 4 main points" in your email, did you mean top level items in the etherpad? 14:12:51 <rafaelweingartne> I have been working lately on other components only; what I an able to do for now is to review patches only 14:12:56 <mkarpiarz> 4 bottom ones 14:13:00 <priteau> i.e. 1) Stop processing resources that have been deleted/removed and do not have data anymore, 2) Reprocessing API?, etc.? 14:13:11 <mkarpiarz> Yep 14:13:21 <priteau> OK 14:13:43 <priteau> So one question, for item 3 "Cleanups of the database to remove old/legacy unwanted data objects", are we actually talking about dataframes? 14:14:10 <rafaelweingartne> mkarplarz: I guess, you as the contributor should have the ability to choose where you want to work 14:14:44 <rafaelweingartne> priteau: I thought that this issue refered to the that table where we have the reference for the projects to be processed 14:15:08 <priteau> Maybe it does, that's why I am asking :) 14:15:40 <rafaelweingartne> that table only grows, and as projects/resources get deleted, they are not cleaned up. Therefore, CloudKitty still processes projects that do not have usage data anymore 14:17:19 <priteau> I thought it was up to fetchers to decide what projects to process 14:18:08 <rafaelweingartne> but the problem is that they always process all of them 14:18:30 <rafaelweingartne> them=all available in the database and that were not processed in that timeframe 14:19:08 <rafaelweingartne> therefore, the projects/resources table to be processed only grows, and slows down the system (Cloudkitty) 14:19:10 <priteau> Interesting, I didn't know it worked like that 14:19:34 <rafaelweingartne> I do not know the initial design, but that is how it is working right now 14:19:44 <priteau> So if you use the keystone fetcher, start rating on a project, then remove the cloudkitty rating role from that project, it is still processed? 14:19:56 <rafaelweingartne> then, the fetcher fetches the usage data from the backend (e.g. gnocchi) for each project/or resource in that table 14:20:26 <rafaelweingartne> priteau: as far as we have seen yes, because cloudkitty will collect data from gnocchi 14:20:31 <priteau> you mean the collector 14:20:57 <rafaelweingartne> and there is no access control there with respect to project 14:21:09 <rafaelweingartne> I mean, that I recall that Gnocchi is doing 14:21:24 <rafaelweingartne> I did not test removing a role, but we noticed that happening with delete/removed projects 14:21:42 <rafaelweingartne> they are still being processed, even though there is no data in Gnocchi 14:22:02 <priteau> I would say it depends on the fetcher being used 14:22:23 <rafaelweingartne> We noticed this with Keystone fetcher 14:22:45 <rafaelweingartne> oh, no, I mean Gnocchi 14:23:05 <priteau> OK, for Gnocchi fetcher it makes less sense that it would work like this 14:23:40 <rafaelweingartne> yes, we do use Gnocchi 14:23:41 <rafaelweingartne> backend = gnocchi 14:23:48 <priteau> Rather than clean up old projects via API we may want to change the fetcher to update the list? 14:24:02 <rafaelweingartne> yes, exactly that would be even more interesting 14:24:13 <rafaelweingartne> we just could not figure out a method to check that 14:24:24 <rafaelweingartne> if a resource/project was deleted in Gnocchi for instance 14:24:35 <rafaelweingartne> that is why one of the ideas was to enable this process via an API call 14:26:06 <priteau> If the metrics are deleted you won't be able to find any data for the project in Gnocchi, but we could detect that and mark the project as inactive in CloudKitty or delete the row 14:26:18 <rafaelweingartne> ah 14:26:21 <rafaelweingartne> that would be a good idea 14:26:27 <rafaelweingartne> inactive project 14:26:36 <rafaelweingartne> We did not think that 14:27:13 <openstackgerrit> Merged openstack/cloudkitty-tempest-plugin master: Use tempest's ServiceClients rather than Manager https://review.opendev.org/c/openstack/cloudkitty-tempest-plugin/+/767714 14:28:27 <rafaelweingartne> I could work on that this week 14:28:56 <mkarpiarz> Sounds good to me! 14:29:30 <priteau> The advantage of marking it as inactive is that you would keep the record and be able to see when it was last updated 14:29:36 <priteau> Could be useful for debugging 14:29:38 <rafaelweingartne> exactly 14:29:45 <rafaelweingartne> I like this solution better 14:32:18 <mkarpiarz> Cool, so sounds like we have a plan for this point. 14:32:34 <rafaelweingartne> to give you an idea of the problem, we have 337 active projects, and in Cloudkitty storage states, there are 990 projects being processed 14:32:52 <priteau> I understand, it must slow down processing quite a bit 14:32:58 <rafaelweingartne> yes, it does 14:34:38 <priteau> "Allow for a free USAGE consumption (e.g. First 1GB free, then 3 Cent/GB)" 14:34:46 <priteau> Can't you do that with thresholds? 14:35:03 <rafaelweingartne> yes, you can 14:35:09 <rafaelweingartne> but there was a bug 14:35:13 <rafaelweingartne> I had a patch for that 14:35:28 <priteau> Also, remember that you can write custom pyscripts rules (although I've never tried it) 14:35:33 <rafaelweingartne> https://review.opendev.org/c/openstack/python-cloudkittyclient/+/752956 14:36:05 <rafaelweingartne> exactly 14:36:22 <priteau> "Reprocessing API?" > I think this is important. When setting up CloudKitty and tuning rating rules, it's a pain to have to clear SQL and storage backend 14:36:36 <rafaelweingartne> yes exactly 14:36:43 <rafaelweingartne> that is where this proposal comes from 14:37:02 <rafaelweingartne> I do not have time for this month to work on this, but I could devote some time, maybe next month 14:37:46 <mkarpiarz> And what do you think has to be done? Maybe someone else can pick this up? 14:38:22 <rafaelweingartne> first, a specification needs to be written down. I have not put much thinking on this yet 14:39:17 <mkarpiarz> I was going to start working on custom mutators as I feel this is important (especially for Prometheus) but can looks into something else instead. 14:39:39 <priteau> Yes, design first for this as it involves new API 14:39:51 <rafaelweingartne> that would be interesting, either one of them this reprocessing API, or the custom mutators 14:40:26 <mkarpiarz> Ah, it sounds like reprocessing API is above my abilities, so I'll stick with mutators for now. ;) 14:41:13 <rafaelweingartne> :) 14:42:55 <mkarpiarz> Hopefully we will have some new reviews to discuss during the next meeting then. 14:43:11 <rafaelweingartne> exactly 14:44:54 <mkarpiarz> Should we move on to the next point on the agenda of this meeting? 14:45:40 <priteau> We need to keep an eye on the release schedule 14:46:01 <rafaelweingartne> yes 14:46:08 <rafaelweingartne> I will ask for your help when the time comes 14:46:10 <priteau> If we want to ship new APIs with client support, client release is March 11 14:46:14 <rafaelweingartne> this will be my first release 14:46:33 <priteau> Making the release is the easy part 14:46:45 <priteau> It's writing the code in time that's the hard part :P 14:46:55 <mkarpiarz> xD 14:47:09 <rafaelweingartne> :) 14:47:48 <rafaelweingartne> I will open for general topics now 14:47:49 <rafaelweingartne> https://review.opendev.org/c/openstack/python-cloudkittyclient/+/752956 14:47:51 <rafaelweingartne> ops 14:47:57 <rafaelweingartne> wrong paste 14:48:02 <rafaelweingartne> #topic AOB 14:49:39 <mkarpiarz> Nothing on my side. 14:50:07 <priteau> Nothing special from me either. 14:50:34 <rafaelweingartne> Great 14:50:42 <rafaelweingartne> Thank you guys for participating. Have a nice week. 14:50:47 <rafaelweingartne> Thank you guys for participating. Have a nice week. 14:50:57 <rafaelweingartne> #endmeeting