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