03:00:16 <hongbin> #startmeeting zun
03:00:17 <openstack> Meeting started Tue Aug 23 03:00:16 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:18 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
03:00:20 <openstack> The meeting name has been set to 'zun'
03:00:21 <hongbin> #link https://wiki.openstack.org/wiki/Zun#Agenda_for_2016-08-23_0300_UTC Today's agenda
03:00:26 <hongbin> #topic Roll Call
03:00:33 <sudipto> o/
03:00:34 <eliqiao> hi
03:00:38 <Namrata> namrata
03:00:59 <mkrai> Madhuri Kumari
03:01:48 <hongbin> Thanks for joining the meeting sudipto eliqiao Namrata mkrai
03:02:13 <hongbin> Wenzhi sent a message to me that he won't attend this time
03:02:24 <hongbin> Let's start
03:02:35 <hongbin> #topic Announcements
03:02:48 <hongbin> 1. Welcome Sudipta Biswas and Wenzhi Yu to the core team
03:03:11 <hongbin> Thanks sudipto and wenzhi for the contribution
03:03:13 <sudipto> Thank you everyone who voted!
03:03:19 <mkrai> Congrats sudipto Wenzhi. Welcome to the team:)
03:03:22 <hongbin> yeah
03:03:33 <hongbin> #topic Review Action Items
03:03:39 <hongbin> 1. hongbin creates an etherpad to brainstorm ideas for container image store solution (DONE)
03:03:44 <hongbin> #link https://etherpad.openstack.org/p/zun-container-image
03:04:06 <hongbin> Want to work on the etherpad or do it as a homework?
03:04:42 <mkrai> Let's take it the end after we finish the rest of the discussion
03:04:52 <hongbin> sure
03:05:00 <hongbin> #topic Runtimes API design (mkrai)
03:05:07 <hongbin> #link https://blueprints.launchpad.net/zun/+spec/api-design The BP
03:05:11 <hongbin> #link https://etherpad.openstack.org/p/zun-containers-service-api The etherpad
03:05:16 <hongbin> #link https://etherpad.openstack.org/p/zun-containers-service-api-spec The spec
03:05:34 <hongbin> I think the basic of the runtime API is there
03:05:48 <mkrai> We now have the docker APIs running.
03:05:49 <hongbin> Thanks mkrai for the hard work
03:05:59 <mkrai> I hope rest of the team have tried :)
03:06:00 <hongbin> Yes
03:06:09 <mkrai> Thanks to you too hongbin :)
03:06:16 <hongbin> welcome
03:06:22 <eliqiao> good work mkrai. thanks.
03:06:38 <mkrai> Thanks eliqiao
03:06:57 <hongbin> For now, I think it is a good time for everyone to try the API
03:07:03 <hongbin> and enhance it
03:07:29 <hongbin> For example, I am thinking if we should add support for interacive mode
03:07:36 <eliqiao> Actually, I am thinking to add tempest api cases and enable it in gate
03:07:42 <hongbin> Like, docker -it busybox
03:07:50 <sudipto> eliqiao, that'd be great.
03:08:05 <hongbin> Yes, that would be great
03:08:08 <sudipto> Yeah, I am in the process of trying it out - however I am struggling with a few things on the start up doc - i hope to find a solution to it today.
03:08:29 <sudipto> Like i told in the group before, i am trying to create a very quick bootstrap env for the developers to try out zun
03:08:46 <hongbin> sudipto: I guess the easier way is devstack
03:09:10 <hongbin> sudipto: however, ping me if you want any help though
03:09:20 <sudipto> yeah for now - for sure. But hopefully once i am through you can evaluate this option too.
03:09:43 <sudipto> as a part of that - i have created 2 containers - 1. mysql 2. rabbit + keystone. and a 3rd container with a privileged mode to run zun
03:10:03 <sudipto> while on the 3rd container - i have some minor issues, that will hope to sort out today.
03:10:18 <sudipto> The docs probably need a refresh too - i mean the startup doc
03:10:29 <sudipto> #link: https://github.com/openstack/higgins/blob/master/doc/source/dev/quickstart.rst
03:10:33 <hongbin> Yes, it possibly needs
03:10:46 <hongbin> It hasn't been updated for a while
03:11:10 <hongbin> sudipto: as usual, just ping hte channel if you need any help
03:11:12 <sudipto> Sure i will do that.
03:11:33 <sudipto> mkrai, i might need some time of yours today - if you are free for sometime.
03:11:49 <mkrai> Sure sudipto
03:12:14 <hongbin> OK. Let's advance topic
03:12:22 <hongbin> #topic Nova integration (Namrata)
03:12:28 <hongbin> #link https://blueprints.launchpad.net/zun/+spec/nova-integration The BP
03:12:35 <hongbin> #link https://etherpad.openstack.org/p/zun-containers-nova-integration The etherpad
03:12:51 <hongbin> Namrata: ^^
03:12:56 <Namrata> hi.
03:13:33 <Namrata> i was on  holiday for last week so unable to updat the patch
03:13:37 <Namrata> i will do this week
03:13:49 <hongbin> Namrata: get that
03:14:04 <hongbin> Namrata: anything you need from the team so far?
03:14:52 <Namrata> i see some good comments on patch
03:15:12 <Namrata> i will ping on irc if i need anything
03:15:28 <hongbin> Namrata: awesome
03:15:43 <hongbin> Thanks Namrata
03:15:50 <hongbin> Next one
03:15:55 <hongbin> #topic Container image store
03:16:03 <Namrata> thanks everbody for reviewing
03:16:14 <hongbin> #link https://etherpad.openstack.org/p/zun-container-image
03:16:33 <hongbin> Want to discuss the container image now?
03:17:02 <sudipto> My vote is for Yes.
03:17:10 <hongbin> Maybe I pause for a few minutes for you to read though the etherpad
03:17:17 <hongbin> sudipto: Yes for?
03:17:23 <sudipto> As in - let's discuss a bit
03:17:36 <hongbin> ok
03:17:47 <mkrai> There is no perfect solution as of now
03:18:10 <sudipto> DO we want to support 'building' of images?
03:18:17 <sudipto> via a zun API?
03:18:41 <hongbin> sudipto: what is your opinion about that?
03:19:39 <sudipto> basically that would help us answer the image management question better.
03:20:14 <sudipto> I haven't used the APIs yet - but how do we select a image now to run a container?
03:20:25 <sudipto> from zun i mean
03:20:29 <hongbin> It pull it from docker hub
03:20:39 <mkrai> It now downloads from docker hub
03:20:48 <sudipto> Ok - so basically it creates a image cache on the local host
03:20:57 <sudipto> for the next 'run'
03:20:59 <sudipto> right?
03:21:01 <hongbin> yes
03:21:19 <sudipto> Ok that workflow works for all public images
03:21:43 <sudipto> However, there's no way to segregate these images via tenant isolation.
03:21:58 <hongbin> No, there is not
03:22:21 <sudipto> so when we say glance/glare support - we are basically cutting off from docker hub completely?
03:22:28 <hongbin> We need a multi-tenant image store
03:22:47 <hongbin> sudipto: Not necessary
03:23:00 <sudipto> let's say i have the images in glance. A docker run - then would get the images from glance right?
03:23:01 <mkrai> We should keep it configurable I think so
03:23:09 <mkrai> Yes
03:23:22 <hongbin> Get it from Glance first,
03:23:23 <sudipto> Can we really do that?
03:23:32 <hongbin> If not there, get it from docker hub
03:24:06 <sudipto> as in a docker run would want to boot from the local cache eventually by either docker pull or if it's cached - then just reading it from there.
03:24:26 <sudipto> so do you expect glance to do something like a docker pull?
03:24:40 <hongbin> There is a solution though
03:24:40 <sudipto> as in zun does a docker pull from glance
03:24:52 <hongbin> 1. store docker image as a tar file
03:25:02 <hongbin> 2. pull hte tar file from Glance
03:25:13 <hongbin> 3. docker import xxx.tar
03:25:29 <hongbin> Then, the tar file is extracted to localhost
03:25:33 <sudipto> ok
03:26:01 <hongbin> I guess this is the nova-docker solution?
03:26:18 <sudipto> yeah that's how nova docker should have worked.
03:26:32 <sudipto> Even though i haven't used it.
03:26:44 <hongbin> The disadvange is the layer of image is not supported
03:26:53 <sudipto> you mean every pull is a fresh pull
03:26:57 <hongbin> since there is a tar file, no layer
03:27:12 <hongbin> Yes, every pull is a full pull
03:27:16 <hongbin> no layer
03:27:30 <sudipto> i guess it needs us to also consider what storage driver is supported on the host
03:27:33 <sudipto> which docker does for us now.
03:27:45 <sudipto> https://docs.docker.com/engine/userguide/storagedriver/selectadriver/
03:28:14 <sudipto> So if the host is X - it might have a storage driver Y - and similarly a different combination for another host.
03:28:19 <hongbin> docker export/import is indepedent of storage driver I think
03:28:29 <sudipto> no no - i am not talking about that.
03:28:45 <sudipto> I am probably jumping the gun and looking at glance or something else outside of docker supporting image layering
03:28:59 <hongbin> ok
03:29:21 <sudipto> my point being, if we put it outside of docker - the software which would eventually store this image - would have to be aware of the storage driver - no?
03:29:48 <hongbin> My guess is no
03:29:50 <sudipto> maybe not.
03:30:09 <hongbin> since docker has a way to import/expose images as I mentioned
03:30:35 <sudipto> Ok i was talking about running 2 containers with the same image - with a union filesystem backing on a host.
03:30:48 <sudipto> docker i guess should be able to take care of that - post we have downloaded the image.
03:31:15 <sudipto> I will write my thoughts on your ether pad hongbin :)
03:31:20 <sudipto> and have a discussion on the IRC channel.
03:31:25 <hongbin> sure
03:31:31 <mkrai> Sorry got disconnected
03:31:51 <hongbin> mkrai: we were talking about docker image for different storage driver
03:32:15 <mkrai> Okay
03:32:45 <hongbin> sudipto is writing on the etherpad. Let's check how he write
03:36:14 <mkrai> hongbin: How can we commit to a image in localhost?
03:36:32 <hongbin> there is a docker commit command
03:36:54 <hongbin> we can add support for that in zun
03:39:02 <sudipto> I feel we can support both - the docker registry or glance
03:39:11 <sudipto> glance comes in with being slow
03:39:19 <sudipto> while docker registry comes with no multi-tenancy
03:39:24 <sudipto> at this time of the writing.
03:39:39 <hongbin> sudipto: could we have both
03:39:48 <hongbin> sudipto: glance and docker hub
03:39:59 <sudipto> glance and docker hub won't be possible i think
03:40:21 <sudipto> or we can introduce a API flag - that would either get it from glance or from docker hub - based on what the user wants.
03:40:47 <hongbin> sudipto: we could get it from glance first, if not there, get it from docker hub
03:41:08 <sudipto> yeah - and possibly get it from docker hub into glance - would be the ideal behaviour then
03:41:37 <hongbin> an alternative is to introduce a flag
03:41:47 <sudipto> zun run <image_id> --> look up glance --> not there --> try from docker hub --> image found --> download to glance --> download to the localhost --> boot the container.
03:41:50 <hongbin> zun pull busybox (get it from glance)
03:42:05 <hongbin> zun pull docker.io/busybox (get it from docker hub)
03:42:28 <mkrai> sudipto: you mean private docker registry. Right?
03:42:36 <sudipto> mkrai, no
03:42:48 <sudipto> private docker registry is another option all together
03:42:52 <sudipto> that would not need glance.
03:43:12 <mkrai> We should consider the case, not all users might have internet access
03:43:33 <sudipto> basically IMO - we should have one place for zun to get images from - be it local docker registry or glance or docker hub or xyz
03:44:05 <sudipto> that could be a tenant setting?
03:44:19 <hongbin> sudipto: could be a config
03:44:32 <sudipto> hongbin, per host config?
03:44:45 <hongbin> maybe per zun
03:44:47 <sudipto> or zun wide?
03:44:52 <sudipto> ok
03:45:31 <sudipto> ok if you basically want multi-tenancy - set zun to use glance.
03:46:14 <hongbin> sounds good
03:47:00 <sudipto> great.
03:47:13 <hongbin> maybe we could write down the proposal to the etherpad
03:47:20 <sudipto> Sure i will do that.
03:47:23 <hongbin> Then, let the team revisit it next meeting
03:47:24 <sudipto> and exchange it over ML?
03:47:32 <sudipto> or not needed?
03:47:34 <hongbin> yes, ML could work as well
03:47:36 <mkrai> Either works
03:47:46 <sudipto> I am just thinking ML might get some glance/glare folks interested.
03:48:10 <mkrai> Yes good point
03:48:18 <sudipto> nothing to loose kinda situation :)
03:48:40 <hongbin> OK
03:48:49 <sudipto> Get to ether pad - discuss and then once we have consensus - send to ML
03:49:00 <hongbin> k
03:49:16 <hongbin> Then, let's advance topic
03:49:26 <hongbin> #topic Multi-tenancy (Wenzhi Yu)
03:49:31 <hongbin> #link https://blueprints.launchpad.net/zun/+spec/support-multi-tenancy
03:49:37 <hongbin> Wenzhi cannot attend the meeting today, but he left me a message for the status
03:49:43 <hongbin> (Wenzhi): I submitted patch "Load wsgi apps with paste.deploy"
03:49:49 <hongbin> (Wenzhi): https://review.openstack.org/#/c/357615/ . The patch has already landed.
03:49:54 <hongbin> (Wenzhi): With this patch, we can now group the containers by tenants -- to each tenant, containers in other tenants are invisible.
03:50:00 <hongbin> (Wenzhi): If folks may have comments about this bp, please ask them to leave their comments on this etherpad https://etherpad.openstack.org/p/zun-multi-tenancy
03:50:05 <hongbin> (Wenzhi): I will read and address them later.
03:50:12 <sudipto> great
03:50:33 <hongbin> cool
03:50:43 <hongbin> #topic Open Discussion
03:51:26 <mkrai> We should now start on some documentation
03:51:35 <mkrai> It will attract some develops
03:51:48 <mkrai> s/develops/developers/
03:51:49 <hongbin> Yes, the quickstart guide need to enhance
03:51:49 <sudipto> mkrai, totally agreed.
03:52:05 <hongbin> Let's create a bug for that
03:52:05 <sudipto> we need to expand base :)
03:52:20 <mkrai> hongbin: Can we create architeture diagram now
03:52:33 <hongbin> #action hongbin create a bug for enhancing the quickstart guide
03:52:36 <mkrai> I guess we have the base ready
03:53:04 <mkrai> I will create architecture diagram
03:53:11 <sudipto> mkrai, count me in
03:53:13 <hongbin> mkrai: there is one though
03:53:17 <hongbin> #link https://etherpad.openstack.org/p/zun-container-state-management
03:53:17 <mkrai> And try to write some information
03:54:37 <mkrai> I will take this as reference
03:54:47 <hongbin> ok
03:54:55 <mkrai> I want to create a doc that is short introduction to Zun
03:55:04 <hongbin> for sure
03:55:36 <mkrai> I get some pings asking for introduction of Zun
03:56:01 <mkrai> I want to avoid answering everytime ;)
03:56:11 <hongbin> oh, from who?
03:56:16 <hongbin> your manager?
03:56:42 <mkrai> Some developers from community and manager too
03:56:48 <hongbin> cool
03:57:02 <sudipto> lol
03:57:27 <hongbin> OK. Let's wrap up the meeting a bit earlier
03:57:34 <mkrai> Ok
03:57:39 <hongbin> and discuss in the IRC channel
03:57:41 <mkrai> Thanks all :)
03:57:44 <hongbin> All, thanks for joining hte meeting
03:57:47 <hongbin> #endmeeting