03:00:04 #startmeeting zun 03:00:05 Meeting started Tue Mar 21 03:00:04 2017 UTC and is due to finish in 60 minutes. The chair is hongbin. Information about MeetBot at http://wiki.debian.org/MeetBot. 03:00:06 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 03:00:08 The meeting name has been set to 'zun' 03:00:11 #link https://wiki.openstack.org/wiki/Zun#Agenda_for_2017-03-21_0300_UTC Today's agenda 03:00:15 #topic Roll Call 03:00:35 Madhuri Kumari 03:00:36 lakerzhou 03:00:37 shubham 03:00:38 Namrata 03:01:11 kevinz 03:01:17 thanks for joining mkrai lakerzhou shubhams Namrata kevinz 03:01:21 pradeep 03:01:29 thanks for joining pksingh 03:01:36 let's get started 03:01:40 shunli 03:01:42 #topic Announcements 03:01:53 1. Zun will have a 45 minutes on-boarding session at Boston Summit 03:01:58 #link http://lists.openstack.org/pipermail/openstack-dev/2017-March/114149.html 03:02:09 zsli_: thanks for joining shunli 03:02:24 back to the topic 03:02:40 the on-boarding session will be provided to on-board new contributors 03:03:09 basically, we will send one or more team member to there and chair the session 03:03:28 we will introduce new contributors how to contribute to zun project 03:04:03 hongbin: This is happening for the first time in summit, right? 03:04:03 i guess it will cover how to run tests, how this component is going to work, etc. 03:04:13 mkrai: yes, it is the first time 03:04:40 if anyone want to chair this session, please feel free to let me know, otherwise, i can be the default chair 03:05:16 any other question about this? 03:05:39 if not, hope to see you all there 03:05:50 #topic Cinder integration (diga) 03:05:56 #link https://blueprints.launchpad.net/zun/+spec/cinder-zun-integration The BP 03:06:11 diga sent me an email saying that he cannot attend 03:06:17 here is the update he sent me 03:06:24 I have resolved fuxi/docker issue and things are working for me at last. 03:06:30 API level integration with Cinder & Docker is completed 03:06:35 Will upload latest patch with test cases as it is failing CI jobs. 03:06:43 That is all from him 03:06:49 any comment about this bp? 03:07:41 ok, move on 03:07:44 #topic Kuryr integration (hongbin) 03:07:50 #link https://blueprints.launchpad.net/zun/+spec/kuryr-integration The BP 03:08:12 at last week, most of the patches i submitted to kuryr-libnetwork got merged 03:08:30 based on how the patches were merged, i submitted a revision to the spec 03:08:41 #link https://review.openstack.org/#/c/447732/ 03:08:51 here is the general idea 03:09:31 to create a network, users are expected to pass an existing neutron net to zun 03:09:56 for example, it could be a "private" net pre-created by most of hte cloud 03:10:38 when a user request to create a container, zun will use user's token to create a port from private net 03:11:04 then, zun will figure out all the information from the port, e.g. the subnetpool id, the cidr, the gateway, etc. 03:11:31 this information will pass to kuryr to create the network and configure the network of hte container 03:11:58 in general, the behaviour should be similar to nova (user create vm by specifying a neutron net) 03:12:15 So do we need the network API now? 03:12:23 mkrai: yes 03:12:43 I see it is just storing the info in db 03:12:45 mkrai: however, the network api would be just a wrapper of a neutron network at the first iteration 03:12:59 And what else is the thing can be done by the API? 03:13:24 i guess nothing else at the first iteration 03:13:42 later, we might store additonal information, such labels, subnet, etc. 03:14:28 Ok I will try to review the spec and provide my input if any 03:14:40 mkrai: ack, thx 03:14:46 hongbin: Thanks for your great effort on this 03:15:11 hongbin: is it necessary to provide the API to store information in DB? 03:15:27 hongbin: thanks hongbin, great work 03:15:33 hongbin: cant we do it during container create? 03:16:06 pksingh: i think the answer is yes 03:16:36 i guess there would be benefits for two container to connect to the same "container network" 03:17:11 e.g. two containers can discover each other if they are in the same docker network 03:17:16 hongbin: i see, 03:17:56 however, we could provide a short cut version for users to allow them to bypass the network api 03:18:11 this could directly create container from neutron net 03:18:21 hongbin: we store the network infor just for multitenancy? 03:19:01 pksingh: i think it is more than that 03:19:25 pksingh: a network in zun is basically represents a docker network if driver is docker 03:20:03 hongbin: OK, thanks for explaining, will look into the spec and put my queries there 03:20:20 pksingh: sure 03:20:58 more comments? 03:21:29 ok, advance topic 03:21:31 #topic Introduce host capabilities and cpusets (sudipto) 03:21:37 #link https://review.openstack.org/#/c/427007/ The spec 03:21:49 it looks sudipta is not here 03:22:09 we could skip this one unless anyone want to comment on this topic 03:22:45 ok, next topic 03:22:51 #topic Introduce container composition 03:22:56 #link https://review.openstack.org/#/c/437759/ 03:22:59 kevinz: ^^ 03:23:38 Hi all, I've uploaded a net version of the spec 03:24:31 Add the implementation procedure of this 03:25:21 also I have a proposal of the data model. http://kevinzhao.org/2017/03/18/zun-capsule-object.html hope your feedback of this 03:27:23 kevinz: i am not able to open the link in office, may be i will check this at home 03:28:04 Sorry, I have move the link to etherpad: https://etherpad.openstack.org/p/zun-container-composition 03:28:13 that will be easy to discuess 03:28:29 kevinz: thanks, it better 03:28:56 thanks kevinz for moving it to etherpad 03:29:10 yw :-) 03:29:12 i guess i will give everyone a few minutes to comment on the etherpad 03:29:52 Yeah, Also I have three question inline to discuss in the v1.CapsuleElement 03:31:21 i think we need to make a naming convention and at all places we should use capsule 03:33:00 yes sure 03:33:05 I wonder how we will manage both capsule container and our docker/nova-docker containers at same time 03:34:09 kevinz: This implementation will be a new driver for container_driver? 03:34:32 mkrai: Now I prefer to reuse the container driver 03:34:33 i guess it is a new api instead of a new driver 03:34:52 Yes I agree for new API 03:34:59 kevinz: i think we dont need to expose HOST information to user 03:35:07 But not sure how we will manage both containers concurrently 03:35:52 Yeah, API server will read the yaml info from CLI, then scheduler to create the container. 03:35:56 to zun compute 03:36:24 kevinz: may be you are storing HOST in DB only for internal use 03:36:26 Plan to add a new field to container Object, to show whether it is in a capsule 03:36:49 pksingh: Yes, for internal use. will not expose it to user 03:37:23 kevinz: IMO I think we should keep the container_driver and capsule implementation seperate 03:37:47 kevinz: Adding the capsule field to container will make the things more complex 03:37:54 mkrai: i think capsule is going to user container_driver internally 03:38:15 pksingh: Yeah just internally use it 03:38:41 pksingh: Yes but I don't we need to add the merge both the implementations 03:39:17 mkrai: basically, what we have right now is 1 infra container + 1 real container, which is basically a 1 container capsule 03:39:46 mkrai: i think the proposal is just an extension to support 1 infra container + multiple real containers 03:40:37 hongbin: +1 03:41:13 hongbin: thanks for explaining 03:41:15 point is how to make a relationship between container and capsule in DB? 03:41:34 pksingh: this is a good question 03:41:41 if we remove the container API and keep only capsule APIS then things would be easier? 03:41:52 Yes that is same question 03:41:52 That a question need to discuss 03:42:08 Thanks pksingh for puttng in better words :) 03:42:30 :) 03:42:45 pksingh: Yeah that will be totally like a pod 03:42:58 i think there are several options here 03:43:41 1. make capsule as a wrapper of the infra container, and the relationship between capsule and real containers is a one-to-many relationship 03:44:23 for example, for a 2 container capsule, there will be 1 db entry for capsule, 2 db entry for container 03:45:00 2. make capsule as a whole 03:45:34 then, there will be 1 db entry per capsule that is for capturing all the information (no extra db entry for contianer) 03:45:54 that is all i can think of 03:46:25 hongbin: for approach 2, what if i want the specific information for a conatiner inside the capsule? 03:46:28 option #2 would be more like a pod and they are stored as a unit 03:46:46 approach 1 has the minium change. option 2 like a pod 03:47:13 pksingh: i guess you need to read inside the db entry and parse information about individual containers 03:47:44 I think option 1 is better and preferable 03:47:55 hongbin: OK, so we will be storing all the information in DB for every container as blob? 03:48:14 pksingh: sort of ... 03:48:33 pksingh: perhaps it worth to discuss at the api leverl 03:48:54 hongbin: Right. Unify the container and capsule apis 03:48:58 i guess option #2 will make the api looks like a pod 03:49:34 zun capsule-create will create some containers, but it won't be listed by running "zun list" 03:49:38 the concept of container and capsule is same, so having single API layer makes much sense 03:49:59 I think if we use approach two, then keeping both the APIs would be more manageable 03:50:01 mkrai: ack 03:50:54 and we need to have two set of APIS, one for containers and one for capsules 03:51:24 pksingh: yes 03:51:36 pksingh: container is also a capsule but with just one container, so why do we need different api 03:51:41 on the other side, these two set of apis would be duplicated somehow 03:52:08 hongbin: Exactly 03:52:13 yes, thats why i said we may need to just put the capsule API only 03:52:35 pksingh: i believe some users prefered the simplicity of hte container api 03:53:25 hongbin: but then there will be lot of duplication internally 03:53:45 hongbin: kevinz pksingh I think the current solution could be to implement the capsule API now and see if is at all worth having 2 APIs 03:54:29 pksingh: i would lean to option #1 that make a capsule as a wrapper of sandbox 03:54:53 hongbin: then we need to have two set of APIs 03:55:05 hongbin: ok, got it 03:55:14 pksingh: yes, but they are not dupicated anymore 03:55:29 pksingh: Why so? 03:55:31 ok, let continue the dicussion at the next meeting 03:55:33 hongbin: ok, +1 for approach 1 03:55:36 I guess capsule don't need much api for operation 03:55:52 #topic Open Discussion 03:55:59 we have 5 minute left 03:56:10 feel free to continue the discussion until then 03:56:36 I also prefer option 1 but not sure why would we need two APIs 03:56:36 hongbin: since we are close to release, we may priortise the tasks 03:57:05 mkrai: as hongbin said some people want docker like APIs, 03:57:12 pksingh: +1 03:57:40 pksingh: what do you think about the priority? 03:57:56 pksingh: Ok I think that is a valid point. Simplicity 03:58:08 hongbin: i am not sure, i was thinking a MVP zun 03:58:27 mvp? 03:58:39 minimum vaiable product 03:58:53 ok, since mvp has many meaning :) 03:58:56 so i was thinking if user can use the zun for basic operation 03:59:13 like accessing the container from putside is still not possible 03:59:27 pksingh: agree 03:59:45 pksingh: right now, i marked the netowrk and storage bp as hte highest priority 04:00:03 so if we priortize the tasks then we can implement those 04:00:04 hongbin: +1 04:00:13 yse i think they are very necessary 04:00:27 yes 04:00:28 time is up 04:00:37 overflow on #openstack-zun channel 04:00:37 bye :) 04:00:41 #endmeeting