14:03:48 #startmeeting glance 14:03:49 Meeting started Thu Feb 13 14:03:48 2014 UTC and is due to finish in 60 minutes. The chair is markwash. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:03:50 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:03:52 The meeting name has been set to 'glance' 14:03:55 \o/ 14:04:15 o/ 14:04:20 hi!! 14:04:27 Hi!! 14:04:53 Ehlo 14:04:59 Hi folks! 14:05:00 rosmaita: morning 14:05:04 0/ 14:05:12 I was busy at the nova meetup yesterday and have not prepared the agenda very much 14:05:23 hemanth_ has an item he woulld like to discuss 14:05:55 and some time after that I'd like to run through the icehouse-3 blueprints again to see what progress we've made or if there are other changes we should make 14:06:24 #topic suspending and image (hemanth_) 14:06:36 hemanth_: would you like to introduce the idea? 14:06:40 markwash: sure 14:08:03 with import, we can see a wide range of images getting imported into the cloud. Most of these may be created outside the cloud and thereby may not be very trusted 14:08:53 so, in the event we see a 'bad' image getting imported, we need a way to stop further operations on this image. 14:09:12 like booting servers off of it and sharing it further with other users 14:09:51 so is this sort of an admin api use case? 14:09:55 i think it's not so much the import action itself, it's just the existence of a "bad" image in the cloud 14:10:01 hemanth_: so it sounds like an admin operation 14:10:03 ? 14:10:16 could protect with policies 14:10:17 markwash, flwang: one of the use cases admin bp, yes 14:10:20 rosmaita: +1 14:10:41 could also be a user-level operation in some clouds 14:11:04 seems we should say the import action make the bad image possibility more bigger 14:11:16 How about user flagging possibility? 14:11:23 if an image is suspended, no one can boot it? or no one its shared with can boot it? 14:11:27 flwang: not necessarily, you can take a snapshot of a current server and shar that 14:11:38 markwash: i think no one can boot it 14:11:52 markwash: no one can boot it 14:12:06 but we don't control booting, so i guess no one can download it? 14:12:25 hemanth_: could we just mark the image with a reserved tag? 14:12:40 rosmaita: and don't expose direct location maybe 14:13:22 well, for this to be effective I guess no locations should be exposed 14:13:33 is it the responsibility of Glance of checking if a guest OS is trusted? 14:14:03 arnaud__: i don't think so 14:14:13 arnaud__: +1, and I think it's hard to detect 14:14:21 but we do need to supply a way to stop user of images under investigation 14:14:21 arnaud__: no, however the catalog needs to have a way to flag that 14:14:30 arnaud__: not glance's responsibility but we want glance to know abut such an image 14:14:48 hemanth_: I agree from this POV 14:14:58 all i can thnink of as a current option, is just delete the image 14:15:08 nikhil__: hey there 14:15:10 which is really bad in event of a mistake 14:15:15 hey 14:15:21 ok, so this might look silly but why would you keep this image in your cloud? 14:15:25 actually i'm a little trend to think that client side, e.g. nova (or others like cinder ?) should also do some change to take care that flag.. 14:15:27 the other image statuses don't seem appropriate , e.g., queued 14:15:39 arnaud__: in case you are wrong 14:15:49 this is a public cloud use case, i guess 14:15:52 like do a check before vm snapshot 14:16:11 to prevent guest upload a bad image 14:16:12 zhiyan: check what? 14:16:23 zhiyan: what flwang said 14:16:27 flag within the metadata 14:16:32 zhiyan: if the instance was booted from a suspended image? 14:16:33 darn it, I started talking in the wrong chat room :-( 14:16:41 lol 14:16:41 hah 14:17:07 welcome back to earth, markwash 14:17:07 hemanth_: i think it is 14:17:08 arnaud__: to do more checks on the image and determine it's usability 14:17:10 haha 14:17:30 I was thinking, it seems like this could be done with protected properties and client-side behavior as well 14:17:57 markwash: copy pasting your chat from other window 14:17:59 it seems like restricting download is a bit heavy-handed 14:18:00 nikhil__: ok so the admin is still able to download the image 14:18:14 arnaud__: may be (optionally) 14:18:16 nikhil__: otherwise, how can you check something that you cannot get 14:18:17 :) 14:18:25 markwash: (i'm thinking latter one maybe using image handler in nova...) 14:18:32 markwash: +1 but that would be an implicit way of doing things maybe? 14:18:50 arnaud__: yeah, something like that restricting the image to validator or auditor of some sort 14:18:57 I see 14:19:04 09:15:14 [ markwash] its an interesting idea, its a bit hard to think of how it might work though, since it seems like glance doesn't really control the booting process 14:19:07 markwash: like as a user if I see my image in state 'suspended' I would know there is something wrong 14:19:08 09:15:24 [ markwash] and restricting download is a bit heavy handed 14:19:11 09:15:46 [ markwash] maybe there could be a protected property "suspended" that nova would honor? 14:19:14 09:16:16 [ markwash] or something that functions equivalently? 14:19:18 arnaud__ you could restrict/allow access by policies 14:19:35 rosmaita: ok this makes sense 14:19:53 hemanth_: I think you could still see "suspended = yes" on the image 14:20:13 FWIW, I think we need a way to avoid the bad image be spreaded 14:20:41 markwash: i don't like the nova-honor-flag idea, if we know at the glance level that this is not a good image, should handle it here 14:20:43 a bad image can be still shared? 14:20:50 nope 14:20:56 arnaud__ i think yes 14:21:05 why not, no one can boot from it? 14:21:15 flwang: avoid the bad image be used. usage including: download; direct access via location info; snapshot vm which based on that bad image...and others? 14:21:16 and if bad, it will ultimately be destroyed 14:21:24 if a mistake, un-suspend, and no harm done 14:21:32 rosmaita: so suspended would prevent download and make sharing behave as 'private' ? 14:21:59 markwash: sounds reasonable 14:22:07 i don't know if we need to affect sharing 14:22:17 it would a suspend/resume 14:22:26 as long as you can't boot 14:22:32 +1 flwang 14:22:41 i'm thinking we don't have to make it too complicated 14:22:42 I guess its just, there is no "image.boot" action :-) 14:22:54 right, so that's why no-download 14:22:56 rosmaita: I prefer to prevent sharing 14:23:01 that's the only reason I feel a bit weird about it 14:23:14 well, look at it this way 14:23:28 booting is the thing we want to prevent ultimately 14:23:37 but right now, we just don't want anyone using the image 14:24:00 is you do an image-list, do you plan to have the image listed? yes I assume 14:24:13 yes 14:24:15 s/is/if 14:24:22 arnaud__: yes, it will be there 14:24:41 with status 'suspended' or 'inactive' 14:24:51 well, the general problem description makes a lot of sense to me, and it seems like the proposed approach has merit 14:25:01 flwang: and I would like to see there is a tag or property indicating the suspending status 14:25:02 so, blueprint? 14:25:16 rosmaita: are you saying add a new status? 14:25:30 flwang: yes, that's what i think 14:25:34 my assumption might be a bit pessimistic however, feel like we should not allow sharing 14:25:47 need to settle whether that's a good idea befoe going to a bp, i think 14:25:55 (a new status, i mea) 14:26:02 s/mea/mean/ 14:26:04 probably adding a new status is a easy way to go: https://github.com/openstack/nova/blob/master/nova/compute/api.py#L600 14:26:04 as that would mean that validator is being trusted and that may not always be true 14:26:36 as we want to restrict bad images and allow "only" good images 14:26:46 I like adding a new status 14:26:51 all shades of gray should be considered bad images, no? 14:26:55 rosmaita: I think we can go with the new status strategy as the currently planned approach and write up the blueprint and spec? 14:27:11 hemanth: want to work with me on this? 14:27:15 we also need to think about how users will find out about this, probably through nova or cinder 14:27:19 rosmaita: gladly 14:27:22 hemanth_: so i think it will be better if you can create a bp, and give a definition for "suspend". 14:27:33 zhiyan: +1 14:27:40 zhiyan: sure 14:27:43 I think you should also consider the case of nova server rebuild 14:27:49 markwash: and I would like to see some thoughts from the consumer POV 14:27:59 such as Nova, Ironic.. 14:28:14 flwang: and cinder 14:28:15 ok, we will add some options 14:28:22 image <==> volume conversion 14:28:22 okay, next up 14:28:39 #topic status checkin for artifacts api 14:29:27 jbernard: i have not had time to digest your email 14:29:39 Hi 14:29:45 gokrokve: hi there! 14:29:49 We have submitted couple new BPs 14:29:52 markwash: the response was good, a few minor issues 14:30:02 gokrokve: could you share URL here? 14:30:46 https://blueprints.launchpad.net/glance/+spec/artifact-repository-api 14:32:40 Hm. There should be another BP for datamodel, but I don't see it. 14:32:45 I will open it. 14:32:47 so it looks like we're making some progress in the design phase 14:33:06 gokrokve: based on our discussions I'll be very easy to see the data model bp :-) 14:33:08 hey 14:33:28 Yes. We have a question about storage. 14:33:31 iccha_: hey there 14:33:33 hi iccha_! 14:33:50 I think it will be possible to use existing storage drivers to store artifacts. 14:34:03 i hope so :) 14:34:16 Great. So we will abb BP for that too. 14:34:17 gokrokve: do you think if we need some new interface to store driver? 14:34:45 zhiyan: No. Artifacts itself just text files or binaries. 14:34:54 okay cool 14:34:54 gokrokve: thanks 14:35:08 so more blueprints from gokrokve 14:35:24 and jbernard after a little more feedback on the instance template stuff will share it a bit more widely 14:35:27 sounds good to me 14:35:36 As I see now, artifact will be parsed by plugin during upload and then glance will store it as a solid entity. 14:35:38 gokrokve: but iirc, you had mentioned versionning, maybe it's another case.. 14:35:46 yep, i think it should come together nicely 14:36:02 gokrokve: what do you mean by solid entity? 14:36:29 Glance do not split or modify them for storing. 14:36:57 gokrokve: +1 for solid entity 14:37:16 does that mean that if an artifact contain (1 metadata file, 1 binary, 1 image) it will be a solid entity? 14:37:28 A little confused on "plugin", glance now doesn't support api extension/plugin mechanism 14:37:40 Yes, it should be apackage which has one ID. 14:37:51 well, I think there's a lot of details we'll need to see in the context of the blueprints 14:37:57 zhiyan: We plan to add this in artifacts API 14:38:01 its a little confusing to find out about them trickle by trickle 14:38:13 but can you still access only the metadata file for example, without accessing the binary? 14:38:13 markwash: it would be nice if there is a wiki page associated with the bp 14:38:36 arnaud__: let discuss the details in Glance channel? 14:38:41 yes 14:38:42 sure 14:38:49 arnaud__: I dont think so. Metadata will be stored separately 14:39:16 it will be nice when this is all documented 14:39:25 gokrokve: yep, since glance can store metadata 14:39:37 The idea was that Glance artifact plugin can parse artifact content ant pass some data to associated metadata 14:39:48 for my part, I pitched the instance template idea somewhat here at the nova meetup 14:39:54 and it was met with some support 14:40:10 it seems like once we get it going, we can add a nova extension that allows booting through instance templates 14:40:13 it might be good to do a FAQ on this so we can ask questions and see the vision on one page 14:40:24 jbernard: Sure. We are working on that. We had no much time for that during this week as we are working on Murano incubation documents now. 14:40:32 markwash: sounds cool 14:40:32 and it should not require a ton of internal nova changes 14:40:33 flwang: I have the ovf use case in mind and I would like to store the ovf and the image associated as an artifact. In this case I don't want the ovf to be stored as metadata. I want to make sure this use case is covered 14:40:45 re FAQ and more documentation, I don't really think we should do design review in this meeting 14:40:48 markwash: so mark, i think seems we'd better start to think about plugin framework for glance .. seems, for now i'm not sure the "plugin" in this context is working on which level 14:41:03 mostly just checking in to see what folks are working on, and do the design review with documents offline 14:41:10 arnaud__: I was thinking the ovf case as well, we can discuss that offline 14:41:20 flwang: yes sure :) 14:41:23 arnaud__: I think it's not very related to this, right? 14:41:24 zhiyan: yes, its unclear from the details given here, but I believe the plugin aspect will make plenty of sense later 14:42:04 flwang: I think we need more details about the scope of artifacts. so let's wait for some initial doc :) 14:42:15 let's have a look at blueprints for icehouse-3 14:42:20 #topic blueprints for icehouse-3 14:42:26 markwash: i just think this part seems is dedicated then artifacts api 14:42:38 #link https://launchpad.net/glance/+milestone/icehouse-3 14:43:09 nikhil__: any new work available for async / export / import? 14:43:21 is it more obvious now which of those bps should be in icehouse and which should not? 14:44:06 markwash: we found some more complications added to both import and export script which was demonstrated in the summit (it's still internal) 14:44:28 I'm working through it to fiure out how and what we can scrap things from it to make them pluggable 14:45:04 nikhil__: previously we said maybe the async bp could be dropped and track the work under "import" does that sound okay? 14:45:09 so, in short did not get enough time to push up a new MP however, have come to a better idea of what needs to be done 14:45:44 markwash: many of the previous MPs are under that so, may be move them or rename it? 14:45:52 not sure how the process works 14:46:13 that = async bp 14:46:18 are the MPs still out and active in gerrit? 14:46:23 or are these ones that have merged? 14:46:26 nikhil__: maybe you just need to update the commit message? 14:46:33 yeah, the merged ones 14:46:43 for merged ones it doesn't matter 14:46:46 and one of flwang's glanceclient MP is out in gerrit 14:46:49 nikhil__: I don't think we need care aout the merged 14:47:05 okay, then I'm going to mark asynch as superceded by import 14:47:15 sure 14:47:15 nikhil__: we can just leave the glance client patch there 14:47:20 moving on to glance.stores 14:47:31 flaper87: you've put together some documents about the glance.store approach 14:47:36 I have not digested them yet 14:47:48 markwash: yup 14:47:57 I linked it to the blueprint 14:48:02 cool 14:48:05 in case other folks want to chime it 14:48:07 in 14:48:22 I'd love to have some feedback from other folks 14:48:25 #link https://etherpad.openstack.org/p/glance-store-package 14:48:32 about the migration plan I wrote there 14:49:02 sounds good, let's take the feedback onto some designated section of the etherpad, if that's okay 14:49:07 and we'll leave this one in 14:49:26 #topic image location status property 14:49:37 it looks like the code was updated and some merged for the migration, correct? 14:49:43 zhiyan: ^ 14:50:10 markwash: yes just been merged (and catch a race condition bug) 14:50:26 zhiyan: all the code for this is up for review now, correct? 14:50:38 so I could mark the blueprint as "needs code review" 14:50:43 markwash: YES, pls folks give reviews thanks 14:50:54 zhiyan: thanks! 14:50:55 markwash: thanks mark 14:51:25 #topic virtual image size 14:51:27 #link https://blueprints.launchpad.net/glance/+spec/split-image-size 14:51:28 win 26 14:51:49 flaper87: it looks like you have code up for both the migration and api bits 14:51:54 so this just needs review as well? 14:52:09 markwash: it was actually approved earlier today but it conflicted with zhiyan patch 14:52:19 so, I just rebased it and it's up waiting for a ninja approve 14:52:22 :D 14:52:35 okay great 14:52:42 (i believe 033 migration version is been used by location status db change) 14:52:49 zhiyan: right 14:52:54 I allocated 34 14:53:02 #topic i18n message improvements (flwang) 14:53:08 #link https://blueprints.launchpad.net/glance/+spec/i18n-messages 14:53:24 flwang: is all the code up for this as well? 14:53:28 flwang: i will revist it on my tomorrow morning 14:53:31 markwash: the patch has been reviewed several rounds, and no more patch for this bp 14:53:39 zhiyan: thanks 14:53:44 flwang: great, I'll look again soon as well 14:53:45 markwash: yes 14:53:54 markwash: cool, thanks 14:54:12 #topic community-level sharing 14:54:18 iccha_: you have some questions about the initial direction on this one 14:54:31 i think i am going along with rosmaita s proposal in wiki 14:54:34 and started work on it 14:54:39 great! 14:55:17 okay I think that covers our blueprints for icehouse-3 that have >low priority 14:55:40 thank you markwash 14:55:56 has anyone had a chance to look at this bug 14:55:58 #link https://bugs.launchpad.net/glance/+bug/1236868 14:56:27 there has been code up for a while 14:56:41 markwash: tbh, iiuc, i think that metadata query is necessary, since 14:57:12 markwash: the status of image can be change via another client upload request, under concurrent context 14:57:41 hmm, but I thought the goal was to make it so that we *only* update to active or killed if no other client has already changed it from 'saving' ? 14:58:03 markwash: i think that just is what dosaboy try to prevent by this fixes 14:58:45 markwash: so dosaboy need a query 14:58:54 to mark sure the *current* status of the image 14:59:12 hmm, maybe we better follow up in the review due to time limitations 14:59:19 sure 14:59:23 just wanted to keep the priority on this one high :-) 14:59:34 all right, I've got a 15 hour drive to catch 14:59:38 Something to draw your attention to - python-swiftclient enabling SSL cert checking https://review.openstack.org/#/c/69187/ 14:59:51 just FYI 15:00:10 bugsduggan: thanks! 15:00:15 bye folks! 15:00:21 bye markwash ! 15:00:24 bye 15:00:27 \o 15:00:29 bye 15:00:30 thanks, markwash 15:00:33 good luck 15:00:42 zhiyan: I have a day full of driving, could not message you privately for some reason, but unfortunately I have to go and won't be back until tomorrow 15:00:50 #endmeeting