Bug 4507 20/28820/2
authorDaniel Malachovsky <[email protected]>
Mon, 26 Oct 2015 20:34:11 +0000 (21:34 +0100)
committerDaniel Malachovsky <[email protected]>
Tue, 27 Oct 2015 15:10:31 +0000 (16:10 +0100)
 - Fixed script generating YIN files from Yang modules in the project.
 - added empty yang2xml folder
 - fixed many of the JS errors
 - deleted unnecessary files

 - more info @ https://bugs.opendaylight.org/show_bug.cgi?id=4507

Change-Id: I92892893e8955961c7f574b62296322bcf92c18b
Signed-off-by: Daniel Malachovsky <[email protected]>
sfc-ui/convert_yang_to_xml.sh
sfc-ui/module/src/main/resources/sfc/assets/yang2xml/.gitignore [new file with mode: 0644]
sfc-ui/module/src/main/resources/sfc/servicefunction/servicefunction.create.tpl.html
sfc-ui/module/src/main/resources/sfc/sfc.directives.js
sfc-ui/src/main/resources/pages/assets/yang2xml/ietf-access-control-list.yang.xml [deleted file]
sfc-ui/src/main/resources/pages/assets/yang2xml/ietf-packet-fields.yang.xml [deleted file]

index 7ea4361d5c54b877ef97db6f834f73df98c039e7..c40c113cde0c0b63414f613312e1fdd3b413bf0a 100755 (executable)
@@ -6,5 +6,5 @@ for filePath in $FILES
 do
   fileName=${filePath##*/}
   echo "Converting $filePath file to ${fileName}.xml"
-  pyang $filePath --ignore-errors -f yin -o module/src/main/resources/sfc/assets/yang2xml/${fileName}.xml
+  pyang $filePath -f yin -o module/src/main/resources/sfc/assets/yang2xml/${fileName}.xml
 done
\ No newline at end of file
diff --git a/sfc-ui/module/src/main/resources/sfc/assets/yang2xml/.gitignore b/sfc-ui/module/src/main/resources/sfc/assets/yang2xml/.gitignore
new file mode 100644 (file)
index 0000000..86d0cb2
--- /dev/null
@@ -0,0 +1,4 @@
+# Ignore everything in this directory
+*
+# Except this file
+!.gitignore
\ No newline at end of file
index 40d85682020636606bdf42b9df17e34813faf63a..b44d43d3b10cf667528c736b64f75ccbfa9cf904 100644 (file)
@@ -1,4 +1,4 @@
-<form role="form" id="createForm" name="createForm">
+<form role="form" id="createForm" name="createForm" novalidate>
 
     <div class="col-md-12" style="padding: 0">
         <div class="col-md-6 form-horizontal">
index a515893b891b909a65492f24d53bf7778fb98dcf..7257a844ada6bdaf22d2994c176aa79d1593e0a1 100644 (file)
@@ -7,7 +7,7 @@ define(['app/sfc/sfc.module'], function (sfc) {
       scope: {},  // for watch need isolated scope - specialy for destroying the watch
       link: function (scope, el, attrs, formCtrl) {
         // wait for initial model update & interpolation
-        //$timeout(function () {
+        $timeout(function () {
           // find the text box element, which has the 'name' attribute
           var inputEl = el[0].querySelector("[name]");
           // convert the native text box element to an angular element
@@ -23,7 +23,7 @@ define(['app/sfc/sfc.module'], function (sfc) {
             el.toggleClass('has-error', newVal);
           });
 
-        //}, 500);
+        }, 500);
 
         // only apply the has-error class after the user leaves the text box
 //        inputNgEl.bind('change', function () {
diff --git a/sfc-ui/src/main/resources/pages/assets/yang2xml/ietf-access-control-list.yang.xml b/sfc-ui/src/main/resources/pages/assets/yang2xml/ietf-access-control-list.yang.xml
deleted file mode 100644 (file)
index a3a22c9..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module name="ietf-access-control-list"
-        xmlns="urn:ietf:params:xml:ns:yang:yin:1"
-        xmlns:acl="urn:ietf:params:xml:ns:yang:ietf-access-control-list"
-        xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types">
-  <yang-version value="1"/>
-  <namespace uri="urn:ietf:params:xml:ns:yang:ietf-access-control-list"/>
-  <prefix value="acl"/>
-  <import module="ietf-yang-types">
-    <prefix value="yang"/>
-  </import>
-  <import module="ietf-packet-fields">
-    <prefix value="packet-fields"/>
-  </import>
-  <organization>
-    <text>IETF NETMOD (NETCONF Data Modeling Language)
-Working Group</text>
-  </organization>
-  <contact>
-    <text>WG Web: http://tools.ietf.org/wg/netmod/
-WG List: [email protected]
-WG Chair: Juergen Schoenwaelder
-WG Chair: Tom Nadeau
-Editor: Dean Bogdanovic
-Editor: Kiran Agrahara Sreenivasa
-Editor: Lisa Huang
-Editor: Dana Blair
-  </contact>
-  <description>
-    <text>This YANG module defines a component that describing the
-configuration of Access Control Lists (ACLs).
-Copyright (c) 2015 IETF Trust and the persons identified as
-the document authors.  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 XXXX; see
-the RFC itself for full legal notices.</text>
-  </description>
-  <revision date="2015-03-17">
-    <description>
-      <text>Base model for Network Access Control List (ACL).</text>
-    </description>
-    <reference>
-      <text>RFC XXXX: Network Access Control List (ACL)
-YANG Data  Model</text>
-    </reference>
-  </revision>
-  <identity name="acl-base">
-    <description>
-      <text>Base Access Control List type for all Access Control List type
-identifiers.</text>
-    </description>
-  </identity>
-  <identity name="ip-acl">
-    <base name="acl:acl-base"/>
-    <description>
-      <text>IP Access Control List is a common name for lists that contain
-layer 3 and/or layer 4 match conditions.</text>
-    </description>
-  </identity>
-  <identity name="eth-acl">
-    <base name="acl:acl-base"/>
-    <description>
-      <text>Ethernet Access Control List is name for layer 2 Ethernet
-technology Access Control List types, like 10/100/1000baseT or
-WiFi Access Control List</text>
-    </description>
-  </identity>
-  <typedef name="acl-type">
-    <type name="identityref">
-      <base name="acl-base"/>
-    </type>
-    <description>
-      <text>This type is used to refer to an Access Control List
-(ACL) type</text>
-    </description>
-  </typedef>
-  <typedef name="access-control-list-ref">
-    <type name="leafref">
-      <path value="/access-lists/acl/acl-name"/>
-    </type>
-    <description>
-      <text>This type is used by data models that need to reference an
-Access Control List</text>
-    </description>
-  </typedef>
-  <container name="access-lists">
-    <description>
-      <text>This is a top level container for Access Control Lists.
-It can have one or more Access Control Lists.</text>
-    </description>
-    <list name="acl">
-      <key value="acl-name"/>
-      <description>
-        <text>An Access Control List(ACL) is an ordered list of
-Access List Entries (ACE). Each Access Control Entry has a
-list of match criteria and a list of actions.
-Since there are several kinds of Access Control Lists
-implemented with different attributes for
-different vendors, this
-model accommodates customizing Access Control Lists for
-each kind and for each vendor.</text>
-      </description>
-      <container name="acl-oper-data">
-        <config value="false"/>
-        <description>
-          <text>Overall Access Control List operational data</text>
-        </description>
-      </container>
-      <container name="access-list-entries">
-        <description>
-          <text>The access-list-entries container contains
-a list of access-list-entries(ACE).</text>
-        </description>
-        <list name="ace">
-          <key value="rule-name"/>
-          <ordered-by value="user"/>
-          <description>
-            <text>List of access list entries(ACE)</text>
-          </description>
-          <container name="matches">
-            <description>
-              <text>Definitions for match criteria for this Access List
-Entry.</text>
-            </description>
-            <choice name="ace-type">
-              <description>
-                <text>Type of access list entry.</text>
-              </description>
-              <case name="ace-ip">
-                <description>
-                  <text>IP Access List Entry.</text>
-                </description>
-                <choice name="ace-ip-version">
-                  <description>
-                    <text>IP version used in this Acess List Entry.</text>
-                  </description>
-                  <case name="ace-ipv4">
-                    <uses name="packet-fields:acl-ipv4-header-fields"/>
-                  </case>
-                  <case name="ace-ipv6">
-                    <uses name="packet-fields:acl-ipv6-header-fields"/>
-                  </case>
-                </choice>
-                <uses name="packet-fields:acl-ip-header-fields"/>
-              </case>
-              <case name="ace-eth">
-                <description>
-                  <text>Ethernet Access List entry.</text>
-                </description>
-                <uses name="packet-fields:acl-eth-header-fields"/>
-              </case>
-            </choice>
-            <uses name="packet-fields:metadata"/>
-          </container>
-          <container name="actions">
-            <description>
-              <text>Definitions of action criteria for this Access List
-Entry.</text>
-            </description>
-            <choice name="packet-handling">
-              <default value="deny"/>
-              <description>
-                <text>Packet handling action.</text>
-              </description>
-              <case name="deny">
-                <leaf name="deny">
-                  <type name="empty"/>
-                  <description>
-                    <text>Deny action.</text>
-                  </description>
-                </leaf>
-              </case>
-              <case name="permit">
-                <leaf name="permit">
-                  <type name="empty"/>
-                  <description>
-                    <text>Permit action.</text>
-                  </description>
-                </leaf>
-              </case>
-            </choice>
-          </container>
-          <container name="ace-oper-data">
-            <config value="false"/>
-            <description>
-              <text>Operational data for this Access List Entry.</text>
-            </description>
-            <leaf name="match-counter">
-              <type name="yang:counter64"/>
-              <description>
-                <text>Number of matches for this Access List Entry</text>
-              </description>
-            </leaf>
-          </container>
-          <leaf name="rule-name">
-            <type name="string"/>
-            <description>
-              <text>A unique name identifying this Access List
-Entry(ACE).</text>
-            </description>
-          </leaf>
-        </list>
-      </container>
-      <leaf name="acl-name">
-        <type name="string"/>
-        <description>
-          <text>The name of access-list. A device MAY restrict the length
-and value of this name, possibly space and special
-characters are not allowed.</text>
-        </description>
-      </leaf>
-      <leaf name="acl-type">
-        <type name="acl-type"/>
-        <description>
-          <text>It is recommended to have an Access Control List with
-uniform access list entries, all of the same type. When
-this type is not explicitly specified, if vendor
-implementation permits, the access control entries
-in the list can be mixed,
-by containing L2, L3 and L4 entries</text>
-        </description>
-      </leaf>
-    </list>
-  </container>
-  <container name="access-lists-state">
-    <description>
-      <text>This container hold operational state for all access lists</text>
-    </description>
-    <config value="false"/>
-    <list name="access-list-state">
-      <description>
-        <text>This list holds operational data for all access lists
-in the domain</text>
-      </description>
-      <key value="acl-name"/>
-      <leaf name="acl-name">
-        <type name="string"/>
-        <description>
-          <text>The name of the acl</text>
-        </description>
-      </leaf>
-      <list name="acl-service-function-classifier">
-        <key value="name"/>
-        <leaf name="name">
-          <type name="string"/>
-          <description>
-            <text>The name of the classifier</text>
-          </description>
-        </leaf>
-        <description>
-          <text>A list of all classifiers that use rules from this access list</text>
-        </description>
-      </list>
-    </list>
-  </container>
-</module>
diff --git a/sfc-ui/src/main/resources/pages/assets/yang2xml/ietf-packet-fields.yang.xml b/sfc-ui/src/main/resources/pages/assets/yang2xml/ietf-packet-fields.yang.xml
deleted file mode 100644 (file)
index d120b78..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module name="ietf-packet-fields"
-        xmlns="urn:ietf:params:xml:ns:yang:yin:1"
-        xmlns:packet-fields="urn:ietf:params:xml:ns:yang:ietf-packet-fields"
-        xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types"
-        xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types">
-  <yang-version value="1"/>
-  <namespace uri="urn:ietf:params:xml:ns:yang:ietf-packet-fields"/>
-  <prefix value="packet-fields"/>
-  <import module="ietf-inet-types">
-    <prefix value="inet"/>
-  </import>
-  <import module="ietf-yang-types">
-    <prefix value="yang"/>
-  </import>
-  <organization>
-    <text>IETF NETMOD (NETCONF Data Modeling Language) Working
-Group</text>
-  </organization>
-  <contact>
-    <text>WG Web: http://tools.ietf.org/wg/netmod/
-WG List: [email protected]
-WG Chair: Juergen Schoenwaelder
-WG Chair: Tom Nadeau
-Editor: Dean Bogdanovic
-Editor: Kiran Agrahara Sreenivasa
-Editor: Lisa Huang
-Editor: Dana Blair
-  </contact>
-  <description>
-    <text>This YANG module defines groupings that are used by
-ietf-access-control-list YANG module. Their usage is not
-limited to ietf-access-control-list and can be
-used anywhere as applicable.
-Copyright (c) 2015 IETF Trust and the persons identified as
-the document authors.  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 XXXX; see
-the RFC itself for full legal notices.</text>
-  </description>
-  <revision date="2015-06-11">
-    <description>
-      <text>Initial version of packet fields used by
-ietf-access-control-list</text>
-    </description>
-    <reference>
-      <text>RFC XXXX: Network Access Control List (ACL)
-YANG Data  Model</text>
-    </reference>
-  </revision>
-  <grouping name="acl-transport-header-fields">
-    <description>
-      <text>Transport header fields</text>
-    </description>
-    <container name="source-port-range">
-      <description>
-        <text>Inclusive range representing source ports to be used.
-When only lower-port is present, it represents a single port.</text>
-      </description>
-      <leaf name="lower-port">
-        <type name="inet:port-number"/>
-        <mandatory value="true"/>
-        <description>
-          <text>Lower boundary for port.</text>
-        </description>
-      </leaf>
-      <leaf name="upper-port">
-        <must condition=". &gt;= ../lower-port">
-          <error-message>
-            <value>The upper-port must be greater than or equal to lower-port</value>
-          </error-message>
-        </must>
-        <type name="inet:port-number"/>
-        <description>
-          <text>Upper boundary for port . If existing, the upper port
-must be greater or equal to lower-port.</text>
-        </description>
-      </leaf>
-    </container>
-    <container name="destination-port-range">
-      <description>
-        <text>Inclusive range representing destination ports to be used. When
-only lower-port is present, it represents a single port.</text>
-      </description>
-      <leaf name="lower-port">
-        <type name="inet:port-number"/>
-        <mandatory value="true"/>
-        <description>
-          <text>Lower boundary for port.</text>
-        </description>
-      </leaf>
-      <leaf name="upper-port">
-        <must condition=". &gt;= ../lower-port">
-          <error-message>
-            <value>The upper-port must be greater than or equal to lower-port</value>
-          </error-message>
-        </must>
-        <type name="inet:port-number"/>
-        <description>
-          <text>Upper boundary for port. If existing, the upper port must
-be greater or equal to lower-port</text>
-        </description>
-      </leaf>
-    </container>
-  </grouping>
-  <grouping name="acl-ip-header-fields">
-    <description>
-      <text>IP header fields common to ipv4 and ipv6</text>
-    </description>
-    <leaf name="dscp">
-      <type name="inet:dscp"/>
-      <description>
-        <text>Value of dscp.</text>
-      </description>
-    </leaf>
-    <leaf name="protocol">
-      <type name="uint8"/>
-      <description>
-        <text>Internet Protocol number.</text>
-      </description>
-    </leaf>
-    <uses name="acl-transport-header-fields"/>
-  </grouping>
-  <grouping name="acl-ipv4-header-fields">
-    <description>
-      <text>Fields in IPv4 header.</text>
-    </description>
-    <leaf name="destination-ipv4-network">
-      <type name="inet:ipv4-prefix"/>
-      <description>
-        <text>Destination IPv4 address prefix.</text>
-      </description>
-    </leaf>
-    <leaf name="source-ipv4-network">
-      <type name="inet:ipv4-prefix"/>
-      <description>
-        <text>Source IPv4 address prefix.</text>
-      </description>
-    </leaf>
-  </grouping>
-  <grouping name="acl-ipv6-header-fields">
-    <description>
-      <text>Fields in IPv6 header</text>
-    </description>
-    <leaf name="destination-ipv6-network">
-      <type name="inet:ipv6-prefix"/>
-      <description>
-        <text>Destination IPv6 address prefix.</text>
-      </description>
-    </leaf>
-    <leaf name="source-ipv6-network">
-      <type name="inet:ipv6-prefix"/>
-      <description>
-        <text>Source IPv6 address prefix.</text>
-      </description>
-    </leaf>
-    <leaf name="flow-label">
-      <type name="inet:ipv6-flow-label"/>
-      <description>
-        <text>IPv6 Flow label.</text>
-      </description>
-    </leaf>
-    <reference>
-      <text>RFC 4291: IP Version 6 Addressing Architecture
-RFC 4007: IPv6 Scoped Address Architecture
-RFC 5952: A Recommendation for IPv6 Address Text Representation</text>
-    </reference>
-  </grouping>
-  <grouping name="acl-eth-header-fields">
-    <description>
-      <text>Fields in Ethernet header.</text>
-    </description>
-    <leaf name="destination-mac-address">
-      <type name="yang:mac-address"/>
-      <description>
-        <text>Destination IEEE 802 MAC address.</text>
-      </description>
-    </leaf>
-    <leaf name="destination-mac-address-mask">
-      <type name="yang:mac-address"/>
-      <description>
-        <text>Destination IEEE 802 MAC address mask.</text>
-      </description>
-    </leaf>
-    <leaf name="source-mac-address">
-      <type name="yang:mac-address"/>
-      <description>
-        <text>Source IEEE 802 MAC address.</text>
-      </description>
-    </leaf>
-    <leaf name="source-mac-address-mask">
-      <type name="yang:mac-address"/>
-      <description>
-        <text>Source IEEE 802 MAC address mask.</text>
-      </description>
-    </leaf>
-    <reference>
-      <text>IEEE 802: IEEE Standard for Local and Metropolitan Area
-Networks: Overview and Architecture.</text>
-    </reference>
-  </grouping>
-  <grouping name="timerange">
-    <description>
-      <text>Time range contains time
-segments to allow access-control-list to be
-active/inactive when the system time
-is between the range.</text>
-    </description>
-    <container name="absolute-time">
-      <description>
-        <text>Absolute time and date that
-the associated function starts
-going into effect.</text>
-      </description>
-      <leaf name="start">
-        <type name="yang:date-and-time"/>
-        <description>
-          <text>Absolute start time and date</text>
-        </description>
-      </leaf>
-      <leaf name="end">
-        <type name="yang:date-and-time"/>
-        <description>
-          <text>Absolute end time and date</text>
-        </description>
-      </leaf>
-      <leaf name="active">
-        <type name="boolean"/>
-        <default value="true"/>
-        <description>
-          <text>This object indicates whether the
-the ACL will be active(true) or
-inactive(false) during this time range.</text>
-        </description>
-      </leaf>
-    </container>
-  </grouping>
-  <grouping name="metadata">
-    <description>
-      <text>Fields associated with a packet whick are not in
-the header.</text>
-    </description>
-    <leaf name="input-interface">
-      <type name="string"/>
-      <description>
-        <text>Packet was received on this interface.</text>
-      </description>
-    </leaf>
-    <uses name="timerange"/>
-  </grouping>
-</module>