Commit Graph

1115 Commits

Author SHA1 Message Date
Daniel, Dao Quang Minh 79ed7d2c68 Merge pull request #822 from Mashimiao/setup-tfix
tfix: replace setup
2017-05-23 15:49:50 +01:00
Michael Crosby bc3a283634 Merge pull request #807 from Mashimiao/config-small-fix
config.md: fix typo of context
2017-05-22 21:15:51 -07:00
Qiang Huang 4a20bd2502 Merge pull request #815 from jhowardmsft/servicing
Windows: Add servicing
2017-05-23 10:38:45 +08:00
Tianon Gravi 76e8d06f9d Merge pull request #833 from wking/two-pm-meeting
meeting.ics: Bump even-week meeting from 5pm to 2pm Pacific
2017-05-22 16:04:58 -07:00
John Howard 3c0a84ce0e Windows: Add servicing
Signed-off-by: John Howard <jhoward@microsoft.com>
2017-05-22 15:20:04 -07:00
Mrunal Patel fae0d09a24 Merge pull request #839 from wking/move-rootfs-recommendation-to-config
bundle: Move 'rootfs' recommendation to config.md
2017-05-22 10:19:23 -07:00
W. Trevor King b46ed85e08 bundle: Move 'rootfs' recommendation to config.md
Anyone setting 'rootfs.path' should be aware of this advice,
regardless of whether they're the ones composing the bundle or not.

Use the RFC 2119 "SHOULD" (vs. the old lowercase "should") for this
recommendation.  The SHOULD semantics make sense and using SHOULD
avoids confusing readers ("did they mean to SHOULD this?").

Also drop the "While the name of this directory may be arbitrary"
caveat, because SHOULD already implies "but you can pick another
directory name if you want".

Note that the "MUST be present in a single directory" line which is
still in bundle.md forbids you from picking "foo/bar", "../foo", or
other paths that do not point at a direct child of the bundle
directory.  I don't like that direct-child restriction [1], but I'm
not touching it in this commit.

[1]: https://github.com/opencontainers/runtime-spec/pull/469

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-18 11:42:05 -07:00
v1.0.0.batts c83b8c80fd Merge pull request #820 from jhowardmsft/clarifyrootpath
Clarify root path
2017-05-18 14:16:14 -04:00
Tianon Gravi 57531940cd Merge pull request #814 from jhowardmsft/credentialspec
Windows: Add CredentialSpec
2017-05-18 11:15:57 -07:00
Michael Crosby 1de23f7e4b Merge pull request #836 from wking/oom-score-adj-go-tag
specs-go/config: Add a 'linux' tag to OOMScoreAdj
2017-05-18 10:57:17 -07:00
W. Trevor King bbafc5f337 specs-go/config: Add a 'linux' tag to OOMScoreAdj
This should have happened in 4b49c64a (config: Shift oomScoreAdj from
linux.resources to process, 2017-05-09, #789) as part of moving the
property from a Linux-specific type to a cross-platform type.

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-18 07:44:39 -07:00
Mrunal Patel 3036273754 Merge pull request #832 from wking/config-linux-header-levels
config-linux: Consistent header nesting
2017-05-17 07:45:32 -07:00
W. Trevor King e6467b0e30 meeting.ics: Bump even-week meeting from 5pm to 2pm Pacific
Catch up with [1], effective this afternoon.  There was earlier
discussion in [2].

[1]: https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/AuNglHFyrkA
     Subject: Agenda for 5/17
     Date: Wed, 17 May 2017 07:23:37 -0700
     Message-ID: <CANEZBD4tq2vBhbLBqvReRt+aEafRWuLtP2Jg-ww_Agvgouf-5Q@mail.gmail.com>
[2]: https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/nZ0lS4fDBbQ
     Subject: Rescheduling ConCall(s)
     Date: Mon, 8 May 2017 20:33:38 +0000
     Message-ID: <BN3PR03MB1445A2F5B25DE85AEF89A2A6DEEE0@BN3PR03MB1445.namprd03.prod.outlook.com>

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-17 07:36:35 -07:00
Ma Shimiao 8baf688ec5 config.md: fix typo of context
replace `filesystemtype` with `type of filesystem`
`list of strings` should be replaced by `array of strings`

Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-05-17 09:56:39 +08:00
W. Trevor King e9b0f6e98a config-linux: Consistent header nesting
We have an explicit policy for example header levels in style.md, so
follow that in config-linux.md.  Also adjust the non-example headers
to be one level deeper than their parent.

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-16 13:36:06 -07:00
Qiang Huang faec82c7ce Merge pull request #821 from jhowardmsft/clarifymountntfs
Windows - correct mounts
2017-05-16 19:00:25 +08:00
John Howard 5a9490a8e6 Windows: Add CredentialSpec
Signed-off-by: John Howard <jhoward@microsoft.com>
2017-05-15 16:28:07 -07:00
John Howard 7c9acf6c3e Clarify root path
Signed-off-by: John Howard <jhoward@microsoft.com>
2017-05-15 13:33:23 -07:00
John Howard 861eb5b717 Windows - correct mounts
Signed-off-by: John Howard <jhoward@microsoft.com>
2017-05-15 10:28:15 -07:00
Mrunal Patel 4aed614c79 Merge pull request #824 from Mashimiao/add-link-mknod
config-linux.md: add link for mknod
2017-05-15 10:16:28 -07:00
Tianon Gravi ad0b0e8fdb Merge pull request #826 from Mashimiao/config-linux-fix-cgroups-des
config-linux.md: fix wrong link description about cgroups
2017-05-15 08:39:55 -07:00
v1.0.0.batts 3908f28465 Merge pull request #819 from jhowardmsft/clarifyreadonlyroot
Windows: Clarify r/o root filesystem
2017-05-15 09:36:01 -05:00
Ma Shimiao 727e64d9b7 config-linux.md: fix wrong link description about cgroups
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-05-15 09:37:44 +08:00
Ma Shimiao 3893c6ab07 config-linux.md: add link for mknod
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-05-14 22:57:54 +08:00
Ma Shimiao f64e7fc380 tfix: replace setup
setup is a noun, 'set up' is a verb

Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-05-14 14:24:21 +08:00
John Howard be9af48305 Windows: Clarify r/o root filesystem
Signed-off-by: John Howard <jhoward@microsoft.com>
2017-05-12 18:27:06 -07:00
Tianon Gravi 559acdf05c Merge pull request #803 from Mashimiao/config-specify-config
config.md: specify config usage
2017-05-12 18:11:44 -07:00
Ma Shimiao 773ebb2e54 config.md: specify config usage
config.json is used some operations of container,
we should specify this.

Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-05-13 08:37:39 +08:00
Michael Crosby ce6011c65a Merge pull request #766 from wking/cap-validation
schema/defs-linux: Drop 'Capability' type
2017-05-12 15:17:12 -07:00
Michael Crosby 6cc08c2428 Merge pull request #724 from q384566678/fix-configmd
config.md: format changes
2017-05-12 14:57:35 -07:00
Michael Crosby d0a4271125 Merge pull request #812 from Mashimiao/config-lifecycle-links
config.md: lifecycle broken links fix
2017-05-12 14:03:08 -07:00
Daniel, Dao Quang Minh 45c3fd4b50 Merge pull request #805 from wking/schema-test-optional-process
schema/test/config/good/minimal: Drop 'process'
2017-05-12 11:57:19 -05:00
Ma Shimiao c1332a93f0 config.md: lifecycle broken links fix
fix lifecycle broken links that are left behind

Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-05-12 20:59:33 +08:00
Daniel, Dao Quang Minh 3d8270e1c2 Merge pull request #804 from wking/remove-exlicit-null
config-linux: Remove explicit 'null' from device cgroup values
2017-05-11 19:00:24 -05:00
W. Trevor King 90423a0dc3 schema/test/config/good/minimal: Drop 'process'
It's optional since c41ea83d (config: Make process optional,
2017-02-27, #701) which landed yesterday.

Mrunal wanted to continue testing a config which has enough for a
'start' invocation [1], so I've kept the old JSON as
minimal-for-start.json (washing it through 'make -C schema fmt' to
adjust the args indenting).

[1]: https://github.com/opencontainers/runtime-spec/pull/805#issuecomment-300811461

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-11 10:12:44 -07:00
W. Trevor King 10ab597ee5 config-linux: Remove explicit 'null' from device cgroup values
Catch the Markdown spec up with the JSON Schema change in 09274372
(schema: Drop pointers and nulls, 2017-01-18, #662).  The Markdown is
canonical, so we could restore the explicit-null handling to the JSON
Schema instead, but the maintainers feel (and I agree) that there's no
point in explicitly allowing a null value when callers can simply
leave the property unset [1].

[1]: https://github.com/opencontainers/runtime-spec/pull/555#issuecomment-272020515

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-11 01:29:56 -07:00
zhouhao 7d4037b702 config.md: format changes
Signed-off-by: zhouhao <zhouhao@cn.fujitsu.com>
2017-05-11 14:47:23 +08:00
Tianon Gravi 1259a08e00 Merge pull request #798 from Mashimiao/bundle-root-reference
bundle.md: specify root reference the directory
2017-05-10 21:39:30 -07:00
Ma Shimiao 5a9013321c bundle.md: specify root reference the directory
I think this make clear what reference the directory in config.json

Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-05-11 09:25:03 +08:00
Michael Crosby 02a936a402 Merge pull request #802 from wking/minimal-phony
Makefile: Remove unnecessary .PHONY entries
2017-05-10 17:16:48 -07:00
W. Trevor King 327a6367f0 Makefile: Remove unnecessary .PHONY entries
The only .PHONY entry we *need* is for schema/validate, since that's a
real file but we haven't told Make about its real dependencies (which
involve complicated Go lookups).  I'm personally in favor of using
.PHONY for all targets that aren't on-disk files, because it hints to
readers that the rule is not generating a file at the target.  But
there has been resistance to adding .PHONY entries to all such cases
(e.g. [1,2]), so this commit brings us around to a
internally-consistent "only use .PHONY when you always need it"
position.

That means that, for example, users who create files named 'clean'
will turn 'clean' the target into a no-op, but runtime-spec
maintainers are ok with that.

[1]: https://github.com/opencontainers/runtime-spec/pull/791#issuecomment-300369882
[2]: https://github.com/opencontainers/runtime-spec/pull/791#issuecomment-300612827

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-10 16:54:53 -07:00
Tianon Gravi c4cc3958a7 Merge pull request #700 from wking/process-config-timing
runtime: Explicitly make process.* timing implementation-defined
2017-05-10 16:01:37 -07:00
Michael Crosby 8601fd7908 Merge pull request #732 from wking/drop-additional-actions-step
runtime: Remove "features the runtime chooses to support"
2017-05-10 16:00:48 -07:00
W. Trevor King ccbc57f41b runtime: Remove "features the runtime chooses to support"
Step 3 of the lifecycle from before this commit had two sentences
which both landed in be594153 (Split create and start, 2016-04-01,
#384).  I pushed back a bit on the entry then [1,2], but we seem to be
pretty comfortable with the current "keep all lifecyle entries in a
one-layer enumerated list" approach, so I'm leaving that alone in this
commit.  Step 3 isn't really a lifecycle step though, it's more about
clarifying that you can jump around in the lifecycle instead of
hitting all the steps in consecutive order.  I'd floated a new
paragraph addressing that jumping, but was unable to form a consensus
around wording, and the jumping is already somewhat covered by the
current list entries (e.g. "The container process exits.").  This
commit just drops the old step 3, and Michael will follow up with
wording about jumping [3].

The other sentence from the old step 3 doesn't need replacing, because
the limits are already covered in more detail in the operation
sections themselves.  For example, the 'delete' operation has:

  Attempting to delete a container that does not exist MUST generate
  an error.  Attempting to delete a container whose process is still
  running MUST generate an error.

I don't see the need to call generic attention to that idea, and
especially do not think that an entry in the lifecycle list is the
right place for such a generic call-out.

[1]: https://github.com/opencontainers/runtime-spec/pull/384#r60939710
[2]: https://github.com/opencontainers/runtime-spec/pull/384#issuecomment-214418730
[3]: http://ircbot.wl.linuxfoundation.org/meetings/opencontainers/2017/opencontainers.2017-05-10-21.03.log.html#l-79

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-10 15:44:06 -07:00
W. Trevor King 72e8062035 runtime: Explicitly make process.* timing implementation-defined
Based on IRC discussion today (times in PST) [1]:

  11:36 < crosbymichael> just take a step back and think about it.
    you have a process object in the spec.  its a single object
    defining what to run.  How do you run a process?  you exec its
    args.  From the spec pov its an atomic operation.  in between
    create and start its not running the users code and is left up to
    the runtime.  you either have a process defined by the spec and
    its created as an operation in the container on start or your
    dont.

With the previous wording, it was unclear how large a hole we were
poking with "the user-specified program MUST NOT be run at this time".
This commit removes that ambiguous wording and replaces it with an
explicit reference to 'process.args'.  It makes it clear that
everything outside of 'process' MUST happen at create-time.  And it
leaves all of 'process' except for 'process.args' up to the
implementation.

This means that the caller has no reliable way to set the
user/cwd/capabilities/… of the runtime's container process between
'create' and 'start'.  You could avoid that limitation by requiring
all process properties *except* process.args be applied at
create-time, but my attempt to make process.args optional (which would
have allowed that interpretation without burdening callers who never
intended to call 'start') was rejected in favor of this all-or-nothing
approach to 'process' handling [2].

[1]: http://ircbot.wl.linuxfoundation.org/eavesdrop/%23opencontainers/%23opencontainers.2017-02-27.log.html#t2017-02-27T19:35:35
[2]: https://github.com/opencontainers/runtime-spec/pull/620#issuecomment-282820279

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-05-10 15:41:32 -07:00
Mrunal Patel be3a1844f3 Merge pull request #681 from wking/valid-values
config: Move valid-value rules to their own section
2017-05-10 15:14:06 -07:00
Michael Crosby 57a587635d Merge pull request #701 from wking/optional-process
config: Make process optional
2017-05-10 15:03:06 -07:00
Tianon Gravi 7a75267286 Merge pull request #702 from wking/remove-operation-status-redefinition
runtime: Remove status redefinitions from operations
2017-05-10 14:59:50 -07:00
Michael Crosby 57428ed7ba Merge pull request #733 from wking/remove-base-operating-system-loophole
runtime: Drop "not supported by the base OS" loophole
2017-05-10 14:45:55 -07:00
Michael Crosby 844f392f39 Merge pull request #736 from wking/dev-symlink-conditional
runtime-linux: Condition /proc/self/fd symlinks on source existence
2017-05-10 14:16:14 -07:00