Friday, 2018-12-07

*** lemko has quit IRC00:39
*** jferrieu has joined #cloudkitty08:40
peschk_l#startmeeting cloudkitty09:00
openstackMeeting started Fri Dec  7 09:00:43 2018 UTC and is due to finish in 60 minutes.  The chair is peschk_l. Information about MeetBot at http://wiki.debian.org/MeetBot.09:00
openstackUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.09:00
*** openstack changes topic to " (Meeting topic: cloudkitty)"09:00
openstackThe meeting name has been set to 'cloudkitty'09:00
peschk_lHello everybody!09:01
peschk_lLinkid, jferrieu, huats are you there ?09:01
peschk_lTodyas topics can be found on https://etherpad.openstack.org/p/cloudkitty-meeting-topics, feel free to add any during the meeting09:02
jferrieuHi everybody09:02
peschk_lLinkid, you wanted to talk about the state of the WSME interface, we'll talk about it once you're here :)09:03
peschk_lLet's start with the storage then09:03
peschk_l#topic v2 storage interface09:04
*** openstack changes topic to "v2 storage interface (Meeting topic: cloudkitty)"09:04
peschk_lAs you know, an InfluxDB backend for the v2 storage interface will soon be integrated to cloudkitty09:04
peschk_lThe gnocchi backend will be removed soon after, as it is not performant enough09:05
peschk_lThe influxDB backend works pretty well and is performant but there is a drawback: clustering / HA is not in the community version of influxDB09:06
peschk_lIn consequence, we need to support at leat one other backend, with support for clustering09:06
peschk_lUntil now, we considered the following backends: PostgreSQL, Cassandra, KaïrosDB, Elasticsearch, MongoDB09:08
peschk_lpostgres was eliminated because clustering can be tedious, and it doesn't seem to be used much in the openstack community09:09
peschk_lCassandra seems to offer enough flexibility for our needs. However, it does not support grouping09:11
peschk_lso cassandra isn't an option09:11
peschk_lElasticsearch is rather complex: it seems like it would suit our needs in terms of flexibility (grouping, sorting, filtering...) but is pretty complex to install09:13
peschk_lHowever, the elastic stack is used by many companies, and elasticsearch has also been suggested during the project onboarding in Berlin09:14
peschk_lSo elasticsearch seems to be a good option09:15
peschk_lNext interesting candidate: MongoDB. It has historically been used by the telemetry project, and has beeen replaced by gnocchi afterwards because of performance issues09:17
huatsHonnestly using MongoDB will send a very bad message to the OpenStack world, due to the "history" in ceilometer...09:19
peschk_lHere is a quote from one of Julien Danjou's blog posts (the openstack ceilometer gnocchi experiment) "We soon started to encounter scalability issues in many of the read requests made via the REST API. A lot of the requests requires the data storage to do full scans of all the stored samples. Indeed, the fact that the API allows you to filter on any fields and also on the free-form metadata (meaning non indexed key/values tuples) has09:19
peschk_la terrible cost in terms of performance (as pointed before, the metadata are attached to each sample generated by Ceilometer and is stored as is)."09:19
peschk_lHowever their needs aren't the same as ours, at all09:19
peschk_lhuats: I'm not sure they will care09:20
peschk_lhuats: But it's true, it would be weird if we encounter the same issues as them09:20
huatsI am not speaking of the openstack developers, but users who have been facing issues with ceilo before the gnocchi's switch09:21
huatsand those user who are our potential users won't see the usage of Mongo as a good thing.09:22
peschk_lMy point on MongoDB is: Ceilometer had issues because the datamodel needed to be as flexible as possible, and no indexing was made. Cloudkitty also needs to be flexible because collected metrics can have many forms. We won't be able to handle the indexing because the fields on which we group  can vary, especially at the beginning when operators modify those often09:23
peschk_lHowever, our data model will always have more or less the same form (indexing of the "groupby" fields, no indexing of the metadata)09:23
peschk_lIf the datamodel is well explained in the documentation, operators will be able to build their own indexes easily09:24
huatsI agree that we might not face the same issues... But if you switch to Mongo you won't be able to give a wrong signal to users who have faced the issues with ceilo... and thus they will avoid CK09:25
huatsthey will stop at the first feeling, and not try to understand that they can really improve the way it is used09:26
peschk_lhuats: so you mean we should use elasticsearch ?09:26
peschk_lindexing will still be up to the operators, but many people have experience with this solution09:27
peschk_lanyway, we can still re-discuss this later, let's move on to the next topic09:29
huatsWith the various elements you brought here, I think it may be a better choice. Indeed it is more complex to setup, but as you said it is widely used and appreciated by companies09:29
huatssure move on09:30
peschk_l#topic State of the WSME api09:30
*** openstack changes topic to "State of the WSME api (Meeting topic: cloudkitty)"09:30
peschk_lAs Linkid mentionned a few day ago, WSME should not be used anymore: http://lists.openstack.org/pipermail/openstack-discuss/2018-November/000004.html09:31
peschk_lThe part about WSME ends with "Does anyone still use this?  Use Flask instead.". Good news, that's what we intend to do in the v2 API09:32
peschk_lI believe that Flask-RESTful + Voluptuous will be a good solution for our needs, see spec https://review.openstack.org/#/c/614275/09:33
peschk_lWe'll keep the v1 API as it is now, and deprecate it as soon as v2 is stable09:34
peschk_lOnce WSME is officially unmaintained, we'll remove the v1 API09:35
peschk_lDoes anybody have some remarks about this ?09:35
peschk_loops forgot one part: paste (library to build WSGI pipelines) should also be replaced by Flask. That's also planned in v209:36
peschk_lI'll wait a minute for remarks and move on to the next topic, code cleanup09:37
peschk_lOK, let's move on then09:38
peschk_l#topic code cleanup09:38
*** openstack changes topic to "code cleanup (Meeting topic: cloudkitty)"09:38
peschk_l(link to the story: https://storyboard.openstack.org/#!/story/2004400). Some parts of cloudkitty have not been maintained for several releases09:39
peschk_lI propose to delete these part from cloudkitty in order to keep the codebase as small as possible09:40
peschk_lA lot of new features are planned, and it will become hard to maintain if we don't pay attention09:41
peschk_lUnmaintained parts are: the writer (report generation can now be done with the client), the fake collector (which reads CSV files), and the meta collector, which has never been used anyway09:42
peschk_lThe fake scope fetcher is also unmaintained, and the gnocchi transformer is not used anymore09:43
peschk_lDoes anybody have some remarks on this ?09:44
Linkidhi09:46
Linkid(sorry, I'm late)09:46
peschk_lhi Linkid! (no worries)09:47
peschk_lLinkid: some remarks about the previous topics ?09:47
Linkidif some features are not used, we can remove them (or deprecate them), I think09:47
Linkidabout WSME and Flask, I think it could be interesting to see what other projects do, and maybe share our future Flask API in another component09:49
Linkid(but maybe it is too early)09:49
Linkidabout CSV export, I read here that some people still use it09:50
peschk_lIt's definitely interseting to look at what other projects do, but sharing the Flask API will require some extra work, which we can't do for now09:50
Linkidah, you're talking about CSV import09:50
huatsYes import... the export is just needed :)09:51
Linkidyes, of course, it is too early to make another component ;)09:51
Linkidlet's see how we can deal with it for cloudkitty09:51
peschk_lLinkid, huats: I was talking about the export. The writer has some bugs, and exports can be done through the client. We can provide a v2 api endpoint with some additional features compared to what's possible right now09:52
jferrieuI think that using Flask can make cloudkitty even more attractive to developers communities, it can be a good thing as it's getting quite popular09:53
peschk_leverything in the writer is hard-coded, it is not possible to use it outside of an openstack context09:53
huatspeschk_l: I agree, the functionnalities of the writer hae been integrated in the client, so we can remove it. But I think it would be important to add to the client a simple way to do the same file then produced by the writer09:54
peschk_lhuats: https://docs.openstack.org/python-cloudkittyclient/latest/usage.html#csv-report-generation this allows to have the exact same result through the client09:54
huatsI know, but can't we do some kind of alias of it in the client directly ?09:55
huatsit would ease the migration and the usage09:56
peschk_lhuats: we could, but I'd rather do this with the v2 api (pagination, filters...)09:56
peschk_lAnd I'm sure jferrieu would be glad to implement such a v2 ednpoint ;)09:57
huatsI am not against doing that in V2 as long as we don't have a cycle without it09:57
jferrieupeschk_l: why not09:58
huatsI would be to remove the writer during the same release we add that endpoint09:58
peschk_lthere will be a deprecation period anyway, so the writer will probably be completely deleted in T09:58
huatsok09:59
peschk_lin S, a warning telling users to do report generation through the client will be enough09:59
huatsyes09:59
peschk_lWell, I think we talked about all the topics, and we are exactly on time. Quick update about cloudkitty.io: I'm still working on it but it should be ready soon10:01
peschk_lIf anybody has some remarks he'd like to add to conclude, I'll wait a bit before I end the meeting10:02
peschk_lOK then, that's it for today. Thanks everybody!10:04
peschk_l#endmeeting10:04
*** openstack changes topic to "Rating component for OpenStack https://wiki.openstack.org/wiki/CloudKitty"10:04
openstackMeeting ended Fri Dec  7 10:04:48 2018 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)10:04
huatsthanks peschk_l !10:04
openstackMinutes:        http://eavesdrop.openstack.org/meetings/cloudkitty/2018/cloudkitty.2018-12-07-09.00.html10:04
openstackMinutes (text): http://eavesdrop.openstack.org/meetings/cloudkitty/2018/cloudkitty.2018-12-07-09.00.txt10:04
openstackLog:            http://eavesdrop.openstack.org/meetings/cloudkitty/2018/cloudkitty.2018-12-07-09.00.log.html10:04
jferrieuthanks :)10:04
*** lemko has joined #cloudkitty10:15
Linkidpeschk_l: thanks.10:18
*** jferrieu has quit IRC13:35
*** lemko has quit IRC16:58
openstackgerritMerged openstack/cloudkitty master: Changed author email  https://review.openstack.org/62293417:01

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!