21:01:48 <mrunalp> #startmeeting OCI 8/3 21:01:48 <collabot> Meeting started Wed Aug 3 21:01:48 2016 UTC. The chair is mrunalp. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:01:48 <collabot> Useful Commands: #action #agreed #help #info #idea #link #topic. 21:01:48 <collabot> The meeting name has been set to 'oci_8_3' 21:01:53 <mrunalp> #chairs wking 21:02:21 <wking> #topic Updates for runtime terminal/console handling 21:02:35 <wking> cyphar: I haven't had a change to do much this week 21:02:51 <wking> cyphar: I've been playing around with a C version, and that's all fine 21:03:10 <wking> cyphar: the complicated part for runC is that we need a libcontainer interface that makes sense and then make runC use it 21:03:28 <mrunalp> https://github.com/opencontainers/runtime-spec/pull/518 21:03:41 <wking> cyphar: the general idea makes sense, it will just take some time to get the library interface worked out 21:04:41 <wking> cyphar: the /dev/console thing is important because a lot of programs open a console via /dev/console 21:04:46 <wking> cyphar: tmux and screen and such 21:05:36 <wking> I'm not sure why tmux cares about /dev/console... 21:06:01 <wking> cyphar: tmux cares because the standard streams only works if the terminal session survives 21:06:19 <wking> cyphar: if you want to make sure that it always work, then you have to use /dev/console 21:07:07 <wking> cyphar: the controlling TTY is more about your standard streams. It is different from /dev/console 21:07:18 <wking> mrunalp: anything else on that? 21:07:23 <wking> mrunalp: any other runtime topics? 21:08:18 <wking> What do we want to do with hooks? 21:08:32 <wking> mrunalp: at the DockerCon face-to-face we decided to drop them. Any objections? 21:08:43 <wking> mrunalp: I don't want to drop them, but I lost that argument at DockerCon 21:09:06 <wking> mikebrow_: Are we still waiting for console for the command-line API? 21:09:22 <wking> I think we're still waiting 21:09:31 <wking> mrunalp: we can also merge #513 with a TODO 21:10:23 <wking> What about separate repository vs. runtime-spec for #513? 21:11:09 <wking> mrunalp: without an API, how do you compliance test? 21:12:15 <wking> I agree that you need both an API and the current runtime-spec, I just don't think that means it needs to be part of the same repository 21:12:52 <wking> With a single repository, there was concern about implementations that are compliant with some portions of runtime-spec but not the whole spec 21:13:06 <wking> (I think partial compliance is fine, but there was concern about it) 21:13:28 <wking> mikebrow_: #513 isn't the current runC API 21:13:49 <wking> mrunalp: other than the console stuff, what's contentious? Are you saying spec out the whole runC API? 21:14:13 <wking> mikebrow_: currently there are a number of runtimes that are interoperable at the bundle/config level, and not at the API level 21:14:23 <wking> mrunalp: the goal of #513 is to solve that issue 21:15:12 <wking> What do I link for the compliance certification folks? 21:15:49 <wking> #action mrunalp ask about a certification homepage at the next compliance meeting (in a week or two) 21:16:02 <wking> mikebrow_: to confirm, this stays in runtime-spec but as a separate doc? 21:16:27 <wking> mikebrow_: is it a child spec? 21:16:53 <wking> I don't think defining sub-specs is useful 21:17:07 <wking> mrunalp: I think we should leave partial complaince to the certification working group 21:17:50 <wking> steven.walli: You'll need very explicit language in the spec about subsections for compliance 21:18:07 <wking> steven.walli: I'm hearing that you might be conditionally compliant, but it's not in the standard 21:18:24 <wking> mikebrow_: the MUST language isn't "well maybe" 21:19:42 <wking> It's hard to be all or nothing with Windows/Linux/Solaris all in one spec 21:20:19 <wking> stephen.walli: It's a lot easier with conformance wording in the spec, and have the compliance folks just enforce those rules 21:20:35 <wking> sephen.walli: If there are options, that should be very explicit in the spec 21:22:41 <wking> So I think we want wording to mark out spec subsections (e.g. Linux-only stuff). 21:23:11 <wking> We've been struggling with wording for that in #513. Do we want to handle that in a separate PR, or should it be part of #513? 21:23:25 <wking> vishh: there will also be certifiable sub-sections within a give platform 21:23:39 <wking> mikebrow_: so I think we need per-sentence opt-outs for every MUST 21:23:59 <wking> philips: we could have opt-outs for each platform-specific section 21:24:27 <wking> #action mrunalp to start working on spec subsection wording 21:24:42 <wking> mikebrow_: you might be able to use bracketed footnotes to preserve readability 21:25:19 <wking> I'll wait on #513 until mrunalp has floated a pattern for subspec'ing 21:25:56 <wking> #topic image-spec Go meta linting 21:26:17 <wking> vbatts: great tool, but it's pushing strange restrictions on code doing directory permissions 21:26:31 <wking> vbatts: please help if you are familiar with the tool 21:27:08 <wking> #topic whiteout description 21:27:14 <wking> https://github.com/opencontainers/image-spec/issues/179 21:28:06 <wking> vbatts: ordering not mattering in the tar archives 21:28:24 <wking> https://github.com/opencontainers/image-spec/pull/171 21:28:37 <wking> vbatts: the ordering is not intuitive, and we're still trying to figure out how to handle it 21:28:46 <wking> vbatts: we're glad to hear comments 21:29:06 <wking> philips: what does this have to do with tar files? I thought this was AUFS + opaque files 21:29:38 <wking> vbatts: it is AUFS, but if you're reading the tar to process it, you're supposed to apply whiteouts before the other stuff, regardless of where the whiteouts are in the tar file 21:29:49 <vbatts> https://github.com/opencontainers/image-spec/pull/171#discussion_r73021516 21:30:25 <wking> vbatts: so applying a diff, you'll have to take two passes, one for whiteouts, and the second for everything else 21:31:33 <wking> philips: we can probably implement a fairly straightforward algorithm for this 21:31:58 <wking> philips: with a list of visited dentries, where if you hit a whiteout you remove the target and re-apply 21:32:21 <wking> philips: I think the spec is technically correct, but we need an implementer note (e.g. scan twice, or use some fancy algorithm) 21:32:36 <wking> vbatts: I'd rather not have to be fancy or use two passes 21:33:27 <wking> vbatts: if someone put a whiteout at the end of the tar, you're still back to two passes 21:33:42 <wking> vbatts: are there prior implementations? It doesn't seem right 21:33:55 <wking> philips: so we're blocked on you getting confidence? 21:34:35 <wking> vbatts: does it seem ok to others that the order doesn't matter? Feedback welcome on the thread 21:34:54 <wking> philips: looking for prior art, I'll ask the rkt image extraction folks 21:35:03 <wking> philips: and then look for the Docker implementation? 21:35:54 <wking> #topic image-spec 1.0.0 21:36:11 <wking> https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/3xiHKjDSvCc 21:36:17 <wking> vbatts: looking for more feedback here 21:36:33 <wking> philips: I know there are a number of implementations in progress, but I'll reply on the thread 21:36:39 <wking> vbatts: any other topics for image-spec? 21:36:50 <wking> philips: where is the runtime-spec vs. it's 1.0? 21:37:01 <wking> mrunalp: we're waiting for the CLI (#513) 21:37:06 <wking> philips: is there a target for that? 21:37:20 <wking> mrunalp: consoles are still up in the air. Hopefully fast after we figure that out 21:37:36 <wking> philips: has anyone else tried to use the release process yet? 21:38:03 <wking> cyphar: runC has been on 1.0.0-rc1 for a while. We should either restart the count, or do something else... 21:38:26 <wking> mrunalp: we can cut an -rc2 21:38:46 <wking> philips: I don't think crosbymichael is on the line? 21:39:04 <crosbymichael> i am 21:39:06 <wking> mrunalp: we can discuss this offline 21:39:20 <wking> crosbymichael: was I muted the whole time? 21:39:22 <wking> philips: yes 21:39:34 <dqminh> x) 21:39:56 <wking> crosbymichael: I don't think it's too different from -rc1. We just need to underline what's the same 21:40:45 <wking> you can mute/unmute with ** if you've dialed in 21:40:55 <wking> #endmeeting 21:41:01 <cyphar> wking: don't you mean "underlying" is still the same 21:41:14 <cyphar> his point was that there isn't a difference on the interface 21:41:21 <cyphar> even though we've done a lot of internal work 21:41:27 <mrunalp> yep 21:41:29 <wking> ah, ok 21:41:56 <wking> good thing I can never remember how to end the meeting ;) 21:42:03 <wking> #endmeeting 21:42:17 <mrunalp> #endmeeting