Commit Graph

707 Commits

Author SHA1 Message Date
Michael Crosby c678086a64 Merge pull request #553 from RobDolinMS/patch-11
[ReadMe] Just one level/tier of compliance (rebase)
2016-09-06 11:13:33 -07:00
Rob Dolin (MSFT) 9da89675f5 [ReadMe] Just one level/tier of compliance (rebase)
Signed-off-by: Rob Dolin <robdolin@microsoft.com>
2016-09-01 10:55:01 -07:00
Michael Crosby d3c3763b9f Merge pull request #551 from wking/schema-format
schema: Run 'make fmt'
2016-08-31 09:41:00 -07:00
W. Trevor King 90be62f150 schema: Run 'make fmt'
This should probably be part of our CI testing.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-30 15:46:26 -07:00
Mrunal Patel b860409a5a Merge pull request #546 from Mashimiao/seccomp-remove-unneeded-item
remove unneeded item from seccomp
2016-08-30 15:43:59 -07:00
Michael Crosby 4a910f0711 Merge pull request #550 from Mashimiao/add-devicecgroup-and-devices
add devices for resources and DeviceCgroup
2016-08-30 13:42:07 -07:00
Vincent Batts 53917150da Merge pull request #544 from Mashimiao/add-timeout-for-hook
add timeout for Hook
2016-08-30 13:16:15 -04:00
Ma Shimiao 50f36a4148 add timeout for Hook
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2016-08-30 13:41:37 +08:00
Ma Shimiao 60672c0b3c add devices for resources and DeviceCgroup
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2016-08-30 13:31:01 +08:00
Vincent Batts 90451c4923 Merge pull request #541 from hqhq/remove_file_when_clean
Remove code-of-conduct.md and version.md when clean
2016-08-29 10:29:41 -04:00
Vincent Batts a3d7507732 Merge pull request #527 from mrunalp/plat_comp
Add language for compliance requirements around platforms
2016-08-29 10:29:10 -04:00
Ma Shimiao 7d22f1c244 remove unneeded item from seccomp
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2016-08-29 15:33:23 +08:00
Qiang Huang c57a0238b0 Remove code-of-conduct.md and version.md when clean
So we can use latest files after make clean.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-08-26 15:37:04 +08:00
Qiang Huang 069e8e1c16 Merge pull request #531 from wking/pointer-omitempty
specs-go/config: Make KernelTCP and ClassID omitempty
2016-08-26 09:55:28 +08:00
Michael Crosby 9c0fcee0b8 Merge pull request #538 from wking/no-tweaking-host-namespaces
config-linux: Extend no-tweak requirement to runtime namespaces
2016-08-25 10:42:42 -07:00
Mrunal Patel ce64fbdda2 Merge pull request #539 from jodh-intel/add-cc-oci-runtime-to-implementations-list
Add "cc-oci-runtime" to implementations list.
2016-08-25 10:41:09 -07:00
James Hunt 30bc033168 Add "cc-oci-runtime" to implementations list.
Signed-off-by: James Hunt <james.o.hunt@intel.com>
2016-08-25 14:48:06 +01:00
W. Trevor King 01c2d55fac config-linux: Extend no-tweak requirement to runtime namespaces
Since [1] we've required runtimes to error out if a configuration
joins an existing namespace and adjusts it somehow (e.g. joining an
existing UTC namespace and setting 'hostname', [2]).  However, the
wording from [1] (which survives untouched in the current master) only
talked about "when a path is specified".  I see two possible
approaches for internal consistency:

a. Lift the OCI restriction and allow join-and-tweak [3] where the
   kernel supports it.  When we landed the current restriction, the
   main issues seemed to be "we don't have a clear use-case for join
   and tweak" [4] (although see [5]) and "this is a foot gun [6,7]"
   (I'd rather leave policy to higher-level config linters).

b. Extend the OCI restriction to all cases where the runtime does not
   create a new namespace.  Besides the already covered "namespace
   entry exists and includes 'path'", we'd also want to forbid configs
   that were missing the relevant namespace(s) entirely (in which case
   the container inherits the host namespace(s)).

I'm partial to (a) in the long run, but (b) is less of a shift from
the current spec and likely a better choice for a pending 1.0.

This commit implements (b).

It also makes it explicit that not listing a namespace type will cause
the container to inherit the runtime namespace of that type.

[1]: https://github.com/opencontainers/runtime-spec/pull/158
     Subject: Clarify behavior around namespaces paths
[2]: https://github.com/opencontainers/runtime-spec/pull/214
     Subject: config: Require a new UTS namespace for config.json's hostname
[3]: https://github.com/opencontainers/runtime-spec/pull/158#issuecomment-138687129
[4]: https://github.com/opencontainers/runtime-spec/pull/158#issuecomment-138997548
[5]: https://github.com/opencontainers/runtime-spec/pull/305
     Subject: [Tracker] Live Container Updates
[6]: https://github.com/opencontainers/runtime-spec/pull/158#issuecomment-139106987
[7]: https://github.com/opencontainers/runtime-spec/issues/537#issuecomment-242132288
     Subject: [linux] Tweaking host namespaces?

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-24 10:41:50 -07:00
Mrunal Patel 8095e4eb4e Merge pull request #528 from hmeng-19/add_missing_type
Add missing `"type": "object"`
2016-08-17 15:54:40 -07:00
Mrunal Patel 90027b005b Merge pull request #525 from wking/go-comment-sync
config: Synchronize comments between Markdown and Go
2016-08-17 11:03:15 -07:00
Mrunal Patel de3f1af680 Remove language around Solaris being optional as it is covered in compliance language
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-08-17 10:58:21 -07:00
Mrunal Patel 6a5b1449ae Add language for compliance requirements around platforms and architectures
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-08-17 10:44:55 -07:00
W. Trevor King 980ed05aa5 specs-go/config: Make KernelTCP and ClassID omitempty
Found with:

  $ git grep ' \*' origin/master -- specs-go/*.go | grep -v omitempty
  origin/master:specs-go/config.go:       KernelTCP *uint64 `json:"kernelTCP"`
  origin/master:specs-go/config.go:       ClassID *uint32 `json:"classID"`

Both settings are optional:

  $ git grep '`kernelTCP`\|`classID`' origin/master
  origin/master:config-linux.md:* **`kernelTCP`** *(uint64, optional)* - ...
  origin/master:config-linux.md:* **`classID`** *(uint32, optional)* - ...

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-13 09:40:47 -07:00
Vincent Batts c66adccf2f Merge pull request #529 from coolljt0725/fix_typo
Use filesystem instead of file system
2016-08-12 08:46:32 -04:00
Lei Jitang d0b0ac224f Use filesystem instead of file system
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-08-12 00:00:00 -04:00
Haiyan Meng da3b96e996 Add missing `"type": "object"`
Signed-off-by: Haiyan Meng <haiyanalady@gmail.com>
2016-08-10 17:14:25 -04:00
Qiang Huang c9c25740df Merge pull request #526 from wking/optional-devices
config-linux: Make Linux 'devices' explicitly optional
2016-08-07 13:08:42 +08:00
W. Trevor King 054d2df15a config-linux: Make linux.resources.devices explicitly optional
And mark it omitempty to avoid:

  $ ocitools generate --template <(echo '{"linux": {"resources": {}}}') | jq .linux
  {
    "resources": {
      "devices": null
    }
  }

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 09:13:53 -07:00
W. Trevor King 60fff3f51c config-linux: Add (array, optional) for linux.devices
To match the omitempty which the Go property has had since 28cc4239
(add omitempty to 'Device' and 'Namespace', 2016-03-10, #340).

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 09:13:53 -07:00
W. Trevor King 7477fa519f config: config: Consistent Markdown/Go wording for 'annotations'
I've replaced the old OPTIONAL with our usual:

  (<type>, <optional|required>)

to get the property name first, since that translates more directly
into a Go comment that godoc will like.

The new Go comment is much shorter, dropping "unstructured" (because
the Markdown says "structured or unstructured") and "set by external
tools..." (because *everything* in the configuration JSON is set by
external-to-the-runtime tools).

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 00:18:07 -07:00
W. Trevor King 9837b6b725 config: Consistent Markdown/Go wording for 'hooks'
The new wording isn't particularly close to either of the old
wordings, but it reads more clearly to me.  I've also added our usual:

  (<type>, <required|optional>)

to the Markdown so folks can see that this is an optional object
(although see [1] for a more complete version).

[1]: https://github.com/opencontainers/runtime-spec/pull/427
     Subject: config: Explicitly list 'hooks' as optional

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 00:16:35 -07:00
W. Trevor King ad81edca26 config: Consistent Markdown/Go wording for 'mounts'
I've replaced the old MAY with our usual

  (<type>, <optional|required>)

to get the property name first, since that translates more directly
into a Go comment that godoc will like.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 00:16:35 -07:00
W. Trevor King 1a8611644f config: Consistent Markdown/Go wording for 'hostname'
I've changed the old "as it is accessible to ..." to the more compact
"as seen by ..." language from the old Markdown version, although I
don't think it's strictly necessary.  The original "accessbile to"
language is from 77d44b10 (Update runtime.md, 2015-06-16), which
actually looked fairly similar to the language I'm using here.  That
commit's "hostname for the container" lanuage went away in 7ac41c69
(config.md: reformat into a standard style, 2015-06-30), although that
commit made too many changes to motivate them all at that level.

I've left that language out of the Go comment, because truncating for
compact Go comments is fine (the Markdown entry is canonical, and the
Go comment is just to provide some minimal context).

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 00:16:35 -07:00
W. Trevor King d7b8877547 config: Consistent Markdown/Go/JSON-Schema wording for 'root'
I've also added our usual:

  (<type>, <required|optional>)

to the Markdown so folks can see that this is a required object.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 00:16:24 -07:00
W. Trevor King 9500be8470 Replace "container's main process" with "container process"
We use both forms, but the latter was more popular.  Before this
branch:

  $ git grep -i 'container process' origin/master | wc -l
  13
  $ git grep -i 'main process' origin/master | wc -l
  4

Also fix "process id" -> "process ID" in one of the lines I touched,
to match fork(2) [1].

[1]: http://man7.org/linux/man-pages/man2/fork.2.html

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 00:10:52 -07:00
W. Trevor King fc103cf515 config: Consistent Markdown/Go wording for 'process'
I've dropped "main process" because "container process" is currently a
much more popular way of identifying that process in this
specification.  Before this commit:

  $ git grep -i 'main process' | wc -l
  4
  $ git grep -i 'container process' | wc -l
  13

I've also added our usual:

  (<type>, <required|optional>)

to the Markdown so folks can see that this is a required object.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-03 00:10:45 -07:00
W. Trevor King 57fc2ca54c config: Consistent Markdown/Go wording for 'platform'
Don't mention OS and Arch, since they're covered by the list (in
Markdown) and Platform struct (in Go).  This gives us one less place
to update if we ever change the schema for the platform object.

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-02 23:45:03 -07:00
W. Trevor King f2cc9fdb60 config: Update 'OpenContainer specification' wording
Catch up with the spec title from faad7e0f (README: title rename,
2016-04-04, #365).

Also make the Go comment consistent with the Markdown spec (no need to
maintain two phrasings for the same idea).  The only difference
between the phrasings is now some shuffling at the beginning to start
off with the property name (to keep godoc happy).

The JSON Schema entry (in defs.json) is different too, because it has
to apply to both the configuration and state JSON, so mentioning
"bundle" makes less sense than mentioning "document".

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-08-02 23:41:05 -07:00
Michael Crosby 95a6ecffd0 Merge pull request #522 from caniszczyk/pullapprove-dco
Add DCO check via PullApprove
2016-07-28 08:55:16 -07:00
Chris Aniszczyk 64621866cd Add DCO check via PullApprove
Closes #516
PullApprove has support to check for DCO
Also, take the time to improve the approve_regex

Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
2016-07-28 09:36:30 -05:00
Daniel, Dao Quang Minh 918f55b802 Merge pull request #524 from wking/2pm-meetings
README: Change meeting time from 10am to 2pm Pacific
2016-07-27 10:41:58 +01:00
W. Trevor King d4bd2dd8da README: Change meeting time from 10am to 2pm Pacific
Catch up with [1] now that we're having 2pm meetings two weeks in a
row.  There's also some earlier discussion in [2].

[1]: https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/VlwOuGh2y84
     Subject: OCI Meeting Times
     Date: Wed, 20 Jul 2016 01:39:33 +1000
     Message-ID: <CAOviyajs3feTFCatETgGPvwy7OubOOWvmJqof0yf1KO540nfHw@mail.gmail.com>
[2]: https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/HXO-FplpEKM
     Subject: OCI Call Time
     Date: Wed, 1 Jun 2016 21:10:21 +1000
     Message-ID: <591bb0a3-278e-f82c-6514-ff6a35d8d579@suse.de>

Signed-off-by: W. Trevor King <wking@tremily.us>
2016-07-26 14:51:09 -07:00
Daniel, Dao Quang Minh 490d05e17b Merge pull request #521 from caniszczyk/add-release-process
Add governance and release process docs
2016-07-25 17:03:34 +01:00
Michael Crosby eccaa08913 Merge pull request #443 from hqhq/hq_config_new_line
Rewrite mounts description in config.md
2016-07-25 08:38:53 -07:00
Qiang Huang 03a6f8c6d1 Merge pull request #493 from cyphar/linux-refresh-cgroup
config-linux: clarify cgroup requirements
2016-07-25 19:46:51 +08:00
Chris Aniszczyk 6cf3cf3684 Add governance and release process docs
https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/x-Oh3PDz1Y8

Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
2016-07-22 14:03:39 -05:00
Aleksa Sarai 4ed839e747
config-linux: add example of cgroup resource limits
The example section looks very sparse otherwise.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-07-23 02:46:12 +10:00
Aleksa Sarai 4291fd1d5a
config-linux: allow lazy cgroup handling
Make explicit that runtimes only have to attach to the bare minimum
number of cgroups in order to fulfil the users' requirements. However,
runtimes are of course allowed to attach to more than the bare minimum.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-07-23 02:46:12 +10:00
Aleksa Sarai 0c440a216c
config-linux: clarify cgroupsPath
Clarify some of the confusion with cgroupsPath. Due to systemd, we
cannot require that relative paths be treated in any specific way. In
addition, add a line stating that not all values of cgroupsPath are
required to be valid (and that runtimes must error out if they have an
invalid cgroup path). However, any given value of cgroupsPath should
provide consistent results.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-07-23 02:46:12 +10:00
Qiang Huang 1752ce8b12 Rewrite mounts description in config.md
Also apply one sentence per line rule for list items.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-07-22 14:06:54 +08:00