Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.

Document compatibility of component versions#191

Closed
jodh-intel wants to merge 4 commits into
kata-containers:masterfrom
jodh-intel:component-versions-must-match
Closed

Document compatibility of component versions#191
jodh-intel wants to merge 4 commits into
kata-containers:masterfrom
jodh-intel:component-versions-must-match

Conversation

@jodh-intel
Copy link
Copy Markdown

Add new "Component version compatibility" section to the Releases document that explains all component versions must match.

Also, update the developer guide and upgrading document to refer to the "Component version compatibility" section of the Releases doc.

Fixes #177.

Signed-off-by: James O. D. Hunt james.o.hunt@intel.com

James O. D. Hunt added 2 commits July 5, 2018 08:49
Move the Components section next to the Versions section in the
Releases document as they are closely related in content.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
Add new "Component version compatibility" section to the Releases
document that explains all component versions must match.

Partially fixes kata-containers#177.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
@jodh-intel jodh-intel force-pushed the component-versions-must-match branch from bc92643 to ddf3b42 Compare July 5, 2018 08:20
@jodh-intel
Copy link
Copy Markdown
Author

Hi @klynnrif, @intelkevinputnam, @grahamwhaley - ptal.

Copy link
Copy Markdown
Contributor

@grahamwhaley grahamwhaley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of minor things.

Comment thread Releases.md

Semantic versioning allows users to determine how a new version of a
particular component relates to the previous version of that component.
However, it is not possible to compare two *different* Kata component
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain or expand on why it is 'not possible to compare...' - it's not quite clear to me here what you are trying to explain.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nor me! 😄

I think we're all struggling to really understand what this actually means, but I'm trying to find words, so if you can suggest some based on what follows, I'm all ears! ;)

It's rather difficult to write this. What I'm trying to state is that although we "use" semver for each component, since we require all components to have the same version to be compatible, we require our own... cough.. interpretation of what semver means. It could be argued that semver is implicitly only meant for comparing versions of the same component.

However since we're imposing the extra requirement that all components need to be upgraded in lock-step (all components having the same version), a gRPC protocol change (what would nominally be an "API breakage" for a single component) for example can be handled by a MINOR version number change only (since this detail is invisible to the user assuming they upgrade all components in lock-step).

For example, if the proxy is at version 1.2.0 but the other components are all at 1.1.0, there are no guarantees the system will work.

I'll also probably add words based on @gnawux's comments to the ML (http://lists.katacontainers.io/pipermail/kata-dev/2018-June/000232.html) too.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, but 1.1.1 and 1.1.0 should be fine. Right?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@grahamwhaley, @egernst - should we just drop the "Component version compatibility" section entirely then do you think?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts guys...? :)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @jodh-intel - I'm prone to put this PR on hold, pretty much just due to this semver related section, until we have the Kata versioning and release flow defined - and then we can reference that.
I believe @jcvenegas is planning a first draft around releases, versioning and backport/lifetimes - let's wait for that.
As such, I'm going to mark this PR as WIP, just to make it clear it is pending an update.

Comment thread Developer-Guide.md Outdated

# Individual component compatibility

Using newer versions of individual components than the last offical released
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

potential reword, and a typo s/offical/official/

Using versions of individual components newer than the last official released

Copy link
Copy Markdown

@klynnrif klynnrif left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scrubbed for grammar, structure, and flow. A couple suggestions . Thanks!

Comment thread Developer-Guide.md Outdated
# Individual component compatibility

Using newer versions of individual components than the last offical released
version may result in
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may => might:
version might result in

Comment thread Developer-Guide.md Outdated
[compatibility issues](Releases.md#component-version-compatibility).

If you have only updated a subset of the Kata components and notice strange
behaviour, we recommend you update the remaining components to ensure you are
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

behaviour => behavior

Comment thread Developer-Guide.md Outdated

If you have only updated a subset of the Kata components and notice strange
behaviour, we recommend you update the remaining components to ensure you are
using the latest versions of all of them. Remember to also [create a new image
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... Also, remember to [create a new image

Comment thread Developer-Guide.md Outdated
containing the latest agent
version](#create-and-install-rootfs-and-initrd-image).

If this still does not work, refer to the
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested rewrite: If you still have compatibility issues after following the previous instructions, refer to the

Comment thread Releases.md Outdated

## Components

A new release will result in all Kata components being given a new [version](#versioning), even if no changes were made to that component since the last version. The version for a release is **identical** for all components.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested rewrite:
A new release results in all Kata components being given a new version, even if there are no changes to that component since the last version.

James O. D. Hunt added 2 commits July 6, 2018 08:54
Update the developer guide and upgrading document to refer to the
"Component version compatibility" section of the Releases doc.

Fixes kata-containers#177.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
Add a title line to the developer guide.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
@jodh-intel jodh-intel force-pushed the component-versions-must-match branch from ddf3b42 to b9144b7 Compare July 6, 2018 07:55
@jodh-intel
Copy link
Copy Markdown
Author

Thanks @klynnrif - branch updated.

Copy link
Copy Markdown

@klynnrif klynnrif left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm - thanks!

@jodh-intel
Copy link
Copy Markdown
Author

@jodh-intel jodh-intel closed this Sep 24, 2018
devimc pushed a commit to devimc/kata-documentation that referenced this pull request Sep 2, 2019
tests: allow rootfs build to fail for specific distros
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants