Added a new yang checker, 'yanglint', to the existing Yang checker class, in addition to the existing 'pyang' checker. Added modal overlay displays showing the yang check results every place the yin/yang symbol is shown (red or green) to indicate the presencee and result of yang checks. Added a Yang Validation: line in the document meta-information section on the document's page in the datatracker. Added the result of the xym extaction to the yang check results, to make extration failures visible. Added the version of the used xym, pyang, and yanglint commands to the check results. Added an action to move successfully extracted and validated modules to the module library directories immediately on submission. Added the xym and pyang repositories as svn:external components, rather than listing them in requirements.txt, as there has been delays of many months between essential features in the repositories, and an actual release. We may get occasional buildbot failures if broken code is pulled in from the repository, but better that than the functionality failure of severely outdated componets. Added a new management command to re-run yang validation for active drafts for which yang modules were found at submission time, in order to pick up imported models which may have arrived in the model libraries after the draft's submission. Run daily from bin/daily. Added a table to hold version information for external commands. The yang checker output should include the version information of the used checkers, but seems unnecessary to run each command with its --version switch every time we check a module... Added a new management command to collect version information for external commands on demand. To be run daily from bin/daily. Added tests to verify that xym, pyang and yanglint information is available on the submission confirmation page, and updated the yang module contained in the test document to validate under both pyang and yanglint. Updated admin.py and resource.py files as needed. - Legacy-Id: 13634
214 lines
5.7 KiB
Plaintext
214 lines
5.7 KiB
Plaintext
|
||
|
||
|
||
|
||
Network Working Group A. Name
|
||
Internet-Draft Test Centre Inc.
|
||
Intended status: Informational %(month)s %(year)s
|
||
Expires: %(expiration)s
|
||
|
||
|
||
Testing Tests
|
||
%(name)s
|
||
|
||
Abstract
|
||
|
||
This document describes how to test tests.
|
||
|
||
Status of This Memo
|
||
|
||
This Internet-Draft is submitted in full conformance with the
|
||
provisions of BCP 78 and BCP 79.
|
||
|
||
Internet-Drafts are working documents of the Internet Engineering
|
||
Task Force (IETF). Note that other groups may also distribute
|
||
working documents as Internet-Drafts. The list of current Internet-
|
||
Drafts is at http://datatracker.ietf.org/drafts/current/.
|
||
|
||
Internet-Drafts are draft documents valid for a maximum of six months
|
||
and may be updated, replaced, or obsoleted by other documents at any
|
||
time. It is inappropriate to use Internet-Drafts as reference
|
||
material or to cite them other than as "work in progress."
|
||
|
||
This Internet-Draft will expire on %(expiration)s.
|
||
|
||
Copyright Notice
|
||
|
||
Copyright (c) %(year)s IETF Trust and the persons identified as the
|
||
document authors. All rights reserved.
|
||
|
||
This document is subject to BCP 78 and the IETF Trust's Legal
|
||
Provisions Relating to IETF Documents
|
||
(http://trustee.ietf.org/license-info) in effect on the date of
|
||
publication of this document. Please review these documents
|
||
carefully, as they describe your rights and restrictions with respect
|
||
to this document. Code Components extracted from this document must
|
||
include Simplified BSD License text as described in Section 4.e of
|
||
the Trust Legal Provisions and are provided without warranty as
|
||
described in the Simplified BSD License.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Name Expires %(expiration)s [Page 1]
|
||
|
||
Internet-Draft Testing Tests %(month)s %(year)s
|
||
|
||
|
||
Table of Contents
|
||
|
||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||
2. Yang . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||
3. JSON example . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 2
|
||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 2
|
||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||
|
||
1. Introduction
|
||
|
||
This document describes a protocol for testing tests.
|
||
|
||
2. Yang
|
||
|
||
<CODE BEGINS> file "ietf-yang-metadata@2016-08-05.yang"
|
||
|
||
module ietf-yang-metadata {
|
||
|
||
namespace "urn:ietf:params:xml:ns:yang:ietf-yang-metadata";
|
||
|
||
prefix "md";
|
||
|
||
organization
|
||
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
|
||
|
||
contact
|
||
"WG Web: <https://datatracker.ietf.org/wg/netmod/>
|
||
|
||
WG List: <mailto:netmod@ietf.org>
|
||
|
||
WG Chair: Lou Berger
|
||
<mailto:lberger@labn.net>
|
||
|
||
WG Chair: Kent Watsen
|
||
<mailto:kwatsen@juniper.net>
|
||
|
||
Editor: Ladislav Lhotka
|
||
<mailto:lhotka@nic.cz>";
|
||
|
||
description
|
||
"This YANG module defines an 'extension' statement that allows
|
||
for defining metadata annotations.
|
||
|
||
Copyright (c) 2016 IETF Trust and the persons identified as
|
||
authors of the code. All rights reserved.
|
||
|
||
Redistribution and use in source and binary forms, with or
|
||
without modification, is permitted pursuant to, and subject to
|
||
the license terms contained in, the Simplified BSD License set
|
||
forth in Section 4.c of the IETF Trust's Legal Provisions
|
||
Relating to IETF Documents
|
||
(http://trustee.ietf.org/license-info).
|
||
|
||
This version of this YANG module is part of RFC 7952
|
||
(http://www.rfc-editor.org/info/rfc7952); see the RFC itself
|
||
for full legal notices.";
|
||
|
||
revision 2016-08-05 {
|
||
description
|
||
"Initial revision.";
|
||
reference
|
||
"RFC 7952: Defining and Using Metadata with YANG";
|
||
}
|
||
|
||
extension annotation {
|
||
argument name;;
|
||
description
|
||
"This extension allows for defining metadata annotations in
|
||
YANG modules. The 'md:annotation' statement can appear only
|
||
at the top level of a YANG module or submodule, i.e., it
|
||
becomes a new alternative in the ABNF production rule for
|
||
'body-stmts' (Section 14 in RFC 7950).
|
||
|
||
The argument of the 'md:annotation' statement defines the name
|
||
of the annotation. Syntactically, it is a YANG identifier as
|
||
defined in Section 6.2 of RFC 7950.
|
||
|
||
An annotation defined with this 'extension' statement inherits
|
||
the namespace and other context from the YANG module in which
|
||
it is defined.
|
||
|
||
The data type of the annotation value is specified in the same
|
||
way as for a leaf data node using the 'type' statement.
|
||
|
||
The semantics of the annotation and other documentation can be
|
||
specified using the following standard YANG substatements (all
|
||
are optional): 'description', 'if-feature', 'reference',
|
||
'status', and 'units'.
|
||
|
||
A server announces support for a particular annotation by
|
||
including the module in which the annotation is defined among
|
||
the advertised YANG modules, e.g., in a NETCONF <hello>
|
||
message or in the YANG library (RFC 7950). The annotation can
|
||
then be attached to any instance of a data node defined in any
|
||
YANG module that is advertised by the server.
|
||
|
||
XML encoding and JSON encoding of annotations are defined in
|
||
RFC 7952.";
|
||
}
|
||
}
|
||
|
||
<CODE ENDS>
|
||
|
||
3. JSON example
|
||
|
||
The JSON object should look like this:
|
||
|
||
{
|
||
"test": 1234
|
||
}
|
||
|
||
4. Security Considerations
|
||
|
||
There are none.
|
||
|
||
5. IANA Considerations
|
||
|
||
No new registrations for IANA.
|
||
|
||
Author's Address
|
||
|
||
Author Name
|
||
Test Centre Inc.
|
||
42 Some Road
|
||
Some Where 12345
|
||
UK
|
||
|
||
Email: author@example.com
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Name Expires %(expiration)s [Page 2]
|