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