20:00:05 #startmeeting glance 20:00:06 Meeting started Thu Apr 3 20:00:05 2014 UTC and is due to finish in 60 minutes. The chair is markwash. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:07 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:00:10 The meeting name has been set to 'glance' 20:00:15 roll call! 20:00:16 o/ 20:00:19 o/ 20:00:23 o/ 20:00:26 o/ 20:00:43 0\ 20:01:16 lol ameade your emoticon greeting looks kind of like someone scratching their head :-) 20:01:20 o/ 20:01:31 haha 20:01:52 okay. . let's roll 20:01:59 #topic project status updates 20:02:11 probably you noticed, but we cut rc1 20:02:19 so we're in business for juno development 20:02:25 and feature freeze is over 20:02:30 weeee 20:03:09 we're still in that cold part where there may be important bugs we want to fix, so if we can hold off on being *too* dramatic in changes over the next few weeks, it might save someone work on backporting bug fixes 20:03:26 but just keep that in mind for core reviewing 20:03:46 any questions about the project status? 20:03:58 or juno 20:04:16 going 20:04:17 goin 20:04:21 gone 20:04:29 #topic artifacts design doc 20:04:48 I think we still need some sort of general communication about what the whole "artifacts" plan is 20:04:53 so that people can get up to speed 20:05:04 agree 20:05:06 gokrokve: ping 20:05:20 Hi Mark! 20:05:35 +1 20:06:02 Hi gokrokve, how's it going? 20:06:06 Alex is on vacation, so there is no any significant changes from the previous meeting. 20:06:30 gokrokve: do you know when we expect him back? 20:06:47 this is something we want implemented in juno right? 20:06:49 Next week he will be available. 20:07:00 ameade: yes 20:07:09 Yes. Here is API draft 20:07:10 http://docs.artifacts.apiary.io/ 20:07:39 gokrokve: I don't suppose that api draft has seen a lot of changes since our in person discussion, has it? 20:07:55 I delivered to him etherpad and qhiteboard with our API discussion for references 20:08:07 No. There is no much chnages. 20:08:17 okay cool 20:08:28 so should we expect something more from him in 2 weeks? 20:08:43 Here is the etherpad with more details about references: https://etherpad.openstack.org/p/glance-artifacts-discussion 20:09:07 markwash: I think next week he will devote to Artifacts :-) 20:10:14 okay, so folks who are interested can have a look at that etherpad which is a little bit scattered 20:10:35 and otherwise we can hope for more specific documentation in a few weeks 20:11:07 I will try to check in with ativelkov in time to give an update at next meeting of just where we're at 20:11:20 any thoughts folks want to share on the artifacts stuff now? 20:12:22 gokrokve: can we discuss of what kind of progress we expect? 20:12:48 do we expect everything (db/api/business logic, etc) to be implemented by the end of juno? 20:12:59 I think as master is opened for Juno contribution we will start implementation 20:13:06 +1 20:13:13 do we expect only atielkov to work on the implementation? 20:13:16 i would like some sort of schedule 20:14:29 this we can organize our respective schedules to be able to contribute when needed 20:14:29 arnaud: No. There will be several engineers. But we need to finish Murano 0.5 which should be released in two weeks. 20:14:57 but then you will have Murano 0.x 20:15:12 will artifact be the priority over Murano? 20:17:04 basically my question is do you expect (code) input from Glance developers? 20:17:10 gokrokve: not to hold your feet to the fire, but ^^ :-) 20:17:17 yeah :) 20:17:37 I think there is some good build up of understanding among other glance devs as they are exposed to the artifacts idea 20:17:43 and some design docs would push it further 20:17:50 so there may be other resources that could be brought to bear 20:18:15 arnaud: Yes. Artifacts right now have more priority then Murano. Just for IceHouse we had to implements it in Murano. 20:18:41 ok sounds good! :) 20:18:51 I think we expect to have contribution to Artifacts from: Glance team, Murano and Heat teams 20:19:08 there is a session proposed for artifacts discussion at the summit 20:19:20 yes actually 20:19:25 I wanted to bring this up 20:19:27 it will be nice to have some late stage design / early stage code review at that time 20:19:30 is 1 session enough markwash ? 20:19:46 arnaud: probably not 20:21:11 okay, so I think we still have more questions than answers at this point, let's carry some of those forward into the next two meetings 20:21:25 hopefullly with some more design inputs we can structure the summit session nicely 20:21:42 any more thoughts folks want to share before we move on? 20:21:53 thoughts/concerns 20:22:34 I think we will have something like a final draft in two weeks. 20:22:50 Then we can discuss it in ML and then on f2f meeting in Atlanta 20:23:31 all right, thanks for the info gokrokve 20:23:51 #topic deactivate image bp 20:24:02 #link https://blueprints.launchpad.net/glance/+spec/deactivate-image 20:24:33 should I give a brief background? 20:24:34 so I think where we left off on this 20:24:40 hemanth_: sure go for it 20:25:08 so, this bp proposes to 'deactivate' a 'bad' image 20:25:27 what does deactivate mean? prohibiting the download of such 'bad' images 20:25:54 what does 'bad' mean? not sure yet, but when we find a suspicious image that was imported or crafted within the cloud 20:26:27 most likely reported by ops/monitoring folks, we give them a way to inidicate that a particular image maybe bad 20:26:44 and it shall not be used until futher investigation is performed on it 20:27:05 after which, the image can activated again or deleted 20:27:11 *be 20:27:27 so its a little handwavy, but I want to give my blessing (fwiw) to the concept of deactivation 20:27:53 its a reasonably general purpose, and my main concern was it would complicate the state transitions. . but turns out it does not complicate it 20:28:01 a resource can only go from active to deactivated 20:28:09 it will not be possible to deactivate an image that is in any other state 20:28:16 +1 20:28:29 (well, and it can go from deactivated to active, or be deleted) 20:28:38 yeah i think this is a fair use case 20:29:01 anybody have questions they want to raise about the use case? 20:29:20 i am wondering if this would make sense to be used when you don't want people booting off an image in general but you still want to allow access to image metadata 20:29:29 is it still true that you can do a show on a deleted image? 20:29:33 perhaps we can change that 20:29:35 ameade: yes 20:29:45 ameade: yeah it feels like that is the right way to think about "deactivation" 20:29:49 ameade: all operations except download are allowed 20:29:59 cool beans 20:30:35 hemanth_: one addendum, only users with certain roles can ever "reactivate" correct? 20:30:57 markwash: yes, its an admin-only operation 20:31:26 both de-activating and re-activating 20:31:35 so, unless there are more use case questions, we can talk a bit about the api (whether or not to use PATCH) 20:31:35 could this have it's own policy instead? 20:31:56 kind of like 'publicize_image'? 20:32:04 hemanth_: ameade: yes I was interpreting "admin only" as meaning it would actually have a policy on the operation 20:32:12 ameade: +! 20:32:14 i think dedicated api is better then PATCH api for status field changing 20:32:25 +1 20:32:36 hemanth_: make sure to lay out these clarifications in the bp 20:32:47 it could help a bunch with docs later on 20:32:51 ameade: sure, will do 20:33:22 and i'm a little concerned on the direct changing of image model 20:33:25 all right. . so lets now jump into the api 20:33:43 #topic deactivate image api 20:34:24 so the original bp proposed a dedicated api 20:34:32 I am a little apprehensive about patch because it is not inconsistent with the way we deal with status in glance currently 20:34:34 I think I pushed back and said "why not just use PATCH?" 20:34:46 *is inconsistent 20:34:47 actually i *think* probably the better way for this kind of functions is be placed as an extension for glance api 20:35:20 well, this is a first level operation on the image 20:35:52 a regular user still won't be able to modify status, correct? 20:35:52 so, an extension would mean some level of value added service which does not fall in this category, right? 20:36:18 markwash: yes 20:36:53 it just seems inconsistent in API terms to have one way of updating one part of a json document, and another way to update the other part 20:37:03 I think we have some of those inconsistencies already, but I'd rather not add to them 20:37:44 but I guess the feeling on the other side is that status is special? 20:38:56 just hoping to understand. . hemanth_ zhiyan rosmaita ^^ 20:39:10 well, i don't view the api as allowing json doc changes 20:39:18 the json doc is a representation of the system 20:39:24 that's why patch is so weird 20:39:32 at least for me 20:39:55 patch seems doc oriented, not resource oriented 20:40:07 whereas API calls should be resource oriented 20:40:26 interesting. . I think we share the same core view of the system in terms of the relationship of json to the actual features 20:40:42 so I'm not quite sure yet where we diverge on PATCH :-) 20:40:56 I think the idea is, you have a resource, you want to make changes to it 20:40:58 so are we all saying no to PATCH? 20:41:07 no no, sorry I'm still saying yes to Patch 20:41:18 ameade: not "no" just "not liking it" 20:41:34 I'm just trying to figure out precisely where our viewpoints diverge 20:41:35 markwash: do you like see deactivation function as a "core" function around image resource? 20:42:26 zhiyan: maybe, "core" in contrast with "extension" ? 20:42:37 yes 20:43:13 yeah, it feels like core to me 20:43:21 its on the "edge" of "core" :-) 20:43:26 to me 20:43:34 imho, i think patch api is working for image main model: changing the fields of image object 20:44:47 for the deactivation function, on implementation level, we can add a new status to "status" field of main model 20:45:07 fwiw, my resistence to a separate api route for this is just that I want to be able to give a good explanation that I believe in when people ask me about it in the future 20:45:21 or add a new table to do the deactivation status booking... 20:45:21 :-) 20:45:58 zhiyan: I think adding in a new status field to the main model is the proposed way of doing this bp 20:46:01 hemanth_: ^^ correct? 20:46:07 markwash: yes 20:46:14 markwash: this is a very focused use 20:46:25 patch is a very unfocused way of making changes 20:46:45 at least that's how i see it 20:47:01 i see it as changing the state of an image, and patch is how we do that 20:47:03 I just see patch as a way of putting several modifications to the resource into a single transaction 20:47:04 rosmaita: could you explain why you are saying this in an unfocused way of making changes? 20:47:06 so replace on status makes sense to me 20:47:32 +1 ameade 20:47:40 arnaud: patch seems to open up everything for grabs 20:47:56 so if we were allowing a lot of state transition changes, i could seee that 20:48:06 but we just want active->deactivated and back 20:48:09 nothing else 20:48:16 it just seems different to me 20:48:39 rosmaita: +1 20:49:03 I'm not sure I'll quite find resolution to this in the next 12 minutes 20:49:09 :) 20:49:13 heh 20:49:21 i think by not using patch, we explicitly say "this is different" 20:49:30 and we want this to be completely different 20:49:43 tbh, i still think this function don't like a core function for image resource.. it's out of image object core CRUD function list 20:49:57 to me 20:50:49 it's an update in my mind 20:50:59 yeah, same here 20:51:08 and rosmaita why is it completely different? 20:51:20 the crud operation is update: not the state in which will be the resource 20:52:09 markwash: because we have a nice state transition diagram for how images should work, and we are interferring with it (but in a very precise way) 20:52:20 markwash: coz it is not in the usual lifecycle of an image? 20:52:36 well isn't that what we are changing? the image state diagram? 20:52:45 state machine* 20:52:47 i'm afraid using patch will give peeple all sorts of great ideas of how to put all sorts of epicycles into the diagram 20:53:09 maybe it's just a matter of taste 20:53:18 lol epicycles :-) 20:53:23 markwash: this is like temporary state we keep an image in, like an off-the-band thing 20:53:24 great reference! 20:53:24 i think the key reason you think it's "update" is that you are thinking this from implementation POV. but from enc user, i think image deactivation is a separated function from CRUD 20:53:59 I think the administrator viewpoint is most relevant here 20:54:15 it's all about how you word it, am i 'deactivating' an image or am i making it 'deactivated' 20:54:17 to me, if they already know how to modify an image, why shouldn't this modification be just like the others? 20:54:36 ameade: oh interesting point 20:54:38 we are supposed to give a state to the api and the system takes care of it 20:55:08 obviously the solution is to create a new HTTP verb 20:55:28 markwash: MONKEY 20:55:48 I don't mean to be pushy, but I think the burden is on the "update the image differently" side of the argument 20:55:54 MONKEY /v2/images/UUID/changestatetodeactive 20:56:01 lol 20:56:11 markwash: as PTL, you can be pushy, that's ok 20:56:17 I think we can move ahead with the implementation 20:56:31 don't encourage me 20:56:33 :-) 20:56:54 thanks for standing again for PTL by the way 20:57:12 +1 20:57:23 well, you folks are a great bunch of people to work with 20:57:28 i dont wanna make the RESTful argument but there are only four verbs and those are CRUD lol 20:57:29 so thank you 20:58:16 so to tidy up 20:58:23 can we plan on PATCH for now? 20:58:30 and bring up other objections later? 20:59:19 or will that be a blocker for you hemanth_ ? 20:59:23 markwash: ok, will try to find more onjections :_ 20:59:24 :) 20:59:32 hemanth_: lol good enough 20:59:37 okay we're about out of time 20:59:48 everybody: vote for the other guy 21:00:01 lol 21:00:06 sorry we missed on the taskflow discussion again 21:00:19 I need to run 21:00:22 no problem 21:00:23 #endmeeting