03:00:05 #startmeeting zun 03:00:06 Meeting started Tue Sep 20 03:00:05 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:07 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 03:00:09 The meeting name has been set to 'zun' 03:00:14 #link https://wiki.openstack.org/wiki/Zun#Agenda_for_2016-09-20_0300_UTC Today's agenda 03:00:20 #topic Roll Call 03:00:24 Namrata 03:00:30 Shubham Kumar Sharma 03:00:31 eliqiao 03:00:32 Wenzhi 03:00:32 o/ 03:00:44 o/ 03:00:45 aditi 03:00:45 hello 03:00:46 Vivek Jain 03:01:05 Otsuka, Motohiro 03:01:25 Thanks for joining hte meeting Namrata shubhams eliqiao Wenzhi mkrai kevinz adisky yanyanhu Vivek_Jain yuanying 03:01:34 #topic Announcements 03:01:42 I have no announcement 03:01:49 anyone else has? 03:02:04 #topic Review Action Items 03:02:07 none 03:02:11 #topic Nova integration (Namrata) 03:02:17 #link https://blueprints.launchpad.net/zun/+spec/nova-integration The BP 03:02:21 #link https://review.openstack.org/#/c/354553/ The proposed spec 03:02:25 Namrata: ^^ 03:02:50 hi 03:03:02 was reading the comments about the fate of nova docker 03:03:31 not sure what should i do next 03:03:48 Namrata: maybe give the team a summary of the status 03:04:20 and brief what comments you got from the reviewers 03:04:29 okay 03:05:38 i havent read the comments yest 03:05:40 yest 03:05:47 can we discuss this in open meeting 03:05:53 ok 03:06:14 then, talk this topic 03:06:18 next one 03:06:21 #topic Support interactive mode 03:06:28 #link https://blueprints.launchpad.net/zun/+spec/support-interactive-mode 03:06:53 the proposal is about whether to support interactive mode for container 03:07:20 for example, in docker, users can enter a container with : docker run -it ubuntu /bin/bash 03:07:34 i am thinking whether it makes sense for zun 03:07:47 to support the same 03:07:52 thoughts? 03:08:05 hongbin, one question is how it is done for container created in remote host? 03:08:24 yanyanhu: sudipta asked the same question at the last meeting 03:08:38 ^ 03:08:39 yanyanhu: i don't know how right now, this needs investigation 03:08:44 I see 03:08:57 i know swarm / k8s did it 03:09:19 just need to investigate how these COE did it 03:09:56 so the problem become what kind of interface this interaction is done through 03:10:04 yes 03:10:18 i see 03:10:40 ok, this bp needs a volunteer to investigate 03:10:56 let me know if anyone interest to take the bp 03:11:07 i will investigate 03:11:13 adisky: thx 03:11:38 #action adisky investigate how to support interactive mode to enter container 03:11:41 :) 03:11:52 adisky: thanks for your volunteer 03:12:03 ok, next one 03:12:06 #topic Container image store 03:12:11 #link https://blueprints.launchpad.net/zun/+spec/glance-integration 03:12:16 #link https://etherpad.openstack.org/p/zun-container-image 03:12:25 mkrai: flwang ^^ 03:12:35 o/ 03:12:41 I and shubhams did discussion last week 03:13:09 And we feel option 3 is best solution for it that is supporting both glance, docker hub and registry 03:13:25 As glare and glance both doesn't fit in our requirements 03:13:45 mkrai: maybe a brief recap of what is option 3? 03:13:58 Additionally we feel that we can have a new resource in Zun that is repo which can be used to manage resources 03:14:08 Yes sure hongbin 03:14:29 yep, what's the option 3? 03:14:48 Option#3 is to use glance 03:14:53 Option #3 explains that we support all 3 possible options to store images that is glance, docker hub and docker registry 03:15:25 And repo will be selected based on namespaces 03:15:41 shubhams: mkrai: seems what you're talking are different 03:16:13 flwang : no no , I was talking the same but didnt write my second statement as mkrai finished it :) 03:17:03 Basically in last meeting we discussed that we should have repositories for different use cases 03:17:06 for docker hub and docker registry, seems clear and straightforward 03:17:16 could you pls explain the glance part? 03:17:36 OK. 03:17:53 flwang, We haven't looked on how we gonna support layering in glance 03:18:19 the layering can be a future work (i think) 03:18:20 But yes for first use case that is just storage of image, we do it same way as nova-docker does 03:18:31 That is storing tar file of images 03:19:39 does that mean we don't need any change of glance? 03:19:47 What I feel is that it depends on operator and their use case 03:19:53 because seems like it's just a normal simple glance user case 03:20:02 If they need layering they should go for later two options 03:20:08 Yes flwang 03:20:27 Do you feel is it feasible to support such features in glance? 03:20:59 mkrai: it's very hard to do in glance, because it's like implement a git/version control system in glance 03:21:04 you know what i mean 03:21:05 Glance is just for managing VM images so they will not support features like layering 03:21:24 Yes flwang that's what I am saying 03:21:30 mkrai: you got it :) 03:21:43 And glare aims to do it but nothing has been done yet 03:22:02 So of course we can support glare when it has the support 03:22:14 Thoughts? 03:22:32 agreed with you mkrai 03:22:33 IIUC, even glare supports the layering, it does still need to work with glance to provide the whole image serivce flow 03:23:31 Glare don't have the layering support yet 03:23:51 Glare also aims to support multiple backend like docker hub and registry 03:25:07 i think we need to get the tar file working first, don't think we need to worry the layering for now 03:25:27 Yes hongbin I totally agree 03:25:42 That I and shubhams will do it this week 03:26:06 Do a PoC to check tar support in glance for container images 03:26:16 mkrai: i think the key we discussed at the previous meeting is how to support both glance and docker hub at the same time 03:26:32 Namespaces, isn't it? 03:26:42 mkrai: ok 03:26:53 Namespace is a prefix to the images like glance/busybox 03:27:29 hongbin, Also what do you feel about new repo resource? 03:27:31 mkrai: i think both sudipta and yanyanhu challenged this approach 03:27:53 I see 03:28:10 sudipto, Hi 03:28:26 mkrai, hello, extremely sorry for being late. 03:28:30 We are discussing about the namespaces feature with container image 03:28:38 Sure. 03:28:50 Do you have any concern on it? 03:28:59 yanyanhu, ^^ 03:29:57 hi, mkrai, for new repo resources? 03:30:19 No yanyanhu 03:30:31 i think both sudipta and yanyanhu challenged the approach of namespaces 03:30:47 Namespace is a prefix to the images like glance/busybox 03:30:56 ah, I recalled. 03:31:18 Will be needed to support both glance and docker hub at the same time 03:31:20 I thought we should try different repos with sequence 03:31:27 e.g. glance first, than docker hub, etc. 03:31:54 yanyanhu, I feel user should have power to pick any repo 03:32:02 yes, mkrai, agree with this 03:32:14 Also your implementation will incur extra time 03:32:16 yanyanhu : I agree with you but what about giving this choice to admin like : I want to pull from docker hub or I want to pull from glance or local repo 03:32:27 Look into glance, then look into docker hub etc 03:32:30 so should not be completely automatic choosing 03:32:40 shubhams, +1 03:32:50 if user provides namespace, we should follow it 03:33:14 makes sense to me 03:33:31 flwang: you get the idea of namespace? 03:33:47 It all depends on what we eventually want to achieve too. Do we want to support an orchestration engine based out of docker (let's say something like k8s or swarm) - and we eventually want to use their templates. In such cases you would have to change it to work with zun. That's all was my concern. 03:33:50 but we should not enforce user to provide namespace prefix, right? 03:34:20 yanyanhu : so you want to say that : if user has not asked an imnage for any specific repo then zun be able to judge and fetch it (based on our priorities/order) ? 03:34:34 yes, shubhams 03:34:51 priorities can be configured in zun.conf maybe 03:34:57 well i think them middle ground could be - you ask the user to explicitly specify it - if they want a specific repo - else it can go to the default repo order and pick up stuff. 03:35:31 if i as a user specify glance/busy-box - it picks it up explicitly from glance. 03:35:45 sudipto, exactly 03:35:50 However if i just say busy-box - and zun.conf has docker hub as the default registry - it goes and picks it up from docker hub. 03:36:28 I think everyone has same opinion 03:36:30 sudipto, yes, that priorities/order should be configurable 03:36:56 ok, sounds good to me 03:36:58 yanyanhu, agreed. 03:36:59 sudipto: yanyanhu : I agree with your point 03:37:08 Cool :) 03:37:08 +1 03:37:38 any other comment ? 03:37:54 Now the question is : what we want to implement first : the scenario where user gives repo name explicitly or the one where zun decides about from where to pick the image from 03:38:38 pick the repo user specified first then use default. 03:38:49 eliqiao, +1 03:38:51 maybe configured on zun.conf. 03:39:22 #agree support multiple repo with namespaces, make default repo configurable 03:39:28 I guess let's support glance first, then docker hub with namespaces support 03:39:55 agree with mkrai since that means we start from the simplest one 03:40:02 Just to also let you know - right now docker hub itself does not support a universal image format. So for example - if i specify something like busy-box/ppc64le - it will go and map it to the ppc64le namespace on docker hub - otherwise get a x86 based image. 03:40:17 namespaces is meaningful only after multiple image backends are supported 03:40:27 so there's already some bit of namespacing in docker hub - with respect to CPU arch. 03:40:27 suipto : good to know about that 03:41:19 But I think, we can take care of that under the hood. as in if the user requests a glance image from a compute node based on CPU arch X - we only go and fetch that image. 03:41:25 which applies to arch X. 03:41:59 instead of asking the user to specify something ugly like glance/busy-box/ppc64le or glance/busy-box/arm 03:42:09 do you guys agree? 03:42:50 yes, could be done later 03:43:04 same goes for the normal case too - if the user specifies busy-box (and it expects zun to take care of everything) - then we should be able to determine the arch of the compute node and request the image as per from docker hub 03:43:26 Yeah that makes sense sudipto 03:43:55 ok, let's advance topic now 03:43:56 I am just looking at a few value adds we can give on top of the docker-registry...anyway yes - it would be an implementation detail we can sort out later. 03:44:12 there is one more topic to discuss 03:44:20 #topic Container network 03:44:26 #link https://blueprints.launchpad.net/zun/+spec/neutron-integration The BP 03:44:31 #link https://review.openstack.org/#/c/365754/ The proposed spec 03:44:53 does anyone has a chance to look at the spec? 03:45:13 or maybe i can summary it here 03:45:23 I had a look 03:45:36 the proposal is about to introduce another concept called "sandbox" 03:45:49 so sandbox is just a logic name? 03:45:58 a sandbox is actually a docker container 03:46:18 the zun container will sort of run inside a sandbox 03:46:41 so there are two containers 03:46:49 a sandbox container and a zun container 03:47:06 the zun container is requested by end-user to create 03:47:10 Is it zun container inside sandbox container? 03:47:18 mkrai: yes and no 03:47:40 the zun container will join the Linux namespaces of the sandbox container 03:48:03 in particular, using these options on docker run 03:48:05 ``--net=container:``, ``--ipc=container:`` 03:48:13 ``--pid=container:`` and/or ``--volumes-from=`` 03:48:15 what about the performance? 03:48:49 eliqiao: let me explain the performance a little 03:49:28 since i am going to propose to use nova to provision sandbox, the performance is the nova 03:49:43 so, sandbox is provisioned by nova 03:49:50 zun container is provisioned by zun 03:50:42 the point is to reuse nova to do whatever nova provided (neutron ports, scheduling, etc.) 03:51:15 And that can be reused by Nova's sandbox? 03:51:21 sandbox is like a vm, it has networking, volumes, resource constraints, etc. 03:51:34 mkrai: i guess yes 03:51:48 hongbin: I get 03:52:21 thoughts? 03:52:22 but kinds of waste for create an sandbox 03:52:24 hongbin, I think this will have resource overhead of having 2x containers 03:52:27 I do feel that the sandbox is the step in the right direction because that's how most of the container orchestration engines too are working. 03:52:31 I think this approach is reasonable, just like 'join' network mode in docker, and we can avoid copy networking code from Nova 03:52:32 so they are only sharing one port? 03:52:58 eliqiao: yes, the ports are shared 03:53:24 defnitlely, i agree there is performance overhead 03:53:29 This sandbox container will not be public 03:53:35 what's the sandbox looks like, what's image it using? 03:53:45 mkrai: no, it is internal 03:54:01 eliqiao: like a 'pause' image used by k8s 03:54:11 eliqiao: an empty docker image that is keep running 03:54:41 eliqiao: and doesn't do anything real 03:54:49 hongbin, I like the idea but we have to write a driver for Zun to create this containers? 03:54:51 get, thx. 03:55:10 mkrai: Nova will creat that, hongbin? 03:55:19 mkrai: yes, the sandbox needs to be implemented in zun by a driver 03:55:36 eliqiao: yes, nova is responsible to create the sandbox 03:55:39 Will nova-integration bp help there? 03:56:02 maybe 03:56:29 however, the nova-integation bp is about using nova api to manage container 03:56:45 my proposal is about using nova api to mange sandboxes 03:57:02 which is two independent ideas 03:57:27 Yeah we can revisit the nova-integration bp keeoing this use case in mind 03:57:38 sure 03:58:07 any other comment ? 03:58:30 I will provide my comments on spec 03:58:39 mkrai: thx 03:59:12 #topic Open Discussion 03:59:22 last meeting comment ? 03:59:27 last minutes 03:59:27 Time is up :) 03:59:38 ok 03:59:44 all, thanks for joining the meeting 03:59:48 #endmeeting