Commit Graph

870 Commits

Author SHA1 Message Date
Vincent Batts 28c6afea8b Merge pull request #600 from hqhq/fix_typos
Fix some typos
2016-10-28 01:11:18 +00:00
Michael Crosby ac2317aa7e Merge pull request #599 from hqhq/use_IO
Use IO instead of io
2016-10-27 10:05:50 -07:00
Qiang Huang 621684f645 Rewrite LinuxIDMappings
Basicly make the format consistent with others, no
semantics change.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-10-27 19:00:39 +08:00
Qiang Huang f37cd3a903 Fix some typos
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-10-27 18:00:08 +08:00
Qiang Huang 2379be75cb Use IO instead of io
For consistency, while all other places use IO.

$ grep -rnIw IO * | wc -l
10

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-10-27 16:10:02 +08:00
Zhang Wei c22eeb2197 Forbid duplicated namespaces with same `type`.
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-10-27 11:25:43 +08:00
Qiang Huang 81888fe633 Merge pull request #584 from wking/json-object-no-order-or-duplicates
glossary: Make objects explicitly unordered and forbid duplicate names
2016-10-27 09:37:01 +08:00
Vincent Batts 6dfc682237 Merge pull request #587 from Mashimiao/config-fix-and-value-require-paths
config-linux: fix format and definitely require value of masked and r…
2016-10-25 17:13:31 +00:00
Michael Crosby 1e7faf0c4c Merge pull request #596 from WeiZhang555/add-related-links
Add some related docs links
2016-10-25 09:11:38 -07:00
Michael Crosby 63467b2832 Merge pull request #595 from WeiZhang555/typo
Fix typo
2016-10-25 09:09:48 -07:00
Zhang Wei 98f0bdfe70 Add some related docs links
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-10-25 20:52:31 +08:00
Zhang Wei 932fba6802 Fix typo
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-10-25 16:59:26 +08:00
Mrunal Patel 52f3cdecd1 Clarify wording for terminal setting and /dev/console
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-10-19 10:22:05 -07:00
Mrunal Patel d6d6839638 Merge pull request #589 from wking/golint-requires-go-1.6
Makefile: Require Go >= 1.6 for golint
2016-10-18 12:57:47 -07:00
W. Trevor King a9c0235304 Makefile: Require Go >= 1.6 for golint
golint dropped support for Go 1.5 [1].

[1]: a428635c58
     Drop support for Go 1.5, 2016-09-15

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-10-12 21:45:55 -07:00
Abhijeeth Nuthan 07b7958b7e Mounts in Solaris
Signed-off-by: Abhijeeth Nuthan <abhijeeth.nuthan@oracle.com>
2016-10-12 13:09:34 -07:00
Michael Crosby a39be468c9 Merge pull request #567 from jhowardmsft/jjh/aggressivenamespacing
Aggressive namespacing
2016-09-30 09:46:08 -07:00
Ma Shimiao 25f44dd0e8 config-linux: fix format and definitely require value of masked and readonly paths
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2016-09-30 13:51:00 +08:00
Mrunal Patel 508cd2734f Merge pull request #585 from wking/ocitools-rename
implementations: Rename ocitools -> runtime-tools
2016-09-29 13:02:05 -07:00
W. Trevor King d985738f44 implementations: Rename ocitools -> runtime-tools
And re-alphabetize.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-28 14:56:33 -07:00
W. Trevor King eeaccfabf9 glossary: Make objects explicitly unordered and forbid duplicate names
Pin down our JSON definition to a particular RFC (which we can
explicitly bump if neccessary), instead of referencing the floating
JSON homepage.

Explicitly make objects unordered and forbid duplicate names to avoid
relying on unportable behavior.  RFC 7159 is a bit more relaxed [1]:

  The names within an object SHOULD be unique.

but warns [1]:

  An object whose names are all unique is interoperable in the sense
  that all software implementations receiving that object will agree
  on the name-value mappings.  When the names within an object are not
  unique, the behavior of software that receives such an object is
  unpredictable.  Many implementations report the last name/value pair
  only.  Other implementations report an error or fail to parse the
  object, and some implementations report all of the name/value pairs,
  including duplicates.

The RFC also warns about order portability [1]:

  JSON parsing libraries have been observed to differ as to whether or
  not they make the ordering of object members visible to calling
  software.  Implementations whose behavior does not depend on member
  ordering will be interoperable in the sense that they will not be
  affected by these differences.

And has some (informative?) language about entries being unordered
[2]:

  An object is an unordered collection of zero or more name/value
  pairs...

[1]: https://tools.ietf.org/html/rfc7159#section-4
[2]: https://tools.ietf.org/html/rfc7159#section-1

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-27 09:23:17 -07:00
Vincent Batts 1c7c27d043 Merge pull request #573 from jhowardmsft/jjh/addwindows
Add support for Windows based containers
2016-09-26 16:19:32 -04:00
John Howard dc8f2c2e6e Add support for Windows-based containers
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-22 12:13:04 -07:00
Mrunal Patel c356a80b36 Merge pull request #563 from jhowardmsft/jjh/initialconsolesize
config: Add consoleSize to process
2016-09-21 12:29:30 -07:00
Qiang Huang d850760444 Merge pull request #575 from jhowardmsft/jjh/definitions
README: Define 'unspecified', 'undefined', and 'implementation-defined'
2016-09-21 11:19:06 +08:00
John Howard a502caf65f config: Add consoleSize to process
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-20 15:19:27 -07:00
John Howard e918daac26 Aggressive namespacing
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-20 15:05:29 -07:00
Mrunal Patel 313f40bdfc Merge pull request #559 from wking/create-bail-for-unsupported-config
runtime.md: Require 'create' to fail if config.json asks for the impossible
2016-09-20 14:29:59 -07:00
Mrunal Patel 67063b5a7e Merge pull request #574 from wking/config-optional-required
config: Use REQUIRED and OPTIONAL for properties
2016-09-20 14:27:04 -07:00
Mrunal Patel 37dbfc3a23 Merge pull request #572 from jhowardmsft/jjh/typo
Fix typo 'unkown'
2016-09-20 14:22:36 -07:00
Mrunal Patel 7bce59f225 Merge pull request #564 from jhowardmsft/jjh/processplatformtags
Platform annotations on `Process` struct
2016-09-20 14:18:47 -07:00
John Howard cef511fa6a README: Define 'unspecified', 'undefined', and 'implementation-defined'
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-19 13:22:03 -07:00
W. Trevor King d49c29f042 config: Replace "required" with "REQUIRED"
In all of these cases we want to use the RFC 2119 semantics.
Generated with:

  $ sed -i 's/required/REQUIRED/g' config*.md

after which I rolled back the change for:

  ...controllers required to fulfill...

since that was already MUSTed.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-17 22:03:26 -07:00
W. Trevor King c35cf57303 config: Replace "optional" with "OPTIONAL"
In all of these cases we want to use the RFC 2119 semantics.
Generated with:

  $ sed -i 's/optional/OPTIONAL/g' config*.md

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-17 22:03:26 -07:00
Qiang Huang 2239827079 Merge pull request #571 from jonboulle/patch-1
README: tweak title
2016-09-18 11:05:02 +08:00
John Howard 83fd44f950 Fix typo unkown'
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-17 15:10:25 -07:00
W. Trevor King 766abd6f54 runtime.md: Require 'create' to fail if config.json asks for the impossible
We don't want to silently ignore settings that we understand but
cannot implement [1] (we *do* want to ignore settings that we don't
understand [2], but that's a separate issue).

This raises a slightly sticky certification issue.  If a runtime
*always* exits 'create' with an error:

  func create() err {
    return fmt.Errorf("nope, I cannot create that container either.")
  }

it would be neither complaint nor non-compliant.  It would not fail
any MUSTs, but availing itself of the "cannot create the maintainer"
option specified in this commit would mean the test suite could not
test the deeper requirements around the config properties themselves.

So with this change, making Microsoft certifiable will still need an
explicit weakening around root.path.  The easiest way to do that might
be to have separate annotations for whether a setting is optional for
config authors and whether it's optional for runtime authors
(supported):

  * **`readonly`** (bool, config:optional, support:optional) ...

But I'll leave hashing that out to a later commit.  Regardless of the
certification impact, we want to be clear that silently ignoring known
parameters is wrong.

[1]: 9b8e21826c (r65400731)
     Subject: [ Config | Root Config ] Clarify readonly
[2]: https://github.com/opencontainers/runtime-spec/pull/510
     Subject: Add text about extensions

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-16 08:08:05 -07:00
Jonathan Boulle e641611faf README: tweak title
To be consistent with opencontainers/image-spec.

Signed-off-by: Jonathan Boulle <jonathanboulle@gmail.com>
2016-09-16 14:19:06 +02:00
Vincent Batts f0ecb455b1 Merge pull request #557 from vbatts/bump-version-1.0.0-rc2
Bump version 1.0.0 rc2
2016-09-15 19:25:09 -04:00
Vincent Batts b9e85b05ff Merge pull request #569 from wking/drop-platform-dependent-comment-v2
specs-go/config: Drop "this field is platform dependent" (again)
2016-09-15 13:49:05 -04:00
John Howard ce3ac33d77 Platform markers on Process struct
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-15 10:23:45 -07:00
W. Trevor King e086a3e33c specs-go/config: Drop "this field is platform dependent" (again)
We dropped these in 47740802 (specs-go/config: Drop "this field is
platform dependent", 2016-09-14, #568) but f9e48e00 (Windows: User
struct changes, 2016-09-14, #565) was developed in parallel and
brought in a new one.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-15 08:27:29 -07:00
Vincent Batts 0bb7b17b8c Merge pull request #566 from wking/mount-link-whitespace
config: Quote whitespace in mount(8) links
2016-09-15 11:23:39 -04:00
Vincent Batts a992b1b72a Merge pull request #565 from jhowardmsft/jjh/user
Windows: User struct changes
2016-09-15 11:21:57 -04:00
Tianon Gravi 66f4f354fd Merge pull request #568 from wking/drop-platform-dependent-comment
specs-go/config: Drop "this field is platform dependent"
2016-09-15 08:15:42 -07:00
Tianon Gravi 74ec713eaf Merge pull request #523 from wking/clarify-version
config: Clarify ociVersion covering the configuration <-> runtime API
2016-09-15 07:59:03 -07:00
W. Trevor King 47740802f8 specs-go/config: Drop "this field is platform dependent"
These comments first landed in 820131db (*: flatten platform dependent
source, 2016-03-08, #310).  But you can tell they're platform
dependent by the platform:"..." tags.  The Go comment doesn't add
any additional information.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-14 16:23:45 -07:00
John Howard f9e48e0024 Windows: User struct changes
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-14 16:14:38 -07:00
W. Trevor King 5d7721d886 config: Quote whitespace in mount(8) links
Avoid confusing Markdown.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-14 14:04:03 -07:00
W. Trevor King c94e7c0ace config: Clarify ociVersion covering the configuration <-> runtime API
There are other APIs described in this specification (e.g. the state
JSON format, and the in-flight command-line API [1]), but this string
covers the configuration file and referenced objects (e.g. the
filesystem at root.path).  As additional, backwards compatible
features are added to the spec (leading to 1.1, 1.2, etc. releases)
and supported by runtimes, those runtimes will *still* stupport 1.0
configs.  Once a 2.0 spec is cut, runtimes that only support 2.0 (and
nothing in the 1.0 line) will no longer support the 1.0 config.

My preferred approach here would be to use JSON-LD [2,3,4] to
explicitly document the intended semantics for each field, which would
allow us to drop the config-wide version and version each field
independently.  That would mean a breaking change on a particular
field would only break compatibility for folks who were using that
field.  Unfortunately, I haven't had much luck pushing the consensus
in that direction.

This commit does not add wording about how the runtime and other
consumers should handle an incompatible version.  We can address that
once the command-line API lands.

[1]: https://github.com/opencontainers/runtime-spec/pull/513
[2]: https://github.com/opencontainers/runtime-spec/pull/371#issuecomment-209684002
[3]: https://github.com/opencontainers/image-spec/pull/111#discussion_r65619280
[4]: https://github.com/opencontainers/runtime-spec/pull/510#discussion_r68513241

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-09-14 01:26:38 -07:00