03:00:10 #startmeeting zun 03:00:11 Meeting started Tue Aug 30 03:00:10 2016 UTC and is due to finish in 60 minutes. The chair is hongbin. Information about MeetBot at http://wiki.debian.org/MeetBot. 03:00:13 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 03:00:16 #link https://wiki.openstack.org/wiki/Zun#Agenda_for_2016-08-30_0300_UTC Today's agenda 03:00:16 The meeting name has been set to 'zun' 03:00:21 #topic Roll Call 03:00:36 Wenzhi Yu 03:00:57 hi Wenzhi 03:01:03 hi hongbin 03:01:19 Wenzhi: I know Madhuri cannot make this meeting 03:01:37 Other folks are busy with the release possibly 03:02:00 yes probably 03:02:09 Le't wait a few more seconds to see if anyone else is joining 03:02:10 so just you and me today? :) 03:02:15 ok 03:02:21 hopefully not :) 03:02:58 hi 03:03:31 eliqiao: hey 03:04:04 hi, sorry, I'm late 03:04:12 yanyanhu: hi 03:04:49 OK. Let's start. It looks folks are busy today. Maybe have a short meeting 03:04:58 #topic Announcements 03:05:04 1. We have an accepted talk at Barcelona summit 03:05:10 #link https://www.openstack.org/summit/barcelona-2016/summit-schedule/global-search?t=zun 03:05:41 please come to the talk if you are available 03:05:53 #topic Review Action Items 03:06:00 1. hongbin create a bug for enhancing the quickstart guide (DONE) 03:06:06 #link https://review.openstack.org/#/c/359574/ Submit a patch instead 03:06:14 hongbin, sure will definitely join it if have the chance to travel to barcelona 03:06:46 yanyanhu: ok 03:06:53 yanyanhu: hope to see you there 03:06:56 yes ^^ 03:07:01 yes :) 03:07:17 #topic Nova integration (Namrata) 03:07:34 narmrata is not here today 03:07:40 let's skip this one 03:07:47 #topic Container image store 03:07:53 #link https://blueprints.launchpad.net/zun/+spec/glance-integration 03:07:58 #link https://etherpad.openstack.org/p/zun-container-image 03:08:36 there is an initial decision about the image store at previous meeting 03:09:03 basically, we will support both Glance and Docker Hub. If Glance is used, export docker image as a tar file before uploading to glance 03:09:13 1. Glance: 03:09:21 $ zun pull glance/busybox 03:09:29 2. Public Docker Hub: 03:09:34 $ zun pull busybox 03:09:41 3. Private Docker registry: 03:09:47 $ zun pull $REGISTRY_IP/busybox 03:10:17 Later, if there is more storage backend (i.e. glare) we can do this 03:10:27 $ zun pull XXX/busybox 03:10:51 basically, it leverages the prefix to locate the image store 03:11:18 hongbin, zun pull will pull specific image from e.g. glare to local host? 03:11:36 yanyanhu: yes 03:11:37 local host where zun cmd is executed 03:11:39 I see 03:11:52 looks like kind of image management operations 03:11:54 it seems we need to do a abstract layer to cover all image back-end. 03:12:09 If so, this may be out of zun's scope? 03:12:13 yanyanhu: yes like docker pull/push 03:12:41 eliqiao: yes there needs to be a abstracted layer 03:12:43 or, we are working out a unify image API for all containers images? 03:12:57 eliqiao: maybe like nova, it has a layer to talk to glance 03:13:20 eliqiao: yes, but hopefully it is no more than push and pull 03:13:22 hongbin: it's glace client. 03:13:44 eliqiao: yes, consider zun implements a glance client as well 03:14:34 yanyanhu: what do you think? 03:14:43 how if user what to modify the images, like docker commit? 03:14:48 hong, I agree with eliqiao 03:14:57 who will really keep the iamge actually? 03:15:06 that maybe it is helpful feature 03:15:07 glance or docker registry/ 03:15:22 eliqiao: both 03:15:32 If we use glance as image back-end, how do we modify the image? 03:15:47 docker push to overwrite the image 03:15:55 sorry zun push 03:16:18 basically, we implement a docker pull/push equivalent 03:16:20 hongbin, if it is purely about image management, maybe it is not in zun's scope 03:16:41 who will do the pusing? zun-?? 03:16:43 yanyanhu: agree, zun should not manage the iamge by itself 03:16:51 since IMHO, the images may be prepared before they are consumed by Zun 03:16:54 eliqiao: users 03:17:14 if we do a zun push, that is to say we have a image locally, zun will help to push the image to glance? 03:17:17 yanyanhu: I see 03:17:27 but we don't have zun-conductor for now. 03:17:46 eliqiao: the workflow is like docker CLI 03:17:55 1. zun pull busybox 03:18:00 2. modify the image locally 03:18:08 3. zun push glance/busybox 03:18:18 4. zun run -it glance/busybox 03:18:49 this is similiar to a typical docker behaviour 03:19:02 and glance is served as a private registry 03:19:28 sounds reasonable 03:20:19 yanyanhu: however, I am open to discuss if it fits into the scope 03:21:04 hongbin, yes. Actually I think Zun push which push image to glance/glare sounds more reasonable for me. But Zun pull doesn't look that necessary I feel 03:21:24 yanyanhu: I see 03:21:27 yanyanhu: +1 03:21:34 zun-driver will do the pull 03:21:38 yanyanhu: let's me record your comment at the etherpad 03:21:38 since users do have the requirement to generate a glance/glare image based on running container 03:21:48 hongbin, thanks :) 03:22:58 but for pulling image from docker hub to local glance/glare storage, user can rely on glance/glare client to do it (if this operation is supported by glance/glare of course :)) 03:23:34 yes, the the flow is like 03:23:53 docker pull xxx / glance download xxx 03:24:05 then, zun push xxxx 03:24:43 which is also fine 03:24:55 yes, so zun is kind of bridge between docker hub and glance 03:25:02 for image operations 03:25:08 agree 03:25:45 then, another question is how to do a commit 03:25:55 and upload it to glance/docker hub 03:26:28 maybe need to implement another operation? like $ zun commit CONTAINER 03:26:44 hongbin, it is possible I think 03:26:51 ok 03:27:20 may also depends on how glance/glare support it I feel 03:27:32 then zun commit will download the container to local file system? 03:27:34 zun-compute will do the push right? 03:27:45 eliqiao: users do the push 03:27:46 also does zun commit 03:27:53 eliqiao: zun-compute do the pull 03:28:13 I don't get that, if you want to do a commit, then you first need to run that contianer on zun-compute 03:28:33 eliqiao: for zun commit, I am not sure it should commit to glance or to somewhere else 03:28:50 eliqiao: yes 03:28:52 then user do a commit, zun-compute will commit it, then user do zun push, zun-compute will do the push 03:29:44 eliqiao: but push is user's local -> glance 03:30:11 eliqiao: not zun-compute -> glance 03:30:46 eliqiao: maybe zun commit can do it like zun-compute -> glance 03:31:07 eliqiao: or do it like zun-compute -> user's local 03:31:39 hongbin: think about that a user only have install zun-client .. 03:32:05 yes 03:32:10 zun-client will in charge of pushing image? 03:32:18 yes 03:32:39 k 03:32:48 have zun-client depends on dockerpy 03:32:56 then it should be able to push 03:33:04 eliqiao, I think hongbin means 'zun push' is a functionality that zun provides for user to 'convert' a 'remote' docker image to 'local' 'glance/glare' image 03:33:17 hongbin, plz correct me if I misunderstand it 03:33:29 this operation can be provided by zunclient 03:33:38 yes 03:33:59 because the convertion is not trival 03:34:19 so do it for users is good 03:34:42 hongbin, agree this is very helpful for user. Just ideally, glance/glare can provide it :) 03:35:24 yanyanhu: agree 03:36:03 ok, will raise this discussion in the ML 03:36:16 especially for the pull and commit 03:36:19 +1 03:36:47 #action hongbin raise a ML to discuss container image 03:36:54 hongbin, of course, that strongly depends on glance/glare's support 03:37:23 yanyanhu: but I don't think they will support it in a near future 03:37:48 hongbin, if so, it's good zun can provide this functionality 03:38:07 yanyanhu: k 03:38:11 we should provide user at least one option :) 03:38:44 ok, next topic 03:38:47 #topic Multi-tenancy (Wenzhi Yu) 03:38:59 #link https://blueprints.launchpad.net/zun/+spec/support-multi-tenancy 03:39:06 #link https://etherpad.openstack.org/p/zun-multi-tenancy 03:39:09 Wenzhi: ^^ 03:39:13 yes 03:39:17 https://review.openstack.org/#/c/357615/ 03:39:28 with this patch now we can scope the containers by tenants 03:39:45 IMO that's the whole work we need so far? 03:41:04 Wenzhi: I saw the patch 03:41:29 Wenzhi: it seems to enable the paste.ini 03:41:49 Wenzhi: but not sure how it relates to multi-tenancy 03:41:58 the container related code in Zun is basically copied from Magnum I think 03:42:18 that means the code has already implemented multi-tenancy 03:42:56 Wenzhi: ok, let's me double check that 03:43:30 the reason containers are not scoped by tenants in Zun is because we did not capture the 'porject_id' or 'user_id' from user requests 03:43:44 oh, I see 03:44:14 then I guess it is fine now after your patch 03:44:21 yes, I already tested manually, now the containers are scoped by tenants in Zun 03:44:29 awesome 03:44:48 Wenzhi: then let's close the bp 03:44:51 maye also need multi-tanant support in db layer? not sure whether it has been there in existing db interfaces 03:45:27 yanyanhu: what do you mean by 'multi-tanant support in db layer'? 03:45:40 yanyanhu: Wenzhi : I think it is already there: https://github.com/openstack/higgins/blob/master/zun/db/sqlalchemy/api.py#L112 03:45:53 hongbin, great 03:45:57 since the code are copied from Magnum, so Magnum alreadys implements in in db layer 03:46:06 yes 03:46:13 Wenzhi, if it has been there, we don't need further work here :) 03:46:19 Wenzhi: great job 03:46:19 cool 03:46:26 thanks :) 03:47:02 ok, then this one finish, let's move to the next topic 03:47:07 #topic Container network 03:47:13 #link https://blueprints.launchpad.net/zun/+spec/neutron-integration 03:47:54 I took this one because I have looked into Kuryr and nova-docker in before 03:48:27 Here is what I think, we don't need kury-libnetwork 03:48:48 maybe we needs kuryr-lib 03:49:25 however, I suggest to decouple from kuryr for now, and re-visit the dependency after kuryr is mature 03:49:55 I plan to port nova-docker implementation to zun as a start 03:50:10 sounds like a plan 03:50:17 then, switch to kuryr-lib later 03:50:35 any comment? 03:50:48 or anything needs to clarify? 03:51:26 yanyanhu: eliqiao ^^ 03:52:50 hi, sorry, just trapped by some other stuff 03:52:55 sounds good for me 03:53:02 ok 03:53:28 #topic Open Discussion 03:54:21 any other topic to discuss? 03:54:45 sounds not, then let's wrap up a little earlier 03:54:59 #endmeeting