Commit 8fe8b172 authored by Yann Garcia's avatar Yann Garcia
Browse files

Add Yang models

parent 6d0f0aee
Loading
Loading
Loading
Loading

Reference.txt

0 → 100644
+13 −0
Original line number Diff line number Diff line
          +==========+=========================+===============================+
          | Prefix   | YANG Module             |           Reference           |
          +==========+=========================+===============================+
          | mwt      | ietf-microwave-topology | draft-ietf-ccamp-mw-topo-yang |
          +----------+-------------------------+-------------------------------+
          | nw       | ietf-network            |         [RFC8345]             |
          +----------+-------------------------+-------------------------------+
          | nt       | ietf-network-topology   |         [RFC8345]             |
          +----------+-------------------------+-------------------------------+
          | mw-types | ietf-microwave-types    |         [RFC8561]             |
          +----------+-------------------------+-------------------------------+
          | tet      | ietf-te-topology        |         [RFC8795]             |
          +----------+-------------------------+-------------------------------+
 No newline at end of file
+396 −0
Original line number Diff line number Diff line
Package AtsMDSC {

    Group "mdsc" {

        import all from mWT_Common;

        Group "Blackbox" {

            Group "MWTopology" {

                import all from mWT_Common;

                Test Purpose {
                    TP Id TP_mWT_MDSC_MW_TOPO_GET_BV_01

                    Test objective
                        "Verify that the IUT replies with an error code when requesting microwave topology inventory in case of black box abstraction level."

                    Reference
                        "ETSI GS mWT 024 Clause 4.3.2.1 Definition - point 1",
                        "RFC 8345"

                    PICS Selection IUT_MDSC and ABSTRACT_BB and MW_TOPO

                    Initial conditions  with {
                        the IUT entity is idle
                    }

                    Expected behaviour
                    ensure that {
                        when {
                            the IUT entity receives a vRequestGet containing
                                uri indicating value "/restconf/data/ietf-microwave-topology";
                            from the TEST_SYSTEM entity
                        } then {
                            the IUT entity sends a r400
                            to the TEST_SYSTEM entity
                        }
                    }
                }

            } // End of Group "MWTopology"

            Group "EthernetTopology" {

                import all from mWT_Common;

                Test Purpose {
                    TP Id TP_mWT_MDSC_ETH_TOPO_GET_BV_01

                    Test objective
                        "Verify that the IUT provides the list of available network when requested."

                    Reference
                        "ETSI GS mWT 024 Clause 4.3.2 AL1: Abstraction Level 1 - Black-box",
                        "RFC 8345"

                    Config Id Config_mWT_1

                    PICS Selection IUT_MDSC and ABSTRACT_BB and ETH_TOPO

                    Initial conditions  with {
                        the IUT entity is idle
                    }

                    Expected behaviour
                    ensure that {
                        when {
                            the IUT entity receives a vRequestGet containing
                                uri indicating value "/restconf/data/ietf-te-topology";
                            from the TEST_SYSTEM entity
                        } then {
                            the IUT entity sends a r200 containing
                                body containing
                                    networks containing
                                        network_id1 containing
                                            network_types containing
                                                supporting_network containing
                                                    network_ref indicating value NETWORK_REFS;,
                                                node containing
                                                    node_id indicating value NODE_ID,
                                                    supporting_node containing
                                                        network_ref indicating value NETWORK_NODE_REFS,
                                                        node_ref indicating value  NODE_REFS
                            ;;;;;;;
                            to the TEST_SYSTEM entity
                        }
                    }
                } // End of TP Id TP_mWT_MDSC_TOPO_GET_BV_01

            } // End of Group "EthernetTopology"

        } // End of Group "Blackbox"

        Group "PartiallyTransparent" {

        } // End of Group "PartiallyTransparent"

    } // End of Group "mdsc"

    Group "pnc" {

        Group "RESTCONF" {

            import all from mWT_Common;

            Test Purpose {
                TP Id TP_mWT_PNC_RESTCONF_GET_BV_01

                Test objective
                    "Verify that the IUT supports RESTCONF API request."

                Reference
                    "ETSI GS mWT 024 Clause 5.2.1 RESTCONF Protocol",
                    "RFC 8040 RESTCONF Protocol",
                    "RFC 8525 YANG Library"

                Config Id Config_mWT_2

                PICS Selection IUT_PNC and RESTCONF and SEC_TLS

                Initial conditions  with {
                    the IUT entity is idle
                }

                Expected behaviour
                ensure that {
                    when {
                        the IUT entity receives a vRequestGet containing
                            uri indicating value "/restconf/data/ietf-yang-library:modules-state";
                        from the TEST_SYSTEM entity
                    } then {
                        the IUT entity sends a r200 containing
                            headers containing
                                content_type indicating value "application/yang-data+xml";,
                            body containing
                                modules_state containing
                                    name_ indicating value "ietf-yang-library:modules-state",
                                    modules containing
                                        non empty list;;;;
                        to the TEST_SYSTEM entity
                    }
                }
            }

            Test Purpose {
                TP Id TP_mWT_PNC_RESTCONF_GET_BV_02

                Test objective
                    "Verify that the IUT supports the basic YANG data models."

                Reference
                    "ETSI GS mWT 024 Clause 5.2.2.1 YANG Version"

                Config Id Config_mWT_2

                PICS Selection IUT_PNC and RESTCONF and SEC_TLS

                Initial conditions  with {
                    the IUT entity is idle
                }

                Expected behaviour
                ensure that {
                    when {
                        the IUT entity receives a vRequestGet containing
                            uri indicating value "/restconf/data/ietf-yang-library:modules-state";
                        from the TEST_SYSTEM entity
                    } then {
                        the IUT entity sends a r200 containing
                            headers containing
                                content_type indicating value "application/yang-data+xml";,
                            body containing
                                modules_state containing
                                    name_ indicating value "ietf-yang-library:modules-state",
                                    modules containing
                                        entry containing
                                            name_ indicating value "ietf-datastores",
                                            revision indicating value "2018-02-14",
                                            schema indicating value "https://localhost:443/restconf/data/modules/ietf-datastores/2018-02-14",
                                            namespace indicating value "urn:ietf:params:xml:ns:yang:ietf-datastores",
                                            conformance_type indicating value "import";,
                                        entry containing
                                            name_ indicating value "ietf-inet-types",
                                            revision indicating value "2013-07-15",
                                            schema indicating value "https://localhost:443/restconf/data/modules/ietf-inet-types/2013-07-15",
                                            namespace indicating value "urn:ietf:params:xml:ns:yang:ietf-inet-types",
                                            conformance_type indicating value "import";,
                                        entry containing
                                            name_ indicating value "ietf-interfaces",
                                            revision indicating value "2018-02-20",
                                            schema indicating value "https://localhost:443/restconf/data/modules/ietf-interfaces/2018-02-20",
                                            namespace indicating value "urn:ietf:params:xml:ns:yang:ietf-interfaces",
                                            conformance_type indicating value "import",
                                        entry containing
                                            name_ indicating value "ietf-ip",
                                            revision indicating value "2018-02-22",
                                            schema indicating value "https://localhost:443/restconf/data/modules/ietf-ip/2018-02-22",
                                            namespace indicating value "urn:ietf:params:xml:ns:yang:ietf-ip",
                                            conformance_type indicating value "import";,
                                        entry containing
                                            name_ indicating value "ietf-network-instance",
                                            revision indicating value "2019-01-21",
                                            schema indicating value "https://localhost:443/restconf/data/modules/ietf-network-instance/2019-01-21",
                                            namespace indicating value "urn:ietf:params:xml:ns:yang:ietf-network-instance",
                                            conformance_type indicating value "import";,
                                        entry containing
                                            name_ indicating value "ietf-restconf",
                                            revision indicating value "2017-01-26",
                                            schema indicating value "https://localhost:443/restconf/data/modules/ietf-restconf/2017-01-26",
                                            namespace indicating value "urn:ietf:params:xml:ns:yang:ietf-restconf",
                                            conformance_type indicating value "implement";,
                                        entry containing
                                            name_ indicating value "ietf-yang-types",
                                            revision indicating value "2013-07-15",
                                            schema indicating value "https://localhost:443/restconf/data/modules/ietf-restconf/2017-01-26",
                                            namespace indicating value "urn:ietf:params:xml:ns:yang:ietf-restconf",
                                            conformance_type indicating value "import";,
                                        entry containing
                                            name_ indicating value "ietf-yang-library",
                                            revision indicating value "2019-01-04",
                                            schema indicating value "https://localhost:443/restconf/data/modules/ietf-yang-types/2013-07-15",
                                            namespace indicating value "urn:ietf:params:xml:ns:yang:ietf-yang-types",
                                            conformance_type indicating value "implement";;;;;;
                        to the TEST_SYSTEM entity
                    }
                }
            }

            Test Purpose {
                TP Id TP_mWT_PNC_RESTCONF_GET_BV_03

                Test objective
                    "Verify that the IUT provides the list of supported mWT GS 024 YANG data models."

                Reference
                    "ETSI GS mWT 024 Clause 5.2.2.2 Common YANG data models",
                    "ETSI GS mWT 024 Clause 5.2.2.3 YANG Data Models at the Microwave MPI",
                    "ETSI GS mWT 024 Clause 5.2.2.4 Hierarchical relationship among YANG data models"

                Config Id Config_mWT_2

                PICS Selection IUT_PNC and RESTCONF and SEC_TLS

                Initial conditions  with {
                    the IUT entity is idle
                }

                Expected behaviour
                ensure that {
                    when {
                        the IUT entity receives a vRequestGet containing
                            uri indicating value "/restconf/data/ietf-yang-library:modules-state";
                        from the TEST_SYSTEM entity
                    } then {
                        the IUT entity sends a r200 containing
                            body containing
                                modules_state containing
                                    modules containing
                                        entry containing
                                            name_ indicating value "ietf-microwave-topology",
                                            revision indicating value "2021-10-12",
                                            schema indicating value "draft-ietf-ccamp-mw-topo-yang-02",
                                            namespace indicating value "",
                                            conformance_type indicating value "implement";,
                                        entry containing
                                            name_ indicating value "ietf-eth-te-topology",
                                            revision indicating value "2019-11-18",
                                            schema indicating value "draft-ietf-ccamp-eth-client-te-topo-yang-01",
                                            namespace indicating value "",
                                            conformance_type indicating value "implement";,
                                        entry containing
                                            name_ indicating value "idraft-ietf-ccamp-client-signal-yang-06",
                                            revision indicating value "",
                                            schema indicating value "draft-ietf-ccamp-client-signal-yang-06",
                                            namespace indicating value "",
                                            conformance_type indicating value "";;;;;
                        to the TEST_SYSTEM entity
                    }
                }
            }

        } // End of Group Group "RESTCONF"

        Group "Blackbox" {

            Group "MWTopology" {

                import all from mWT_Common;

                Test Purpose {
                    TP Id TP_mWT_PNC_MW_TOPO_GET_BV_01

                    Test objective
                        "Verify that the IUT provides the MW network topology for all networks with mandatory mWT GC 024 data elements subset - black box abstraction level."

                    Reference
                        "ETSI GS mWT 024 Annex A.2.2",
                        "RFC 8345 A YANG Data Model for Network Topologies",
                        "RFC 8795 YANG Data Model for Traffic Engineering (TE) Topologies",
                        "draft-ietf-ccamp-mw-topo-yang-02 A YANG Data Model for Microwave Topology"

                    Config Id Config_mWT_2

                    PICS Selection IUT_PNC and RESTCONF and SEC_TLS and ABSTRACT_BB and MW_TOPO

                    Initial conditions  with {
                        the IUT entity is idle and
                        the IUT entity having discovered several MW ethernet networks topologies
                    }

                    Expected behaviour
                    ensure that {
                        when {
                            the IUT entity receives a vRequestGet containing
                                uri indicating value "/restconf/data/ietf-microwave-topology/networks";
                            from the TEST_SYSTEM entity
                        } then {
                            the IUT entity sends a r200 containing
                            headers containing
                                content_type indicating value "application/yang-data+xml";,
                            body containing
                                networks containing
                                    networksList containing
                                        name_ indicating value any_value,
                                        networks containing
                                            
                                            network_id indicating value any_value,
                                            network_types containing
                                                te_topology indicating value any_value
                                                mw_topology containing 
                                                ;,
                                            node_id indicating value any_value,
                                            termination_points indicating value any_value,
                                            links indicating value any_value
                            ;;;;;
                            to the TEST_SYSTEM entity
                        }
                    }
                }

                Test Purpose {
                    TP Id TP_mWT_PNC_MW_TOPO_GET_BV_02

                    Test objective
                        "Verify that the IUT provides the ethernet network topology for a specific network with mandatory mWT GC 024 data elements subset - black box abstraction level."

                    Reference
                        "ETSI GS mWT 024 Annex A.1.2",
                        "RFC 8345 A YANG Data Model for Network Topologies",
                        "RFC 8795 YANG Data Model for Traffic Engineering (TE) Topologies"

                    Config Id Config_mWT_2

                    PICS Selection IUT_MDSC and ABSTRACT_BB and MW_TOPO

                    Initial conditions  with {
                        the IUT entity is idle and
                        the IUT entity having discovered a network topology NET_TOPO
                    }

                    Expected behaviour
                    ensure that {
                        when {
                            the IUT entity receives a vRequestGet containing
                                uri indicating value "/restconf/data/ietf-network:networks/network={NETWORK_ID)";
                            from the TEST_SYSTEM entity
                        } then {
                            the IUT entity sends a r200 containing
                            headers containing
                                content_type indicating value "application/yang-data+xml";,
                            body containing
                                networks containing
                                    network_id indicating value NETWORK_ID,
                                    network_types containing
                                        te_topology indicating value any_value;,
                                    node_id indicating value any_value,
                                    termination_points indicating value any_value,
                                    links indicating value any_value
                            ;;;
                            to the TEST_SYSTEM entity
                        }
                    }
                }

            } // End of Group "MWTopology"

        } // End of Group "Blackbox"

        Group "PartiallyTransparent" {

        } // End of Group "PartiallyTransparent"

    } // End of Group "pnc"

} // End of Package AtsMDSC
 No newline at end of file
+25 −0
Original line number Diff line number Diff line
// RFC xxx
Package ietf_inet_types {

    Data {

        // RFC xxx
        type ip_version;      // InetVersion (INET_ADDRESS_MIB)
        type dscp;            // Dscp (DIFFSERV_DSCP_TC)
        type ipv6_flow_label; // IPv6FlowLabel (IPV6_FLOW_LABEL_MIB)
        type port_number;     // InetPortNumber (INET_ADDRESS_MIB)
        type ip_address;
        type ipv4_address;
        type ipv6_address;
        type ip_address_no_zone;
        type ipv4_address_no_zone;
        type ipv6_address_no_zone;
        type ip_prefix;
        type ipv4_prefix;
        type ipv6_prefix;
        type domain_name;
        type host;
        type uri;
     }

}
 No newline at end of file
+8 −0
Original line number Diff line number Diff line
// RFC 8561
Package ietf_microwave_topology { // mwt

    Data {
         type Mw_Topology;
    }

}
 No newline at end of file
+56 −0
Original line number Diff line number Diff line
// RFC 8345
Package ietf_networks_topology { // nt

    import all from ietf_yang_types;
    import all from ietf_inet_types;
    import all from ietf_te_types;
    import all from ietf_yang_library;
    
    import all from ietf_microwave_topology;
    import all from ietf_te_topology;

    Data {

        // RFC 8345 Clause 4.1.  Base Network Model
        type Networks with // ietf-network
            networksList of type NetworksList
        ;

        type NetworksList; // FIXME Collection of Network

        type Network with
            network_id of type uri,
            network_types of type NetworkTypes,
            supporting_network of type SupportingNetworkList
        ;

        type NetworkTypes with
            optional te_topology of type Te_Topology,
            optional mw_topology of type Mw_Topology
        ;

        type NodesList; // FIXME Collection of Node

        type Node with
            node_id of type string,
            termination_point of type TerminationPointList
        ;





        type SupportingNetworkList; // FIXME Collection of SupportingNetwork

        type SupportingNetwork with
            network_ref of type uri // /nw:networks/nw:network/nw:network-id
        ;

        type SupportingNodeList with
            network_ref of type string // /networks/network/network-id
        ;

        // String declaration
        string "/restconf/data/ietf-network/networks";
    }
}
 No newline at end of file
Loading