-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify root path #820
Clarify root path #820
Conversation
Not sure what travis is complaining about.... can someone help me understand? 😬 |
config.md
Outdated
The path is either an absolute path or a relative path to the bundle. | ||
On Linux, for example, with a bundle at `/to/bundle` and a root filesystem at `/to/bundle/rootfs`, the `path` value can be either `/to/bundle/rootfs` or `rootfs`. | ||
A directory MUST exist at the path declared by the field. | ||
On Linux, for example, with a bundle at `/to/bundle` and a root filesystem at `/to/bundle/rootfs`, the `path` value can be either `/to/bundle/rootfs` or `rootfs`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Travis doesn't like the trailing whitespace here:
$ git show --oneline --check origin/pr/820
23a0b15 Clarify root path
config.md:33: trailing whitespace.
+ On Linux, for example, with a bundle at `/to/bundle` and a root filesystem at `/to/bundle/rootfs`, the `path` value can be either `/to/bundle/rootfs` or `rootfs`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Fixed in next push
config.md
Outdated
On Linux, for example, with a bundle at `/to/bundle` and a root filesystem at `/to/bundle/rootfs`, the `path` value can be either `/to/bundle/rootfs` or `rootfs`. | ||
A directory MUST exist at the path declared by the field. | ||
On Linux, for example, with a bundle at `/to/bundle` and a root filesystem at `/to/bundle/rootfs`, the `path` value can be either `/to/bundle/rootfs` or `rootfs`. | ||
On Windows, for Windows Server Containers, this field is REQUIRED. For Hyper-V Containers, this field MUST NOT be supplied. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For writing validation tooling, how should runtime-tools distinguish between a Windows Server config and a Hyper-V config?
This change will also need some knock ons:
- Adjusting the bundle requirements to only require the root filesystem directory when
root.path
is set. I still don't see a need for that bundle requirement (last discussed in bundle: Remove rootfs requirement #469) and think that theconfig.md
requirement (which you preserve in this PR) for “A directory MUST exist at the path declared by the field” is sufficient for sanity. But if you can't get consensus around something like that, you'll still need to do something tobundle.md
, since the current wording there makes it impossible to leaveroot.path
unset. - An
omitempty
in the Go type. - Dropping the
path
requirement from the JSON Schema.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For writing validation tooling, how should runtime-tools distinguish between a Windows Server config and a Hyper-V config?
See the associated PR in #818
Have updated the bundle requirements, the go type and the schema
bundle.md
Outdated
|
||
On Windows, for Windows Server containers, this directory is REQUIRED. For Hyper-V containers, it MUST be omitted. | ||
|
||
If set, this directory MUST be referenced by [`root`](config.md#root) within the `config.json` file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think these are all part of the second list entry. To get multi-paragraph list entries in Pandoc, you need four-space (or tab) indents (more in #495). Can you use:
2. <a name="containerFormat02" />A directory representing the root filesystem of the container.
While the name of this directory may be arbitrary, users should consider using a conventional name, such as `rootfs`.
On non-Windows platforms, this directory is REQUIRED.
On Windows, for Windows Server containers, this directory is REQUIRED.
For Hyper-V containers, it MUST be omitted.
If set, this directory MUST be referenced by [`root`](config.md#root) within the `config.json` file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed. Updated.
393d49d
to
1cbf3e3
Compare
bundle.md
Outdated
|
||
If set, this directory MUST be referenced by [`root`](config.md#root) within the `config.json` file. | ||
|
||
When supplied, while these artifacts MUST all be present in a single directory on the local filesystem, that directory itself is not part of the bundle. In other words, a tar archive of a *bundle* will have these artifacts at the root of the archive, not nested within a top-level directory. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You seem to be removing the newline before “In other words” while not touching the content of that sentence. I think you want to keep that sentence on its own line.
Also, “When supplied, while …” is a bit awkward. I keep circling back to #469 when trying to think up clearer phrasing, so I don't have anything new to propose as an alternative. But probably something that separates out the same-directory MUST from the definition of “bundle” as the parent of config.json
(and any other artifacts listed here).
Signed-off-by: John Howard <jhoward@microsoft.com>
Hmmm. Yes, I see from the link. But from a grammatical perspective, it seems more natural to me as it directly relates to the previous sentence. Reverted though. |
On Mon, May 15, 2017 at 01:33:50PM -0700, John Howard wrote:
But from a grammatical perspective, it seems more natural to me as
it directly relates to the previous sentence.
The rendered page will include both lines in the same paragraph, since
Markdown needs a blank line (e.g. two consecutive newlines, not just
one) to split paragraphs [1]. The one-sentence-per-line policy is
mostly for convenient diffing (e.g. ‘git blame …’ will continue to
show the second line as last touched by 106ec2d, #446).
[1]: https://daringfireball.net/projects/markdown/syntax#p
|
1 similar comment
Through c83b8c8 (Merge pull request opencontainers#820 from jhowardms\ ft/clarifyrootpath, 2017-05-18). Signed-off-by: W. Trevor King <wking@tremily.us>
Through c83b8c8 (Merge pull request opencontainers#820 from jhowardms\ ft/clarifyrootpath, 2017-05-18). Signed-off-by: W. Trevor King <wking@tremily.us>
Through c83b8c8 (Merge pull request opencontainers#820 from jhowardms\ ft/clarifyrootpath, 2017-05-18). Signed-off-by: W. Trevor King <wking@tremily.us>
Through c83b8c8 (Merge pull request opencontainers#820 from jhowardms\ ft/clarifyrootpath, 2017-05-18). Signed-off-by: W. Trevor King <wking@tremily.us>
Through f4d221c (Merge pull request opencontainers#880 from dqminh/wking-linux-only-capabilities-again, 2017-07-05). The rc6 release picked up an earlier version of these notes, and those entries are mostly unchanged except for: * The credentialSpec entry, which was opencontainers#814 for credentialspec and now also includes opencontainers#859 for credentialSpec. * The root(.path) Hyper-V entry, which was opencontainers#820 for root.path and now also includes opencontainers#838 for root. I also moved this into the "breaking changes" section, because rc5 Hyper-V configs required root to be set, and rc6 Hyper-V configs require it to not be set. Although whether rc5 allowed Hyper-V configs at all is not clear to me. * Fixed indenting for the typo-fixes entry, as well as a number of more recent typo-fix PRs. Signed-off-by: W. Trevor King <wking@tremily.us>
Through f4d221c (Merge pull request opencontainers#880 from dqminh/wking-linux-only-capabilities-again, 2017-07-05). The rc6 release picked up an earlier version of these notes, and those entries are mostly unchanged except for: * The credentialSpec entry, which was opencontainers#814 for credentialspec and now also includes opencontainers#859 for credentialSpec. * The root(.path) Hyper-V entry, which was opencontainers#820 for root.path and now also includes opencontainers#838 for root. I also moved this into the "breaking changes" section, because rc5 Hyper-V configs required root to be set, and rc6 Hyper-V configs require it to not be set. Although whether rc5 allowed Hyper-V configs at all is not clear to me. * Fixed indenting for the typo-fixes entry, as well as a number of more recent typo-fix PRs. Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: John Howard jhoward@microsoft.com
This changes the root path to OPTIONAL as it is not supported for Hyper-V containers on Windows, where the root filesystem isn't accessible on the host operating system - it only has meaning inside the utility VM running the container.