Commit Graph

597 Commits

Author SHA1 Message Date
Mrunal Patel 8f02d00ede Merge pull request #462 from duglin/AddStatus
Add a 'status' field to our state struct
2016-05-31 10:48:12 -07:00
Doug Davis dd0cd2102b Add a 'status' field to our state struct
Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-31 10:42:05 -07:00
Michael Crosby 991d26c2d4 Merge pull request #464 from wking/lifecycle-indent
runtime: Consistent indent for "However, some actions..."
2016-05-31 10:40:02 -07:00
W. Trevor King 7b28a16f7a runtime: Consistent indent for "However, some actions..."
The shorter-than-normal (for the rest of this list) indent landed with
the line in be594153 (Split create and start, 2016-04-01, #384).

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-31 10:25:48 -07:00
Mrunal Patel 44f22774ce Merge pull request #467 from wking/lifecycle-list-markup
runtime: Restore leading blank line before lifecycle list
2016-05-31 09:36:36 -07:00
W. Trevor King 78d37e9ddf runtime: Restore leading blank line before lifecycle list
Restore the line removed by be594153 (Split create and start,
2016-04-01, #384).  Without this, GitHub renders the list as a single
paragraph.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-28 13:06:21 -07:00
Qiang Huang 0dde4f9f4b Merge pull request #463 from wking/no-create-api-caveat
runtime: Drop create-specific API caveat from lifecycle
2016-05-28 09:31:56 +08:00
W. Trevor King 05a548f135 runtime: Drop create-specific API caveat from lifecycle
This wording is descended from 7117ede7 (Expand on the definition of
our ops, 2015-10-13, #225), but the idea is covered generically by
e53a72b (Clarify the operation is not for command-line api,
2016-05-24, #450), so we no longer need a create-specific note.
Especially in the lifecycle docs, where there's already enough going
on without this low-level detail.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-26 22:37:50 -07:00
Mrunal Patel c26f07c877 Merge pull request #384 from duglin/SplitCreate
Split create and start
2016-05-26 16:56:44 -07:00
Doug Davis be594153b5 Split create and start
Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-26 16:52:18 -07:00
Mrunal Patel 4a1a84096c Merge pull request #458 from crosbymichael/2lgtm
Add PullApprove checks
2016-05-26 15:54:18 -07:00
Chris Aniszczyk aa9f3a2661 Add PullApprove checks
Add PullApprove: https://pullapprove.com/opencontainers/runtime-spec/

Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-26 15:21:39 -07:00
Mrunal Patel 8bca380476 Merge pull request #456 from wking/json-schema-root-path-description
schema/schema.json: Update path.root description
2016-05-26 08:06:45 -07:00
Mrunal Patel 32601fbb80 Merge pull request #446 from hqhq/hq_remove_MUST_JSON
Remove one JSON related MUST requirement
2016-05-26 08:06:06 -07:00
W. Trevor King 16d6e1b823 schema/schema.json: Update path.root description
Use wording from config.md, since the JSON Schema doesn't seem like a
good place to be picking new words.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-25 13:36:31 -07:00
Mrunal Patel e97a303ae0 Merge pull request #455 from vbatts/makefile_set_shell
Makefile: prefer bash
2016-05-25 10:54:27 -07:00
Vincent Batts f3fdf03a59 Makefile: prefer bash
https://github.com/opencontainers/runtime-spec/issues/454

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2016-05-25 08:20:03 -04:00
Vincent Batts 23bf8e9519 Merge pull request #448 from wking/host-pandoc
Makefile: Fix native pandoc invocation
2016-05-25 08:15:26 -04:00
Mrunal Patel 878fac1f30 Merge pull request #452 from wking/do-not-modify-filesystem-owners
config-linux: Make “don't modify filesystem permissions” generic
2016-05-24 15:18:46 -07:00
Mrunal Patel d359ff3189 Merge pull request #451 from wking/spec-not-platform-independent
specs-go/config: Drop platform-independent comment
2016-05-24 15:18:01 -07:00
W. Trevor King f830d50a52 config-linux: Make "don't modify filesystem permissions" generic
The user-namespace restriction isn't about the root filesystem in
particular.  For example, if you bind mount in a second filesystem,
the runtime shouldn't adjust ownership on that filesystem either.

I've also adjusted the old "permissions" to "ownership", since that
more clearly reflects the fields (user and group) that you would
modify if you wanted to adjust for user namespacing.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-24 14:27:38 -07:00
W. Trevor King 1fa80d2ca6 specs-go/config: Drop platform-independent comment
This has been stale since cb2da543 (config: Single, unified config
file, 2015-12-28, #284), when we dropped the attempt to distinguish
between platform-independent and platform-dependent configuration.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-24 14:18:53 -07:00
Michael Crosby 3a386261e9 Merge pull request #450 from hqhq/hq_specify_operation
Clarify the operation is not for command-line api
2016-05-24 13:32:04 -07:00
Qiang Huang e53a72b7c9 Clarify the operation is not for command-line api
Replace: https://github.com/opencontainers/runtime-spec/pull/447

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-05-24 15:12:36 +08:00
W. Trevor King 2e2073b362 Makefile: Fix native pandoc invocation
In dc9daf9 (Makefile: Replace vbatts/pandoc with a PANDOC variable
2016-05-06, #428) I'd misunderstood vbatts/pandoc as a call to a
locally-installed pandoc, when it's actually the name of a Docker
image [1,2].  With this commit, we prefer a local pandoc if one
exists, fall back to Docker and vbatts/pandoc if a local 'docker'
exists, and raise an error if neither 'pandoc' nor 'docker' exist.

[1]: https://github.com/opencontainers/runtime-spec/pull/440
[2]: https://github.com/opencontainers/runtime-spec/pull/428#discussion_r63987603

Reported-by: Qiang Huang <h.huangqiang@huawei.com>
Reported-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-23 22:34:04 -07:00
W. Trevor King 633f7cf957 Makefile: Hide stderr for 'command -v' calls
Don't spam people with:

  make: command: Command not found

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-23 22:31:42 -07:00
Michael Crosby b30d97eca0 Merge pull request #445 from hqhq/hq_move_out_error
Move errors section out of operations
2016-05-23 13:00:52 -07:00
Michael Crosby 8a9d9733a1 Merge pull request #444 from hqhq/hq_use_RFC2119_config
Use RFC_2119 style for config.md
2016-05-23 12:53:28 -07:00
Vincent Batts 19789640f5 Merge pull request #442 from hqhq/hq_link_license
Reference LICENSE file to keep consistency with others
2016-05-23 15:24:31 -04:00
Qiang Huang 95f106ed9d Remove one JSON related MUST requirement
JSON is not a mandatory format, we should not use MUST
requirement on this.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-05-23 16:13:53 +08:00
Qiang Huang 6d879c81d5 Move errors section out of operations
The `Errors` section is more like a general description about
runtime, if it's a sub-section of `Operations`, it'll be hard
for both implementations and tests to define what this
`errors` operation really is.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-05-23 15:48:20 +08:00
Qiang Huang bf9b050790 Use RFC_2119 style for config.md
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-05-23 14:30:06 +08:00
Qiang Huang e137488722 Reference LICENSE file to keep consistency with others
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-05-23 09:19:34 +08:00
Mrunal Patel 173b7e2b09 Merge pull request #441 from wking/runtime-os-compatibility
config: Clarify MUST for platform.os and .arch
2016-05-20 11:19:22 -07:00
W. Trevor King 35b0e9ee8c config: Clarify MUST for platform.os and .arch
The old platform.os text had two MUST conditions.  The first could
have been read "the runtime MUST generate an error if invoked with a
config.json whose platform.os is incompatible with the host platform"
(which is the direction I'm going with this commit).  However, it
could also have been read "the bundle-validator MUST generate an error
if platform.os is incompatible with the content the bundle's other
content (e.g. 'linux' in platform.os, but only Windows binaries in the
bundle's rootfs).

For the second MUST, I doubt we want to require a compliant runtime
support all Go architectures itself.  And there is a benefit to
pointing runtime/bundle authors at the Go set, but not much benefit in
making that a hard limit [1,2].  The rewording here follows [2] in
acknowledging that process.arch-matching is something that the config
author and runtime caller have to sort out between themselves and
pointing them at the Go docs and a registration process to avoid
fragmenting the community.

[1]: https://github.com/opencontainers/image-spec/pull/29
[2]: https://github.com/opencontainers/image-spec/pull/60

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-20 00:02:58 -07:00
Mrunal Patel 5d27f3aa0d Merge pull request #438 from RobDolinMS/patch-2
[Config] Capitalize MUST in config.md
2016-05-19 18:12:50 -07:00
Mrunal Patel d8d0bc6f60 Merge pull request #437 from RobDolinMS/patch-1
[Config] Mount destinations MUST NOT be nested in Windows
2016-05-19 07:33:33 -07:00
Rob Dolin (MSFT) 035713e3bf [Config] Capitalize MUST in config.md
"must" --> "MUST" for RFC 2119 compliance

This replaces PR #403 which required a rebase

Signed-off-by: Rob Dolin <RobDolin@microsoft.com>
2016-05-18 11:22:48 -07:00
Rob Dolin (MSFT) bef035ce49 [Config] Mount destinations MUST NOT be nested in Windows
This was raised during reviews with folks working on Windows Containers.  

This squashes commits from PR #433

Signed-off-by: Rob Dolin <RobDolin@microsoft.com>
2016-05-18 11:04:55 -07:00
Michael Crosby 4436094090 Merge pull request #418 from wking/optional-start-validation
runtime: Explicitly allow 'start' to not validate config.json
2016-05-18 10:30:56 -07:00
Mrunal Patel 7cdb70fc35 Merge pull request #436 from wking/remove-solaris-from-full-config
config.md: Remove 'solaris' from full example
2016-05-18 10:09:59 -07:00
Mrunal Patel 3220f194cf Merge pull request #435 from wking/roadmap-cleanup
ROADMAP: Remove stale targets (landed PRs, image-spec, ocitools, etc.)
2016-05-18 07:12:35 -07:00
W. Trevor King a044e07006 config.md: Remove 'solaris' from full example
This should have been part of 759ee79c (config: Add
platform-specific entry for 'solaris', 2016-05-06, #431), since
the example has platform.os set to 'linux'.

There was some (brief) discussion of this point before the 'solaris'
section landed [1], but the "should only be set if" wording landed in
parallel via b373a15 (config: Split platform-specific configuration
into its own section, 2016-05-02, #414), and I'd forgotten to go back
and apply that logic to #411.

Having a full Solaris example would be useful, but I think it should
be a separate, Solaris-only example.

[1]: https://github.com/opencontainers/runtime-spec/pull/411#discussion_r61621001

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-15 23:05:53 -07:00
W. Trevor King 23e03f9de3 ROADMAP: Remove stale targets (landed PRs, image-spec, ocitools, etc.)
# digest/hashing target

Most of this has spun off with [1], and I haven't heard of anyone
talking about verifying the on-disk filesystem in a while.  My
personal take is on-disk verification doesn't add much over serialized
verification unless you have a local attacker (or unreliable disk),
and you'll need some careful threat modeling if you want to do
anything productive about the local attacker case.  For some more
on-disk verification discussion, see the thread starting with [2].

# distributable-format target

This spun off with [1].

# lifecycle target

I think this is resolved since 7713efc1 (Add lifecycle for containers,
2015-10-22, #231), which was committed on the same day as the ROADMAP
entry (4859f6da, Add initial roadmap, 2015-10-22, #230).

# container-action target

Addressed by 7117ede7 (Expand on the definition of our ops,
2015-10-13, #225), although there has been additional discussion in
a7a366b3 (Remove exec from required runtime functionalities,
2016-04-19, #388) and 0430aaf1 (Split create and start, 2016-04-01,
#384).

# validation and testing targets

Validation is partly covered by cdcabdeb (schema: JSON Schema and
validator for `config.json`, 2016-01-19, #313) and subequent JSON
Schema work.  The remainder of these targets are handled by ocitools
[3].

# printable/compiled-spec target

The bulk of this was addressed by 4ee036fc (*: printable documents,
2015-12-09, #263).  Any remaining polishing of that workflow seems
like a GitHub-issue thing and not a ROADMAP thing.  And publishing
these to opencontainers.org certainly seems like it's outside the
scope of this repository (although I think that such publishing is a
good idea).

[1]: https://github.com/opencontainers/image-spec
[2]: https://groups.google.com/a/opencontainers.org/d/msg/dev/xo4SQ92aWJ8/NHpSQ19KCAAJ
     Subject: OCI Bundle Digests Summary
     Date: Wed, 14 Oct 2015 17:09:15 +0000
     Message-ID: <CAD2oYtN-9yLLhG_STO3F1h58Bn5QovK+u3wOBa=t+7TQi-hP1Q@mail.gmail.com>
[3]: https://github.com/opencontainers/ocitools

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-15 15:21:43 -07:00
Qiang Huang be7676409b Merge pull request #429 from wking/terminal-omitempty
specs-go/config.go: Make Process.Terminal omitempty
2016-05-10 17:23:43 +08:00
Qiang Huang d33a8e17cb Merge pull request #430 from wking/readonly-omitempty
specs-go/config.go: Make Root.Readonly omitempty
2016-05-10 17:21:30 +08:00
Mrunal Patel adea03f51c Merge pull request #431 from wking/platform-specific-solaris
specs-go/config: Make Linux and Solaris omitempty
2016-05-09 13:18:46 -07:00
Vincent Batts 040712af18 Merge pull request #428 from wking/tk/system-pandoc
Makefile: Replace vbatts/pandoc with a PANDOC variable
2016-05-07 17:50:35 +02:00
W. Trevor King 5c2193f357 specs-go/config: Make Linux and Solaris omitempty
Both fields are optional, so you could conceivably have neither.
However, in most cases folks will populate the one corresponding to
their platform.  The one that *doesn't* match their platform must not
show up, in order to avoid violating the:

  This should only be set if **`platform.os`** is ...

phrasing.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-06 23:58:09 -07:00
W. Trevor King 759ee79c85 config: Add platform-specific entry for 'solaris'
Fixup for 7c9daeb (Introducing Solaris in OCI, 2016-04-25, #411) along
the lines of b373a15 (config: Split platform-specific configuration
into its own section, 2016-05-02, #414).

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-05-06 23:57:14 -07:00