Skip to content
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

How does a consumer know which versioning scheme is being used? #18

Closed
rgwilton opened this issue Apr 11, 2019 · 8 comments
Closed

How does a consumer know which versioning scheme is being used? #18

rgwilton opened this issue Apr 11, 2019 · 8 comments
Labels
updated-mod-rev-handling Issues related to yang-module-versioning (updated module revision handling draft)

Comments

@rgwilton
Copy link
Collaborator

Could use module tags, or a separate statement with an IANA registry.

@rgwilton rgwilton added the yang-semver-soln Issues that apply to yang-semver (yang semver solution draft) label Apr 11, 2019
@rgwilton
Copy link
Collaborator Author

An alternative choice would be to have different keywords for different version schemes.

@rgwilton
Copy link
Collaborator Author

Possible example discussed in the meeting:

label-scheme "semver"?

import "foo-module" {
revision-label-or-derived "1.0.0";
}

revision "2019-04-01" {
label "1.0.0";
description "now using semver";
}

revision "2019-01-01" {
description "previously published version";
}

@BalazsLengyel
Copy link
Collaborator

IMHO module tags are for categorizing YANG modules, not for describing what internal statements are used, so it would be a misuse.

Also making implementation of module-tags mandatory for supporting the versioning scheme is not nice.

IMHO

  • if we believe there will be a small number of versioning schemes used (1 or 2), we should use a separate statement.
    semver 1.3.5m ;
  • if we believe we will need to add new versioning schemes later on, we should prefix the version string with the used method e.g.
    version "semver:1.4.5M" '

@Reshad-Rahman
Copy link
Collaborator

Agree that making module-tags mandatory isn't great. I think another option which was proposed is along the lines of:
version-scheme semver;
version 1.4.5M;

@BalazsLengyel
Copy link
Collaborator

IMHO it is better to include it in a single statement. The 2 bits belong together.

And using a single statement, if someone, god forbid, wants to include more then one versioning scheme, it would be possible.

@rgwilton rgwilton changed the title How does a consumer know which versioning scheme is being used How does a consumer know which versioning scheme is being used? Jun 4, 2019
@sunseawq
Copy link
Collaborator

How does a consumer know which revision date is being used? I feel the question is similar to the question you raised.

@rgwilton
Copy link
Collaborator Author

Agreed in DT meeting on 19/9.

For revision labels that conform to the YANG Semver format this can automatically be inferred by the format of the label. For all other styles of revision-labels, I think that this is out of scope.

@jsterne
Copy link
Collaborator

jsterne commented Jun 18, 2020

Upon further discussion with the NETMOD WG, it has been decided to add another statement (extension) to declare what versioning scheme is being used. See issue #48.

@jsterne jsterne added updated-mod-rev-handling Issues related to yang-module-versioning (updated module revision handling draft) and removed yang-semver-soln Issues that apply to yang-semver (yang semver solution draft) labels Jun 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
updated-mod-rev-handling Issues related to yang-module-versioning (updated module revision handling draft)
Projects
None yet
Development

No branches or pull requests

5 participants