14:04:19 <sheeprine> #startmeeting cloudkitty
14:04:19 <openstack> Meeting started Mon Sep 28 14:04:19 2015 UTC and is due to finish in 60 minutes.  The chair is sheeprine. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:04:20 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
14:04:23 <openstack> The meeting name has been set to 'cloudkitty'
14:05:17 <sheeprine> We've got some general topics and some more advanced stuff to cover today. So we'll try to focus on important points.
14:05:32 <sheeprine> #topic today's agenda
14:06:12 <sheeprine> We'll talk about changes since last summit and version 0.4
14:06:30 <sheeprine> Then big tent application
14:06:45 <sheeprine> We'll focus on Liberty perspectives and changes
14:07:18 <sheeprine> The list of all proposed changes is on the meeting wiki page
14:07:25 <sheeprine> #link https://wiki.openstack.org/wiki/Meetings/CloudKittyMeeting#Proposed_changes
14:07:45 <sheeprine> #topic Changes since last summit, version 0.4
14:08:19 <sheeprine> Since it's our first formal openstack meeting we'll list what have been accomplished since last summit.
14:08:51 <huats> ok great !
14:09:11 <sheeprine> We'll just focus on major changes. We've mainly focused on bugfixes and QA.
14:09:53 <sheeprine> We've fixed some painfull postgresql database migrations. Worked on documentations and code quality.
14:10:46 <sheeprine> And last point is the switch of last API parts to WSME/Pecan.
14:11:01 <sheeprine> #topic Big tent application
14:11:59 <sheeprine> About the big tent, application has been sent to the TC and a patch is in review for governance change.
14:12:18 <sheeprine> #link https://review.openstack.org/#/c/225201
14:12:38 <sheeprine> The next TC session is tomorrow so hopefully we'll have some good news soon.
14:13:11 <sheeprine> #topic Liberty perspectives
14:14:08 <sheeprine> We've greatly improved the QA of CloudKitty's code and added gabbi tests for the API.
14:14:39 <sheeprine> Our plan is to be on par with other projects ASAP.
14:15:23 <sheeprine> About what's to come, we need to define what needs to be addressed and priorities.
14:15:58 <sheeprine> First, Dynares (Dynamic resources registration)
14:16:19 <sheeprine> I've worked on a dynamic resource registration POC.
14:17:08 <sheeprine> Its goal is to add a layer on top of resources and storage driver.
14:17:08 <Qu4tre> What kind of resources are going to be dynamically registered?
14:17:50 <sheeprine> Qu4tre: All the resources we're currently collecting like with ceilometer for example.
14:18:20 <sheeprine> The goal is to move from the dict format which is not documented, to a self documented format that we can query from the API.
14:18:32 <Qu4tre> cool!
14:19:33 <sheeprine> The goal is unify resources format and have a proper way of storing resources in database for example.
14:20:04 <sheeprine> ATM we're using a json dump of the resource, which is far from optimal and limit the query possibilities.
14:20:20 <sheeprine> Which brings us to point 2
14:20:41 <sheeprine> #topic New collector model and API
14:21:26 <sheeprine> The goal of Dynares is to help people design collectors and improve database perfomance, that's why we'll need to change the way collectors are working.
14:21:43 <sheeprine> We need to draft a BP for that but I want to first discuss the topic here.
14:22:38 <sheeprine> The goal is to remove the old opaques collectors and have self documented collectors.
14:23:06 <sheeprine> Currently if you want to work on resources collector by cloudkitty you mostly need to check the code to see what is exposed.
14:23:34 <huats> I am also interested on working on improving the translations. Do 'I contact you on the dedicated channel once I am available ?
14:24:05 <sheeprine> With the new collector model we'll have API calls to list resources exposed by the collector.
14:24:16 <sheeprine> So users can directly see what they can trigger calculations on.
14:24:31 <sheeprine> huats: We'll talk about translation at the end of this meeting.
14:25:19 <Qu4tre> So there's going to be a resource catalog?
14:25:27 <sheeprine> New collectors will not be loaded from ini file configuration settings.
14:25:46 <sheeprine> Qu4tre: Yes, basically you query for a list of modules and the list of resources.
14:25:58 <sheeprine> Qu4tre: We can imagine a global resource list referencing the collector
14:27:26 <sheeprine> Every collector will now have the ability to be instanciated multiple times. You'll use the API to change collectors configuration.
14:27:56 <sheeprine> So if you need to query multiple ceilometers backend you can do it.
14:28:46 <sheeprine> To conclude on this point, I'll work on a BP ASAP and we need to find how deprecation will be handled.
14:29:05 <sheeprine> I think we should keep a "legacy" mode in the configuration for easier transition.
14:29:16 <sheeprine> next gnocchi support :)
14:29:23 <sheeprine> #topic Gnocchi support
14:30:30 <Qu4tre> We can keep the "old  way" for the nexty release and then move everything to Dynares?
14:31:09 <sheeprine> Qu4tre: If we keep the legacy support we can have the two ways in the next release
14:31:40 <Qu4tre> ok!
14:32:30 <sheeprine> About gnocchi, the gnocchi client/sdk is here. Adding Gnocchi will be easy as soon as we've implemented dynares.
14:32:48 <sheeprine> As gnocchi uses a different convention to describe resources.
14:34:15 <sheeprine> In my opinion the main goal will be to use gnocchi as a storage backend, to be able to collect data and then push them back "computed" in gnocchi.
14:34:33 <sheeprine> This way we can limit the number of databases needed and have a way faster backend.
14:35:01 <Qu4tre> So are the resources for Gnocchi going to be different from the Ceilo resources?
14:35:39 <sheeprine> Yes they are different is some ways. For example gnocchi links different resources where ceilometer references metadata directly on the resource.
14:37:04 <sheeprine> Are there some questions about gnocchi integration?
14:37:45 <sheeprine> Good. Let's talk about performances and scaling.
14:37:53 <Qu4tre> No!
14:38:00 <sheeprine> #topic Threading/Clustering
14:38:39 <sheeprine> I don't think we'll be able to address this before Liberty release but we need to modify cloudkitty in order to improve scalability.
14:39:58 <Qu4tre> When can we expect to see a POC?
14:40:01 <sheeprine> Most of the code is here we just need to add threading. A previous patch refactored code in order to be able to create workers.
14:40:41 <sheeprine> I don't know we need to find time and people whilling to work on this.
14:41:10 <sheeprine> Base code is here but we need to have distributed locking (tooz) and local threading to handle the worker pool
14:41:24 <sheeprine> This needs a BP before we implement this.
14:42:17 <sheeprine> The first step is to have multiple processors working on different tenant calculations in parallel.
14:42:41 <Qu4tre> OK, I could work on this I think
14:43:34 <sheeprine> #action Qu4tre to work on cloudkitty scaling
14:44:41 <sheeprine> Some questions or ideas about ck scaling?
14:45:31 <sheeprine> Fine, let's talk about translation then and we'll finish with the last bits of API needing refactoring.
14:45:40 <sheeprine> #topic Translation
14:45:49 <sheeprine> huats: It's your time.
14:46:24 <huats> thanks sheeprine
14:46:38 <huats> as I said ealier (sorry for interrupting you)
14:46:56 <huats> I am really looking for helping/working ont the translation ok Clouditty
14:47:11 <huats> I might just need some guidance
14:47:23 <sambetts> Congrats jroll!
14:47:41 <jroll> sambetts: wrong channel? :)
14:47:42 <huats> I'll come and ask for it on #cloudkitty
14:47:53 <sambetts> jroll: yes :(
14:47:57 <sheeprine> We'll talk about this on #cloudkitty
14:48:07 <sambetts> sorry for the noise
14:48:10 <sheeprine> But this work needs to be cut in two parts
14:48:19 <sheeprine> no worries
14:48:54 <sheeprine> First we need to tag all the strings with oslo.i18n, most of the strings are not ready to be extracted ATM.
14:49:04 <sheeprine> Then we'll work on translation.
14:49:08 <huats> sheeprine: ok
14:49:16 <huats> I am willing to help on both sides
14:49:23 <sheeprine> We can talk about this on #cloudkitty channel to see how you can implement this.
14:49:38 <sheeprine> huats: Do you have more things to ask?
14:49:43 <huats> nope
14:50:00 <huats> thanks sheeprine
14:50:10 <sheeprine> You're welcome :)
14:50:28 <sheeprine> One last tiny points before we define the roadmap
14:50:42 <sheeprine> #topic report API refactor
14:51:20 <sheeprine> When I was writing gabbi tests I stumbled upon a tiny problem.
14:51:45 <sheeprine> The reporting API is not using proper WSME objects to expose data.
14:51:56 <sheeprine> It's mostly json dumps.
14:52:48 <Qu4tre> the "forgotte" endpoints?
14:52:49 <sheeprine> We need to define the data model for the reporting API and to migrate the reporting API to WSME objects.
14:53:03 <sheeprine> Qu4tre: Yes, I guess it when undetected.
14:53:09 <sheeprine> s/when/went/
14:53:45 <sheeprine> We've reached the end of today's agenda. Does anyone have more points to discuss?
14:53:56 <sheeprine> #topic other topics
14:54:01 <huats> not from my side
14:54:20 <Qu4tre> non
14:54:43 <sheeprine> Ok, we'll use the last minutes we've got to define priorities and assign tasks.
14:55:17 <sheeprine> #topic work dispatching
14:55:34 <sheeprine> huats: I guess you'll be working mostly on translations?
14:55:38 <huats> yes please
14:55:41 <huats> thanks sheeprine
14:55:47 <sheeprine> #action huats is going to work on i18n
14:55:50 <huats> that would be a good start
14:56:20 <sheeprine> Qu4tre: Do you have more time to assign to tasks?
14:56:37 <sheeprine> Do you feel like you'll be able to work on report API for example?
14:56:49 <Qu4tre> That's not of my resort
14:56:53 <Qu4tre> I'll ask!
14:57:12 <sheeprine> Ok, for now you'll focus on threading
14:57:48 <sheeprine> gpocentek wasn't able to attend this meeting, I'll contact him and see what he can contribute.
14:58:49 <sheeprine> venkatesh is not available too, I'll contact him later to see what he's willing to contribute. He wanted to contribute on threading/scaling it was to much time to invest for him.
14:59:07 <sheeprine> Regarding my next task, I'll mostly work on blueprints
14:59:16 <Qu4tre> ok
14:59:35 <sheeprine> I'll push the dynares patch in review so everyone can comment and check if the concept is right.
14:59:56 <sheeprine> Then I'll blueprint new API and models to prepare its integration.
15:00:19 <sheeprine> I guess we'll vote about its integration or not in a future meeting
15:00:38 <sheeprine> I think that's it. Does anyone as something to add?
15:00:48 <Qu4tre> Nope
15:01:08 <sheeprine> I guess we're out of time. Thank you all for attending.
15:01:11 <sheeprine> #endmeeting