14:00:16 #startmeeting publiccloud_wg 14:00:17 Meeting started Thu May 23 14:00:16 2019 UTC and is due to finish in 60 minutes. The chair is tobberydberg. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:18 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:20 The meeting name has been set to 'publiccloud_wg' 14:00:35 o/ 14:00:58 hi 14:01:00 \o/ 14:02:03 Lot of stuff and many different topics in the brainstorming :o 14:02:27 Hope you are all doing well! Lets wait a few minutes before we get started to see if more people are on their way in :-) 14:02:40 Yes ncastele .... a lot of them indeed :-) 14:03:48 Just to have it said, like your comments there, pretty much aligned with my personal thinking here as well 14:04:38 So, are there more people in here at this point interested in the billing topic? 14:04:43 mnaser ? 14:04:50 o/ :> 14:04:59 +1 14:06:04 Don't see anyone else from the "comments list" that are online, so lets start 14:06:17 #topic 1. Joint development effort billing 14:07:39 So, the plan for this initiative to get going was to start to collect some raw ideas until this meeting 14:08:01 There are a lot of ideas and thoughts around this topic in the etherpad 14:08:09 #link https://etherpad.openstack.org/p/publiccloud-sig-billing-implementation-proposal 14:09:35 So, today the plan is to discuss these ideas and see if we can find a smart way to move forward, limit the scope to something that we all things are a good first step etc 14:10:31 I see multiple topics: collect data, store data, customize, aggregate, display, price data, bill data (invoice) 14:10:35 Reading all the comments, I believe it will be really important to limit the scope first of all 14:10:46 +1 14:11:28 yes, agree, and I guess we will touch a lot of them in some sense in our limitation 14:12:21 collecting and storing looks pretty obvious and required, imo 14:12:33 In my mind, what I would love to see as a end result would be something that can respond to a api call and return the cost for a resource/project/etc 14:12:59 that definitely includes those parts ncastele 14:13:37 Also, I would love to be able to use tools already implemented and that we can collaborate with 14:13:49 I could agree, but one of the issue if we start to think about cost, then we talk about prices, currency, taxes, catalog, etc. 14:14:17 (which is a bit pain in the ***) 14:14:48 tobberydberg: is CloudKitty fulfilling your requirements? 14:14:49 I added "Limitation of scope" at the etherpad where we can put our suggested limitation 14:16:21 ncastele yes, agree...but that would be a nice end goal for us and for endusers. RAW cost ... nothing to do with taxes, nothing with discounts etc etc 14:17:10 just the raw cost based on usage and a cost per unit of some kind 14:17:43 It might be that is to much for the scope 14:17:54 witek No, it does not 14:19:00 it means that the first iteration should handle the definition of product/catalog/prices, or a way to have some kind of middleware that can call an external service to get the price/cost of a resource 14:19:11 It's been some time since I looked into it now though ... but for example it supports billing plan for flavors, that is not what we bill for today 14:19:59 I thought they can define flexible billing models, but I haven 14:20:08 to be honest, in OVH we already have a platform where we define the catalog/prices/special stuff, and I don't want to synchronize this tool with some other table/database in OpenStack 14:20:09 haven't looked at it myself 14:20:25 Yea, I guess if that were to happen some configuration of which resources to bill for in which unit to which price will be needed 14:21:08 yes 14:21:38 ncastele Well, I would like to have good support in openstack for users that would like to be able to do that 14:22:10 As a first iteration, I definitely think it's easier to focus on collecting/storing data, with the goal of displaying quantities 14:22:13 For me personally, I would be super happy with a good reliable backend that in real time can give me the aggregated usage 14:22:34 Then, from quantities/usage, we can iterate to something that can handle prices/cost 14:22:35 can agree on that as well ncastele 14:23:02 Thought, ideas from anyone else here? 14:24:15 I would recommend Monasca for collecting/storing, but I'm biased :) 14:24:19 Would ceilometer agent work as the collector? 14:25:00 can Monasca collect all events, usage etc in real time at this point? 14:25:37 I don't have enough knowledge on ceilometer/monasca to confirm stuff about it 14:26:04 not yet, we can collect system usage metrics, libvirt, ovs metrics 14:26:08 But I have strange usecases that we can challenge with ceilometer/monasca to see if it fits 14:26:09 any prometheus metrics 14:26:16 and ceilometer metrics 14:26:37 mnaser do you have insight in that? 14:26:52 I wanted to share something on that 14:27:00 please do 14:27:06 (but google is rough) 14:27:34 You will just have to write if all you self then :-) 14:29:09 (trying to look for it) 14:29:33 its a prometheus exporter 14:29:40 that actually captured the project id and user id 14:29:49 https://github.com/zhangjianweibj/prometheus-libvirt-exporter 14:29:50 there 14:29:58 its actually pretty neat 14:30:32 zhangjianweibj seems to work at inspur too who contribute to openstack often 14:31:18 *written in Go* > Ok we can use it <3 14:31:21 So this would be a kind of replacer for what ceilometer does today? Collecting the data? Or, also the storing of data? 14:32:57 mnaser: the project you've posted seems to be one man effort, zhangjianweibj was evaluating different projects, I've seen him contributing to Monasca as well 14:33:19 it is an exporter than prometheus can scrape 14:33:30 witek: it could be a start, that was the idea.. it's an approach 14:33:37 just wanted to throw it out here 14:35:03 it's mainly oriented for nova instances, we need to focus also on other components (volumes, snapshots, storage, etc.) 14:35:38 Regarding the first iteration, it could be a good idea to scope the resources/services we want to collect/store from 14:35:43 Yea, implementations of any kind to be able to be something official in the openstack community, it should be written in python, but the interesting parts are the approach as mnaser says 14:36:12 I felt it was more interesting as an overall approach 14:36:22 personally in my experience, we need something that is sharded 14:36:29 it's a catch 22 14:36:49 saw that Linaro had one as well, as well as Cananoical 14:37:12 machines polling their own instances is nice because it scales out .. but ends up all in one system trying to handle saving it all which melts things down 14:37:27 machines storing state on their own is not reliable 14:38:26 it has to be aggregated somewhere so we can easily manage/compute/display through API 14:38:44 So, not being able to use anything for the collection that is already implemented will increase the scope a bit :-) 14:38:45 so I think the idea here is two step: 1) collection, 2) (auto-?)aggregation 14:39:16 I do think we all share a common pain point 14:39:17 1)collection and storing :-) 14:39:29 which is: I need to know how many seconds/minutes/hours this resource has consumed 14:39:34 that is *mostly* what we care about.. 14:39:58 +1 14:40:05 yes. I was first thinking of using ceilometerm but implement a smarter way of storing the data, but that might be hard to accomplish ? 14:40:26 agree with that mnaser 14:40:37 historically openstack telemetry never gave us that 14:40:43 (and I also care about Swift usage but it's completely a different topic) 14:40:50 it was just _data_ without what we want which is raw numbers 14:41:08 I think on collection side the best approach is for services to instrument their code themselves and expose in the standardized way 14:41:09 well ceilometer stores into gnocchi now which includes several stores 14:41:29 yea, WHAT to measure and collect I guess will be another toic, but definitely as swift as well =) 14:41:33 they can be then scraped by prometheus, pushed to Monasca or Gnocchi 14:41:53 HONESTLY I'm a bit in favour of letting prometheus do the scraping 14:42:14 it's a big project, it's got people behind it, no need for us to try and just make things happen in ceilometer when the world has found a 'better' alternative 14:42:20 its also ~cLoUd nAtIvE~ 14:42:31 https://prometheus.io/docs/practices/instrumentation/ 14:42:50 Like that approach a lot 14:42:51 that's what prometheus advises about collecting best metrics 14:43:20 will it be able to scrape data for all resources that exists in OpenStack space? 14:43:23 now for me the issue remains: <= => <=> 14:43:43 the storage part is an implementation detail imho, people will decide to implement whatever they want depending on their operational experience 14:44:02 but the tooling to get $data => $hours_consumed .. that's the hard part which would drive the scope down 14:45:39 tobberydberg: that's the point, the exporter won't be able to collect all the data, the services are best suited to provide the valuable information, they should instrument their code 14:45:59 from what I understood, prometheus will collect metrics from the infrastructure, and we plan to base the usage/hours from those metrics, right ? 14:46:11 Not sure following well the part linked to prometheus 14:46:25 My experience with prometheus is pretty limited unfortunate 14:47:24 mnaser Are you of another opinion when it comes to the ability of being able to use prometheus for collecting all the data we need? 14:47:36 (you seam to have some experience with this) 14:47:53 I like prometheus, it can also push data to remote stores natively 14:48:08 what information prometheus will bring to us regarding the usage ? cpus used, ram used ? 14:48:10 exporter implements the so called `black box` monitoring, view from outside of the application 14:48:18 I mean, as you said witek, involving all teams to do this for us would of course super, but don't see that to happen 14:48:31 https://prometheus.io/docs/operating/integrations/#remote-endpoints-and-storage 14:48:52 imho I'd be inclined on actually having exporters live outside projects 14:49:05 the velocity and release cycle of openstack would kill if we wanted to add a new thing to monitor :) 14:49:40 but is requested from different parties on a regular basis 14:49:51 recently from Tim Bell on openstack-discuss 14:50:48 requested != going to happen imho :p 14:50:54 and again, release cycles would hurt us a lot 14:50:57 esp with back port policies :) 14:51:13 yea, it will probably not happen 14:51:36 need to get $x metered but running stein? push a patch to train and it won't be back portable to stein because it will involve adding a new feature 14:51:39 which breaks our stable policy 14:52:26 well, as a starting point we could collect the list services and metrics we're interested in for billing 14:52:37 yeah. imho an openstack collector would be eneat 14:52:44 auto-detects running services and gets all the info 14:53:05 in https://prometheus.io/docs/operating/integrations/#remote-endpoints-and-storage -- is there a remote storage endpoint that's of preference for folks here.. maybe trying to see if we can all agree on something (so we can work on tooling that talks to it) 14:53:12 So, time is sooooon up for todays meeting unfortunate so would be good to summarize a bit and find out next steps 14:53:15 just want to challenge, with an example 14:53:28 if we base the usage on metrics 14:53:36 (just want to be sure to understand) 14:54:02 what happen when a server is suspended for example ? Does it stop to send metrics ? 14:54:54 no, prometheus should still report it, with a state 14:55:07 in the tooling, we can decide to provide # of hours grouped by state 14:55:21 x hours active, y hours shutoff, z hours shelved 14:56:31 Okay. I'm not enough aware of prometheus and what metrics/information it can bring to us to understand properly this discussion, will need to have a look 14:56:53 So my suggestion here, we all think about this approach and see if that would be possible working solution, as well as thinking about what remote storage endpoint that would be preferable to see if we can come to a agreement on that 14:57:35 If we do that, should we try to schedule a new meeting before next schedule meeting for the group? 14:57:51 Or, is it good to have a new meeting in 2 weeks? 14:58:01 * mnaser feels more often is good 14:58:46 as we are bootstraping the topic, we should meet more often in the coming weeks if we want to achieve something 14:58:55 (especially with the summer break that is coming :( ) 14:58:56 Ok, can agree on that. 14:59:29 next wednesday at the same time? 14:59:57 wednesday or thursday? 15:00:17 oh, thursday is holiday for me 15:00:46 Preferably wednesday for me, public holiday in sweden next thursday, and I know I'm not at home... :-) 15:01:14 yea, guess that goes for most of europe 15:01:16 would love to have it Tuesday as wednesday/thursday is holidays, but I can find a way to be there if it's on wednesday 15:01:45 mnaser ... tuesday wednesday ? 15:02:17 I will be at CERN next week 15:02:29 but after that it should be okay 15:02:43 Please put some thought around this area until next time 15:03:32 Lets say Tuesday 1400 UTC next week, after that we use the timeslot we have for this meeting in two weeks 15:03:49 thanks tobberydberg 15:04:08 Thanks a lot for today folks! See you all next week, and have fun at CERN mnaser :-) 15:04:32 thanks for hosting tobberydberg 15:04:34 thaaanks 15:04:40 thanks everyone :) 15:05:16 #endmeeting