09:00:18 #startmeeting blazar 09:00:19 Meeting started Tue Dec 13 09:00:18 2016 UTC and is due to finish in 60 minutes. The chair is priteau. Information about MeetBot at http://wiki.debian.org/MeetBot. 09:00:20 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 09:00:22 The meeting name has been set to 'blazar' 09:00:30 #chair masahito hiro-kobayashi 09:00:31 Current chairs: hiro-kobayashi masahito priteau 09:00:42 hi all 09:00:44 Hello 09:00:47 hi 09:00:48 o/ 09:00:49 Hello! 09:00:51 #topic Roll call 09:00:52 Hello 09:01:18 Hi r-mibu, nice to have you with us 09:01:22 \o 09:01:47 anyone else? janki? 09:02:04 o/ 09:02:08 priteau, hey 09:02:11 yes, sorry for the absence last week 09:02:22 Great, let's get started 09:02:29 #topic Action items from last call 09:02:50 In the meeting notes last week we had three explicit action items 09:03:03 http://eavesdrop.openstack.org/meetings/blazar/2016/blazar.2016-12-06-09.00.html 09:03:04 1. Review state of API versions: v1 vs v2 09:03:04 2. bauzas to review https://review.openstack.org/#/c/398716/ 09:03:04 3. hiro-kobayashi to rebase 398716 on top of 406009 09:03:19 First one was for me 09:03:35 I added my findings to our current Etherpad 09:03:44 #link https://etherpad.openstack.org/p/Blazar_status_2016 Status of the Blazar project (December 2016) 09:04:05 Scroll down to the header "Blazar REST API: v1 vs v2" 09:04:44 As far as I understand, the service code has support for the two API versions and both are loaded by default 09:04:56 exactly 09:05:26 the main difference for v2 is not zactly the WSGI router 09:05:30 There doesn't seem to be a big difference in API capabilities except for support for CRUD operations on "Before end" notifications, but I may be wrong 09:05:48 that's rather that we have an automatic documentation 09:06:03 and that we have a different input validation 09:06:03 yes, the difference seems to be more on implementation 09:06:10 priteau: thanks. 09:06:19 however, there is no support for v2 in the client yet 09:06:35 I found some patches on Gerrit which were never merged 09:06:50 priteau, wich version are you using? 09:06:59 r-mibu: we use v1 in Chameleon 09:07:10 so if we want to deprecate / disable v1, we need support in the client first 09:07:24 are people from HPE in the meeting? which version are you using? 09:07:32 ok, is v2 experimental? 09:07:41 I added v2 09:07:49 Hi Gerald. I am from HPE 09:08:02 but we stopped working on Climate quite close after that 09:08:25 so we didn't had time to work more on v2 09:08:38 hi tejaswi. 09:08:45 hi tejaswi 09:08:49 there are a bit of differences between v1 and v2 about the REST objects etc. 09:08:56 I believe we are using v1 09:09:14 so v2 is not bacwards compatible with v1 09:09:15 Hi tejaswi 09:09:30 but I leave you guys think about that 09:09:47 so I listed a few action items on the Etherpad 09:09:54 first is better documentation of differences between v1 and v2 09:09:58 has the new implementation in v2 significant benefits to v1? 09:10:03 I would like to understand exactly the difference in REST objects 09:10:16 hi masahito, priteau 09:10:25 GeraldK: at least for documenting 09:10:39 priteau: +1. shall we collect a list of things to review in detail? 09:10:46 GeraldK: and since we used WSME, we have a better input validation 09:11:18 +1 to check out difference in API versions 09:11:30 GeraldK: There is a wiki page documenting the v1 API: https://wiki.openstack.org/wiki/Blazar/REST_API 09:11:31 +1 09:11:43 bauzas: sounds like object means python object in server side, right? 09:11:43 priteau: because v2 is autodocumented 09:11:53 note, we don't have to keep backward compatibility 09:12:11 bauzas: is the v2 documentation generated by tox -e docs or something else? 09:12:15 masahito: yeah, a WSME object rather 09:12:36 priteau: I don't remember the exact tox call but yeah 09:13:11 #action Generate WSME doc for v2 API and check for differences with v1 (priteau) 09:13:34 priteau: indeed that's the doc target https://github.com/openstack/blazar/blob/master/tox.ini#L34 09:13:38 I noticed that the WSME upstream repo doesn't have any recent changes, is it still the recommended framework for OpenStack APIs? 09:13:56 nope 09:14:12 that's a good point 09:14:25 the thing is that WSME was giving us great benefits 09:14:33 but that's very strict 09:14:47 fyi: https://krotscheck.net/2016/03/25/we-need-an-consistent-openstack.html 09:14:49 the docs are generated by Jenkins on each review change 09:14:53 e.g. http://docs-draft.openstack.org/66/406666/7/check/gate-blazar-docs-ubuntu-xenial/5ddde5e//doc/build/html/restapi/index.html 09:15:29 r-mibu: very interesting link! 09:15:32 r-mibu: I'd recommend to reach the API WG 09:16:09 it is valuable to have discussion which framework to be used in blazar 09:16:18 when I was working on Climate, there was no group trying to make a consistent experience 09:16:31 now, we have some guidelines 09:16:32 i don't have strong preference though 09:16:36 me too 09:16:46 we can even draft a v3 honestly 09:17:10 that's not a big deal 09:17:29 moving to Pecan was really a nobrainer, supporting WSME was the big deal but not that hard 09:17:35 I don't think we need to move new version depending on API implementation. 09:17:40 Yes, although we may want to have some new features added to Blazar to find out exactly how we want to shape a new API 09:17:41 what I'd love honestly is us supporting microversions 09:18:23 microversions in NB API? or to talk to nova microversions APIs? 09:18:35 API-WG microversions :) 09:18:39 those are documented 09:18:46 ok 09:18:53 but yeah, basically coming from nova 09:18:56 #link https://specs.openstack.org/openstack/api-wg/guidelines/microversion_specification.html 09:20:13 From my use case I would like if our next release kept support for v1 in both service and client for providing an easy upgrade of Chameleon to Ocata 09:20:33 Afterwards, I am happy if we make more drastic changes 09:20:38 I don't disagree with that :) 09:20:40 that makes sense 09:20:44 that sounds very reasonable 09:20:44 +1 09:20:46 make sense 09:21:12 what I'm saying is that probably v2 would either need some rework to get rid of WSME or a v3 09:21:16 IMO, we should support all existing feature in O release 09:21:30 #agreed keep support for v1 API in the next Blazar release 09:21:30 at least, we found no one using v2, so we can change v2 API maybe... 09:21:58 the real problem with v1 is that you'll need to keep it stable 09:22:13 :-) 09:22:35 It's our first priority. 09:22:41 so, once you'll begin modifying objects, you'll need to provide a backwards-compat path for returning those objects in a stable RESTful way 09:23:23 if we have a replacement API ready soon we should mark v1 as deprecated 09:23:25 hence IMHO the need for another API endpoint but v1 that would propose a microversion support 09:24:00 or you would suffer from not being able to expose your latest features 09:24:10 that's a very good point 09:24:44 #action investigate microversion support for Blazar API 09:25:16 I am not sure by when we can get this done though 09:25:53 honestly, I think you guys should consider writing your own WSGI stack from stratch 09:26:01 we can discuss it after fixing known issue. 09:26:21 so that you wouldn't suffer from trying to adapt the existing Flask or Pecan app 09:26:35 yes we have to focus on fixing known issues first and making the code more modern 09:26:54 masahito: agreed, the problem would only be with new features 09:27:28 if you guys focus on stability for your next release, then you can defer those points for later 09:28:07 I vote for defer until Ocata timeframe 09:28:29 priteau: +1 09:28:34 +1 09:28:40 focusing on stability and bug fixing for the next release makes sense, but we should not ignore the new features. it is because of them that we started looking into Blazar. 09:28:52 we should target new features for the next release already. 09:29:10 that's really a resource problem 09:29:15 GeraldK: let's talk about new features later in the meeting 09:29:17 i mean new features for the following release 09:29:28 I would like to continue progressing on the agenda 09:29:48 Action item 2 was bauzas to review https://review.openstack.org/#/c/398716/ 09:29:49 yeah, either way, exposing a new REST API is totally uncorrelated from fixing bugs 09:29:50 yes, so we need to write down what we need or discuss in etherpad ant try to keep it in mind. 09:30:21 bauzas pointed out that there were two many changes in the same patch and requested a new patch from hiro-kobayashi 09:30:30 which has now been contributed 09:30:36 someone can work on supporting microversions (and decide which framework to use, and have the client supporting it) very separatetly from the team, that's not intricated 09:31:04 hiro-kobayashi: I didn't understand your last comment on the patch. Are you saying that the line "if access == 'True':" is correct or incorrect? 09:31:06 yeah, about https://github.com/openstack/blazar/blob/master/tox.ini#L34 I need to do a second pass, but I second your argument, priteau 09:31:20 priteau: it's correct 09:31:21 oops 09:31:28 https://review.openstack.org/#/c/398716/ I meant 09:31:49 hiro-kobayashi: but in your comment you say "it should be compared as not boolean but string." 09:31:51 I wrote details about it above link 09:32:20 oh, I see what you mean now 09:32:25 I meant the object stored in metadata is String 09:32:38 well, I don't want to discuss about a specific point in the review, but I orginally wrote that because .get() can return None 09:32:45 what I meant was, the original check is "if access", which for a string means if access is anything but the empty string 09:32:56 so the conditional is only false if the key isn't present 09:33:23 what the value of the key is is not tested in the original code 09:33:44 what I couldn't find is where is this key set, is it somewhere in the Blazar code? 09:33:54 Oh, i may misunderstand, then 09:34:14 So, that should be not changed from original? 09:34:14 priteau: mmm, I need to remember that 09:34:35 I checked our Chameleon deployment and all aggregates are tagged with "climate:owner" 09:34:45 hiro-kobayashi: it *could* be changed, but that's a behavioural change, so I tend to deny that 09:35:04 25 mins left... 09:35:08 but I didn't see a *key* set to the project_id and a value of *true* 09:35:22 I think we can continue the discussion on Gerrit 09:35:37 priteau: +1 09:35:38 agreed, I need to dig into old code 09:35:47 because I can't remind that for now 09:36:08 third was hiro-kobayashi to rebase 398716 on top of 406009, which has been done 09:36:25 #topic Ongoing patch reviews 09:36:25 Yes, and it passes jenkins check 09:36:40 I would like to keep this point short to leave time for the rest of the discussion 09:36:59 Good news is that Tony's patches have all been merged now 09:37:18 I think I got all current patches linked from the Etherpad 09:37:32 and highlighted with "(needs review)" 09:37:42 good news. 09:37:50 we can only discuss the patch someone needs help or something in this topic. 09:38:09 masahito: I would like if you could take a second look to https://review.openstack.org/#/c/408079/ 09:38:14 for time keeping. 09:38:33 I need to review your tempest patches 09:38:34 masahito: agreed 09:38:41 priteau: got it. 09:39:03 we could just point out patches needing attention or just having disagreements or unclear statement in there 09:39:20 since meeting times are short :-) 09:39:30 and hiro-kobayashi if you could change the if test on "access" that we just mentioned 09:39:44 If nothing else let's move on 09:39:46 FWIW, don't hesitate to ping me folks on #openstack-blazar when you want me to make a pass 09:39:52 #topic Discussion of new features 09:39:55 priteau: OK 09:40:05 I have a very limited capacity of reminding patches to review :) 09:41:20 We have some features already identified on the pad 09:41:26 Add resource plugins (e.g. Cinder, Neutron) 09:41:48 I think there was preliminary work done on volume reservation 09:42:11 https://wiki.openstack.org/wiki/Blazar/Use_Cases#Volume_Reservation 09:42:48 #link https://blueprints.launchpad.net/blazar/+spec/basic-volume-plugin 09:42:53 the real problem people objected was with quotas 09:43:39 if you assume that reserving a resource will decrement your quota at the moment of the reservation and not at the time of the lease, then it can be possible to have other resources but just hosts or instances 09:44:30 FWIW, that's why I tend to dislike the way we implemented instances reservation in Climate, because by the time the instance is unshelved, you could be out of quotas 09:44:57 (but that's unrelated to the current topic) 09:45:36 What are the new resource reservations needed for OPNFV? 09:45:39 bauzas, that's good point - we need to see clear use cases 09:46:15 for Promise: see the 3rd user story in http://specs.openstack.org/openstack/openstack-user-stories/user-stories/draft/capacity_management.html 09:46:23 r-mibu: I'd rather say that a usecase should also document the reservation workflow 09:46:39 bauzas, kk 09:46:42 "I want guaranteed access to 30 vCPUs and 200GB of RAM for my project. In addition, during October-December, I want to be able to increase my usage to 150 vCPUs and 1TB of RAM" 09:47:12 And we are analyzing gap between the usecase and current OpenStack(especially blazar): https://etherpad.opnfv.org/p/promise_gap_analysis 09:47:33 Above is for topic later 09:47:40 also 09:48:30 for OPNFV Promise requirements see also: https://etherpad.opnfv.org/p/promise_minimum_features 09:48:32 GeraldK: that's only hypervisors though. What about volumes or floating IPs? 09:49:29 priteau: yes, volumes, IP address ranges, (anti-)affintiy rules are also important 09:50:30 Would someone from OPNFV be willing to take ownership of investigating what it would take to extend reservation to new kind of resources? 09:51:41 ok, I try to prioritize which resource is needed. 09:51:54 i think this can be done as part of the gap analysis 09:52:14 masahito: thanks 09:52:46 i.e. review the existing drafts, identify what were the problems at the time, propose an implementation approach, and most importantly check what would be required to be added in other projects 09:52:58 Thanks for volunteering masahito 09:52:59 GeraldK: yes. we need to make some orders as action item or blueprint in blazar 09:53:44 other features? 09:53:56 #action masahito translates Promise requirement to blazar feature 09:54:18 Horizon support: I think we can work from the patch we use in Chameleon (which was written by one of the Blazar contributors) 09:54:28 I will find the URL and add it to Etherpad 09:54:33 priteau: +1 09:54:40 priteau: that's very nice! 09:54:46 +1, the GUI looks nice 09:55:28 if possible, I want to talk about PTG in remaining time. 09:55:32 Ability to terminate a lease on demand: that's a small change we made in Chameleon, I can submit it when we have finalized the test framework fixes 09:55:52 Ability to add / remove resources from a reservation: that's a bigger change because it doesn't fit well in the SQL model 09:55:59 and will probably require API changes too 09:56:26 #topic Project Teams Gathering (PTG) 09:56:49 Does anyone in the meeting plan to go PTG? 09:57:14 masahito: Maybe, need to check internally 09:57:18 If most of us join it, we could unofficial meeting in there. 09:57:38 because we don't have room for gathering. 09:57:53 FWIW, I'll attend the PTG 09:57:59 masahito: +1 09:58:25 I will attend if you guys will attend and have time to F2F meeting 09:58:51 there are 2 different timings for the PTG 09:58:58 I had not planned to go, I am not sure if I could get approval for attending since I would probably go to Boston too 09:59:10 the 2 first days are intentionally for cross-project meetings 09:59:21 while the 3 last ones are for internal discussions 09:59:57 if someone would drop kind of a BoF session or a meetup around Blazar, probably the two first days are doable 10:00:03 #info The first Project Teams Gathering (PTG) will be held in Atlanta, Feb 20-24, 2017 10:00:08 bauzas: yes. if we have free time on any days we can gather. 10:00:13 #info the 2 first days are intentionally for cross-project meetings, while the 3 last ones are for internal discussions 10:01:15 ok. I'll send mail in openstack-dev which day works for us if we have meeting. 10:01:29 It would be an ideal venue to present our requirements to other teams 10:02:09 priteau: right. 10:02:24 btw, we're running out time. 10:02:38 masahito: you're taking ownership of organizing meeting there? 10:02:42 priteau: +1. i will check if bertys or I can join 10:02:56 priteau: if we have. 10:03:16 ok 10:03:40 We're out of time, thanks everyone! 10:03:43 #endmeeting