- Notifications
You must be signed in to change notification settings - Fork1.2k
YANG modules from standards organizations such as the IETF, The IEEE, The Metro Ethernet Forum, open source such as Open Daylight or vendor specific modules
YangModels/yang
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
- YANG
- Contribution Procedures
- Slack Group and Channels
- Models Directory Structure
- License Notes
- Code of Conduct
This repository contains a collection of YANG modules:
- IETF standards-track YANG modules
- IEEE experimental YANG modules
- ETSI standard YANG modules
- MEF standard YANG modules
- Broadband Forum standard YANG modules
- Vendor-specific YANG modules
This is the preferred method of contribution. With this approach you pick where your models will reside in the directory hierarchy, and manage the files mainly in your own fork of the main repository, submitting a pull request when you wish to make public updated models. All push requests must be reviewed by at least one of the repository's Committers, so when pushing a PR, please assign it to one of the committers.
You can find a tutorial here for how to do push requests. Note that there are at least two different approaches to how to do Pull Requests: using a shell/commandline or using the web interface, so if you do not find what you need below, look elsewhere or ask the committers for pointers.
https://yangsu.github.io/pull-request-tutorial/
By convention, there should also be acheck.sh script provided by the contributors, which should be referenced from thecomplete_check.yml file for CI builds. Multiple examples are already in place to copy and modify as required.
Standards bodies or vendors may also provide models to the main repository via a git submodule. Examples of this can be see understandard directory, with the BBF and MEF submodules. By convention, if a submodule is used, there should also be an equivalentcheck.sh provided by the contributors, which should be referenced from thecomplete_check.yml file for CI builds. An example of this may be foundin the BBF's submodule, and a sample invocationhere.
Direct contributions to the top level of the repository are not encouraged; instead each "organization" should create a top-level folder as described above.
- Create a fork ofhttps://github.com/YangModels/yang
- Enable Github Actions on your fork in the Actions tab
- Add your source git repository as a submodule to your fork:
- Clone your fork
- cd into vendor or standards directory (depending on the source of your models)
git submodule add https://github.com/<owner>/<repository>.git <name>
- Add appropriate entry to the
complete_check.ymlfile to check your models. - Note: this requires a call to a
check.shscript provided by the contributors, which should be referenced from thecomplete_check.ymlfile for CI builds. Multiple examples are already in place to copy and modify as required, but in general, one is present at the top-most level of each major submodule area. - Commit changes to your fork
- Test the Github Actions CI run of your fork as well as test it by running the testall.sh script from the top level directory.
After you've verified that the submodule addition and module checking is working ok, submit a PR to the main repository. This will take the latest commit from your repository and make it available as a submodule.
Subsequently, when an updated set of models needs to be released, fork, clone, update submodule, commit and submit PR, also ensuring that Github Actions are again enabled on your fork to allow pre-pull request checks.
All Pull Requests must be reviewed and as such one of the repository's Committers must review the request prior to actually committing the request. Changes may be suggested during this process, so patience is requested during this process.
In general, pull requests will not be accepted withoutcheck.sh scripts being in place and a clean Github Actions CI build being achieved. As can be seen from existing check scipts, all of which usepyang today, the bar is set fairly low. The minimum requirement is that the models contributed compile correctly such thatpyang plugins such as the tree plugin will function correctly, and the schema tree is available for interrogation and tasks such as code generation.
As noted above, the check scripts today depend onpyang, and, as of writing, this tool does not support validation of content such as regular expressions or XPath constraints.As such, models available in this repository may not be accepted by tools that perform more complete semantic validation. An example of such a tool is the OpenDaylight controller.
To Subscribe and Browse Click Here
The following directories are maintained for YANG models [license note in brackets]:
- yang/experimental: contains experimental YANG modules [any]
- yang/experimental/ietf: experimental modules intended for IETF submission [1]
- yang/experimental/odp: experimental modules intended for OpenDaylight submission [2]
- yang/standard: contains standards-track YANG modules [any]
- yang/standard/ieee: standard modules (published or drafts) intended for IEEE submission [3]
- yang/standard/ietf: standard IETF YANG modules [1]
- yang/standard/ietf/DRAFT: work-in-progress IETF YANG modules [1]
- yang/standard/ietf/RFC: completed IETF YANG modules [1]
- yang/standard/odp: published modules for OpenDaylight [2]
- yang/standard/bbf/draft: draft Broadband Forum YANG modules [6]
- yang/standard/bbf/standard: standard Broadband Forum YANG modules [6]
- yang/vendor: contains vendor-specific YANG modules [any]
- yang/vendor/cisco: Cisco YANG modules [4]
- yang/vendor/netconfcentral: Netconf Central YANG modules [4]
- yang/vendor/yumaworks: YumaWorks YANG modules [4]
[1] IETF Trust License (Note Well):
- All files contained within this sub-directory are considered to be IETF Contributions.
- All issues entered into the trouble ticket system for this directory are considered to be IETF Contributions.
- All pull requests submitted for this directory are considered to be IETF Contributions.
- All IETF Contributions are submitted under the terms of theIETF Note Well statement
- All IETF Contributions are subject to the requirements and provisions ofBCP 78 andBCP 79.
[2] OpenDaylight Eclipse License:
- All files contained within this sub-directory are provided under the terms of theEclipse Public License:
[3] IEEE License:
- All files contained within this sub-directory are considered to be intended as IEEE Contributions.
- All issues entered into the trouble ticket system for this directory are considered to be intended as IEEE Contributions.
- All pull requests submitted for this directory are considered to be intended as IEEE Contributions.
- All contributions to IEEE standards development (whether for an individual or entity standard) shall meet the requirements outlined in theIEEE-SA Copyright Policy
- Copyright release for YANG modules: Users may freely reproduce the YANG modules contained under /standard/ieee/ so that they can be used for their intended purpose.
[4] Vendor Specific License:
- All files contained within this sub-directory are provided under the terms of a license specified by the vendor that owns the YANG modules.
[5] Warrantees and Conditions
- Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
[6] Broadband Forum License:
- All files contained within this sub-directory are provided under the terms of the Broadband Forum Software license (see Appendix C, Section 3, ofhttps://www.broadband-forum.org/ipr-policy).
The Yang Models Repository followsThe CNCF Code of Conduct.
About
YANG modules from standards organizations such as the IETF, The IEEE, The Metro Ethernet Forum, open source such as Open Daylight or vendor specific modules
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.