[AETHER-3138] ROC Umbrella - Upgrading to new onos-config

Change-Id: Iae9131b084ac752f779cd24299052863ebdf5841
diff --git a/Makefile b/Makefile
index 6d9f127..1e858c7 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@
 all: test
 
 test: # @HELP run the acceptance tests
-test: deps yang-lint
+test: deps
 
 roc-test: # @HELP run the integration tests
 roc-test: deps # @HELP run the integration tests
@@ -33,17 +33,5 @@
         {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}; \
     '
 
-pyang:
-	pyang -v || pip install pyang
-
-yang-lint: pyang
-	pyang --lint ./config-models/aether-1.x/files/yang/*.yang
-	pyang --lint --lint-ensure-hyphenated-names -W error ./config-models/aether-2.0.x/files/yang/*.yang -p ./config-models/aether-2.0.x/files/yang
-	pyang --lint ./config-models/aether-2.1.x/files/yang/*.yang
-	pyang --lint ./config-models/aether-2.2.x/files/yang/*.yang
-	pyang --lint ./config-models/aether-3.x/files/yang/*.yang
-	pyang --lint --lint-ensure-hyphenated-names -W error ./config-models/aether-4.x/files/yang/*.yang -p ./config-models/aether-4.x/files/yang
-	pyang --lint --lint-ensure-hyphenated-names -W error ./config-models/plproxy-1.x/files/yang/*.yang -p ./config-models/plproxy-1.x/files/yang
-
 reuse-lint:
-	reuse --root . lint
\ No newline at end of file
+	reuse --root . lint
diff --git a/aether-roc-api/Chart.yaml b/aether-roc-api/Chart.yaml
index e47eedc..4e1ca69 100644
--- a/aether-roc-api/Chart.yaml
+++ b/aether-roc-api/Chart.yaml
@@ -7,8 +7,8 @@
 description: Aether ROC API
 kubeVersion: ">=1.15.0"
 type: application
-version: 1.4.7
-appVersion: v0.9.8
+version: 1.4.8
+appVersion: v0.9.9
 keywords:
   - aether
   - config
diff --git a/aether-roc-api/values.yaml b/aether-roc-api/values.yaml
index 3653b61..d2dab6f 100644
--- a/aether-roc-api/values.yaml
+++ b/aether-roc-api/values.yaml
@@ -10,7 +10,7 @@
 
 image:
   repository: onosproject/aether-roc-api
-  tag: v0.9.8
+  tag: v0.9.9
   pullPolicy: IfNotPresent
   pullSecrets: []
 
diff --git a/aether-roc-umbrella/Chart.yaml b/aether-roc-umbrella/Chart.yaml
index 63ddd5e..185527e 100644
--- a/aether-roc-umbrella/Chart.yaml
+++ b/aether-roc-umbrella/Chart.yaml
@@ -7,7 +7,7 @@
 description: Aether ROC Umbrella chart to deploy all Aether ROC
 kubeVersion: ">=1.18.0"
 type: application
-version: 2.0.26
+version: 2.0.27
 appVersion: v0.0.0
 keywords:
   - aether
@@ -20,36 +20,19 @@
   - name: onos-topo
     condition: import.onos-topo.enabled
     repository: https://charts.onosproject.org
-    version: 1.1.109
-  - name: config-model-aether-2
-    condition: onos-config.models.aether.v2.enabled
-    repository: "file://../config-models/aether-2.0.x"
-    version: 2.0.10
-  - name: config-model-aether-4
-    condition: onos-config.models.aether.v4.enabled
-    repository: "file://../config-models/aether-4.x"
-    version: 4.0.18
-  - name: config-model-plproxy
-    condition: onos-config.models.plproxy.v1.enabled
-    repository: "file://../config-models/plproxy-1.x"
-    version: 1.0.2
-    alias: config-model-plproxy-1-0-0
+    version: 1.2.2
   - name: onos-config
     condition: import.onos-config.enabled
     repository: https://charts.onosproject.org
-    version: 1.4.6
-  - name: onos-gui
-    condition: import.onos-gui.enabled
-    repository: https://charts.onosproject.org
-    version: 1.0.8
+    version: 1.6.7
   - name: onos-cli
     condition: import.onos-cli.enabled
     repository: https://charts.onosproject.org
-    version: 1.1.11
+    version: 1.2.7
   - name: aether-roc-api
     condition: import.aether-roc-api.enabled
     repository: "file://../aether-roc-api"
-    version: 1.4.7
+    version: 1.4.8
   - name: aether-roc-websocket
     condition: import.aether-roc-websocket.enabled
     repository: "file://../aether-roc-websocket"
diff --git a/aether-roc-umbrella/files/opa-rbac/aether-2.0.0.rego b/aether-roc-umbrella/files/opa-rbac/aether-2.0.0.rego
index 3f79874..80ea78e 100644
--- a/aether-roc-umbrella/files/opa-rbac/aether-2.0.0.rego
+++ b/aether-roc-umbrella/files/opa-rbac/aether-2.0.0.rego
@@ -2,7 +2,7 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-package aether_2_0_0
+package aether_2_0_x
 
 echo[config] {
     config := input
diff --git a/aether-roc-umbrella/files/opa-rbac/aether-4.0.0.rego b/aether-roc-umbrella/files/opa-rbac/aether-4.0.0.rego
index 27a638f..f17cbcf 100644
--- a/aether-roc-umbrella/files/opa-rbac/aether-4.0.0.rego
+++ b/aether-roc-umbrella/files/opa-rbac/aether-4.0.0.rego
@@ -2,7 +2,7 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-package aether_4_0_0
+package aether_4_0_18
 
 echo[config] {
     config := input
diff --git a/aether-roc-umbrella/templates/topo.yaml b/aether-roc-umbrella/templates/topo.yaml
index 18f393b..717e47a 100644
--- a/aether-roc-umbrella/templates/topo.yaml
+++ b/aether-roc-umbrella/templates/topo.yaml
@@ -23,8 +23,8 @@
   aspects:
     onos.topo.Configurable:
       address: sdcore-adapter-v2:5150
-      version: 2.0.0
-      type: Aether
+      version: 2.0.x
+      type: aether
     onos.topo.Location:
       lat: 52.5150
       lng: 13.3885
@@ -47,8 +47,8 @@
   aspects:
     onos.topo.Configurable:
       address: sdcore-adapter-v4:5150
-      version: 4.0.0
-      type: Aether
+      version: 4.0.18
+      type: aether
     onos.topo.Location:
       lat: 52.5150
       lng: 13.3885
diff --git a/aether-roc-umbrella/values.yaml b/aether-roc-umbrella/values.yaml
index bd4d9f0..abac6b5 100644
--- a/aether-roc-umbrella/values.yaml
+++ b/aether-roc-umbrella/values.yaml
@@ -35,8 +35,6 @@
     enabled: true
   onos-config:
     enabled: true
-  onos-gui:
-    enabled: false
   onos-cli:
     enabled: true
   aether-roc-api:
@@ -214,7 +212,7 @@
       username_claim: name
       email_claim: email
       jwk_set_url: "https://keycloak.opennetworking.org/auth/realms/master/protocol/openid-connect/certs"
-      cache_ttl: 60m  
+      cache_ttl: 60m
     auth.generic_oauth:
       enabled: true
       client_id: aether-roc-gui
@@ -310,7 +308,7 @@
           static_configs:
             - targets:
                 - demo-exporter:2112
-  
+
 prometheus-ace:
   pushgateway:
     enabled: false
@@ -346,17 +344,19 @@
   store:
     consensus:
       enabled: false
-  models:
-    aether:
-      v2:
-        enabled: true
-      v4:
-        enabled: true
-    plproxy:
-      v1:
-        enabled: true
+  modelPlugins:
+    - name: aether-2
+      image: onosproject/aether-2.0.x:2.0.0-dev-aether-2.0.x
+      endpoint: localhost
+      port: 5152
+    - name: aether-4
+      image: onosproject/aether-4.x:4.0.19-dev-aether-4.0.18
+      endpoint: localhost
+      port: 5153
+
   plugin:
     compiler:
+      version: v1.0.1
       target: ""
   openpolicyagent:
     enabled: true
diff --git a/config-models/aether-1.x/.helmignore b/config-models/aether-1.x/.helmignore
deleted file mode 100644
index 862263b..0000000
--- a/config-models/aether-1.x/.helmignore
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-FileCopyrightText: 2021 Open Networking Foundation
-#
-# SPDX-License-Identifier: Apache-2.0
-
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/config-models/aether-1.x/Chart.yaml b/config-models/aether-1.x/Chart.yaml
deleted file mode 100644
index 71ab3d5..0000000
--- a/config-models/aether-1.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether
-version: 1.0.6
-kubeVersion: ">=1.18.0"
-appVersion: 1.0.0
-description: Aether config model
-keywords:
-  - onos
-  - sdn
-  - config
-home: https://onosproject.org
-maintainers:
-  - name: ONOS Support
-    email: support@opennetworking.org
diff --git a/config-models/aether-1.x/files/aether-1.0.0.tree b/config-models/aether-1.x/files/aether-1.0.0.tree
deleted file mode 100644
index 7c24828..0000000
--- a/config-models/aether-1.x/files/aether-1.0.0.tree
+++ /dev/null
@@ -1,54 +0,0 @@
-module: access-profile
-  +--rw access-profile
-     +--rw access-profile* [id]
-        +--rw id             access-profile-id
-        +--rw type?          string
-        +--rw filter?        string
-        +--rw description?   string
-
-module: aether-subscriber
-  +--rw subscriber
-     +--rw ue* [ueid]
-        +--rw ueid             ueid
-        +--rw serving-plmn
-        |  +--rw mcc?   mcc
-        |  +--rw mnc?   mnc
-        |  +--rw tac?   tac
-        +--rw requested-apn?   string
-        +--rw priority?        uint32
-        +--rw enabled?         boolean
-        +--rw profiles
-           +--rw apn-profile?      -> /apn:apn-profile/apn-profile/id
-           +--rw up-profile?       -> /up:up-profile/up-profile/id
-           +--rw qos-profile?      -> /qos:qos-profile/qos-profile/id
-           +--rw access-profile* [access-profile]
-              +--rw access-profile    -> /ap:access-profile/access-profile/id
-              +--rw allowed?          boolean
-
-module: apn-profile
-  +--rw apn-profile
-     +--rw apn-profile* [id]
-        +--rw id               apn-profile-id
-        +--rw apn-name?        string
-        +--rw dns-primary?     inet:ip-address
-        +--rw dns-secondary?   inet:ip-address
-        +--rw mtu?             uint32
-        +--rw gx-enabled?      boolean
-        +--rw description?     string
-
-module: qos-profile
-  +--rw qos-profile
-     +--rw qos-profile* [id]
-        +--rw id             qos-profile-id
-        +--rw apn-ambr
-        |  +--rw uplink?     uint32
-        |  +--rw downlink?   uint32
-        +--rw description?   string
-
-module: up-profile
-  +--rw up-profile
-     +--rw up-profile* [id]
-        +--rw id                up-profile-id
-        +--rw user-plane?       string
-        +--rw access-control?   string
-        +--rw description?      string
diff --git a/config-models/aether-1.x/files/yang/access-profile.yang b/config-models/aether-1.x/files/yang/access-profile.yang
deleted file mode 100755
index dac8d76..0000000
--- a/config-models/aether-1.x/files/yang/access-profile.yang
+++ /dev/null
@@ -1,65 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module access-profile {
-  namespace "http://opennetworking.org/aether/access-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-08-18" {
-    description "An Aether access Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef access-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for access-profile-id";
-  }
-
-  container access-profile {
-    description "The top level container";
-
-    list access-profile {
-      key "id";
-      description
-        "List of access profiles";
-
-      leaf id {
-        type access-profile-id;
-        description "ID for this access profile.";
-      }
-
-      leaf type {
-        type string {
-          length 1..32;
-        }
-        description "type of profile";
-      }
-
-      leaf filter {
-        type string {
-          length 0..32;
-        }
-        description "filter";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-1.x/files/yang/aether-subscriber.yang b/config-models/aether-1.x/files/yang/aether-subscriber.yang
deleted file mode 100644
index 880dd82..0000000
--- a/config-models/aether-1.x/files/yang/aether-subscriber.yang
+++ /dev/null
@@ -1,154 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module aether-subscriber {
-  namespace "http://opennetworking.org/aether/subscriber";
-  prefix sub;
-
-  import apn-profile{ prefix apn; }
-  import qos-profile{ prefix qos; }
-  import up-profile{ prefix up; }
-  import access-profile{ prefix ap; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-08-18" {
-    description "An Aether Subscriber";
-    reference "RFC 6087";
-  }
-
-  // User Equipment ID (UEID), Basically an IMSI range
-  // examples:
-  //    123456789???????  ... wildcard at the end
-  //    123456???0123455  ... wildcard in the middle
-  //    1234567890000000-123456789000005 ... range
-  typedef ueid {
-      type string {
-          length 1..31;
-      }
-    description "The typedef for ueid";
-  }
-
-  typedef mcc {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typedef for mcc";
-  }
-
-  typedef mnc {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typedef for mnc";
-  }
-
-  typedef tac {
-      type uint32 {
-        range 0..99999999;
-      }
-    description "The typedef for tac";
-  }
-
-  container subscriber {
-    description "The top level container";
-
-    list ue {
-      key "ueid";
-      description
-        "List of subscriber devices";
-
-      leaf ueid {
-	type ueid;
-        description "identifier for this subscriber, may or may not be an IMSI";
-      }
-
-      container serving-plmn {
-        leaf mcc {
-          type mcc;
-          description "mobile country code";
-        }
-        leaf mnc {
-          type mnc;
-          description "mobile network code";
-        }
-        leaf tac {
-          type tac;
-          description "type allocation code";
-        }
-	description "The contaiber for serving-plmn";
-      }
-
-      leaf requested-apn {
-        type string {
-            length 1..31;
-        }
-        description "requested access point name";
-      }
-
-      leaf priority {
-        type uint32 {
-          range 0..1000;
-        }
-        default 0;
-        description
-          "Priority for this subscriber range";
-      }
-
-      leaf enabled {
-        type boolean;
-        default false;
-        description
-          "Enable or disable this ue";
-      }
-
-      container profiles {
-        leaf apn-profile {
-          type leafref {
-            path "/apn:apn-profile/apn:apn-profile/apn:id";
-          }
-          description
-            "Link to apn profile";
-        }
-        leaf up-profile {
-          type leafref {
-            path "/up:up-profile/up:up-profile/up:id";
-          }
-          description
-            "Link to user plane profile";
-        }
-        leaf qos-profile {
-          type leafref {
-            path "/qos:qos-profile/qos:qos-profile/qos:id";
-          }
-          description
-            "Link to qos profile";
-        }
-        list access-profile {
-          key "access-profile";
-          leaf access-profile {
-            type leafref {
-              path "/ap:access-profile/ap:access-profile/ap:id";
-            }
-//            type ap:access-profile-id;
-            description
-                "Link to access profile";
-          }
-          leaf allowed {
-            type boolean;
-            default true;
-            description
-              "Allow or disallow this ue to use this access profile";
-          }
-          description "The list for access-profile";
-        }
-        description "The container for profiles";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-1.x/files/yang/apn-profile.yang b/config-models/aether-1.x/files/yang/apn-profile.yang
deleted file mode 100755
index 015f695..0000000
--- a/config-models/aether-1.x/files/yang/apn-profile.yang
+++ /dev/null
@@ -1,85 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module apn-profile {
-  namespace "http://opennetworking.org/aether/apn-profile";
-  prefix pro;
-
-  import ietf-inet-types { prefix inet; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-08-18" {
-    description "An Aether APN Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef apn-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for apn-profile-id";
-  }
-
-  container apn-profile {
-    description "The top level container";
-
-    list apn-profile {
-      key "id";
-      description
-        "List of apn profiles";
-
-      leaf id {
-        type apn-profile-id;
-        description "ID for this apn profile.";
-      }
-
-      leaf apn-name {
-        type string {
-          length 1..32;
-        }
-        description "apn name";
-      }
-
-      leaf dns-primary {
-        type inet:ip-address;
-        description "primary dns server name";
-      }
-
-      leaf dns-secondary {
-        type inet:ip-address;
-        description "secondary dns server name";
-      }
-
-      leaf mtu {
-        type uint32 {
-          range 68..65535;
-        }
-        units bytes;
-        default 1460;
-        description "maximum transmission unit";
-      }
-
-      leaf gx-enabled {
-        type boolean;
-        default false;
-        description "enable gx interface";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-1.x/files/yang/ietf-inet-types.yang b/config-models/aether-1.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-1.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
-  prefix "inet";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types for Internet addresses and related things.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - ip-address-no-zone
-      - ipv4-address-no-zone
-      - ipv6-address-no-zone";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of types related to protocol fields ***/
-
-  typedef ip-version {
-    type enumeration {
-      enum unknown {
-        value "0";
-        description
-         "An unknown or unspecified version of the Internet
-          protocol.";
-      }
-      enum ipv4 {
-        value "1";
-        description
-         "The IPv4 protocol as defined in RFC 791.";
-      }
-      enum ipv6 {
-        value "2";
-        description
-         "The IPv6 protocol as defined in RFC 2460.";
-      }
-    }
-    description
-     "This value represents the version of the IP protocol.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetVersion textual convention of the SMIv2.";
-    reference
-     "RFC  791: Internet Protocol
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  typedef dscp {
-    type uint8 {
-      range "0..63";
-    }
-    description
-     "The dscp type represents a Differentiated Services Code Point
-      that may be used for marking packets in a traffic stream.
-      In the value set and its semantics, this type is equivalent
-      to the Dscp textual convention of the SMIv2.";
-    reference
-     "RFC 3289: Management Information Base for the Differentiated
-                Services Architecture
-      RFC 2474: Definition of the Differentiated Services Field
-                (DS Field) in the IPv4 and IPv6 Headers
-      RFC 2780: IANA Allocation Guidelines For Values In
-                the Internet Protocol and Related Headers";
-  }
-
-  typedef ipv6-flow-label {
-    type uint32 {
-      range "0..1048575";
-    }
-    description
-     "The ipv6-flow-label type represents the flow identifier or Flow
-      Label in an IPv6 packet header that may be used to
-      discriminate traffic flows.
-
-      In the value set and its semantics, this type is equivalent
-      to the IPv6FlowLabel textual convention of the SMIv2.";
-    reference
-     "RFC 3595: Textual Conventions for IPv6 Flow Label
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
-  }
-
-  typedef port-number {
-    type uint16 {
-      range "0..65535";
-    }
-    description
-     "The port-number type represents a 16-bit port number of an
-      Internet transport-layer protocol such as UDP, TCP, DCCP, or
-      SCTP.  Port numbers are assigned by IANA.  A current list of
-      all assignments is available from <http://www.iana.org/>.
-
-      Note that the port number value zero is reserved by IANA.  In
-      situations where the value zero does not make sense, it can
-      be excluded by subtyping the port-number type.
-      In the value set and its semantics, this type is equivalent
-      to the InetPortNumber textual convention of the SMIv2.";
-    reference
-     "RFC  768: User Datagram Protocol
-      RFC  793: Transmission Control Protocol
-      RFC 4960: Stream Control Transmission Protocol
-      RFC 4340: Datagram Congestion Control Protocol (DCCP)
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  /*** collection of types related to autonomous systems ***/
-
-  typedef as-number {
-    type uint32;
-    description
-     "The as-number type represents autonomous system numbers
-      which identify an Autonomous System (AS).  An AS is a set
-      of routers under a single technical administration, using
-      an interior gateway protocol and common metrics to route
-      packets within the AS, and using an exterior gateway
-      protocol to route packets to other ASes.  IANA maintains
-      the AS number space and has delegated large parts to the
-      regional registries.
-
-      Autonomous system numbers were originally limited to 16
-      bits.  BGP extensions have enlarged the autonomous system
-      number space to 32 bits.  This type therefore uses an uint32
-      base type without a range restriction in order to support
-      a larger autonomous system number space.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetAutonomousSystemNumber textual convention of
-      the SMIv2.";
-    reference
-     "RFC 1930: Guidelines for creation, selection, and registration
-                of an Autonomous System (AS)
-      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
-      RFC 4001: Textual Conventions for Internet Network Addresses
-      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
-                Number Space";
-  }
-
-  /*** collection of types related to IP addresses and hostnames ***/
-
-  typedef ip-address {
-    type union {
-      type inet:ipv4-address;
-      type inet:ipv6-address;
-    }
-    description
-     "The ip-address type represents an IP address and is IP
-      version neutral.  The format of the textual representation
-      implies the IP version.  This type supports scoped addresses
-      by allowing zone identifiers in the address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-      + '(%[\p{N}\p{L}]+)?';
-    }
-    description
-      "The ipv4-address type represents an IPv4 address in
-       dotted-quad notation.  The IPv4 address may include a zone
-       index, separated by a % sign.
-
-       The zone index is used to disambiguate identical address
-       values.  For link-local addresses, the zone index will
-       typically be the interface index number or the name of an
-       interface.  If the zone index is not present, the default
-       zone of the device will be used.
-
-       The canonical format for the zone index is the numerical
-       format";
-  }
-
-  typedef ipv6-address {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(%[\p{N}\p{L}]+)?';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(%.+)?';
-    }
-    description
-     "The ipv6-address type represents an IPv6 address in full,
-      mixed, shortened, and shortened-mixed notation.  The IPv6
-      address may include a zone index, separated by a % sign.
-
-      The zone index is used to disambiguate identical address
-      values.  For link-local addresses, the zone index will
-      typically be the interface index number or the name of an
-      interface.  If the zone index is not present, the default
-      zone of the device will be used.
-
-      The canonical format of IPv6 addresses uses the textual
-      representation defined in Section 4 of RFC 5952.  The
-      canonical format for the zone index is the numerical
-      format as described in Section 11.2 of RFC 4007.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-address-no-zone {
-    type union {
-      type inet:ipv4-address-no-zone;
-      type inet:ipv6-address-no-zone;
-    }
-    description
-     "The ip-address-no-zone type represents an IP address and is
-      IP version neutral.  The format of the textual representation
-      implies the IP version.  This type does not support scoped
-      addresses since it does not allow zone identifiers in the
-      address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address-no-zone {
-    type inet:ipv4-address {
-      pattern '[0-9\.]*';
-    }
-    description
-      "An IPv4 address without a zone index.  This type, derived from
-       ipv4-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-  }
-
-  typedef ipv6-address-no-zone {
-    type inet:ipv6-address {
-      pattern '[0-9a-fA-F:\.]*';
-    }
-    description
-      "An IPv6 address without a zone index.  This type, derived from
-       ipv6-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-prefix {
-    type union {
-      type inet:ipv4-prefix;
-      type inet:ipv6-prefix;
-    }
-    description
-     "The ip-prefix type represents an IP prefix and is IP
-      version neutral.  The format of the textual representations
-      implies the IP version.";
-  }
-
-  typedef ipv4-prefix {
-    type string {
-      pattern
-         '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-       +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-       + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
-    }
-    description
-     "The ipv4-prefix type represents an IPv4 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 32.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The canonical format of an IPv4 prefix has all bits of
-      the IPv4 address set to zero that are not part of the
-      IPv4 prefix.";
-  }
-
-  typedef ipv6-prefix {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(/.+)';
-    }
-
-    description
-     "The ipv6-prefix type represents an IPv6 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 128.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The IPv6 address should have all bits that do not belong
-      to the prefix set to zero.
-
-      The canonical format of an IPv6 prefix has all bits of
-      the IPv6 address set to zero that are not part of the
-      IPv6 prefix.  Furthermore, the IPv6 address is represented
-      as defined in Section 4 of RFC 5952.";
-    reference
-     "RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  /*** collection of domain name and URI types ***/
-
-  typedef domain-name {
-    type string {
-      length "1..253";
-      pattern
-        '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
-      + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
-      + '|\.';
-    }
-    description
-     "The domain-name type represents a DNS domain name.  The
-      name SHOULD be fully qualified whenever possible.
-
-      Internet domain names are only loosely specified.  Section
-      3.5 of RFC 1034 recommends a syntax (modified in Section
-      2.1 of RFC 1123).  The pattern above is intended to allow
-      for current practice in domain name use, and some possible
-      future expansion.  It is designed to hold various types of
-      domain names, including names used for A or AAAA records
-      (host names) and other records, such as SRV records.  Note
-      that Internet host names have a stricter syntax (described
-      in RFC 952) than the DNS recommendations in RFCs 1034 and
-      1123, and that systems that want to store host names in
-      schema nodes using the domain-name type are recommended to
-      adhere to this stricter standard to ensure interoperability.
-
-      The encoding of DNS names in the DNS protocol is limited
-      to 255 characters.  Since the encoding consists of labels
-      prefixed by a length bytes and there is a trailing NULL
-      byte, only 253 characters can appear in the textual dotted
-      notation.
-
-      The description clause of schema nodes using the domain-name
-      type MUST describe when and how these names are resolved to
-      IP addresses.  Note that the resolution of a domain-name value
-      may require to query multiple DNS records (e.g., A for IPv4
-      and AAAA for IPv6).  The order of the resolution process and
-      which DNS record takes precedence can either be defined
-      explicitly or may depend on the configuration of the
-      resolver.
-
-      Domain-name values use the US-ASCII encoding.  Their canonical
-      format uses lowercase US-ASCII characters.  Internationalized
-      domain names MUST be A-labels as per RFC 5890.";
-    reference
-     "RFC  952: DoD Internet Host Table Specification
-      RFC 1034: Domain Names - Concepts and Facilities
-      RFC 1123: Requirements for Internet Hosts -- Application
-                and Support
-      RFC 2782: A DNS RR for specifying the location of services
-                (DNS SRV)
-      RFC 5890: Internationalized Domain Names in Applications
-                (IDNA): Definitions and Document Framework";
-  }
-
-  typedef host {
-    type union {
-      type inet:ip-address;
-      type inet:domain-name;
-    }
-    description
-     "The host type represents either an IP address or a DNS
-      domain name.";
-  }
-
-  typedef uri {
-    type string;
-    description
-     "The uri type represents a Uniform Resource Identifier
-      (URI) as defined by STD 66.
-
-      Objects using the uri type MUST be in US-ASCII encoding,
-      and MUST be normalized as described by RFC 3986 Sections
-      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
-      percent-encoding is removed, and all case-insensitive
-      characters are set to lowercase except for hexadecimal
-      digits, which are normalized to uppercase as described in
-      Section 6.2.2.1.
-
-      The purpose of this normalization is to help provide
-      unique URIs.  Note that this normalization is not
-      sufficient to provide uniqueness.  Two URIs that are
-      textually distinct after this normalization may still be
-      equivalent.
-
-      Objects using the uri type may restrict the schemes that
-      they permit.  For example, 'data:' and 'urn:' schemes
-      might not be appropriate.
-
-      A zero-length URI is not a valid URI.  This can be used to
-      express 'URI absent' where required.
-
-      In the value set and its semantics, this type is equivalent
-      to the Uri SMIv2 textual convention defined in RFC 5017.";
-    reference
-     "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
-      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
-                Group: Uniform Resource Identifiers (URIs), URLs,
-                and Uniform Resource Names (URNs): Clarifications
-                and Recommendations
-      RFC 5017: MIB Textual Conventions for Uniform Resource
-                Identifiers (URIs)";
-  }
-
-}
diff --git a/config-models/aether-1.x/files/yang/qos-profile.yang b/config-models/aether-1.x/files/yang/qos-profile.yang
deleted file mode 100755
index cde5273..0000000
--- a/config-models/aether-1.x/files/yang/qos-profile.yang
+++ /dev/null
@@ -1,73 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module qos-profile {
-  namespace "http://opennetworking.org/aether/qos-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-08-18" {
-    description "An Aether qos Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef qos-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for qos-profile-id";
-  }
-
-  container qos-profile {
-    description "The top level container";
-
-    list qos-profile {
-      key "id";
-      description
-        "List of qos profiles";
-
-      leaf id {
-        type qos-profile-id;
-        description "ID for this qos profile.";
-      }
-
-      container apn-ambr {
-        leaf uplink {
-          type uint32 {
-            range 0..4294967295;
-          }
-	  units bps;
-          default 0;
-          description
-            "Upstream aggregate maximum bit rate";
-        }
-        leaf downlink {
-          type uint32 {
-            range 0..4294967295;
-          }
-          units bps;
-          default 0;
-          description
-            "Downstream aggregate maximum bit rate";
-        }
-        description "The container for apn-ambr";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-1.x/files/yang/up-profile.yang b/config-models/aether-1.x/files/yang/up-profile.yang
deleted file mode 100755
index 1c5052d..0000000
--- a/config-models/aether-1.x/files/yang/up-profile.yang
+++ /dev/null
@@ -1,65 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module up-profile {
-  namespace "http://opennetworking.org/aether/user-plane-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-08-18" {
-    description "An Aether user plane Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef up-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for up-profile-id";
-  }
-
-  container up-profile {
-    description "The top level container";
-
-    list up-profile {
-      key "id";
-      description
-        "List of user plane profiles";
-
-      leaf id {
-        type up-profile-id;
-        description "ID for this user plane profile.";
-      }
-
-      leaf user-plane {
-        type string {
-          length 1..255;
-        }
-        description "user plane name";
-      }
-
-      leaf access-control {
-        type string {
-          length 1..32;
-        }
-        description "access control policy";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-1.x/templates/_helpers.tpl b/config-models/aether-1.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-1.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-1.x/templates/model.yaml b/config-models/aether-1.x/templates/model.yaml
deleted file mode 100644
index 0b2af15..0000000
--- a/config-models/aether-1.x/templates/model.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
-  name: {{ template "aether.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "aether.labels" . | nindent 4 }}
-spec:
-  plugin:
-    type: Aether
-    version: {{ .Chart.AppVersion | quote }}
-  modules:
-  - name: aether-subscriber
-    organization: Open Networking Foundation
-    revision: 2020-08-18
-    file: aether-subscriber.yang
-  - name: apn-profile
-    organization: Open Networking Foundation
-    revision: 2020-08-18
-    file: apn-profile.yang
-  - name: up-profile
-    organization: Open Networking Foundation
-    revision: 2020-08-18
-    file: up-profile.yang
-  - name: qos-profile
-    organization: Open Networking Foundation
-    revision: 2020-08-18
-    file: qos-profile.yang
-  - name: access-profile
-    organization: Open Networking Foundation
-    revision: 2020-08-18
-    file: access-profile.yang
-  files:
-    {{- range $path, $_  := $.Files.Glob "files/yang/*.yang" }}
-    {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
-    {{- end }}
diff --git a/config-models/aether-1.x/values.yaml b/config-models/aether-1.x/values.yaml
deleted file mode 100644
index 114bfc5..0000000
--- a/config-models/aether-1.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-2.0.x/CHANGELOG.md b/config-models/aether-2.0.x/CHANGELOG.md
deleted file mode 100644
index 2d66b6b..0000000
--- a/config-models/aether-2.0.x/CHANGELOG.md
+++ /dev/null
@@ -1,43 +0,0 @@
-<!--
-SPDX-FileCopyrightText: 2021 Open Networking Foundation
-
-SPDX-License-Identifier: Apache-2.0
--->
-
-Changes on 2/3/2022
-===================
-
-* IDs updated throughout. For example `DgId` to `DeviceGroupId`. 
-  Consult aether-2.0.0.tree to get the current IDs.
-
-Changes on 1/31/2022
-====================
-
-* Traffic-Class moved out of Slice.MBR
-
-Changes on 1/27/2022
-====================
-
-* VCS renamed to Slice
-* Slice container within VCS and Template removed and MBR moved up one level
-
-Changes on 1/20/2022
-====================
-
-* PriorityTrafficRule added
-* SimCard added
-* Device Added
-* Device-Group now includes a list of Devices
-
-Changes on 1/19/2022
-====================
-
-* Application model has been moved inside of Enterprise model
-* Traffic-Class model has been moved inside of Enterprise model
-* Template model has been moved inside of Enterprise model
-* Site model has been moved inside of Enterprise model
-* UPF model has been moved inside of Site model
-* VCS model has been moved inside of Site model
-* Device-Group model has been moved inside of Site model
-* IP-Domain model has been moved inside of Site model
-* Enterprise and Site links removed throughout
diff --git a/config-models/aether-2.0.x/Chart.yaml b/config-models/aether-2.0.x/Chart.yaml
deleted file mode 100644
index 8af477c..0000000
--- a/config-models/aether-2.0.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether-2
-version: 2.0.10
-kubeVersion: ">=1.18.0"
-appVersion: 2.0.0
-description: Aether config model
-keywords:
-  - onos
-  - sdn
-  - config
-home: https://onosproject.org
-maintainers:
-  - name: ONOS Support
-    email: support@opennetworking.org
diff --git a/config-models/aether-2.0.x/files/aether-2.0.0.tree b/config-models/aether-2.0.x/files/aether-2.0.0.tree
deleted file mode 100644
index c818e22..0000000
--- a/config-models/aether-2.0.x/files/aether-2.0.0.tree
+++ /dev/null
@@ -1,156 +0,0 @@
-module: onf-connectivity-service
-  +--rw connectivity-services
-     +--rw connectivity-service* [connectivity-service-id]
-        +--rw connectivity-service-id    connectivity-service-id
-        +--rw display-name?              string
-        +--rw description?               description
-        +--rw core-5g-endpoint?          inet:uri
-        +--rw acc-prometheus-url?        inet:uri
-
-module: onf-enterprise
-  +--rw enterprises
-     +--rw enterprise* [enterprise-id]
-        +--rw enterprise-id           enterprise-id
-        +--rw display-name?           string
-        +--rw description?            description
-        +--rw connectivity-service* [connectivity-service]
-        |  +--rw connectivity-service    -> /cs:connectivity-services/connectivity-service/connectivity-service-id
-        |  +--rw enabled?                boolean
-        +--rw application* [application-id]
-        |  +--rw application-id    application-id
-        |  +--rw display-name?     string
-        |  +--rw description?      description
-        |  +--rw address           at:host-or-network
-        |  +--rw endpoint* [endpoint-id]
-        |     +--rw endpoint-id      at:aether-identifier
-        |     +--rw display-name?    string
-        |     +--rw description?     description
-        |     +--rw port-start?      ietf:port-number
-        |     +--rw port-end?        ietf:port-number
-        |     +--rw protocol?        at:protocol
-        |     +--rw mbr
-        |     |  +--rw uplink?     at:bitrate
-        |     |  +--rw downlink?   at:bitrate
-        |     +--rw traffic-class?   -> ../../../traffic-class/traffic-class-id
-        +--rw traffic-class* [traffic-class-id]
-        |  +--rw traffic-class-id    traffic-class-id
-        |  +--rw display-name?       string
-        |  +--rw description?        description
-        |  +--rw arp?                at:arp
-        |  +--rw qci?                at:qci
-        |  +--rw pelr?               at:pelr
-        |  +--rw pdb?                at:pdb
-        +--rw template* [template-id]
-        |  +--rw template-id         template-id
-        |  +--rw display-name?       string
-        |  +--rw description?        description
-        |  +--rw sst?                at:sst
-        |  +--rw sd?                 at:sd
-        |  +--rw mbr
-        |  |  +--rw uplink?                at:bitrate
-        |  |  +--rw downlink?              at:bitrate
-        |  |  +--rw uplink-burst-size?     at:burst
-        |  |  +--rw downlink-burst-size?   at:burst
-        |  +--rw default-behavior    at:behavior
-        +--rw site* [site-id]
-           +--rw site-id            site-id
-           +--rw display-name?      string
-           +--rw description?       description
-           +--rw small-cell* [small-cell-id]
-           |  +--rw small-cell-id    at:aether-identifier
-           |  +--rw display-name?    string
-           |  +--rw description?     description
-           |  +--rw address?         inet:host
-           |  +--rw tac              at:tac
-           |  +--rw enable?          boolean
-           +--rw monitoring
-           |  +--rw edge-cluster-prometheus-url?      inet:uri
-           |  +--rw edge-monitoring-prometheus-url?   inet:uri
-           |  +--rw edge-device* [edge-device-id]
-           |     +--rw edge-device-id    at:aether-identifier
-           |     +--rw display-name?     string
-           |     +--rw description?      description
-           +--rw imsi-definition
-           |  +--rw mcc           at:mcc
-           |  +--rw mnc           at:mnc
-           |  +--rw enterprise    at:ent
-           |  +--rw format        string
-           +--rw device* [device-id]
-           |  +--rw device-id       device-id
-           |  +--rw display-name?   string
-           |  +--rw description?    description
-           |  +--rw imei?           at:imei
-           |  +--rw sim-card?       -> ../../sim-card/sim-id
-           +--rw sim-card* [sim-id]
-           |  +--rw sim-id          sim-card-id
-           |  +--rw display-name?   string
-           |  +--rw description?    description
-           |  +--rw iccid?          at:iccid
-           |  +--rw imsi?           at:imsi
-           +--rw upf* [upf-id]
-           |  +--rw upf-id             upf-id
-           |  +--rw display-name?      string
-           |  +--rw description?       description
-           |  +--rw address            inet:host
-           |  +--rw port               inet:port-number
-           |  +--rw config-endpoint?   inet:uri
-           +--rw slice* [slice-id]
-           |  +--rw slice-id                 slice-id
-           |  +--rw display-name?            string
-           |  +--rw description?             description
-           |  +--rw device-group* [device-group]
-           |  |  +--rw device-group    -> ../../../device-group/device-group-id
-           |  |  +--rw enable?         boolean
-           |  +--rw default-behavior         at:behavior
-           |  +--rw filter* [application]
-           |  |  +--rw application    -> ../../../../application/application-id
-           |  |  +--rw priority?      at:priority
-           |  |  +--rw allow?         boolean
-           |  +--rw upf?                     -> ../../upf/upf-id
-           |  +--rw sst                      at:sst
-           |  +--rw sd                       at:sd
-           |  +--rw mbr
-           |  |  +--rw uplink?                at:bitrate
-           |  |  +--rw downlink?              at:bitrate
-           |  |  +--rw uplink-burst-size?     at:burst
-           |  |  +--rw downlink-burst-size?   at:burst
-           |  +--rw priority-traffic-rule* [priority-traffic-rule-id]
-           |     +--rw priority-traffic-rule-id    priority-traffic-rule-id
-           |     +--rw display-name?               string
-           |     +--rw description?                description
-           |     +--rw device                      -> ../../../device/device-id
-           |     +--rw application                 -> ../../../../application/application-id
-           |     +--rw endpoint                    -> ../../../../application/endpoint/endpoint-id
-           |     +--rw (bitrate)?
-           |     |  +--:(mbr-case)
-           |     |  |  +--rw mbr
-           |     |  |     +--rw uplink?     at:bitrate
-           |     |  |     +--rw downlink?   at:bitrate
-           |     |  +--:(gbr-case)
-           |     |     +--rw gbr
-           |     |        +--rw uplink?     at:bitrate
-           |     |        +--rw downlink?   at:bitrate
-           |     +--rw traffic-class?              -> ../../../../traffic-class/traffic-class-id
-           +--rw device-group* [device-group-id]
-           |  +--rw device-group-id    device-group-id
-           |  +--rw display-name?      string
-           |  +--rw description?       description
-           |  +--rw device* [device-id]
-           |  |  +--rw device-id    -> ../../../device/device-id
-           |  |  +--rw enable?      boolean
-           |  +--rw ip-domain?         -> ../../ip-domain/ip-domain-id
-           |  +--rw mbr
-           |  |  +--rw uplink      at:bitrate
-           |  |  +--rw downlink    at:bitrate
-           |  +--rw traffic-class      -> ../../../traffic-class/traffic-class-id
-           +--rw ip-domain* [ip-domain-id]
-              +--rw ip-domain-id     ip-domain-id
-              +--rw display-name?    string
-              +--rw description?     description
-              +--rw dnn              at:dnn
-              +--rw dns-primary?     inet:ip-address
-              +--rw dns-secondary?   inet:ip-address
-              +--rw subnet           inet:ipv4-prefix
-              +--rw admin-status?    at:admin-status
-              +--rw mtu?             at:mtu
-
diff --git a/config-models/aether-2.0.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.0.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-2.0.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
-  prefix "inet";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types for Internet addresses and related things.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - ip-address-no-zone
-      - ipv4-address-no-zone
-      - ipv6-address-no-zone";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of types related to protocol fields ***/
-
-  typedef ip-version {
-    type enumeration {
-      enum unknown {
-        value "0";
-        description
-         "An unknown or unspecified version of the Internet
-          protocol.";
-      }
-      enum ipv4 {
-        value "1";
-        description
-         "The IPv4 protocol as defined in RFC 791.";
-      }
-      enum ipv6 {
-        value "2";
-        description
-         "The IPv6 protocol as defined in RFC 2460.";
-      }
-    }
-    description
-     "This value represents the version of the IP protocol.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetVersion textual convention of the SMIv2.";
-    reference
-     "RFC  791: Internet Protocol
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  typedef dscp {
-    type uint8 {
-      range "0..63";
-    }
-    description
-     "The dscp type represents a Differentiated Services Code Point
-      that may be used for marking packets in a traffic stream.
-      In the value set and its semantics, this type is equivalent
-      to the Dscp textual convention of the SMIv2.";
-    reference
-     "RFC 3289: Management Information Base for the Differentiated
-                Services Architecture
-      RFC 2474: Definition of the Differentiated Services Field
-                (DS Field) in the IPv4 and IPv6 Headers
-      RFC 2780: IANA Allocation Guidelines For Values In
-                the Internet Protocol and Related Headers";
-  }
-
-  typedef ipv6-flow-label {
-    type uint32 {
-      range "0..1048575";
-    }
-    description
-     "The ipv6-flow-label type represents the flow identifier or Flow
-      Label in an IPv6 packet header that may be used to
-      discriminate traffic flows.
-
-      In the value set and its semantics, this type is equivalent
-      to the IPv6FlowLabel textual convention of the SMIv2.";
-    reference
-     "RFC 3595: Textual Conventions for IPv6 Flow Label
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
-  }
-
-  typedef port-number {
-    type uint16 {
-      range "0..65535";
-    }
-    description
-     "The port-number type represents a 16-bit port number of an
-      Internet transport-layer protocol such as UDP, TCP, DCCP, or
-      SCTP.  Port numbers are assigned by IANA.  A current list of
-      all assignments is available from <http://www.iana.org/>.
-
-      Note that the port number value zero is reserved by IANA.  In
-      situations where the value zero does not make sense, it can
-      be excluded by subtyping the port-number type.
-      In the value set and its semantics, this type is equivalent
-      to the InetPortNumber textual convention of the SMIv2.";
-    reference
-     "RFC  768: User Datagram Protocol
-      RFC  793: Transmission Control Protocol
-      RFC 4960: Stream Control Transmission Protocol
-      RFC 4340: Datagram Congestion Control Protocol (DCCP)
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  /*** collection of types related to autonomous systems ***/
-
-  typedef as-number {
-    type uint32;
-    description
-     "The as-number type represents autonomous system numbers
-      which identify an Autonomous System (AS).  An AS is a set
-      of routers under a single technical administration, using
-      an interior gateway protocol and common metrics to route
-      packets within the AS, and using an exterior gateway
-      protocol to route packets to other ASes.  IANA maintains
-      the AS number space and has delegated large parts to the
-      regional registries.
-
-      Autonomous system numbers were originally limited to 16
-      bits.  BGP extensions have enlarged the autonomous system
-      number space to 32 bits.  This type therefore uses an uint32
-      base type without a range restriction in order to support
-      a larger autonomous system number space.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetAutonomousSystemNumber textual convention of
-      the SMIv2.";
-    reference
-     "RFC 1930: Guidelines for creation, selection, and registration
-                of an Autonomous System (AS)
-      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
-      RFC 4001: Textual Conventions for Internet Network Addresses
-      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
-                Number Space";
-  }
-
-  /*** collection of types related to IP addresses and hostnames ***/
-
-  typedef ip-address {
-    type union {
-      type inet:ipv4-address;
-      type inet:ipv6-address;
-    }
-    description
-     "The ip-address type represents an IP address and is IP
-      version neutral.  The format of the textual representation
-      implies the IP version.  This type supports scoped addresses
-      by allowing zone identifiers in the address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-      + '(%[\p{N}\p{L}]+)?';
-    }
-    description
-      "The ipv4-address type represents an IPv4 address in
-       dotted-quad notation.  The IPv4 address may include a zone
-       index, separated by a % sign.
-
-       The zone index is used to disambiguate identical address
-       values.  For link-local addresses, the zone index will
-       typically be the interface index number or the name of an
-       interface.  If the zone index is not present, the default
-       zone of the device will be used.
-
-       The canonical format for the zone index is the numerical
-       format";
-  }
-
-  typedef ipv6-address {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(%[\p{N}\p{L}]+)?';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(%.+)?';
-    }
-    description
-     "The ipv6-address type represents an IPv6 address in full,
-      mixed, shortened, and shortened-mixed notation.  The IPv6
-      address may include a zone index, separated by a % sign.
-
-      The zone index is used to disambiguate identical address
-      values.  For link-local addresses, the zone index will
-      typically be the interface index number or the name of an
-      interface.  If the zone index is not present, the default
-      zone of the device will be used.
-
-      The canonical format of IPv6 addresses uses the textual
-      representation defined in Section 4 of RFC 5952.  The
-      canonical format for the zone index is the numerical
-      format as described in Section 11.2 of RFC 4007.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-address-no-zone {
-    type union {
-      type inet:ipv4-address-no-zone;
-      type inet:ipv6-address-no-zone;
-    }
-    description
-     "The ip-address-no-zone type represents an IP address and is
-      IP version neutral.  The format of the textual representation
-      implies the IP version.  This type does not support scoped
-      addresses since it does not allow zone identifiers in the
-      address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address-no-zone {
-    type inet:ipv4-address {
-      pattern '[0-9\.]*';
-    }
-    description
-      "An IPv4 address without a zone index.  This type, derived from
-       ipv4-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-  }
-
-  typedef ipv6-address-no-zone {
-    type inet:ipv6-address {
-      pattern '[0-9a-fA-F:\.]*';
-    }
-    description
-      "An IPv6 address without a zone index.  This type, derived from
-       ipv6-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-prefix {
-    type union {
-      type inet:ipv4-prefix;
-      type inet:ipv6-prefix;
-    }
-    description
-     "The ip-prefix type represents an IP prefix and is IP
-      version neutral.  The format of the textual representations
-      implies the IP version.";
-  }
-
-  typedef ipv4-prefix {
-    type string {
-      pattern
-         '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-       +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-       + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
-    }
-    description
-     "The ipv4-prefix type represents an IPv4 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 32.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The canonical format of an IPv4 prefix has all bits of
-      the IPv4 address set to zero that are not part of the
-      IPv4 prefix.";
-  }
-
-  typedef ipv6-prefix {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(/.+)';
-    }
-
-    description
-     "The ipv6-prefix type represents an IPv6 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 128.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The IPv6 address should have all bits that do not belong
-      to the prefix set to zero.
-
-      The canonical format of an IPv6 prefix has all bits of
-      the IPv6 address set to zero that are not part of the
-      IPv6 prefix.  Furthermore, the IPv6 address is represented
-      as defined in Section 4 of RFC 5952.";
-    reference
-     "RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  /*** collection of domain name and URI types ***/
-
-  typedef domain-name {
-    type string {
-      length "1..253";
-      pattern
-        '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
-      + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
-      + '|\.';
-    }
-    description
-     "The domain-name type represents a DNS domain name.  The
-      name SHOULD be fully qualified whenever possible.
-
-      Internet domain names are only loosely specified.  Section
-      3.5 of RFC 1034 recommends a syntax (modified in Section
-      2.1 of RFC 1123).  The pattern above is intended to allow
-      for current practice in domain name use, and some possible
-      future expansion.  It is designed to hold various types of
-      domain names, including names used for A or AAAA records
-      (host names) and other records, such as SRV records.  Note
-      that Internet host names have a stricter syntax (described
-      in RFC 952) than the DNS recommendations in RFCs 1034 and
-      1123, and that systems that want to store host names in
-      schema nodes using the domain-name type are recommended to
-      adhere to this stricter standard to ensure interoperability.
-
-      The encoding of DNS names in the DNS protocol is limited
-      to 255 characters.  Since the encoding consists of labels
-      prefixed by a length bytes and there is a trailing NULL
-      byte, only 253 characters can appear in the textual dotted
-      notation.
-
-      The description clause of schema nodes using the domain-name
-      type MUST describe when and how these names are resolved to
-      IP addresses.  Note that the resolution of a domain-name value
-      may require to query multiple DNS records (e.g., A for IPv4
-      and AAAA for IPv6).  The order of the resolution process and
-      which DNS record takes precedence can either be defined
-      explicitly or may depend on the configuration of the
-      resolver.
-
-      Domain-name values use the US-ASCII encoding.  Their canonical
-      format uses lowercase US-ASCII characters.  Internationalized
-      domain names MUST be A-labels as per RFC 5890.";
-    reference
-     "RFC  952: DoD Internet Host Table Specification
-      RFC 1034: Domain Names - Concepts and Facilities
-      RFC 1123: Requirements for Internet Hosts -- Application
-                and Support
-      RFC 2782: A DNS RR for specifying the location of services
-                (DNS SRV)
-      RFC 5890: Internationalized Domain Names in Applications
-                (IDNA): Definitions and Document Framework";
-  }
-
-  typedef host {
-    type union {
-      type inet:ip-address;
-      type inet:domain-name;
-    }
-    description
-     "The host type represents either an IP address or a DNS
-      domain name.";
-  }
-
-  typedef uri {
-    type string;
-    description
-     "The uri type represents a Uniform Resource Identifier
-      (URI) as defined by STD 66.
-
-      Objects using the uri type MUST be in US-ASCII encoding,
-      and MUST be normalized as described by RFC 3986 Sections
-      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
-      percent-encoding is removed, and all case-insensitive
-      characters are set to lowercase except for hexadecimal
-      digits, which are normalized to uppercase as described in
-      Section 6.2.2.1.
-
-      The purpose of this normalization is to help provide
-      unique URIs.  Note that this normalization is not
-      sufficient to provide uniqueness.  Two URIs that are
-      textually distinct after this normalization may still be
-      equivalent.
-
-      Objects using the uri type may restrict the schemes that
-      they permit.  For example, 'data:' and 'urn:' schemes
-      might not be appropriate.
-
-      A zero-length URI is not a valid URI.  This can be used to
-      express 'URI absent' where required.
-
-      In the value set and its semantics, this type is equivalent
-      to the Uri SMIv2 textual convention defined in RFC 5017.";
-    reference
-     "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
-      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
-                Group: Uniform Resource Identifiers (URIs), URLs,
-                and Uniform Resource Names (URNs): Clarifications
-                and Recommendations
-      RFC 5017: MIB Textual Conventions for Uniform Resource
-                Identifiers (URIs)";
-  }
-
-}
diff --git a/config-models/aether-2.0.x/files/yang/ietf-yang-types.yang b/config-models/aether-2.0.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-2.0.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
-  prefix "yang";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - yang-identifier
-      - hex-string
-      - uuid
-      - dotted-quad";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of counter and gauge types ***/
-
-  typedef counter32 {
-    type uint32;
-    description
-     "The counter32 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter32 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter32 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter32.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter32 {
-    type yang:counter32;
-    default "0";
-    description
-     "The zero-based-counter32 type represents a counter32
-      that has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter32 textual convention of the SMIv2.";
-    reference
-      "RFC 4502: Remote Network Monitoring Management Information
-                 Base Version 2";
-  }
-
-  typedef counter64 {
-    type uint64;
-    description
-     "The counter64 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter64 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter64 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter64.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter64 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter64 {
-    type yang:counter64;
-    default "0";
-    description
-     "The zero-based-counter64 type represents a counter64 that
-      has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter64 textual convention of the SMIv2.";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  typedef gauge32 {
-    type uint32;
-    description
-     "The gauge32 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^32-1 (4294967295 decimal), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge32 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge32 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the Gauge32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef gauge64 {
-    type uint64;
-    description
-     "The gauge64 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^64-1 (18446744073709551615), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge64 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge64 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the CounterBasedGauge64 SMIv2 textual convention defined
-      in RFC 2856";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  /*** collection of identifier-related types ***/
-
-  typedef object-identifier {
-    type string {
-      pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
-            + '(\.(0|([1-9]\d*)))*';
-    }
-    description
-     "The object-identifier type represents administratively
-      assigned names in a registration-hierarchical-name tree.
-
-      Values of this type are denoted as a sequence of numerical
-      non-negative sub-identifier values.  Each sub-identifier
-      value MUST NOT exceed 2^32-1 (4294967295).  Sub-identifiers
-      are separated by single dots and without any intermediate
-      whitespace.
-
-      The ASN.1 standard restricts the value space of the first
-      sub-identifier to 0, 1, or 2.  Furthermore, the value space
-      of the second sub-identifier is restricted to the range
-      0 to 39 if the first sub-identifier is 0 or 1.  Finally,
-      the ASN.1 standard requires that an object identifier
-      has always at least two sub-identifiers.  The pattern
-      captures these restrictions.
-
-      Although the number of sub-identifiers is not limited,
-      module designers should realize that there may be
-      implementations that stick with the SMIv2 limit of 128
-      sub-identifiers.
-
-      This type is a superset of the SMIv2 OBJECT IDENTIFIER type
-      since it is not restricted to 128 sub-identifiers.  Hence,
-      this type SHOULD NOT be used to represent the SMIv2 OBJECT
-      IDENTIFIER type; the object-identifier-128 type SHOULD be
-      used instead.";
-    reference
-     "ISO9834-1: Information technology -- Open Systems
-      Interconnection -- Procedures for the operation of OSI
-      Registration Authorities: General procedures and top
-      arcs of the ASN.1 Object Identifier tree";
-  }
-
-  typedef object-identifier-128 {
-    type object-identifier {
-      pattern '\d*(\.\d*){1,127}';
-    }
-    description
-     "This type represents object-identifiers restricted to 128
-      sub-identifiers.
-
-      In the value set and its semantics, this type is equivalent
-      to the OBJECT IDENTIFIER type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef yang-identifier {
-    type string {
-      length "1..max";
-      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
-      pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
-    }
-    description
-      "A YANG identifier string as defined by the 'identifier'
-       rule in Section 12 of RFC 6020.  An identifier must
-       start with an alphabetic character or an underscore
-       followed by an arbitrary sequence of alphabetic or
-       numeric characters, underscores, hyphens, or dots.
-
-       A YANG identifier MUST NOT start with any possible
-       combination of the lowercase or uppercase character
-       sequence 'xml'.";
-    reference
-      "RFC 6020: YANG - A Data Modeling Language for the Network
-                 Configuration Protocol (NETCONF)";
-  }
-
-  /*** collection of types related to date and time***/
-
-  typedef date-and-time {
-    type string {
-      pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
-            + '(Z|[\+\-]\d{2}:\d{2})';
-    }
-    description
-     "The date-and-time type is a profile of the ISO 8601
-      standard for representation of dates and times using the
-      Gregorian calendar.  The profile is defined by the
-      date-time production in Section 5.6 of RFC 3339.
-
-      The date-and-time type is compatible with the dateTime XML
-      schema type with the following notable exceptions:
-
-      (a) The date-and-time type does not allow negative years.
-
-      (b) The date-and-time time-offset -00:00 indicates an unknown
-          time zone (see RFC 3339) while -00:00 and +00:00 and Z
-          all represent the same time zone in dateTime.
-
-      (c) The canonical format (see below) of data-and-time values
-          differs from the canonical format used by the dateTime XML
-          schema type, which requires all times to be in UTC using
-          the time-offset 'Z'.
-
-      This type is not equivalent to the DateAndTime textual
-      convention of the SMIv2 since RFC 3339 uses a different
-      separator between full-date and full-time and provides
-      higher resolution of time-secfrac.
-
-      The canonical format for date-and-time values with a known time
-      zone uses a numeric time zone offset that is calculated using
-      the device's configured known offset to UTC time.  A change of
-      the device's offset to UTC time will cause date-and-time values
-      to change accordingly.  Such changes might happen periodically
-      in case a server follows automatically daylight saving time
-      (DST) time zone offset changes.  The canonical format for
-      date-and-time values with an unknown time zone (usually
-      referring to the notion of local time) uses the time-offset
-      -00:00.";
-    reference
-     "RFC 3339: Date and Time on the Internet: Timestamps
-      RFC 2579: Textual Conventions for SMIv2
-      XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
-  }
-
-  typedef timeticks {
-    type uint32;
-    description
-     "The timeticks type represents a non-negative integer that
-      represents the time, modulo 2^32 (4294967296 decimal), in
-      hundredths of a second between two epochs.  When a schema
-      node is defined that uses this type, the description of
-      the schema node identifies both of the reference epochs.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeTicks type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef timestamp {
-    type yang:timeticks;
-    description
-     "The timestamp type represents the value of an associated
-      timeticks schema node at which a specific occurrence
-      happened.  The specific occurrence must be defined in the
-      description of any schema node defined using this type.  When
-      the specific occurrence occurred prior to the last time the
-      associated timeticks attribute was zero, then the timestamp
-      value is zero.  Note that this requires all timestamp values
-      to be reset to zero when the value of the associated timeticks
-      attribute reaches 497+ days and wraps around to zero.
-
-      The associated timeticks schema node must be specified
-      in the description of any schema node using this type.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeStamp textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of generic address types ***/
-
-  typedef phys-address {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-
-    description
-     "Represents media- or physical-level addresses represented
-      as a sequence octets, each octet represented by two hexadecimal
-      numbers.  Octets are separated by colons.  The canonical
-      representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the PhysAddress textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  typedef mac-address {
-    type string {
-      pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
-    }
-    description
-     "The mac-address type represents an IEEE 802 MAC address.
-      The canonical representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the MacAddress textual convention of the SMIv2.";
-    reference
-     "IEEE 802: IEEE Standard for Local and Metropolitan Area
-                Networks: Overview and Architecture
-      RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of XML-specific types ***/
-
-  typedef xpath1.0 {
-    type string;
-    description
-     "This type represents an XPATH 1.0 expression.
-
-      When a schema node is defined that uses this type, the
-      description of the schema node MUST specify the XPath
-      context in which the XPath expression is evaluated.";
-    reference
-     "XPATH: XML Path Language (XPath) Version 1.0";
-  }
-
-  /*** collection of string types ***/
-
-  typedef hex-string {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-    description
-     "A hexadecimal string with octets represented as hex digits
-      separated by colons.  The canonical representation uses
-      lowercase characters.";
-  }
-
-  typedef uuid {
-    type string {
-      pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
-            + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
-    }
-    description
-     "A Universally Unique IDentifier in the string representation
-      defined in RFC 4122.  The canonical representation uses
-      lowercase characters.
-
-      The following is an example of a UUID in string representation:
-      f81d4fae-7dec-11d0-a765-00a0c91e6bf6
-      ";
-    reference
-     "RFC 4122: A Universally Unique IDentifier (UUID) URN
-                Namespace";
-  }
-
-  typedef dotted-quad {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
-    }
-    description
-      "An unsigned 32-bit number expressed in the dotted-quad
-       notation, i.e., four octets written as decimal numbers
-       and separated with the '.' (full stop) character.";
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-aether-types.yang b/config-models/aether-2.0.x/files/yang/onf-aether-types.yang
deleted file mode 100755
index e825723..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-aether-types.yang
+++ /dev/null
@@ -1,223 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-aether-types {
-  namespace "http://opennetworking.org/aether/aether-types";
-  prefix at;
-
-  import ietf-inet-types { prefix inet; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "A set of base types for aether modeling.";
-
-  revision "2021-09-10" {
-    description "Aether Base Types";
-    reference "RFC 6087";
-  }
-
-  typedef aether-identifier {
-    type string {
-        length 1..63;
-        pattern '[a-z]([a-z0-9-]?[a-z0-9])*';
-    }
-    description "Identifier for objects in the Aether modeling";
-  }
-
-  typedef imsi {
-      type uint64 {
-      }
-    description "International Mobile Subscriber Identity";
-  }
-
-  typedef imei {
-      type string {
-          length 14..16;
-          pattern '[0-9]{14,16}';
-      }
-    description "International Mobile Equipment Identity";
-  }
-
-  typedef iccid {
-      type string {
-          length 19..22;
-          pattern '[0-9]{18,21}[0-9A-F]';
-      }      
-    description "Integrated Circuit Card ID";
-  }
-
-  typedef bitrate {
-      type uint64 {
-      }
-    description "The typedef for bitrate";
-  }
-
-  typedef burst {
-      type uint32 {
-      }
-      default 625000;
-    description "The typedef for burst";
-  }
-
-  typedef mcc {
-      type string {
-        pattern '[0-9]{3}';
-      }
-    description "The typedef for mcc";
-  }
-
-  typedef mnc {
-      type string {
-        pattern '[0-9]{2,3}';
-      }
-    description "The typedef for mnc";
-  }
-
-  typedef tac {
-      type string {
-        length 4..8;
-        pattern '[0-9A-F\.]*';
-      }
-    description "The typedef for tac";
-  }
-
-  typedef ent {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typedef for ent";
-  }
-
-  typedef dnn {
-      type string {
-        length 1..32;
-      }
-    description "The typedef for dnn";
-  }
-
-  typedef sst {
-      type uint8 {
-        range 1..255;
-      }
-    description "The typedef for sst";
-  }
-
-  typedef sd {
-      type uint32 {
-        range 0..16777215;
-      }
-    description "The typedef for sd";
-  }
-
-  typedef qci {
-      type uint8 {
-        range 1..32;
-      }
-    description "The typedef for qci";
-  }
-
-  typedef arp {
-      type uint8 {
-        range 1..15;
-      }
-    description "The typedef for arp";
-  }
-
-  typedef pelr {
-      type int8 {
-        range 0..10;
-      }
-    description "The typedef for pelr";
-  }
-
-  typedef pdb {
-      type uint16 {
-        range 0..1000;
-      }
-    description "The typedef for pdb";
-  }
-
-  typedef priority {
-    type uint8 {
-      // priorities 201-255 are reserved for system use
-      range 0..200;
-    }
-    description "The typedef for priority";
-  }
-
-  // "TCP" or "UDP"
-  typedef protocol {
-      type string {
-        length 3;
-        pattern "TCP|UDP";
-      }
-      default "TCP";
-    description "The typedef for protocol";
-  }
-
-  // "ENABLE" | "MAINTENTANCE" | "DISABLE"
-  typedef admin-status {
-      type string {
-        length 0..16;
-        pattern "ENABLE|MAINTENANCE|DISABLE";
-      }
-      default "ENABLE";
-    description "The typedef for admin-status";
-  }
-
-  typedef behavior {
-      type string {
-        length 0..20;
-        pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
-      }
-    description "The typedef for behavior";
-  }
-
-  typedef mtu {
-      type inet:port-number;
-      default 1492;
-    description "The typedef for mtu";
-  }
-
-  typedef description {
-    type string {
-      length 1..1024;
-    }
-    description "The typedef for description";
-  }
-
-  grouping desc-display-name {
-    description "reusable leafs for description and display-name";
-    leaf display-name {
-      type string {
-          length 1..80;
-      }
-      description "display name to use in GUI or CLI";
-    }
-
-    leaf description {
-      type description;
-      description "long description field";
-    }
-  }
-
-  typedef ipv4-subnet {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-      + '(/([0-9]|[1-2][0-9]|3[0-2]))';      
-    }
-    description "IPv4 network in CIDR notation";
-  }
-
-  typedef host-or-network {
-    type union {
-      type inet:host;
-      type ipv4-subnet;
-    }
-    description "hostname, ip-address, or network";
-  } 
-}
- 
\ No newline at end of file
diff --git a/config-models/aether-2.0.x/files/yang/onf-application.yang b/config-models/aether-2.0.x/files/yang/onf-application.yang
deleted file mode 100755
index 28a1f1c..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-application.yang
+++ /dev/null
@@ -1,108 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-application {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import ietf-inet-types{ prefix ietf; }
-  import onf-aether-types{ prefix at; }
-
-  include onf-traffic-class;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Application is an application that devices may
-     connect to. Includes a set of endpoints where services are
-     provided.";
-
-  revision "2022-01-14" {
-    description "Refactored as submodule";
-    reference "RFC 6020";
-  }
-
-  revision "2021-09-10" {
-    description "Aether Application.";
-    reference "RFC 6087";
-  }
-
-  typedef application-id {
-    type at:aether-identifier;
-    description "The typedef for application-id";
-  }
-
-  grouping application {
-    description "The application grouping";
-
-    list application {
-      key "application-id";
-      description
-        "List of applications";
-
-      leaf application-id {
-        type application-id;
-        description "ID for this application.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf address {
-        type at:host-or-network;
-        mandatory true;
-        description
-            "Address of this application. Either a hostname, an IP, or a subnet.";
-      }
-
-      list endpoint {
-        key "endpoint-id";
-        leaf endpoint-id {
-          type at:aether-identifier;
-          description
-              "Id of this endpoint";
-        }
-
-        uses at:desc-display-name;
-
-        leaf port-start {
-          type ietf:port-number;
-          description
-              "First port in range";
-        }
-        leaf port-end {
-          type ietf:port-number;
-          description
-              "Last port in range";
-        }
-        leaf protocol {
-          type at:protocol;
-          description
-              "Protocol of this endpoint";
-        }
-        container mbr {
-          description "Maximum bitrate";
-          leaf uplink {
-            type at:bitrate;
-            units bps;
-            description "Per-Device per-Application MBR uplink data rate in bps";
-          }
-
-          leaf downlink {
-            type at:bitrate;
-            units bps;
-            description "Per-Device per application MBR downlink data rate in bps";
-          }
-        }
-        leaf traffic-class {
-          type leafref {
-            path "../../../traffic-class/traffic-class-id";
-          }
-          description
-            "Link to traffic class";
-        }
-
-        description "list for endpoint";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-connectivity-service.yang b/config-models/aether-2.0.x/files/yang/onf-connectivity-service.yang
deleted file mode 100755
index 20bda31..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-connectivity-service.yang
+++ /dev/null
@@ -1,60 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-connectivity-service {
-  namespace "http://opennetworking.org/aether/connectivity-service";
-  prefix cs;
-
-  import ietf-inet-types { prefix inet; }
-  import onf-aether-types { prefix at; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Connectivity service is the linkage between the
-     ROC and a core that provides connectivity.";
-
-  revision "2022-01-14" {
-    description "Renamed top level container as plural";
-    reference "RFC 6020";
-  }
-
-  revision "2021-10-21" {
-    description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
-    reference "RFC 6087";
-  }
-
-  typedef connectivity-service-id {
-    type at:aether-identifier;
-    description "The typedef for connectivity-service-id";
-  }
-
-  container connectivity-services {
-    description "The connectivity-services top level container";
-
-    list connectivity-service {
-      key "connectivity-service-id";
-      description
-        "List of connectivity services";
-
-      leaf connectivity-service-id {
-        type connectivity-service-id;
-        description "ID for this connectivity service.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf core-5g-endpoint {
-        type inet:uri;
-        description "url of the 5g core";
-      }
-
-      leaf acc-prometheus-url {
-          type inet:uri;
-          description
-            "URL of ACC prometheus";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-device-group.yang b/config-models/aether-2.0.x/files/yang/onf-device-group.yang
deleted file mode 100755
index 1e03806..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-device-group.yang
+++ /dev/null
@@ -1,111 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-device-group {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import onf-aether-types { prefix at; }
-
-  include onf-ip-domain;
-  include onf-traffic-class;
-  include onf-device;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An aether device group represents a list of device IMSIS.
-     This list is expressed as a set of ranges,
-         [(from_imsi, to_imsi),
-          (from_imsi, to_imsi),
-          ...].
-     Each device group belongs to a site and has associated
-     with it an ip-profile that determines the IP address
-     and DNS settings that apply to devices within the
-     group";
-
-  revision "2022-01-14" {
-    description "Refactored as submodule";
-    reference "RFC 6020";
-  }
-
-  revision "2021-06-02" {
-    description "An Aether Device Group";
-    reference "RFC 6087";
-  }
-
-  typedef device-group-id {
-    type at:aether-identifier;
-    description "The typedef for device-group-id";
-  }
-
-  grouping device-group {
-    description "The device-group grouping";
-
-    list device-group {
-      key "device-group-id";
-      description
-        "List of device groups";
-
-      leaf device-group-id {
-        type device-group-id;
-        description "ID for this device group.";
-      }
-
-      uses at:desc-display-name;
-
-      list device {
-        key "device-id";
-        leaf device-id {
-          type leafref {
-            path "../../../device/device-id";
-          }
-          description
-             "Link to device";
-        }
-        leaf enable {
-          type boolean;
-          default true;
-          description
-            "Enable this device";
-        }
-        description "list of devices in this device-group";
-      }
-
-      leaf ip-domain {
-        type leafref {
-          path "../../ip-domain/ip-domain-id";
-        }
-        description
-          "Link to ip-domain settings that determine the pool of IP addresses,
-           as well as the domain resolver settings to use";
-      }
-
-      container mbr {
-        description "Maximum bitrate";
-        leaf uplink {
-          type at:bitrate;
-          units bps;
-          mandatory true;
-          description "Per-device MBR uplink data rate in bps";
-        }
-
-        leaf downlink {
-          type at:bitrate;
-          units bps;
-          mandatory true;
-          description "Per-device MBR downlink data rate in bps";
-        }
-      }
-
-      leaf traffic-class {
-        type leafref {
-          path "../../../traffic-class/traffic-class-id";
-        }
-        mandatory true;
-        description
-          "Link to traffic class";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-device.yang b/config-models/aether-2.0.x/files/yang/onf-device.yang
deleted file mode 100644
index 3a8abd8..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-device.yang
+++ /dev/null
@@ -1,59 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-device {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import onf-aether-types { prefix at; }
-  include onf-sim-card;
-
-  organization "Open Networking Foundation.";
-    contact "Scott Baker";
-    description
-      "A Aether Device...";
-
-  revision "2022-01-19" {
-    description "An Aether Device";
-    reference "RFC 6087";
-  }
-
-  typedef device-id {
-    type at:aether-identifier;
-    description "The typedef for device-id";
-  }
-
-  grouping device {
-    description "The top level container";
-
-    list device {
-      key "device-id";
-      unique "imei";
-      description
-        "List of devices";
-
-      leaf device-id {
-        type device-id;
-        description "ID for this device.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf imei {
-        type at:imei;
-        description
-           "IMEI for this device";
-      }
-
-      // TODO: Device Type
-
-      leaf sim-card {
-        type leafref {
-            path "../../sim-card/sim-id";
-        }
-        description
-          "Link to simcard";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-enterprise.yang b/config-models/aether-2.0.x/files/yang/onf-enterprise.yang
deleted file mode 100755
index 61a453e..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-enterprise.yang
+++ /dev/null
@@ -1,92 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-enterprise {
-  namespace "http://opennetworking.org/aether/enterprise";
-  prefix ent;
-
-  import onf-aether-types { prefix at; }
-  import onf-connectivity-service { prefix cs; }
-
-  include onf-site;
-  include onf-upf;
-  include onf-slice;
-  include onf-device-group;
-  include onf-ip-domain;
-  include onf-application;
-  include onf-sim-card;
-  include onf-traffic-class;
-  include onf-template;
-  include onf-device;
-  include onf-priority-traffic-rule;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Enterprise is an administration entity that
-     has ownership of resrouces.";
-
-  revision "2022-01-19" {
-    description "Sim-card, Device, and Priority-Traffic-Rule Support";
-    reference "RFC 6020";
-  }
-
-  revision "2022-01-14" {
-    description "Refactored to work with submodules";
-    reference "RFC 6020";
-  }
-
-  revision "2021-06-02" {
-    description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
-    reference "RFC 6087";
-  }
-
-  typedef enterprise-id {
-     type at:aether-identifier;
-     description "The typedef for enterprise-id";
-  }
-
-  container enterprises {
-    description "The top level enterprises container";
-
-    list enterprise {
-      key "enterprise-id";
-      description
-        "List of enterprises";
-
-      leaf enterprise-id {
-        type enterprise-id;
-        description "ID for this enterprise.";
-      }
-
-      uses at:desc-display-name;
-
-      list connectivity-service {
-        key "connectivity-service";
-        leaf connectivity-service {
-          type leafref {
-            path "/cs:connectivity-services/cs:connectivity-service/cs:connectivity-service-id";
-          }
-          description
-            "Link to connectivity services where configuration should be pushed for this enterprise's devices";
-        }
-        leaf enabled {
-          type boolean;
-          default true;
-          description
-            "Allow or disallow pushes to this connectivity service";
-        }
-        description "The list for connectivity-service";
-      }
-
-      uses application;
-
-      uses traffic-class;
-
-      uses template;
-
-      uses site;
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-ip-domain.yang b/config-models/aether-2.0.x/files/yang/onf-ip-domain.yang
deleted file mode 100755
index dbd81ae..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-ip-domain.yang
+++ /dev/null
@@ -1,83 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-ip-domain {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import ietf-inet-types { prefix inet; }
-  import onf-aether-types { prefix at; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether IP-Domain. This is a list of available subnets
-     that may be assigned to UEs, as well as DNS servers and other
-     metadata";
-
-  revision "2022-01-14" {
-    description "Refactored as submodule";
-    reference "RFC 6020";
-  }
-
-  revision "2021-06-02" {
-    description "An Aether IP and Domain Specification";
-    reference "RFC 6087";
-  }
-
-  typedef ip-domain-id {
-    type at:aether-identifier;
-    description "The typedef for ip-domain-id";
-  }
-
-  grouping ip-domain {
-    description "The ip-domain grouping";
-
-    list ip-domain {
-      key "ip-domain-id";
-      description
-        "List of ip domains";
-
-      leaf ip-domain-id {
-        type ip-domain-id;
-        description "ID for this ip domain.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf dnn {
-        type at:dnn;
-        mandatory true;
-        description "DNN/APN";
-      }
-
-      leaf dns-primary {
-        type inet:ip-address;
-        description "primary dns server name";
-      }
-
-      leaf dns-secondary {
-        type inet:ip-address;
-        description "secondary dns server name";
-      }
-
-      // Note: Cannot use a subnet as a list key. Dropped support from a
-      // list of subnets to a single subnet. Revisit in the future.
-      leaf subnet {
-        type inet:ipv4-prefix;
-        mandatory true;
-        description "subnet to allocate ip addresses from";
-      }
-
-      leaf admin-status {
-        type at:admin-status;
-        description "administrative status";
-      }
-
-      leaf mtu {
-        type at:mtu;
-        description "maximum transmission unit";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang b/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang
deleted file mode 100755
index 2706eba..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang
+++ /dev/null
@@ -1,112 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-priority-traffic-rule {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import onf-aether-types{ prefix at; }
-  include onf-device;
-  include onf-traffic-class;
-  include onf-application;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "The aether traffic class associates qos constants
-     with a named class of service";
-
-  revision "2022-01-19" {
-    description "An Aether Priority Traffic Rule";
-    reference "RFC 6087";
-  }
-
-  typedef priority-traffic-rule-id {
-    type at:aether-identifier;
-    description "The typedef for priority traffic rule id";
-  }
-
-  grouping priority-traffic-rule {
-    description "The top level container";
-
-    list priority-traffic-rule {
-      key "priority-traffic-rule-id";
-      unique "device endpoint";
-      description
-        "List of priority traffic rules";
-
-      leaf priority-traffic-rule-id {
-        type priority-traffic-rule-id;
-        description "ID for this priority traffic class.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf device {
-        type leafref {
-          path "../../../device/device-id";
-        }
-        mandatory true;
-        description
-          "Link to device";
-      }
-
-      leaf application {
-        type leafref {
-          path "../../../../application/application-id";
-        }
-        mandatory true;
-        description
-          "Link to application";
-      }
-
-      leaf endpoint {
-        type leafref {
-          path "../../../../application/endpoint/endpoint-id";
-        }
-        mandatory true;
-        description
-          "Link to endpoint in application";
-      }
-
-      choice bitrate {
-        description "Either an GBR or an MBR can be specified, but not both";
-        case mbr-case {
-          container mbr {
-            description "Per-Device per-Application MBR (Maximum BitRate) in bps";
-            uses bitrate;
-          }
-        }
-        case gbr-case {
-          container gbr {
-            description "Per-Device per-Application GBR (Guaranteed BitRate) in bps";
-            uses bitrate;
-          }
-        }
-      }
-
-      leaf traffic-class {
-        type leafref {
-          path "../../../../traffic-class/traffic-class-id";
-        }
-        description
-          "Link to traffic class";
-      }
-    }
-  }
-
-  grouping bitrate {
-      description "uplink and downlink leafs for GBR and MBR";
-      leaf uplink {
-        type at:bitrate;
-        units bps;
-        description "Per-Device per-Application uplink data rate in bps";
-      }
-
-      leaf downlink {
-        type at:bitrate;
-        units bps;
-        description "Per-Device per application downlink data rate in bps";
-      }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-sim-card.yang b/config-models/aether-2.0.x/files/yang/onf-sim-card.yang
deleted file mode 100644
index b263f33..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-sim-card.yang
+++ /dev/null
@@ -1,54 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-sim-card {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import onf-aether-types { prefix at; }
-
-  organization "Open Networking Foundation.";
-    contact "Scott Baker";
-    description
-      "A Aether Device...";
-
-  revision "2022-01-19" {
-    description "An Aether Device";
-    reference "RFC 6087";
-  }
-
-  typedef sim-card-id {
-    type at:aether-identifier;
-    description "The typedef for device-id";
-  }
-
-  grouping sim-card {
-    description "The top level container";
-
-    list sim-card {
-      key "sim-id";
-      unique "iccid";
-      description
-        "List of sim cards";
-
-      leaf sim-id {
-        type sim-card-id;
-        description "ID for this sim card.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf iccid {
-        type at:iccid;
-        description
-           "ICCID for this sim card";
-      }
-
-      leaf imsi {
-          type at:imsi;
-          description
-              "IMSI for this sim card";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-site.yang b/config-models/aether-2.0.x/files/yang/onf-site.yang
deleted file mode 100755
index ae89379..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-site.yang
+++ /dev/null
@@ -1,161 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-site {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import ietf-inet-types { prefix inet; }
-  import onf-aether-types{ prefix at; }
-
-  include onf-device;
-  include onf-sim-card;
-  include onf-upf;
-  include onf-slice;
-  include onf-device-group;
-  include onf-ip-domain;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether site is a location where resources are deployed.";
-
-  revision "2022-01-14" {
-    description "Refactored as submodule";
-    reference "RFC 6020";
-  }
-
-  revision "2021-09-10" {
-    description "An Aether Site.";
-    reference "RFC 6087";
-  }
-
-  typedef site-id {
-    type at:aether-identifier;
-    description "The typedef for site-id";
-  }
-
-  grouping site {
-    description "The site grouping";
-
-    list site {
-      key "site-id";
-      description
-        "List of site";
-
-      leaf site-id {
-        type site-id;
-        description "ID for this site.";
-      }
-
-      uses at:desc-display-name;
-
-      list small-cell {
-        key "small-cell-id";
-        leaf small-cell-id {
-          type at:aether-identifier;
-          description
-            "Id of small cell";
-        }
-
-        uses at:desc-display-name;
-
-        leaf address {
-          type inet:host;
-          description
-            "Address of small cell";
-        }
-        leaf tac {
-          type at:tac;
-          mandatory true;
-          description
-              "Type Allocation Code";
-        }
-        leaf enable {
-          type boolean;
-          default true;
-          description
-            "Enable this small cell";
-        }
-        description
-          "List of small cell addresses";
-      }
-
-      container monitoring {
-        leaf edge-cluster-prometheus-url {
-          type inet:uri;
-          description
-            "URL of edge cluster prometheus";
-        }
-        leaf edge-monitoring-prometheus-url {
-          type inet:uri;
-          description
-            "URL of monitoring prometheus";
-        }
-        list edge-device {
-          key "edge-device-id";
-          leaf edge-device-id {
-            type at:aether-identifier;
-            description
-              "Id of edge monitoring device";
-          }
-          uses at:desc-display-name;
-
-          description
-            "List of edge monitoring devices";
-        }
-        description
-            "container for monitoring";
-      }
-
-      container imsi-definition {
-        leaf mcc {
-          type at:mcc;
-          mandatory true;
-          description "mobile country code";
-        }
-        leaf mnc {
-          type at:mnc;
-          mandatory true;
-          description "mobile network code";
-        }
-        leaf enterprise {
-          type at:ent;
-          mandatory true;
-          description "enterprise-specific identifier";
-        }
-        leaf format {
-          type string {
-            length 15;
-          }
-          mandatory true;
-          description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
-          // Format specifiers:
-          //   C = MCC
-          //   N = MNC
-          //   E = Enterprise
-          //   0 = Forced Zero
-          //   S = Subscriber ID
-          // default is
-          //   3 digit MCC
-          //   3 digit MNC
-          //   3 digit enterprise ID
-          //   5 digit subscriber ID
-        }
-        description "container for imsi-defination";
-      }
-
-      uses device;
-
-      uses sim-card;
-
-      uses upf;
-
-      uses slice;
-
-      uses device-group;
-
-      uses ip-domain;
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-slice.yang b/config-models/aether-2.0.x/files/yang/onf-slice.yang
deleted file mode 100755
index cad763f..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-slice.yang
+++ /dev/null
@@ -1,159 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-slice {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import onf-aether-types{ prefix at; }
-
-  include onf-upf;
-  include onf-device-group;
-  include onf-application;
-  include onf-priority-traffic-rule;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Slice is
-     used to connect devices with applications";
-
-  revision "2022-01-14" {
-    description "Refactored as submodule";
-    reference "RFC 6020";
-  }
-
-  revision "2021-09-10" {
-    description "An Aether Slice";
-    reference "RFC 6087";
-  }
-
-  typedef slice-id {
-    type at:aether-identifier;
-    description "The typedef for slice-id";
-  }
-
-  grouping slice {
-    description "The slice grouping";
-
-    list slice {
-      key "slice-id";
-      description
-        "List of Slices";
-
-      leaf slice-id {
-        type slice-id;
-        description "ID for this slice.";
-      }
-
-      uses at:desc-display-name;
-
-      list device-group {
-        key "device-group";
-        leaf device-group {
-          type leafref {
-            path "../../../device-group/device-group-id";
-          }
-          description
-            "Link to device group";
-        }
-        leaf enable {
-          type boolean;
-          default true;
-          description
-            "Enable this device group";
-        }
-        description
-          "A list of device groups. Groups will only participate in
-           the Slice if the enable field is set to True";
-      }
-
-      leaf default-behavior {
-        type at:behavior;
-        mandatory true;
-        description
-          "Default behavior if no filter rules match";
-      }
-
-      list filter {
-        key "application";
-        leaf application {
-          type leafref {
-            path "../../../../application/application-id";
-          }
-          mandatory true;
-          description
-            "Link to application";
-        }
-        leaf priority {
-          type at:priority;
-          default 0;
-          description
-            "Priority of this application";
-        }
-        leaf allow {
-          type boolean;
-          default true;
-          description
-            "Allow or deny this application";
-        }
-        description
-          "A list of applications to allow and/or deny. Rules are executed in
-           priority order. The first rule to match will determine the fate
-           of the packet.";
-      }
-
-      leaf upf {
-        type leafref {
-          path "../../upf/upf-id";
-        }
-        description
-          "Link to user plane that implements this vcf";
-      }
-
-      // the following are populated from the template
-      leaf sst {
-        type at:sst;
-        mandatory true;
-        description "Slice/Service type. Immutable.";
-      }
-
-      leaf sd {
-        type at:sd;
-        mandatory true;
-        description "Slice differentiator. Immutable.";
-      }
-
-      container mbr {
-        description "Per slice Maximum Bit Rate";
-        leaf uplink {
-          type at:bitrate;
-          units bps;
-          description "Per-Slice MBR uplink data rate in bps";
-        }
-
-        leaf downlink {
-          type at:bitrate;
-          units bps;
-          description "Per-Slice MBR downlink data rate in bps";
-        }
-
-        leaf uplink-burst-size {
-          type at:burst;
-          units bytes;
-          description "Per-Slice Uplink burst size";
-        }
-
-        leaf downlink-burst-size {
-          type at:burst;
-          units bytes;
-          description "Per-Slice Downlink burst size";
-        }
-      }
-
-      // end of items populated from the template
-      uses priority-traffic-rule;
-
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-template.yang b/config-models/aether-2.0.x/files/yang/onf-template.yang
deleted file mode 100755
index a96b9bc..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-template.yang
+++ /dev/null
@@ -1,92 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-template {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import onf-aether-types{ prefix at; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "The aether slice-template holds common parameters used
-     by a Slice. Templates are used to
-     populate a Slice.";
-
-  revision "2022-01-14" {
-    description "Refactored as submodule";
-    reference "RFC 6020";
-  }
-
-  revision "2021-09-10" {
-    description "An Aether Slice Template";
-    reference "RFC 6087";
-  }
-
-  typedef template-id {
-    type at:aether-identifier;
-    description "The typedef for template-id";
-  }
-
-  grouping template {
-    description "The template grouping";
-
-    list template {
-      key "template-id";
-      description
-        "List of slice templates";
-
-      leaf template-id {
-        type template-id;
-        description "ID for this slice template.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf sst {
-        type at:sst;
-        description "Slice/Service type";
-      }
-
-      leaf sd {
-        type at:sd;
-        description "Slice differentiator";
-      }
-
-      container mbr {
-        description "Per-Slice QOS Settings Maximum Bit Rate";
-        leaf uplink {
-          type at:bitrate;
-          units bps;
-          description "Per-Slice MBR uplink data rate in bps";
-        }
-
-        leaf downlink {
-          type at:bitrate;
-          units bps;
-          description "Per-Slice MBR downlink data rate in bps";
-        }
-
-        leaf uplink-burst-size {
-          type at:burst;
-          units bytes;
-          description "Per-Slice Uplink burst size";
-        }
-
-        leaf downlink-burst-size {
-          type at:burst;
-          units bytes;
-          description "Per-Slice Downlink burst size";
-        }
-      }
-
-      leaf default-behavior {
-        type at:behavior;
-        mandatory true;
-        description
-          "Default behavior if no filter rules match";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-traffic-class.yang b/config-models/aether-2.0.x/files/yang/onf-traffic-class.yang
deleted file mode 100755
index 5f1e021..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-traffic-class.yang
+++ /dev/null
@@ -1,67 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-traffic-class {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import onf-aether-types{ prefix at; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "The aether traffic class associates qos constants
-     with a named class of service";
-
-  revision "2022-01-14" {
-    description "Refactored as submodule";
-    reference "RFC 6020";
-  }
-
-  revision "2021-09-10" {
-    description "An Aether Traffic Class";
-    reference "RFC 6087";
-  }
-
-  typedef traffic-class-id {
-    type at:aether-identifier;
-    description "The typedef for traffic-class-id";
-  }
-
-  grouping traffic-class {
-    description "The traffic-class grouping";
-
-    list traffic-class {
-      key "traffic-class-id";
-      description
-        "List of traffic class";
-
-      leaf traffic-class-id {
-        type traffic-class-id;
-        description "ID for this traffic class.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf arp {
-        type at:arp;
-        description "Allocation and Retention Priority. 1 is the highest. 15 is the lowest.";
-      }
-
-      leaf qci {
-        type at:qci;
-        description "QOS Class Identifier";
-      }
-
-      leaf pelr {
-        type at:pelr;
-        description "PELR exponent";
-      }
-
-      leaf pdb {
-        type at:pdb;
-        description "PDB";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/files/yang/onf-upf.yang b/config-models/aether-2.0.x/files/yang/onf-upf.yang
deleted file mode 100755
index fdfbafc..0000000
--- a/config-models/aether-2.0.x/files/yang/onf-upf.yang
+++ /dev/null
@@ -1,65 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-submodule onf-upf {
-  belongs-to onf-enterprise { prefix ent; }
-
-  import ietf-inet-types { prefix inet; }
-  import onf-aether-types { prefix at; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "A Aether UPF List is a named User Plane Function.";
-
-  revision "2022-01-14" {
-    description "Refactored as submodule";
-    reference "RFC 6020";
-  }
-
-  revision "2021-09-16" {
-    description "An Aether User Plane Function";
-    reference "RFC 6087";
-  }
-
-  typedef upf-id {
-    type at:aether-identifier;
-    description "The typedef for upf-id";
-  }
-
-  grouping upf {
-    description "The upf grouping";
-
-    list upf {
-      key "upf-id";
-      description
-        "A list of named upfs.";
-
-      leaf upf-id {
-        type upf-id;
-        description "ID for this upf.";
-      }
-
-      uses at:desc-display-name;
-
-      leaf address {
-        type inet:host;
-        mandatory true;
-        description
-          "Address of UPF";
-      }
-
-      leaf port {
-        type inet:port-number;
-        mandatory true;
-        description
-            "Port for UPF";
-      }
-
-      leaf config-endpoint {
-        type inet:uri;
-        description "url for configuring the UPF";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.0.x/templates/_helpers.tpl b/config-models/aether-2.0.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-2.0.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-2.0.x/templates/model.yaml b/config-models/aether-2.0.x/templates/model.yaml
deleted file mode 100644
index f3a73f0..0000000
--- a/config-models/aether-2.0.x/templates/model.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
-  name: {{ template "aether.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "aether.labels" . | nindent 4 }}
-spec:
-  plugin:
-    type: Aether
-    version: {{ .Chart.AppVersion | quote }}
-  modules:
-  - name: onf-connectivity-service
-    organization: Open Networking Foundation
-    revision: 2022-01-14
-    file: onf-connectivity-service.yang
-  - name: onf-enterprise
-    organization: Open Networking Foundation
-    revision: 2022-01-14
-    file: onf-enterprise.yang
-  files:
-    {{- range $path, $_  := $.Files.Glob "files/yang/*.yang" }}
-    {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
-    {{- end }}
diff --git a/config-models/aether-2.0.x/values.yaml b/config-models/aether-2.0.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-2.0.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-2.1.x/.helmignore b/config-models/aether-2.1.x/.helmignore
deleted file mode 100644
index 862263b..0000000
--- a/config-models/aether-2.1.x/.helmignore
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-FileCopyrightText: 2021 Open Networking Foundation
-#
-# SPDX-License-Identifier: Apache-2.0
-
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/config-models/aether-2.1.x/Chart.yaml b/config-models/aether-2.1.x/Chart.yaml
deleted file mode 100644
index f073808..0000000
--- a/config-models/aether-2.1.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether-2
-version: 2.1.6
-kubeVersion: ">=1.18.0"
-appVersion: 2.1.0
-description: Aether config model
-keywords:
-  - onos
-  - sdn
-  - config
-home: https://onosproject.org
-maintainers:
-  - name: ONOS Support
-    email: support@opennetworking.org
diff --git a/config-models/aether-2.1.x/files/aether-2.1.0.tree b/config-models/aether-2.1.x/files/aether-2.1.0.tree
deleted file mode 100644
index 84dd39a..0000000
--- a/config-models/aether-2.1.x/files/aether-2.1.0.tree
+++ /dev/null
@@ -1,153 +0,0 @@
-module: access-profile
-  +--rw access-profile
-     +--rw access-profile* [id]
-        +--rw id              access-profile-id
-        +--rw display-name?   string
-        +--rw type?           string
-        +--rw filter?         string
-        +--rw description?    string
-
-module: aether-subscriber
-  +--rw subscriber
-     +--rw ue* [id]
-        +--rw id                       ietf:uuid
-        +--rw display-name?            string
-        +--rw (imsi)?
-        |  +--:(wildcard)
-        |  |  +--rw imsi-wildcard?     string
-        |  +--:(range)
-        |     +--rw imsi-range-from?   uint64
-        |     +--rw imsi-range-to?     uint64
-        +--rw serving-plmn
-        |  +--rw mcc?   mcc
-        |  +--rw mnc?   mnc
-        |  +--rw tac?   tac
-        +--rw requested-apn?           string
-        +--rw priority?                uint32
-        +--rw enabled?                 boolean
-        +--rw enterprise?              -> /ent:enterprise/enterprise/id
-        +--rw profiles
-           +--rw apn-profile?        -> /apn:apn-profile/apn-profile/id
-           +--rw up-profile?         -> /up:up-profile/up-profile/id
-           +--rw qos-profile?        -> /qos:qos-profile/qos-profile/id
-           +--rw access-profile* [access-profile]
-           |  +--rw access-profile    -> /ap:access-profile/access-profile/id
-           |  +--rw allowed?          boolean
-           +--rw security-profile?   -> /sec:security-profile/security-profile/id
-
-module: apn-profile
-  +--rw apn-profile
-     +--rw apn-profile* [id]
-        +--rw id               apn-profile-id
-        +--rw display-name?    string
-        +--rw apn-name?        string
-        +--rw dns-primary?     inet:ip-address
-        +--rw dns-secondary?   inet:ip-address
-        +--rw mtu?             uint32
-        +--rw gx-enabled?      boolean
-        +--rw description?     string
-        +--rw service-group?   -> /sg:service-group/service-group/id
-
-module: connectivity-service
-  +--rw connectivity-service
-     +--rw connectivity-service* [id]
-        +--rw id                connectivity-service-id
-        +--rw display-name?     string
-        +--rw description?      string
-        +--rw spgwc-endpoint?   inet:uri
-        +--rw hss-endpoint?     inet:uri
-        +--rw pcrf-endpoint?    inet:uri
-
-module: enterprise
-  +--rw enterprise
-     +--rw enterprise* [id]
-        +--rw id                      enterprise-id
-        +--rw display-name?           string
-        +--rw description?            string
-        +--rw connectivity-service* [connectivity-service]
-           +--rw connectivity-service    -> /cs:connectivity-service/connectivity-service/id
-           +--rw enabled?                boolean
-
-module: qos-profile
-  +--rw qos-profile
-     +--rw qos-profile* [id]
-        +--rw id              qos-profile-id
-        +--rw display-name?   string
-        +--rw apn-ambr
-        |  +--rw uplink?     uint32
-        |  +--rw downlink?   uint32
-        +--rw qci?            uint32
-        +--rw arp
-        |  +--rw priority?                   uint32
-        |  +--rw preemption-capability?      boolean
-        |  +--rw preemption-vulnerability?   boolean
-        +--rw description?    string
-
-module: security-profile
-  +--rw security-profile
-     +--rw security-profile* [id]
-        +--rw id              security-profile-id
-        +--rw display-name?   string
-        +--rw key?            string
-        +--rw opc?            string
-        +--rw sqn?            uint32
-        +--rw description?    string
-
-module: service-group
-  +--rw service-group
-     +--rw service-group* [id]
-        +--rw id                  service-group-id
-        +--rw display-name?       string
-        +--rw service-policies* [service-policy]
-        |  +--rw service-policy    -> /serv:service-policy/service-policy/id
-        |  +--rw kind?             service-kind
-        +--rw description?        string
-
-module: service-policy
-  +--rw service-policy
-     +--rw service-policy* [id]
-        +--rw id              service-policy-id
-        +--rw display-name?   string
-        +--rw qci?            uint32
-        +--rw arp?            uint32
-        +--rw ambr
-        |  +--rw uplink?     uint32
-        |  +--rw downlink?   uint32
-        +--rw rules* [rule]
-        |  +--rw rule       -> /sr:service-rule/service-rule/id
-        |  +--rw enabled?   boolean
-        +--rw description?    string
-
-module: service-rule
-  +--rw service-rule
-     +--rw service-rule* [id]
-        +--rw id                    service-rule-id
-        +--rw display-name?         string
-        +--rw charging-rule-name?   string
-        +--rw qos
-        |  +--rw qci?                           uint32
-        |  +--rw arp
-        |  |  +--rw priority?                   uint32
-        |  |  +--rw preemption-capability?      boolean
-        |  |  +--rw preemption-vulnerability?   boolean
-        |  +--rw maximum-requested-bandwidth
-        |  |  +--rw uplink?     uint32
-        |  |  +--rw downlink?   uint32
-        |  +--rw guaranteed-bitrate
-        |  |  +--rw uplink?     uint32
-        |  |  +--rw downlink?   uint32
-        |  +--rw aggregate-maximum-bitrate
-        |     +--rw uplink?     uint32
-        |     +--rw downlink?   uint32
-        +--rw flow
-        |  +--rw specification?   string
-        +--rw description?          string
-
-module: up-profile
-  +--rw up-profile
-     +--rw up-profile* [id]
-        +--rw id                up-profile-id
-        +--rw display-name?     string
-        +--rw user-plane?       string
-        +--rw access-control?   string
-        +--rw description?      string
diff --git a/config-models/aether-2.1.x/files/yang/access-profile.yang b/config-models/aether-2.1.x/files/yang/access-profile.yang
deleted file mode 100755
index 49009fe..0000000
--- a/config-models/aether-2.1.x/files/yang/access-profile.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module access-profile {
-  namespace "http://opennetworking.org/aether/access-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-10-22" {
-    description "An Aether access Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef access-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for access-profile-id";
-  }
-
-  container access-profile {
-    description "The top level container";
-
-    list access-profile {
-      key "id";
-      description
-        "List of access profiles";
-
-      leaf id {
-        type access-profile-id;
-        description "ID for this access profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf type {
-        type string {
-          length 1..32;
-        }
-        description "type of profile";
-      }
-
-      leaf filter {
-        type string {
-          length 0..32;
-        }
-        description "filter";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/aether-subscriber.yang b/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
deleted file mode 100755
index 397bd97..0000000
--- a/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
+++ /dev/null
@@ -1,188 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module aether-subscriber {
-  namespace "http://opennetworking.org/aether/subscriber";
-  prefix sub;
-
-  import apn-profile{ prefix apn; }
-  import qos-profile{ prefix qos; }
-  import up-profile{ prefix up; }
-  import access-profile{ prefix ap; }
-  import security-profile{ prefix sec; }
-  import enterprise{ prefix ent; }
-  import ietf-yang-types{ prefix ietf; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-10-22" {
-    description "An Aether Subscriber";
-    reference "RFC 6087";
-  }
-
-  typedef mcc {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typedef for mcc";
-  }
-
-  typedef mnc {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typedef for mnc";
-  }
-
-  typedef tac {
-      type uint32 {
-        range 0..99999999;
-      }
-    description "The typedef for tac";
-  }
-
-  container subscriber {
-    description "The top level container";
-
-    list ue {
-      key "id";
-      description
-        "List of subscriber devices";
-
-      leaf id {
-	type ietf:uuid;
-        description "identifier for this subscriber, typically a UUID";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      choice imsi {
-        case wildcard {
-          leaf imsi-wildcard {
-            type string {
-              length 1..15;
-            }
-            description "leaf for imsi-wildcard";
-          }
-        }
-        case range {
-          leaf imsi-range-from {
-            type uint64;
-            description "leaf for imsi-range-from";
-          }
-          leaf imsi-range-to {
-            type uint64;
-            description "leaf for imsi-range-to";
-          }
-        }
-        description "The choice for imsi";
-      }
-
-      container serving-plmn {
-        leaf mcc {
-          type mcc;
-          description "mobile country code";
-        }
-        leaf mnc {
-          type mnc;
-          description "mobile network code";
-        }
-        leaf tac {
-          type tac;
-          description "type allocation code";
-        }
-        description "The container for serving-plmn";
-      }
-
-      leaf requested-apn {
-        type string {
-            length 0..31;
-        }
-        description "requested access point name";
-      }
-
-      leaf priority {
-        type uint32 {
-          range 0..1000;
-        }
-        default 0;
-        description
-          "Priority for this subscriber range";
-      }
-
-      leaf enabled {
-        type boolean;
-        default false;
-        description
-          "Enable or disable this ue";
-      }
-
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        description
-          "Link to enterprise that owns this UE range";
-      }
-
-      container profiles {
-        leaf apn-profile {
-          type leafref {
-            path "/apn:apn-profile/apn:apn-profile/apn:id";
-          }
-          description
-            "Link to apn profile";
-        }
-        leaf up-profile {
-          type leafref {
-            path "/up:up-profile/up:up-profile/up:id";
-          }
-          description
-            "Link to user plane profile";
-        }
-        leaf qos-profile {
-          type leafref {
-            path "/qos:qos-profile/qos:qos-profile/qos:id";
-          }
-          description
-            "Link to qos profile";
-        }
-        list access-profile {
-          key "access-profile";
-          leaf access-profile {
-            type leafref {
-              path "/ap:access-profile/ap:access-profile/ap:id";
-            }
-            description
-                "Link to access profile";
-          }
-          leaf allowed {
-            type boolean;
-            default true;
-            description
-              "Allow or disallow this ue to use this access profile";
-          }
-	  description "The list for access-profile";
-        }
-        leaf security-profile {
-          type leafref {
-            path "/sec:security-profile/sec:security-profile/sec:id";
-          }
-          description
-            "Link to security profile";
-        }
-        description "The container for profiles";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/apn-profile.yang b/config-models/aether-2.1.x/files/yang/apn-profile.yang
deleted file mode 100755
index 3d0ba48..0000000
--- a/config-models/aether-2.1.x/files/yang/apn-profile.yang
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module apn-profile {
-  namespace "http://opennetworking.org/aether/apn-profile";
-  prefix pro;
-
-  import ietf-inet-types { prefix inet; }
-  import service-group { prefix sg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-04" {
-    description "An Aether APN Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef apn-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for apn-profile-id";
-  }
-
-  container apn-profile {
-    description "The top level container";
-
-    list apn-profile {
-      key "id";
-      description
-        "List of apn profiles";
-
-      leaf id {
-        type apn-profile-id;
-        description "ID for this apn profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf apn-name {
-        type string {
-          length 1..32;
-        }
-        description "apn name";
-      }
-
-      leaf dns-primary {
-        type inet:ip-address;
-        description "primary dns server name";
-      }
-
-      leaf dns-secondary {
-        type inet:ip-address;
-        description "secondary dns server name";
-      }
-
-      leaf mtu {
-        type uint32 {
-          range 68..65535;
-        }
-        units bytes;
-        default 1460;
-        description "maximum transmission unit";
-      }
-
-      leaf gx-enabled {
-        type boolean;
-        default false;
-        description "enable gx interface";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-
-      leaf service-group {
-        type leafref {
-          path "/sg:service-group/sg:service-group/sg:id";
-        }
-        description
-          "Link to service group";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/connectivity-service.yang b/config-models/aether-2.1.x/files/yang/connectivity-service.yang
deleted file mode 100755
index 7a00b2f..0000000
--- a/config-models/aether-2.1.x/files/yang/connectivity-service.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module connectivity-service {
-  namespace "http://opennetworking.org/aether/connectivity-service";
-  prefix cs;
-
-  import ietf-inet-types { prefix inet; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-18" {
-    description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
-    reference "RFC 6087";
-  }
-
-  typedef connectivity-service-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for connectivity-service-id";
-  }
-
-  container connectivity-service {
-    description "The top level container";
-
-    list connectivity-service {
-      key "id";
-      description
-        "List of connectivity services";
-
-      leaf id {
-        type connectivity-service-id;
-        description "ID for this connectivity service.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this connectivity service";
-      }
-
-      leaf spgwc-endpoint {
-        type inet:uri;
-        description "url of the spgwc service";
-      }
-
-      leaf hss-endpoint {
-        type inet:uri;
-        description "url of the hss service";
-      }
-
-      leaf pcrf-endpoint {
-        type inet:uri;
-        description "url of the pcrf service";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/enterprise.yang b/config-models/aether-2.1.x/files/yang/enterprise.yang
deleted file mode 100755
index dfb1b60..0000000
--- a/config-models/aether-2.1.x/files/yang/enterprise.yang
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module enterprise {
-  namespace "http://opennetworking.org/aether/enterprise";
-  prefix ent;
-
-  import connectivity-service { prefix cs; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-11-30" {
-    description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
-    reference "RFC 6087";
-  }
-
-  typedef enterprise-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for enterprise-id";
-  }
-
-  container enterprise {
-    description "The top level container";
-
-    list enterprise {
-      key "id";
-      description
-        "List of enterprises";
-
-      leaf id {
-        type enterprise-id;
-        description "ID for this enterprise.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this enterprise";
-      }
-
-      list connectivity-service {
-        key "connectivity-service";
-        leaf connectivity-service {
-          type leafref {
-            path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }
-          description
-            "Link to connectivity services where configuration should be pushed for this enterprise's devices";
-        }
-        leaf enabled {
-          type boolean;
-          default true;
-          description
-            "Allow or disallow pushes to this connectivity service";
-        }
-	description "The list for connectivity-service";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
-  prefix "inet";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types for Internet addresses and related things.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - ip-address-no-zone
-      - ipv4-address-no-zone
-      - ipv6-address-no-zone";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of types related to protocol fields ***/
-
-  typedef ip-version {
-    type enumeration {
-      enum unknown {
-        value "0";
-        description
-         "An unknown or unspecified version of the Internet
-          protocol.";
-      }
-      enum ipv4 {
-        value "1";
-        description
-         "The IPv4 protocol as defined in RFC 791.";
-      }
-      enum ipv6 {
-        value "2";
-        description
-         "The IPv6 protocol as defined in RFC 2460.";
-      }
-    }
-    description
-     "This value represents the version of the IP protocol.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetVersion textual convention of the SMIv2.";
-    reference
-     "RFC  791: Internet Protocol
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  typedef dscp {
-    type uint8 {
-      range "0..63";
-    }
-    description
-     "The dscp type represents a Differentiated Services Code Point
-      that may be used for marking packets in a traffic stream.
-      In the value set and its semantics, this type is equivalent
-      to the Dscp textual convention of the SMIv2.";
-    reference
-     "RFC 3289: Management Information Base for the Differentiated
-                Services Architecture
-      RFC 2474: Definition of the Differentiated Services Field
-                (DS Field) in the IPv4 and IPv6 Headers
-      RFC 2780: IANA Allocation Guidelines For Values In
-                the Internet Protocol and Related Headers";
-  }
-
-  typedef ipv6-flow-label {
-    type uint32 {
-      range "0..1048575";
-    }
-    description
-     "The ipv6-flow-label type represents the flow identifier or Flow
-      Label in an IPv6 packet header that may be used to
-      discriminate traffic flows.
-
-      In the value set and its semantics, this type is equivalent
-      to the IPv6FlowLabel textual convention of the SMIv2.";
-    reference
-     "RFC 3595: Textual Conventions for IPv6 Flow Label
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
-  }
-
-  typedef port-number {
-    type uint16 {
-      range "0..65535";
-    }
-    description
-     "The port-number type represents a 16-bit port number of an
-      Internet transport-layer protocol such as UDP, TCP, DCCP, or
-      SCTP.  Port numbers are assigned by IANA.  A current list of
-      all assignments is available from <http://www.iana.org/>.
-
-      Note that the port number value zero is reserved by IANA.  In
-      situations where the value zero does not make sense, it can
-      be excluded by subtyping the port-number type.
-      In the value set and its semantics, this type is equivalent
-      to the InetPortNumber textual convention of the SMIv2.";
-    reference
-     "RFC  768: User Datagram Protocol
-      RFC  793: Transmission Control Protocol
-      RFC 4960: Stream Control Transmission Protocol
-      RFC 4340: Datagram Congestion Control Protocol (DCCP)
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  /*** collection of types related to autonomous systems ***/
-
-  typedef as-number {
-    type uint32;
-    description
-     "The as-number type represents autonomous system numbers
-      which identify an Autonomous System (AS).  An AS is a set
-      of routers under a single technical administration, using
-      an interior gateway protocol and common metrics to route
-      packets within the AS, and using an exterior gateway
-      protocol to route packets to other ASes.  IANA maintains
-      the AS number space and has delegated large parts to the
-      regional registries.
-
-      Autonomous system numbers were originally limited to 16
-      bits.  BGP extensions have enlarged the autonomous system
-      number space to 32 bits.  This type therefore uses an uint32
-      base type without a range restriction in order to support
-      a larger autonomous system number space.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetAutonomousSystemNumber textual convention of
-      the SMIv2.";
-    reference
-     "RFC 1930: Guidelines for creation, selection, and registration
-                of an Autonomous System (AS)
-      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
-      RFC 4001: Textual Conventions for Internet Network Addresses
-      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
-                Number Space";
-  }
-
-  /*** collection of types related to IP addresses and hostnames ***/
-
-  typedef ip-address {
-    type union {
-      type inet:ipv4-address;
-      type inet:ipv6-address;
-    }
-    description
-     "The ip-address type represents an IP address and is IP
-      version neutral.  The format of the textual representation
-      implies the IP version.  This type supports scoped addresses
-      by allowing zone identifiers in the address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-      + '(%[\p{N}\p{L}]+)?';
-    }
-    description
-      "The ipv4-address type represents an IPv4 address in
-       dotted-quad notation.  The IPv4 address may include a zone
-       index, separated by a % sign.
-
-       The zone index is used to disambiguate identical address
-       values.  For link-local addresses, the zone index will
-       typically be the interface index number or the name of an
-       interface.  If the zone index is not present, the default
-       zone of the device will be used.
-
-       The canonical format for the zone index is the numerical
-       format";
-  }
-
-  typedef ipv6-address {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(%[\p{N}\p{L}]+)?';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(%.+)?';
-    }
-    description
-     "The ipv6-address type represents an IPv6 address in full,
-      mixed, shortened, and shortened-mixed notation.  The IPv6
-      address may include a zone index, separated by a % sign.
-
-      The zone index is used to disambiguate identical address
-      values.  For link-local addresses, the zone index will
-      typically be the interface index number or the name of an
-      interface.  If the zone index is not present, the default
-      zone of the device will be used.
-
-      The canonical format of IPv6 addresses uses the textual
-      representation defined in Section 4 of RFC 5952.  The
-      canonical format for the zone index is the numerical
-      format as described in Section 11.2 of RFC 4007.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-address-no-zone {
-    type union {
-      type inet:ipv4-address-no-zone;
-      type inet:ipv6-address-no-zone;
-    }
-    description
-     "The ip-address-no-zone type represents an IP address and is
-      IP version neutral.  The format of the textual representation
-      implies the IP version.  This type does not support scoped
-      addresses since it does not allow zone identifiers in the
-      address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address-no-zone {
-    type inet:ipv4-address {
-      pattern '[0-9\.]*';
-    }
-    description
-      "An IPv4 address without a zone index.  This type, derived from
-       ipv4-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-  }
-
-  typedef ipv6-address-no-zone {
-    type inet:ipv6-address {
-      pattern '[0-9a-fA-F:\.]*';
-    }
-    description
-      "An IPv6 address without a zone index.  This type, derived from
-       ipv6-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-prefix {
-    type union {
-      type inet:ipv4-prefix;
-      type inet:ipv6-prefix;
-    }
-    description
-     "The ip-prefix type represents an IP prefix and is IP
-      version neutral.  The format of the textual representations
-      implies the IP version.";
-  }
-
-  typedef ipv4-prefix {
-    type string {
-      pattern
-         '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-       +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-       + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
-    }
-    description
-     "The ipv4-prefix type represents an IPv4 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 32.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The canonical format of an IPv4 prefix has all bits of
-      the IPv4 address set to zero that are not part of the
-      IPv4 prefix.";
-  }
-
-  typedef ipv6-prefix {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(/.+)';
-    }
-
-    description
-     "The ipv6-prefix type represents an IPv6 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 128.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The IPv6 address should have all bits that do not belong
-      to the prefix set to zero.
-
-      The canonical format of an IPv6 prefix has all bits of
-      the IPv6 address set to zero that are not part of the
-      IPv6 prefix.  Furthermore, the IPv6 address is represented
-      as defined in Section 4 of RFC 5952.";
-    reference
-     "RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  /*** collection of domain name and URI types ***/
-
-  typedef domain-name {
-    type string {
-      length "1..253";
-      pattern
-        '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
-      + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
-      + '|\.';
-    }
-    description
-     "The domain-name type represents a DNS domain name.  The
-      name SHOULD be fully qualified whenever possible.
-
-      Internet domain names are only loosely specified.  Section
-      3.5 of RFC 1034 recommends a syntax (modified in Section
-      2.1 of RFC 1123).  The pattern above is intended to allow
-      for current practice in domain name use, and some possible
-      future expansion.  It is designed to hold various types of
-      domain names, including names used for A or AAAA records
-      (host names) and other records, such as SRV records.  Note
-      that Internet host names have a stricter syntax (described
-      in RFC 952) than the DNS recommendations in RFCs 1034 and
-      1123, and that systems that want to store host names in
-      schema nodes using the domain-name type are recommended to
-      adhere to this stricter standard to ensure interoperability.
-
-      The encoding of DNS names in the DNS protocol is limited
-      to 255 characters.  Since the encoding consists of labels
-      prefixed by a length bytes and there is a trailing NULL
-      byte, only 253 characters can appear in the textual dotted
-      notation.
-
-      The description clause of schema nodes using the domain-name
-      type MUST describe when and how these names are resolved to
-      IP addresses.  Note that the resolution of a domain-name value
-      may require to query multiple DNS records (e.g., A for IPv4
-      and AAAA for IPv6).  The order of the resolution process and
-      which DNS record takes precedence can either be defined
-      explicitly or may depend on the configuration of the
-      resolver.
-
-      Domain-name values use the US-ASCII encoding.  Their canonical
-      format uses lowercase US-ASCII characters.  Internationalized
-      domain names MUST be A-labels as per RFC 5890.";
-    reference
-     "RFC  952: DoD Internet Host Table Specification
-      RFC 1034: Domain Names - Concepts and Facilities
-      RFC 1123: Requirements for Internet Hosts -- Application
-                and Support
-      RFC 2782: A DNS RR for specifying the location of services
-                (DNS SRV)
-      RFC 5890: Internationalized Domain Names in Applications
-                (IDNA): Definitions and Document Framework";
-  }
-
-  typedef host {
-    type union {
-      type inet:ip-address;
-      type inet:domain-name;
-    }
-    description
-     "The host type represents either an IP address or a DNS
-      domain name.";
-  }
-
-  typedef uri {
-    type string;
-    description
-     "The uri type represents a Uniform Resource Identifier
-      (URI) as defined by STD 66.
-
-      Objects using the uri type MUST be in US-ASCII encoding,
-      and MUST be normalized as described by RFC 3986 Sections
-      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
-      percent-encoding is removed, and all case-insensitive
-      characters are set to lowercase except for hexadecimal
-      digits, which are normalized to uppercase as described in
-      Section 6.2.2.1.
-
-      The purpose of this normalization is to help provide
-      unique URIs.  Note that this normalization is not
-      sufficient to provide uniqueness.  Two URIs that are
-      textually distinct after this normalization may still be
-      equivalent.
-
-      Objects using the uri type may restrict the schemes that
-      they permit.  For example, 'data:' and 'urn:' schemes
-      might not be appropriate.
-
-      A zero-length URI is not a valid URI.  This can be used to
-      express 'URI absent' where required.
-
-      In the value set and its semantics, this type is equivalent
-      to the Uri SMIv2 textual convention defined in RFC 5017.";
-    reference
-     "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
-      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
-                Group: Uniform Resource Identifiers (URIs), URLs,
-                and Uniform Resource Names (URNs): Clarifications
-                and Recommendations
-      RFC 5017: MIB Textual Conventions for Uniform Resource
-                Identifiers (URIs)";
-  }
-
-}
diff --git a/config-models/aether-2.1.x/files/yang/ietf-yang-types.yang b/config-models/aether-2.1.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-2.1.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
-  prefix "yang";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - yang-identifier
-      - hex-string
-      - uuid
-      - dotted-quad";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of counter and gauge types ***/
-
-  typedef counter32 {
-    type uint32;
-    description
-     "The counter32 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter32 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter32 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter32.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter32 {
-    type yang:counter32;
-    default "0";
-    description
-     "The zero-based-counter32 type represents a counter32
-      that has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter32 textual convention of the SMIv2.";
-    reference
-      "RFC 4502: Remote Network Monitoring Management Information
-                 Base Version 2";
-  }
-
-  typedef counter64 {
-    type uint64;
-    description
-     "The counter64 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter64 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter64 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter64.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter64 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter64 {
-    type yang:counter64;
-    default "0";
-    description
-     "The zero-based-counter64 type represents a counter64 that
-      has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter64 textual convention of the SMIv2.";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  typedef gauge32 {
-    type uint32;
-    description
-     "The gauge32 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^32-1 (4294967295 decimal), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge32 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge32 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the Gauge32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef gauge64 {
-    type uint64;
-    description
-     "The gauge64 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^64-1 (18446744073709551615), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge64 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge64 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the CounterBasedGauge64 SMIv2 textual convention defined
-      in RFC 2856";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  /*** collection of identifier-related types ***/
-
-  typedef object-identifier {
-    type string {
-      pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
-            + '(\.(0|([1-9]\d*)))*';
-    }
-    description
-     "The object-identifier type represents administratively
-      assigned names in a registration-hierarchical-name tree.
-
-      Values of this type are denoted as a sequence of numerical
-      non-negative sub-identifier values.  Each sub-identifier
-      value MUST NOT exceed 2^32-1 (4294967295).  Sub-identifiers
-      are separated by single dots and without any intermediate
-      whitespace.
-
-      The ASN.1 standard restricts the value space of the first
-      sub-identifier to 0, 1, or 2.  Furthermore, the value space
-      of the second sub-identifier is restricted to the range
-      0 to 39 if the first sub-identifier is 0 or 1.  Finally,
-      the ASN.1 standard requires that an object identifier
-      has always at least two sub-identifiers.  The pattern
-      captures these restrictions.
-
-      Although the number of sub-identifiers is not limited,
-      module designers should realize that there may be
-      implementations that stick with the SMIv2 limit of 128
-      sub-identifiers.
-
-      This type is a superset of the SMIv2 OBJECT IDENTIFIER type
-      since it is not restricted to 128 sub-identifiers.  Hence,
-      this type SHOULD NOT be used to represent the SMIv2 OBJECT
-      IDENTIFIER type; the object-identifier-128 type SHOULD be
-      used instead.";
-    reference
-     "ISO9834-1: Information technology -- Open Systems
-      Interconnection -- Procedures for the operation of OSI
-      Registration Authorities: General procedures and top
-      arcs of the ASN.1 Object Identifier tree";
-  }
-
-  typedef object-identifier-128 {
-    type object-identifier {
-      pattern '\d*(\.\d*){1,127}';
-    }
-    description
-     "This type represents object-identifiers restricted to 128
-      sub-identifiers.
-
-      In the value set and its semantics, this type is equivalent
-      to the OBJECT IDENTIFIER type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef yang-identifier {
-    type string {
-      length "1..max";
-      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
-      pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
-    }
-    description
-      "A YANG identifier string as defined by the 'identifier'
-       rule in Section 12 of RFC 6020.  An identifier must
-       start with an alphabetic character or an underscore
-       followed by an arbitrary sequence of alphabetic or
-       numeric characters, underscores, hyphens, or dots.
-
-       A YANG identifier MUST NOT start with any possible
-       combination of the lowercase or uppercase character
-       sequence 'xml'.";
-    reference
-      "RFC 6020: YANG - A Data Modeling Language for the Network
-                 Configuration Protocol (NETCONF)";
-  }
-
-  /*** collection of types related to date and time***/
-
-  typedef date-and-time {
-    type string {
-      pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
-            + '(Z|[\+\-]\d{2}:\d{2})';
-    }
-    description
-     "The date-and-time type is a profile of the ISO 8601
-      standard for representation of dates and times using the
-      Gregorian calendar.  The profile is defined by the
-      date-time production in Section 5.6 of RFC 3339.
-
-      The date-and-time type is compatible with the dateTime XML
-      schema type with the following notable exceptions:
-
-      (a) The date-and-time type does not allow negative years.
-
-      (b) The date-and-time time-offset -00:00 indicates an unknown
-          time zone (see RFC 3339) while -00:00 and +00:00 and Z
-          all represent the same time zone in dateTime.
-
-      (c) The canonical format (see below) of data-and-time values
-          differs from the canonical format used by the dateTime XML
-          schema type, which requires all times to be in UTC using
-          the time-offset 'Z'.
-
-      This type is not equivalent to the DateAndTime textual
-      convention of the SMIv2 since RFC 3339 uses a different
-      separator between full-date and full-time and provides
-      higher resolution of time-secfrac.
-
-      The canonical format for date-and-time values with a known time
-      zone uses a numeric time zone offset that is calculated using
-      the device's configured known offset to UTC time.  A change of
-      the device's offset to UTC time will cause date-and-time values
-      to change accordingly.  Such changes might happen periodically
-      in case a server follows automatically daylight saving time
-      (DST) time zone offset changes.  The canonical format for
-      date-and-time values with an unknown time zone (usually
-      referring to the notion of local time) uses the time-offset
-      -00:00.";
-    reference
-     "RFC 3339: Date and Time on the Internet: Timestamps
-      RFC 2579: Textual Conventions for SMIv2
-      XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
-  }
-
-  typedef timeticks {
-    type uint32;
-    description
-     "The timeticks type represents a non-negative integer that
-      represents the time, modulo 2^32 (4294967296 decimal), in
-      hundredths of a second between two epochs.  When a schema
-      node is defined that uses this type, the description of
-      the schema node identifies both of the reference epochs.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeTicks type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef timestamp {
-    type yang:timeticks;
-    description
-     "The timestamp type represents the value of an associated
-      timeticks schema node at which a specific occurrence
-      happened.  The specific occurrence must be defined in the
-      description of any schema node defined using this type.  When
-      the specific occurrence occurred prior to the last time the
-      associated timeticks attribute was zero, then the timestamp
-      value is zero.  Note that this requires all timestamp values
-      to be reset to zero when the value of the associated timeticks
-      attribute reaches 497+ days and wraps around to zero.
-
-      The associated timeticks schema node must be specified
-      in the description of any schema node using this type.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeStamp textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of generic address types ***/
-
-  typedef phys-address {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-
-    description
-     "Represents media- or physical-level addresses represented
-      as a sequence octets, each octet represented by two hexadecimal
-      numbers.  Octets are separated by colons.  The canonical
-      representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the PhysAddress textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  typedef mac-address {
-    type string {
-      pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
-    }
-    description
-     "The mac-address type represents an IEEE 802 MAC address.
-      The canonical representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the MacAddress textual convention of the SMIv2.";
-    reference
-     "IEEE 802: IEEE Standard for Local and Metropolitan Area
-                Networks: Overview and Architecture
-      RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of XML-specific types ***/
-
-  typedef xpath1.0 {
-    type string;
-    description
-     "This type represents an XPATH 1.0 expression.
-
-      When a schema node is defined that uses this type, the
-      description of the schema node MUST specify the XPath
-      context in which the XPath expression is evaluated.";
-    reference
-     "XPATH: XML Path Language (XPath) Version 1.0";
-  }
-
-  /*** collection of string types ***/
-
-  typedef hex-string {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-    description
-     "A hexadecimal string with octets represented as hex digits
-      separated by colons.  The canonical representation uses
-      lowercase characters.";
-  }
-
-  typedef uuid {
-    type string {
-      pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
-            + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
-    }
-    description
-     "A Universally Unique IDentifier in the string representation
-      defined in RFC 4122.  The canonical representation uses
-      lowercase characters.
-
-      The following is an example of a UUID in string representation:
-      f81d4fae-7dec-11d0-a765-00a0c91e6bf6
-      ";
-    reference
-     "RFC 4122: A Universally Unique IDentifier (UUID) URN
-                Namespace";
-  }
-
-  typedef dotted-quad {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
-    }
-    description
-      "An unsigned 32-bit number expressed in the dotted-quad
-       notation, i.e., four octets written as decimal numbers
-       and separated with the '.' (full stop) character.";
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/qos-profile.yang b/config-models/aether-2.1.x/files/yang/qos-profile.yang
deleted file mode 100755
index 35204d9..0000000
--- a/config-models/aether-2.1.x/files/yang/qos-profile.yang
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module qos-profile {
-  namespace "http://opennetworking.org/aether/qos-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-10-22" {
-    description "An Aether qos Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef qos-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for qos-profile-id";
-  }
-
-  container qos-profile {
-    description "The top level container";
-
-    list qos-profile {
-      key "id";
-      description
-        "List of qos profiles";
-
-      leaf id {
-        type qos-profile-id;
-        description "ID for this qos profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      container apn-ambr {
-        leaf uplink {
-          type uint32 {
-            range 0..4294967295;
-          }
-	  units bps;
-          default 0;
-          description
-            "Upstream aggregate maximum bit rate";
-        }
-        leaf downlink {
-          type uint32 {
-            range 0..4294967295;
-          }
-          units bps;
-          default 0;
-          description
-            "Downstream aggregate maximum bit rate";
-        }
-        description "The container for apn-ambr";
-      }
-
-      leaf qci {
-        type uint32 {
-          range 0..85;
-        }
-        default 9;
-        description
-          "QoS Class Identifier";
-      }
-
-      container arp {
-        leaf priority {
-          type uint32 {
-            range 0..15;
-          }
-          default 0;
-          description
-            "Priority";
-        }
-        leaf preemption-capability {
-          type boolean;
-          default true;
-          description
-            "True if a bearer with lower priority should be dropped";
-        }
-        leaf preemption-vulnerability {
-          type boolean;
-          default true;
-          description
-            "This bearer may be dropped for a bearer with higher priority";
-        }
-        description "Evolved-ARP";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/security-profile.yang b/config-models/aether-2.1.x/files/yang/security-profile.yang
deleted file mode 100755
index e6c5367..0000000
--- a/config-models/aether-2.1.x/files/yang/security-profile.yang
+++ /dev/null
@@ -1,74 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module security-profile {
-  namespace "http://opennetworking.org/aether/security-profile";
-  prefix sec;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-11-30" {
-    description "An Aether Security Profile. Contains keys and other security items associated with devices. Configured by the operator.";
-    reference "RFC 6087";
-  }
-
-  typedef security-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for security-profile-id";
-  }
-
-  container security-profile {
-    description "The top level container";
-
-    list security-profile {
-      key "id";
-      description
-        "List of security profiles";
-
-      leaf id {
-        type security-profile-id;
-        description "ID for this security profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf key {
-        type string {
-          length 1..32;
-        }
-        description "Secret key for USIM";
-      }
-
-      leaf opc {
-        type string {
-          length 1..32;
-        }
-        description "Secret key for Operator";
-      }
-
-      leaf sqn {
-        type uint32;
-        description "sequence number";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this security profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/service-group.yang b/config-models/aether-2.1.x/files/yang/service-group.yang
deleted file mode 100755
index 55f0f6b..0000000
--- a/config-models/aether-2.1.x/files/yang/service-group.yang
+++ /dev/null
@@ -1,83 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-group {
-  namespace "http://opennetworking.org/aether/service-group";
-  prefix sg;
-
-  import service-policy { prefix serv; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-04" {
-    description "An Aether Service Group";
-    reference "RFC 6087";
-  }
-
-  typedef service-group-id {
-        type string {
-            length 1..32;
-        }
-    description "The typede for service-group-id";
-  }
-
-  typedef service-kind {
-    type string {
-      length 1..32;
-      pattern "default|on-demand";
-    }
-    description "The typedef for service-kind";
-  }
-
-  container service-group {
-    description "The top level container";
-
-    list service-group {
-      key "id";
-      description
-        "List of service groups";
-
-      leaf id {
-        type service-group-id;
-        description "ID for this service group.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      list service-policies {
-        key "service-policy";
-        leaf service-policy {
-          type leafref {
-            path "/serv:service-policy/serv:service-policy/serv:id";
-          }
-          description
-              "Link to service policy";
-        }
-        leaf kind {
-          type service-kind;
-          default "default";
-          description
-            "Type of service link";
-        }
-        description "The container for service-policies";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this service group";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/service-policy.yang b/config-models/aether-2.1.x/files/yang/service-policy.yang
deleted file mode 100755
index a169402..0000000
--- a/config-models/aether-2.1.x/files/yang/service-policy.yang
+++ /dev/null
@@ -1,115 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-policy {
-  namespace "http://opennetworking.org/aether/service-policy";
-  prefix serv;
-
-  import service-rule { prefix sr; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-04" {
-    description "An Aether Service";
-    reference "RFC 6087";
-  }
-
-  typedef service-policy-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for service-policy-id";
-  }
-
-  container service-policy {
-    description "The top level container";
-
-    list service-policy {
-      key "id";
-      description
-        "List of services";
-
-      leaf id {
-        type service-policy-id;
-        description "ID for this service.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf qci {
-        type uint32 {
-          range 0..85;
-        }
-        default 9;
-        description
-          "QoS Class Identifier";
-      }
-
-      leaf arp {
-        type uint32 {
-          range 0..15;
-        }
-        default 9;
-        description
-          "Evolved-ARP";
-      }
-
-      container ambr {
-        leaf uplink {
-          type uint32 {
-            range 0..4294967295;
-          }
-          units bps;
-          default 0;
-          description
-            "Upstream aggregate maximum bit rate";
-        }
-        leaf downlink {
-          type uint32 {
-            range 0..4294967295;
-          }
-	  units bps;
-          default 0;
-          description
-            "Downstream aggregate maximum bit rate";
-        }
-        description "The container for ambr";
-      }
-
-      list rules {
-        key "rule";
-        leaf rule {
-          type leafref {
-            path "/sr:service-rule/sr:service-rule/sr:id";
-          }
-          description
-              "Link to service rule";
-        }
-        leaf enabled {
-          type boolean;
-          default true;
-          description
-            "Enable or disable this service to use this rule";
-        }
-        description "The list for rules";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }      
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/service-rule.yang b/config-models/aether-2.1.x/files/yang/service-rule.yang
deleted file mode 100755
index 49af65f..0000000
--- a/config-models/aether-2.1.x/files/yang/service-rule.yang
+++ /dev/null
@@ -1,174 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-rule {
-  namespace "http://opennetworking.org/aether/service-rule";
-  prefix sr;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-04" {
-    description "An Aether Service Rule";
-    reference "RFC 6087";
-  }
-
-  typedef service-rule-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for service-rule-id";
-  }
-
-  container service-rule {
-    description "The top level container";
-
-    list service-rule {
-      key "id";
-      description
-        "List of service rules";
-
-      leaf id {
-        type service-rule-id;
-        description "ID for this service.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf charging-rule-name {
-        type string {
-            length 1..80;
-        }
-        description "name of charging rule";
-      }
-
-      container qos {
-        leaf qci {
-          type uint32 {
-            range 0..85;
-          }
-          default 9;
-          description
-            "QoS Class Identifier";
-        }
-
-        container arp {
-          leaf priority {
-            type uint32 {
-              range 0..15;
-            }
-            default 0;
-            description
-              "Priority";
-          }
-          leaf preemption-capability {
-            type boolean;
-            default true;
-            description
-              "True if a bearer with lower priority should be dropped";
-          }
-          leaf preemption-vulnerability {
-            type boolean;
-            default true;
-            description
-              "This bearer may be dropped for a bearer with higher priority";
-          }
-          description "Evolved-ARP";
-        }
-
-        container maximum-requested-bandwidth {
-          leaf uplink {
-            type uint32 {
-              range 0..4294967295;
-            }
-	    units bps;
-            default 0;
-            description
-              "Upstream maximum requested bandwidth";
-          }
-          leaf downlink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Downstream maximum requested bandwidth";
-          }
-          description "The container for maximum-requested-bandwidth";
-        }
-
-        container guaranteed-bitrate {
-          leaf uplink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Upstream guaranteed bitrate";
-          }
-          leaf downlink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Downstream guaranteed bitrate";
-          }
-          description "The container for guaranteed-bitrate";
-        }
-
-        container aggregate-maximum-bitrate {
-          leaf uplink {
-            type uint32 {
-              range 0..4294967295;
-            }
-	    units bps;
-            default 0;
-            description
-              "Upstream aggregate maximum bitrate";
-          }
-          leaf downlink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Downstream aggregate maximum bitrate";
-          }
-	  description "The container for aggregate-maximum-bitrate";
-        }
-        description "The container for qos";
-      }
-
-      container flow {
-        leaf specification {
-          type string {
-            length 1..1024;
-          }
-          description "specification of this flow";
-        }
-        description "The container for flow";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this rule";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/files/yang/up-profile.yang b/config-models/aether-2.1.x/files/yang/up-profile.yang
deleted file mode 100755
index 723758f..0000000
--- a/config-models/aether-2.1.x/files/yang/up-profile.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module up-profile {
-  namespace "http://opennetworking.org/aether/user-plane-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-10-22" {
-    description "An Aether user plane Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef up-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for up-profile-id";
-  }
-
-  container up-profile {
-    description "The top level container";
-
-    list up-profile {
-      key "id";
-      description
-        "List of user plane profiles";
-
-      leaf id {
-        type up-profile-id;
-        description "ID for this user plane profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf user-plane {
-        type string {
-          length 1..255;
-        }
-        description "user plane name";
-      }
-
-      leaf access-control {
-        type string {
-          length 1..32;
-        }
-        description "access control policy";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.1.x/templates/_helpers.tpl b/config-models/aether-2.1.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-2.1.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-2.1.x/templates/model.yaml b/config-models/aether-2.1.x/templates/model.yaml
deleted file mode 100644
index b86c57e..0000000
--- a/config-models/aether-2.1.x/templates/model.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
-  name: {{ template "aether.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "aether.labels" . | nindent 4 }}
-spec:
-  plugin:
-    type: Aether
-    version: {{ .Chart.AppVersion | quote }}
-  modules:
-  - name: aether-subscriber
-    organization: Open Networking Foundation
-    revision: 2020-10-22
-    file: aether-subscriber.yang
-  - name: apn-profile
-    organization: Open Networking Foundation
-    revision: 2021-03-04
-    file: apn-profile.yang
-  - name: up-profile
-    organization: Open Networking Foundation
-    revision: 2020-10-22
-    file: up-profile.yang
-  - name: qos-profile
-    organization: Open Networking Foundation
-    revision: 2020-10-22
-    file: qos-profile.yang
-  - name: access-profile
-    organization: Open Networking Foundation
-    revision: 2020-10-22
-    file: access-profile.yang
-  - name: enterprise
-    organization: Open Networking Foundation
-    revision: 2020-11-30
-    file: enterprise.yang
-  - name: connectivity-service
-    organization: Open Networking Foundation
-    revision: 2021-03-18
-    file: connectivity-service.yang
-  - name: security-profile
-    organization: Open Networking Foundation
-    revision: 2020-11-30
-    file: security-profile.yang
-  - name: service-group
-    organization: Open Networking Foundation
-    revision: 2021-03-04
-    file: service-group.yang
-  - name: service-policy
-    organization: Open Networking Foundation
-    revision: 2021-03-04
-    file: service-policy.yang
-  - name: service-rule
-    organization: Open Networking Foundation
-    revision: 2021-03-04
-    file: service-rule.yang
-  files:
-    {{- range $path, $_  := $.Files.Glob "files/yang/*.yang" }}
-    {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
-    {{- end }}
diff --git a/config-models/aether-2.1.x/values.yaml b/config-models/aether-2.1.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-2.1.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-2.2.x/Chart.yaml b/config-models/aether-2.2.x/Chart.yaml
deleted file mode 100644
index ad85a67..0000000
--- a/config-models/aether-2.2.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether
-version: 2.2.5
-kubeVersion: ">=1.18.0"
-appVersion: 2.2.0
-description: Aether config model
-keywords:
-  - onos
-  - sdn
-  - config
-home: https://onosproject.org
-maintainers:
-  - name: ONOS Support
-    email: support@opennetworking.org
diff --git a/config-models/aether-2.2.x/files/aether-2.2.0.tree b/config-models/aether-2.2.x/files/aether-2.2.0.tree
deleted file mode 100644
index 2336f65..0000000
--- a/config-models/aether-2.2.x/files/aether-2.2.0.tree
+++ /dev/null
@@ -1,155 +0,0 @@
-module: access-profile
-  +--rw access-profile
-     +--rw access-profile* [id]
-        +--rw id              access-profile-id
-        +--rw display-name?   string
-        +--rw type?           string
-        +--rw filter?         string
-        +--rw description?    string
-
-module: aether-subscriber
-  +--rw subscriber
-     +--rw ue* [id]
-        +--rw id                       ietf:uuid
-        +--rw display-name?            string
-        +--rw (imsi)?
-        |  +--:(wildcard)
-        |  |  +--rw imsi-wildcard?     string
-        |  +--:(range)
-        |     +--rw imsi-range-from?   uint64
-        |     +--rw imsi-range-to?     uint64
-        +--rw serving-plmn
-        |  +--rw mcc?   mcc
-        |  +--rw mnc?   mnc
-        |  +--rw tac?   tac
-        +--rw requested-apn?           string
-        +--rw priority?                uint32
-        +--rw enabled?                 boolean
-        +--rw enterprise?              -> /ent:enterprise/enterprise/id
-        +--rw profiles
-           +--rw apn-profile?        -> /apn:apn-profile/apn-profile/id
-           +--rw up-profile?         -> /up:up-profile/up-profile/id
-           +--rw qos-profile?        -> /qos:qos-profile/qos-profile/id
-           +--rw access-profile* [access-profile]
-           |  +--rw access-profile    -> /ap:access-profile/access-profile/id
-           |  +--rw allowed?          boolean
-           +--rw security-profile?   -> /sec:security-profile/security-profile/id
-
-module: apn-profile
-  +--rw apn-profile
-     +--rw apn-profile* [id]
-        +--rw id               apn-profile-id
-        +--rw display-name?    string
-        +--rw apn-name?        string
-        +--rw dns-primary?     inet:ip-address
-        +--rw dns-secondary?   inet:ip-address
-        +--rw mtu?             uint32
-        +--rw gx-enabled?      boolean
-        +--rw description?     string
-        +--rw service-group?   -> /sg:service-group/service-group/id
-
-module: connectivity-service
-  +--rw connectivity-service
-     +--rw connectivity-service* [id]
-        +--rw id                connectivity-service-id
-        +--rw display-name?     string
-        +--rw description?      string
-        +--rw spgwc-endpoint?   inet:uri
-        +--rw hss-endpoint?     inet:uri
-        +--rw pcrf-endpoint?    inet:uri
-
-module: enterprise
-  +--rw enterprise
-     +--rw enterprise* [id]
-        +--rw id                      enterprise-id
-        +--rw display-name?           string
-        +--rw description?            string
-        +--rw connectivity-service* [connectivity-service]
-           +--rw connectivity-service    -> /cs:connectivity-service/connectivity-service/id
-           +--rw enabled?                boolean
-
-module: qos-profile
-  +--rw qos-profile
-     +--rw qos-profile* [id]
-        +--rw id              qos-profile-id
-        +--rw display-name?   string
-        +--rw apn-ambr
-        |  +--rw uplink?     uint32
-        |  +--rw downlink?   uint32
-        +--rw qci?            uint32
-        +--rw arp
-        |  +--rw priority?                   uint32
-        |  +--rw preemption-capability?      boolean
-        |  +--rw preemption-vulnerability?   boolean
-        +--rw description?    string
-
-module: security-profile
-  +--rw security-profile
-     +--rw security-profile* [id]
-        +--rw id                 security-profile-id
-        +--rw display-name?      string
-        +--rw imsi-range-from?   uint64
-        +--rw imsi-range-to?     uint64
-        +--rw key?               string
-        +--rw opc?               string
-        +--rw sqn?               uint32
-        +--rw description?       string
-
-module: service-group
-  +--rw service-group
-     +--rw service-group* [id]
-        +--rw id                  service-group-id
-        +--rw display-name?       string
-        +--rw service-policies* [service-policy]
-        |  +--rw service-policy    -> /serv:service-policy/service-policy/id
-        |  +--rw kind?             service-kind
-        +--rw description?        string
-
-module: service-policy
-  +--rw service-policy
-     +--rw service-policy* [id]
-        +--rw id              service-policy-id
-        +--rw display-name?   string
-        +--rw qci?            uint32
-        +--rw arp?            uint32
-        +--rw ambr
-        |  +--rw uplink?     uint32
-        |  +--rw downlink?   uint32
-        +--rw rules* [rule]
-        |  +--rw rule       -> /sr:service-rule/service-rule/id
-        |  +--rw enabled?   boolean
-        +--rw description?    string
-
-module: service-rule
-  +--rw service-rule
-     +--rw service-rule* [id]
-        +--rw id                    service-rule-id
-        +--rw display-name?         string
-        +--rw charging-rule-name?   string
-        +--rw qos
-        |  +--rw qci?                           uint32
-        |  +--rw arp
-        |  |  +--rw priority?                   uint32
-        |  |  +--rw preemption-capability?      boolean
-        |  |  +--rw preemption-vulnerability?   boolean
-        |  +--rw maximum-requested-bandwidth
-        |  |  +--rw uplink?     uint32
-        |  |  +--rw downlink?   uint32
-        |  +--rw guaranteed-bitrate
-        |  |  +--rw uplink?     uint32
-        |  |  +--rw downlink?   uint32
-        |  +--rw aggregate-maximum-bitrate
-        |     +--rw uplink?     uint32
-        |     +--rw downlink?   uint32
-        +--rw flow
-        |  +--rw specification?   string
-        +--rw description?          string
-
-module: up-profile
-  +--rw up-profile
-     +--rw up-profile* [id]
-        +--rw id                up-profile-id
-        +--rw display-name?     string
-        +--rw user-plane?       string
-        +--rw access-control?   string
-        +--rw description?      string
diff --git a/config-models/aether-2.2.x/files/yang/access-profile.yang b/config-models/aether-2.2.x/files/yang/access-profile.yang
deleted file mode 100755
index 49009fe..0000000
--- a/config-models/aether-2.2.x/files/yang/access-profile.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module access-profile {
-  namespace "http://opennetworking.org/aether/access-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-10-22" {
-    description "An Aether access Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef access-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for access-profile-id";
-  }
-
-  container access-profile {
-    description "The top level container";
-
-    list access-profile {
-      key "id";
-      description
-        "List of access profiles";
-
-      leaf id {
-        type access-profile-id;
-        description "ID for this access profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf type {
-        type string {
-          length 1..32;
-        }
-        description "type of profile";
-      }
-
-      leaf filter {
-        type string {
-          length 0..32;
-        }
-        description "filter";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/aether-subscriber.yang b/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
deleted file mode 100755
index 01d419a..0000000
--- a/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
+++ /dev/null
@@ -1,188 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module aether-subscriber {
-  namespace "http://opennetworking.org/aether/subscriber";
-  prefix sub;
-
-  import apn-profile{ prefix apn; }
-  import qos-profile{ prefix qos; }
-  import up-profile{ prefix up; }
-  import access-profile{ prefix ap; }
-  import security-profile{ prefix sec; }
-  import enterprise{ prefix ent; }
-  import ietf-yang-types{ prefix ietf; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-10-22" {
-    description "An Aether Subscriber";
-    reference "RFC 6087";
-  }
-
-  typedef mcc {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typede for mcc";
-  }
-
-  typedef mnc {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typede for mnc";
-  }
-
-  typedef tac {
-      type uint32 {
-        range 0..99999999;
-      }
-    description "The typede for tac";
-  }
-
-  container subscriber {
-    description "The top level container";
-
-    list ue {
-      key "id";
-      description
-        "List of subscriber devices";
-
-      leaf id {
-        type ietf:uuid;
-        description "identifier for this subscriber, typically a UUID";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      choice imsi {
-        case wildcard {
-          leaf imsi-wildcard {
-            type string {
-              length 1..15;
-            }
-            description "The leaf for imsi-wildcard";
-          }
-        }
-        case range {
-          leaf imsi-range-from {
-            type uint64;
-            description "The leaf for imsi-range-from";
-          }
-          leaf imsi-range-to {
-            type uint64;
-            description "The leaf for imsi-range-to";
-          }
-        }
-        description "The choise for imsi";
-      }
-
-      container serving-plmn {
-        leaf mcc {
-          type mcc;
-          description "mobile country code";
-        }
-        leaf mnc {
-          type mnc;
-          description "mobile network code";
-        }
-        leaf tac {
-          type tac;
-          description "type allocation code";
-        }
-        description "The container for serving-plmn";
-      }
-
-      leaf requested-apn {
-        type string {
-            length 0..31;
-        }
-        description "requested access point name";
-      }
-
-      leaf priority {
-        type uint32 {
-          range 0..1000;
-        }
-        default 0;
-        description
-          "Priority for this subscriber range";
-      }
-
-      leaf enabled {
-        type boolean;
-        default false;
-        description
-          "Enable or disable this ue";
-      }
-
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        description
-          "Link to enterprise that owns this UE range";
-      }
-
-      container profiles {
-        leaf apn-profile {
-          type leafref {
-            path "/apn:apn-profile/apn:apn-profile/apn:id";
-          }
-          description
-            "Link to apn profile";
-        }
-        leaf up-profile {
-          type leafref {
-            path "/up:up-profile/up:up-profile/up:id";
-          }
-          description
-            "Link to user plane profile";
-        }
-        leaf qos-profile {
-          type leafref {
-            path "/qos:qos-profile/qos:qos-profile/qos:id";
-          }
-          description
-            "Link to qos profile";
-        }
-        list access-profile {
-          key "access-profile";
-          leaf access-profile {
-            type leafref {
-              path "/ap:access-profile/ap:access-profile/ap:id";
-            }
-            description
-                "Link to access profile";
-          }
-          leaf allowed {
-            type boolean;
-            default true;
-            description
-              "Allow or disallow this ue to use this access profile";
-          }
-          description "The list for access-profile";
-        }
-        leaf security-profile {
-          type leafref {
-            path "/sec:security-profile/sec:security-profile/sec:id";
-          }
-          description
-            "Link to security profile";
-        }
-        description "The container for profiles";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/apn-profile.yang b/config-models/aether-2.2.x/files/yang/apn-profile.yang
deleted file mode 100755
index 3d0ba48..0000000
--- a/config-models/aether-2.2.x/files/yang/apn-profile.yang
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module apn-profile {
-  namespace "http://opennetworking.org/aether/apn-profile";
-  prefix pro;
-
-  import ietf-inet-types { prefix inet; }
-  import service-group { prefix sg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-04" {
-    description "An Aether APN Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef apn-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for apn-profile-id";
-  }
-
-  container apn-profile {
-    description "The top level container";
-
-    list apn-profile {
-      key "id";
-      description
-        "List of apn profiles";
-
-      leaf id {
-        type apn-profile-id;
-        description "ID for this apn profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf apn-name {
-        type string {
-          length 1..32;
-        }
-        description "apn name";
-      }
-
-      leaf dns-primary {
-        type inet:ip-address;
-        description "primary dns server name";
-      }
-
-      leaf dns-secondary {
-        type inet:ip-address;
-        description "secondary dns server name";
-      }
-
-      leaf mtu {
-        type uint32 {
-          range 68..65535;
-        }
-        units bytes;
-        default 1460;
-        description "maximum transmission unit";
-      }
-
-      leaf gx-enabled {
-        type boolean;
-        default false;
-        description "enable gx interface";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-
-      leaf service-group {
-        type leafref {
-          path "/sg:service-group/sg:service-group/sg:id";
-        }
-        description
-          "Link to service group";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/connectivity-service.yang b/config-models/aether-2.2.x/files/yang/connectivity-service.yang
deleted file mode 100755
index 7a00b2f..0000000
--- a/config-models/aether-2.2.x/files/yang/connectivity-service.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module connectivity-service {
-  namespace "http://opennetworking.org/aether/connectivity-service";
-  prefix cs;
-
-  import ietf-inet-types { prefix inet; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-18" {
-    description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
-    reference "RFC 6087";
-  }
-
-  typedef connectivity-service-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for connectivity-service-id";
-  }
-
-  container connectivity-service {
-    description "The top level container";
-
-    list connectivity-service {
-      key "id";
-      description
-        "List of connectivity services";
-
-      leaf id {
-        type connectivity-service-id;
-        description "ID for this connectivity service.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this connectivity service";
-      }
-
-      leaf spgwc-endpoint {
-        type inet:uri;
-        description "url of the spgwc service";
-      }
-
-      leaf hss-endpoint {
-        type inet:uri;
-        description "url of the hss service";
-      }
-
-      leaf pcrf-endpoint {
-        type inet:uri;
-        description "url of the pcrf service";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/enterprise.yang b/config-models/aether-2.2.x/files/yang/enterprise.yang
deleted file mode 100755
index 2bf1bdf..0000000
--- a/config-models/aether-2.2.x/files/yang/enterprise.yang
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module enterprise {
-  namespace "http://opennetworking.org/aether/enterprise";
-  prefix ent;
-
-  import connectivity-service { prefix cs; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-11-30" {
-    description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
-    reference "RFC 6087";
-  }
-
-  typedef enterprise-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for enterprise-id";
-  }
-
-  container enterprise {
-    description "The top level container";
-
-    list enterprise {
-      key "id";
-      description
-        "List of enterprises";
-
-      leaf id {
-        type enterprise-id;
-        description "ID for this enterprise.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this enterprise";
-      }
-
-      list connectivity-service {
-        key "connectivity-service";
-        leaf connectivity-service {
-          type leafref {
-            path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }
-          description
-            "Link to connectivity services where configuration should be pushed for this enterprise's devices";
-        }
-        leaf enabled {
-          type boolean;
-          default true;
-          description
-            "Allow or disallow pushes to this connectivity service";
-        }
-        description "The list for connectivity-service";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
-  prefix "inet";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types for Internet addresses and related things.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - ip-address-no-zone
-      - ipv4-address-no-zone
-      - ipv6-address-no-zone";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of types related to protocol fields ***/
-
-  typedef ip-version {
-    type enumeration {
-      enum unknown {
-        value "0";
-        description
-         "An unknown or unspecified version of the Internet
-          protocol.";
-      }
-      enum ipv4 {
-        value "1";
-        description
-         "The IPv4 protocol as defined in RFC 791.";
-      }
-      enum ipv6 {
-        value "2";
-        description
-         "The IPv6 protocol as defined in RFC 2460.";
-      }
-    }
-    description
-     "This value represents the version of the IP protocol.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetVersion textual convention of the SMIv2.";
-    reference
-     "RFC  791: Internet Protocol
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  typedef dscp {
-    type uint8 {
-      range "0..63";
-    }
-    description
-     "The dscp type represents a Differentiated Services Code Point
-      that may be used for marking packets in a traffic stream.
-      In the value set and its semantics, this type is equivalent
-      to the Dscp textual convention of the SMIv2.";
-    reference
-     "RFC 3289: Management Information Base for the Differentiated
-                Services Architecture
-      RFC 2474: Definition of the Differentiated Services Field
-                (DS Field) in the IPv4 and IPv6 Headers
-      RFC 2780: IANA Allocation Guidelines For Values In
-                the Internet Protocol and Related Headers";
-  }
-
-  typedef ipv6-flow-label {
-    type uint32 {
-      range "0..1048575";
-    }
-    description
-     "The ipv6-flow-label type represents the flow identifier or Flow
-      Label in an IPv6 packet header that may be used to
-      discriminate traffic flows.
-
-      In the value set and its semantics, this type is equivalent
-      to the IPv6FlowLabel textual convention of the SMIv2.";
-    reference
-     "RFC 3595: Textual Conventions for IPv6 Flow Label
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
-  }
-
-  typedef port-number {
-    type uint16 {
-      range "0..65535";
-    }
-    description
-     "The port-number type represents a 16-bit port number of an
-      Internet transport-layer protocol such as UDP, TCP, DCCP, or
-      SCTP.  Port numbers are assigned by IANA.  A current list of
-      all assignments is available from <http://www.iana.org/>.
-
-      Note that the port number value zero is reserved by IANA.  In
-      situations where the value zero does not make sense, it can
-      be excluded by subtyping the port-number type.
-      In the value set and its semantics, this type is equivalent
-      to the InetPortNumber textual convention of the SMIv2.";
-    reference
-     "RFC  768: User Datagram Protocol
-      RFC  793: Transmission Control Protocol
-      RFC 4960: Stream Control Transmission Protocol
-      RFC 4340: Datagram Congestion Control Protocol (DCCP)
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  /*** collection of types related to autonomous systems ***/
-
-  typedef as-number {
-    type uint32;
-    description
-     "The as-number type represents autonomous system numbers
-      which identify an Autonomous System (AS).  An AS is a set
-      of routers under a single technical administration, using
-      an interior gateway protocol and common metrics to route
-      packets within the AS, and using an exterior gateway
-      protocol to route packets to other ASes.  IANA maintains
-      the AS number space and has delegated large parts to the
-      regional registries.
-
-      Autonomous system numbers were originally limited to 16
-      bits.  BGP extensions have enlarged the autonomous system
-      number space to 32 bits.  This type therefore uses an uint32
-      base type without a range restriction in order to support
-      a larger autonomous system number space.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetAutonomousSystemNumber textual convention of
-      the SMIv2.";
-    reference
-     "RFC 1930: Guidelines for creation, selection, and registration
-                of an Autonomous System (AS)
-      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
-      RFC 4001: Textual Conventions for Internet Network Addresses
-      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
-                Number Space";
-  }
-
-  /*** collection of types related to IP addresses and hostnames ***/
-
-  typedef ip-address {
-    type union {
-      type inet:ipv4-address;
-      type inet:ipv6-address;
-    }
-    description
-     "The ip-address type represents an IP address and is IP
-      version neutral.  The format of the textual representation
-      implies the IP version.  This type supports scoped addresses
-      by allowing zone identifiers in the address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-      + '(%[\p{N}\p{L}]+)?';
-    }
-    description
-      "The ipv4-address type represents an IPv4 address in
-       dotted-quad notation.  The IPv4 address may include a zone
-       index, separated by a % sign.
-
-       The zone index is used to disambiguate identical address
-       values.  For link-local addresses, the zone index will
-       typically be the interface index number or the name of an
-       interface.  If the zone index is not present, the default
-       zone of the device will be used.
-
-       The canonical format for the zone index is the numerical
-       format";
-  }
-
-  typedef ipv6-address {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(%[\p{N}\p{L}]+)?';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(%.+)?';
-    }
-    description
-     "The ipv6-address type represents an IPv6 address in full,
-      mixed, shortened, and shortened-mixed notation.  The IPv6
-      address may include a zone index, separated by a % sign.
-
-      The zone index is used to disambiguate identical address
-      values.  For link-local addresses, the zone index will
-      typically be the interface index number or the name of an
-      interface.  If the zone index is not present, the default
-      zone of the device will be used.
-
-      The canonical format of IPv6 addresses uses the textual
-      representation defined in Section 4 of RFC 5952.  The
-      canonical format for the zone index is the numerical
-      format as described in Section 11.2 of RFC 4007.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-address-no-zone {
-    type union {
-      type inet:ipv4-address-no-zone;
-      type inet:ipv6-address-no-zone;
-    }
-    description
-     "The ip-address-no-zone type represents an IP address and is
-      IP version neutral.  The format of the textual representation
-      implies the IP version.  This type does not support scoped
-      addresses since it does not allow zone identifiers in the
-      address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address-no-zone {
-    type inet:ipv4-address {
-      pattern '[0-9\.]*';
-    }
-    description
-      "An IPv4 address without a zone index.  This type, derived from
-       ipv4-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-  }
-
-  typedef ipv6-address-no-zone {
-    type inet:ipv6-address {
-      pattern '[0-9a-fA-F:\.]*';
-    }
-    description
-      "An IPv6 address without a zone index.  This type, derived from
-       ipv6-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-prefix {
-    type union {
-      type inet:ipv4-prefix;
-      type inet:ipv6-prefix;
-    }
-    description
-     "The ip-prefix type represents an IP prefix and is IP
-      version neutral.  The format of the textual representations
-      implies the IP version.";
-  }
-
-  typedef ipv4-prefix {
-    type string {
-      pattern
-         '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-       +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-       + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
-    }
-    description
-     "The ipv4-prefix type represents an IPv4 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 32.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The canonical format of an IPv4 prefix has all bits of
-      the IPv4 address set to zero that are not part of the
-      IPv4 prefix.";
-  }
-
-  typedef ipv6-prefix {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(/.+)';
-    }
-
-    description
-     "The ipv6-prefix type represents an IPv6 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 128.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The IPv6 address should have all bits that do not belong
-      to the prefix set to zero.
-
-      The canonical format of an IPv6 prefix has all bits of
-      the IPv6 address set to zero that are not part of the
-      IPv6 prefix.  Furthermore, the IPv6 address is represented
-      as defined in Section 4 of RFC 5952.";
-    reference
-     "RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  /*** collection of domain name and URI types ***/
-
-  typedef domain-name {
-    type string {
-      length "1..253";
-      pattern
-        '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
-      + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
-      + '|\.';
-    }
-    description
-     "The domain-name type represents a DNS domain name.  The
-      name SHOULD be fully qualified whenever possible.
-
-      Internet domain names are only loosely specified.  Section
-      3.5 of RFC 1034 recommends a syntax (modified in Section
-      2.1 of RFC 1123).  The pattern above is intended to allow
-      for current practice in domain name use, and some possible
-      future expansion.  It is designed to hold various types of
-      domain names, including names used for A or AAAA records
-      (host names) and other records, such as SRV records.  Note
-      that Internet host names have a stricter syntax (described
-      in RFC 952) than the DNS recommendations in RFCs 1034 and
-      1123, and that systems that want to store host names in
-      schema nodes using the domain-name type are recommended to
-      adhere to this stricter standard to ensure interoperability.
-
-      The encoding of DNS names in the DNS protocol is limited
-      to 255 characters.  Since the encoding consists of labels
-      prefixed by a length bytes and there is a trailing NULL
-      byte, only 253 characters can appear in the textual dotted
-      notation.
-
-      The description clause of schema nodes using the domain-name
-      type MUST describe when and how these names are resolved to
-      IP addresses.  Note that the resolution of a domain-name value
-      may require to query multiple DNS records (e.g., A for IPv4
-      and AAAA for IPv6).  The order of the resolution process and
-      which DNS record takes precedence can either be defined
-      explicitly or may depend on the configuration of the
-      resolver.
-
-      Domain-name values use the US-ASCII encoding.  Their canonical
-      format uses lowercase US-ASCII characters.  Internationalized
-      domain names MUST be A-labels as per RFC 5890.";
-    reference
-     "RFC  952: DoD Internet Host Table Specification
-      RFC 1034: Domain Names - Concepts and Facilities
-      RFC 1123: Requirements for Internet Hosts -- Application
-                and Support
-      RFC 2782: A DNS RR for specifying the location of services
-                (DNS SRV)
-      RFC 5890: Internationalized Domain Names in Applications
-                (IDNA): Definitions and Document Framework";
-  }
-
-  typedef host {
-    type union {
-      type inet:ip-address;
-      type inet:domain-name;
-    }
-    description
-     "The host type represents either an IP address or a DNS
-      domain name.";
-  }
-
-  typedef uri {
-    type string;
-    description
-     "The uri type represents a Uniform Resource Identifier
-      (URI) as defined by STD 66.
-
-      Objects using the uri type MUST be in US-ASCII encoding,
-      and MUST be normalized as described by RFC 3986 Sections
-      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
-      percent-encoding is removed, and all case-insensitive
-      characters are set to lowercase except for hexadecimal
-      digits, which are normalized to uppercase as described in
-      Section 6.2.2.1.
-
-      The purpose of this normalization is to help provide
-      unique URIs.  Note that this normalization is not
-      sufficient to provide uniqueness.  Two URIs that are
-      textually distinct after this normalization may still be
-      equivalent.
-
-      Objects using the uri type may restrict the schemes that
-      they permit.  For example, 'data:' and 'urn:' schemes
-      might not be appropriate.
-
-      A zero-length URI is not a valid URI.  This can be used to
-      express 'URI absent' where required.
-
-      In the value set and its semantics, this type is equivalent
-      to the Uri SMIv2 textual convention defined in RFC 5017.";
-    reference
-     "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
-      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
-                Group: Uniform Resource Identifiers (URIs), URLs,
-                and Uniform Resource Names (URNs): Clarifications
-                and Recommendations
-      RFC 5017: MIB Textual Conventions for Uniform Resource
-                Identifiers (URIs)";
-  }
-
-}
diff --git a/config-models/aether-2.2.x/files/yang/ietf-yang-types.yang b/config-models/aether-2.2.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-2.2.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
-  prefix "yang";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - yang-identifier
-      - hex-string
-      - uuid
-      - dotted-quad";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of counter and gauge types ***/
-
-  typedef counter32 {
-    type uint32;
-    description
-     "The counter32 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter32 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter32 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter32.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter32 {
-    type yang:counter32;
-    default "0";
-    description
-     "The zero-based-counter32 type represents a counter32
-      that has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter32 textual convention of the SMIv2.";
-    reference
-      "RFC 4502: Remote Network Monitoring Management Information
-                 Base Version 2";
-  }
-
-  typedef counter64 {
-    type uint64;
-    description
-     "The counter64 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter64 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter64 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter64.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter64 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter64 {
-    type yang:counter64;
-    default "0";
-    description
-     "The zero-based-counter64 type represents a counter64 that
-      has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter64 textual convention of the SMIv2.";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  typedef gauge32 {
-    type uint32;
-    description
-     "The gauge32 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^32-1 (4294967295 decimal), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge32 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge32 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the Gauge32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef gauge64 {
-    type uint64;
-    description
-     "The gauge64 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^64-1 (18446744073709551615), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge64 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge64 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the CounterBasedGauge64 SMIv2 textual convention defined
-      in RFC 2856";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  /*** collection of identifier-related types ***/
-
-  typedef object-identifier {
-    type string {
-      pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
-            + '(\.(0|([1-9]\d*)))*';
-    }
-    description
-     "The object-identifier type represents administratively
-      assigned names in a registration-hierarchical-name tree.
-
-      Values of this type are denoted as a sequence of numerical
-      non-negative sub-identifier values.  Each sub-identifier
-      value MUST NOT exceed 2^32-1 (4294967295).  Sub-identifiers
-      are separated by single dots and without any intermediate
-      whitespace.
-
-      The ASN.1 standard restricts the value space of the first
-      sub-identifier to 0, 1, or 2.  Furthermore, the value space
-      of the second sub-identifier is restricted to the range
-      0 to 39 if the first sub-identifier is 0 or 1.  Finally,
-      the ASN.1 standard requires that an object identifier
-      has always at least two sub-identifiers.  The pattern
-      captures these restrictions.
-
-      Although the number of sub-identifiers is not limited,
-      module designers should realize that there may be
-      implementations that stick with the SMIv2 limit of 128
-      sub-identifiers.
-
-      This type is a superset of the SMIv2 OBJECT IDENTIFIER type
-      since it is not restricted to 128 sub-identifiers.  Hence,
-      this type SHOULD NOT be used to represent the SMIv2 OBJECT
-      IDENTIFIER type; the object-identifier-128 type SHOULD be
-      used instead.";
-    reference
-     "ISO9834-1: Information technology -- Open Systems
-      Interconnection -- Procedures for the operation of OSI
-      Registration Authorities: General procedures and top
-      arcs of the ASN.1 Object Identifier tree";
-  }
-
-  typedef object-identifier-128 {
-    type object-identifier {
-      pattern '\d*(\.\d*){1,127}';
-    }
-    description
-     "This type represents object-identifiers restricted to 128
-      sub-identifiers.
-
-      In the value set and its semantics, this type is equivalent
-      to the OBJECT IDENTIFIER type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef yang-identifier {
-    type string {
-      length "1..max";
-      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
-      pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
-    }
-    description
-      "A YANG identifier string as defined by the 'identifier'
-       rule in Section 12 of RFC 6020.  An identifier must
-       start with an alphabetic character or an underscore
-       followed by an arbitrary sequence of alphabetic or
-       numeric characters, underscores, hyphens, or dots.
-
-       A YANG identifier MUST NOT start with any possible
-       combination of the lowercase or uppercase character
-       sequence 'xml'.";
-    reference
-      "RFC 6020: YANG - A Data Modeling Language for the Network
-                 Configuration Protocol (NETCONF)";
-  }
-
-  /*** collection of types related to date and time***/
-
-  typedef date-and-time {
-    type string {
-      pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
-            + '(Z|[\+\-]\d{2}:\d{2})';
-    }
-    description
-     "The date-and-time type is a profile of the ISO 8601
-      standard for representation of dates and times using the
-      Gregorian calendar.  The profile is defined by the
-      date-time production in Section 5.6 of RFC 3339.
-
-      The date-and-time type is compatible with the dateTime XML
-      schema type with the following notable exceptions:
-
-      (a) The date-and-time type does not allow negative years.
-
-      (b) The date-and-time time-offset -00:00 indicates an unknown
-          time zone (see RFC 3339) while -00:00 and +00:00 and Z
-          all represent the same time zone in dateTime.
-
-      (c) The canonical format (see below) of data-and-time values
-          differs from the canonical format used by the dateTime XML
-          schema type, which requires all times to be in UTC using
-          the time-offset 'Z'.
-
-      This type is not equivalent to the DateAndTime textual
-      convention of the SMIv2 since RFC 3339 uses a different
-      separator between full-date and full-time and provides
-      higher resolution of time-secfrac.
-
-      The canonical format for date-and-time values with a known time
-      zone uses a numeric time zone offset that is calculated using
-      the device's configured known offset to UTC time.  A change of
-      the device's offset to UTC time will cause date-and-time values
-      to change accordingly.  Such changes might happen periodically
-      in case a server follows automatically daylight saving time
-      (DST) time zone offset changes.  The canonical format for
-      date-and-time values with an unknown time zone (usually
-      referring to the notion of local time) uses the time-offset
-      -00:00.";
-    reference
-     "RFC 3339: Date and Time on the Internet: Timestamps
-      RFC 2579: Textual Conventions for SMIv2
-      XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
-  }
-
-  typedef timeticks {
-    type uint32;
-    description
-     "The timeticks type represents a non-negative integer that
-      represents the time, modulo 2^32 (4294967296 decimal), in
-      hundredths of a second between two epochs.  When a schema
-      node is defined that uses this type, the description of
-      the schema node identifies both of the reference epochs.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeTicks type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef timestamp {
-    type yang:timeticks;
-    description
-     "The timestamp type represents the value of an associated
-      timeticks schema node at which a specific occurrence
-      happened.  The specific occurrence must be defined in the
-      description of any schema node defined using this type.  When
-      the specific occurrence occurred prior to the last time the
-      associated timeticks attribute was zero, then the timestamp
-      value is zero.  Note that this requires all timestamp values
-      to be reset to zero when the value of the associated timeticks
-      attribute reaches 497+ days and wraps around to zero.
-
-      The associated timeticks schema node must be specified
-      in the description of any schema node using this type.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeStamp textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of generic address types ***/
-
-  typedef phys-address {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-
-    description
-     "Represents media- or physical-level addresses represented
-      as a sequence octets, each octet represented by two hexadecimal
-      numbers.  Octets are separated by colons.  The canonical
-      representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the PhysAddress textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  typedef mac-address {
-    type string {
-      pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
-    }
-    description
-     "The mac-address type represents an IEEE 802 MAC address.
-      The canonical representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the MacAddress textual convention of the SMIv2.";
-    reference
-     "IEEE 802: IEEE Standard for Local and Metropolitan Area
-                Networks: Overview and Architecture
-      RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of XML-specific types ***/
-
-  typedef xpath1.0 {
-    type string;
-    description
-     "This type represents an XPATH 1.0 expression.
-
-      When a schema node is defined that uses this type, the
-      description of the schema node MUST specify the XPath
-      context in which the XPath expression is evaluated.";
-    reference
-     "XPATH: XML Path Language (XPath) Version 1.0";
-  }
-
-  /*** collection of string types ***/
-
-  typedef hex-string {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-    description
-     "A hexadecimal string with octets represented as hex digits
-      separated by colons.  The canonical representation uses
-      lowercase characters.";
-  }
-
-  typedef uuid {
-    type string {
-      pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
-            + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
-    }
-    description
-     "A Universally Unique IDentifier in the string representation
-      defined in RFC 4122.  The canonical representation uses
-      lowercase characters.
-
-      The following is an example of a UUID in string representation:
-      f81d4fae-7dec-11d0-a765-00a0c91e6bf6
-      ";
-    reference
-     "RFC 4122: A Universally Unique IDentifier (UUID) URN
-                Namespace";
-  }
-
-  typedef dotted-quad {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
-    }
-    description
-      "An unsigned 32-bit number expressed in the dotted-quad
-       notation, i.e., four octets written as decimal numbers
-       and separated with the '.' (full stop) character.";
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/qos-profile.yang b/config-models/aether-2.2.x/files/yang/qos-profile.yang
deleted file mode 100755
index 2dfaf20..0000000
--- a/config-models/aether-2.2.x/files/yang/qos-profile.yang
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module qos-profile {
-  namespace "http://opennetworking.org/aether/qos-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-10-22" {
-    description "An Aether qos Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef qos-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for qos-profile-id";
-  }
-
-  container qos-profile {
-    description "The top level container";
-
-    list qos-profile {
-      key "id";
-      description
-        "List of qos profiles";
-
-      leaf id {
-        type qos-profile-id;
-        description "ID for this qos profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      container apn-ambr {
-        leaf uplink {
-          type uint32 {
-            range 0..4294967295;
-          }
-          units bps;
-          default 0;
-          description
-            "Upstream aggregate maximum bit rate";
-        }
-        leaf downlink {
-          type uint32 {
-            range 0..4294967295;
-          }
-          units bps;
-          default 0;
-          description
-            "Downstream aggregate maximum bit rate";
-        }
-        description "The container for apn-ambr";
-      }
-
-      leaf qci {
-        type uint32 {
-          range 0..85;
-        }
-        default 9;
-        description
-          "QoS Class Identifier";
-      }
-
-      container arp {
-        leaf priority {
-          type uint32 {
-            range 0..15;
-          }
-          default 0;
-          description
-            "Priority";
-        }
-        leaf preemption-capability {
-          type boolean;
-          default true;
-          description
-            "True if a bearer with lower priority should be dropped";
-        }
-        leaf preemption-vulnerability {
-          type boolean;
-          default true;
-          description
-            "This bearer may be dropped for a bearer with higher priority";
-        }
-        description "Evolved-ARP";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/security-profile.yang b/config-models/aether-2.2.x/files/yang/security-profile.yang
deleted file mode 100755
index 0655c34..0000000
--- a/config-models/aether-2.2.x/files/yang/security-profile.yang
+++ /dev/null
@@ -1,84 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module security-profile {
-  namespace "http://opennetworking.org/aether/security-profile";
-  prefix sec;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-05-10" {
-    description "An Aether Security Profile. Contains keys and other security items associated with devices. Configured by the operator.";
-    reference "RFC 6087";
-  }
-
-  typedef security-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for security-profile-id";
-  }
-
-  container security-profile {
-    description "The top level container";
-
-    list security-profile {
-      key "id";
-      description
-        "List of security profiles";
-
-      leaf id {
-        type security-profile-id;
-        description "ID for this security profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf imsi-range-from {
-        type uint64;
-        description "Starting IMSI in range to apply this security profile to";
-      }
-
-      leaf imsi-range-to {
-        type uint64;
-        description "Ending IMSI in range to apply this security profile to";
-      }
-
-      leaf key {
-        type string {
-          length 1..32;
-        }
-        description "Secret key for USIM";
-      }
-
-      leaf opc {
-        type string {
-          length 1..32;
-        }
-        description "Secret key for Operator";
-      }
-
-      leaf sqn {
-        type uint32;
-        description "sequence number";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this security profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/service-group.yang b/config-models/aether-2.2.x/files/yang/service-group.yang
deleted file mode 100755
index 460463f..0000000
--- a/config-models/aether-2.2.x/files/yang/service-group.yang
+++ /dev/null
@@ -1,83 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-group {
-  namespace "http://opennetworking.org/aether/service-group";
-  prefix sg;
-
-  import service-policy { prefix serv; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-04" {
-    description "An Aether Service Group";
-    reference "RFC 6087";
-  }
-
-  typedef service-group-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for service-group-id";
-  }
-
-  typedef service-kind {
-    type string {
-      length 1..32;
-      pattern "default|on-demand";
-    }
-    description "The typedef for service-kind";
-  }
-
-  container service-group {
-    description "The top level container";
-
-    list service-group {
-      key "id";
-      description
-        "List of service groups";
-
-      leaf id {
-        type service-group-id;
-        description "ID for this service group.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      list service-policies {
-        key "service-policy";
-        leaf service-policy {
-          type leafref {
-            path "/serv:service-policy/serv:service-policy/serv:id";
-          }
-          description
-              "Link to service policy";
-        }
-        leaf kind {
-          type service-kind;
-          default "default";
-          description
-            "Type of service link";
-        }
-        description "The list for service-policies";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this service group";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/service-policy.yang b/config-models/aether-2.2.x/files/yang/service-policy.yang
deleted file mode 100755
index e6598a7..0000000
--- a/config-models/aether-2.2.x/files/yang/service-policy.yang
+++ /dev/null
@@ -1,115 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-policy {
-  namespace "http://opennetworking.org/aether/service-policy";
-  prefix serv;
-
-  import service-rule { prefix sr; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-04" {
-    description "An Aether Service";
-    reference "RFC 6087";
-  }
-
-  typedef service-policy-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for service-policy-id";
-  }
-
-  container service-policy {
-    description "The top level container";
-
-    list service-policy {
-      key "id";
-      description
-        "List of services";
-
-      leaf id {
-        type service-policy-id;
-        description "ID for this service.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf qci {
-        type uint32 {
-          range 0..85;
-        }
-        default 9;
-        description
-          "QoS Class Identifier";
-      }
-
-      leaf arp {
-        type uint32 {
-          range 0..15;
-        }
-        default 9;
-        description
-          "Evolved-ARP";
-      }
-
-      container ambr {
-        leaf uplink {
-          type uint32 {
-            range 0..4294967295;
-          }
-          units bps;
-          default 0;
-          description
-            "Upstream aggregate maximum bit rate";
-        }
-        leaf downlink {
-          type uint32 {
-            range 0..4294967295;
-          }
-          units bps;
-          default 0;
-          description
-            "Downstream aggregate maximum bit rate";
-        }
-        description "The container for ambr";
-      }
-
-      list rules {
-        key "rule";
-        leaf rule {
-          type leafref {
-            path "/sr:service-rule/sr:service-rule/sr:id";
-          }
-          description
-              "Link to service rule";
-        }
-        leaf enabled {
-          type boolean;
-          default true;
-          description
-            "Enable or disable this service to use this rule";
-        }
-        description "The list for rules";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/service-rule.yang b/config-models/aether-2.2.x/files/yang/service-rule.yang
deleted file mode 100755
index 2007f96..0000000
--- a/config-models/aether-2.2.x/files/yang/service-rule.yang
+++ /dev/null
@@ -1,174 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module service-rule {
-  namespace "http://opennetworking.org/aether/service-rule";
-  prefix sr;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2021-03-04" {
-    description "An Aether Service Rule";
-    reference "RFC 6087";
-  }
-
-  typedef service-rule-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for service-rule-id";
-  }
-
-  container service-rule {
-    description "The top level container";
-
-    list service-rule {
-      key "id";
-      description
-        "List of service rules";
-
-      leaf id {
-        type service-rule-id;
-        description "ID for this service.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf charging-rule-name {
-        type string {
-            length 1..80;
-        }
-        description "name of charging rule";
-      }
-
-      container qos {
-        leaf qci {
-          type uint32 {
-            range 0..85;
-          }
-          default 9;
-          description
-            "QoS Class Identifier";
-        }
-
-        container arp {
-          leaf priority {
-            type uint32 {
-              range 0..15;
-            }
-            default 0;
-            description
-              "Priority";
-          }
-          leaf preemption-capability {
-            type boolean;
-            default true;
-            description
-              "True if a bearer with lower priority should be dropped";
-          }
-          leaf preemption-vulnerability {
-            type boolean;
-            default true;
-            description
-              "This bearer may be dropped for a bearer with higher priority";
-          }
-          description "Evolved-ARP";
-        }
-
-        container maximum-requested-bandwidth {
-          leaf uplink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Upstream maximum requested bandwidth";
-          }
-          leaf downlink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Downstream maximum requested bandwidth";
-          }
-          description "The container for maximum-requested-bandwidth";
-        }
-
-        container guaranteed-bitrate {
-          leaf uplink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Upstream guaranteed bitrate";
-          }
-          leaf downlink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Downstream guaranteed bitrate";
-          }
-          description "The container for guaranteed-bitrate";
-        }
-
-        container aggregate-maximum-bitrate {
-          leaf uplink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Upstream aggregate maximum bitrate";
-          }
-          leaf downlink {
-            type uint32 {
-              range 0..4294967295;
-            }
-            units bps;
-            default 0;
-            description
-              "Downstream aggregate maximum bitrate";
-          }
-          description "The container for aggregate-maximum-bitrate";
-        }
-        description "The container for qos";
-      }
-
-      container flow {
-        leaf specification {
-          type string {
-            length 1..1024;
-          }
-          description "specification of this flow";
-        }
-        description "The container for flow";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this rule";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/files/yang/up-profile.yang b/config-models/aether-2.2.x/files/yang/up-profile.yang
deleted file mode 100755
index 723758f..0000000
--- a/config-models/aether-2.2.x/files/yang/up-profile.yang
+++ /dev/null
@@ -1,72 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module up-profile {
-  namespace "http://opennetworking.org/aether/user-plane-profile";
-  prefix pro;
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "To generate JSON from this use command
-    pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
-    Copied from YangUIComponents project";
-
-  revision "2020-10-22" {
-    description "An Aether user plane Profile";
-    reference "RFC 6087";
-  }
-
-  // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the
-  // string length.
-  typedef up-profile-id {
-        type string {
-            length 1..32;
-        }
-    description "The typedef for up-profile-id";
-  }
-
-  container up-profile {
-    description "The top level container";
-
-    list up-profile {
-      key "id";
-      description
-        "List of user plane profiles";
-
-      leaf id {
-        type up-profile-id;
-        description "ID for this user plane profile.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf user-plane {
-        type string {
-          length 1..255;
-        }
-        description "user plane name";
-      }
-
-      leaf access-control {
-        type string {
-          length 1..32;
-        }
-        description "access control policy";
-      }
-
-      leaf description {
-        type string {
-          length 1..100;
-        }
-        description "description of this profile";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-2.2.x/templates/_helpers.tpl b/config-models/aether-2.2.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-2.2.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-2.2.x/templates/model.yaml b/config-models/aether-2.2.x/templates/model.yaml
deleted file mode 100644
index 1dac8f7..0000000
--- a/config-models/aether-2.2.x/templates/model.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
-  name: {{ template "aether.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "aether.labels" . | nindent 4 }}
-spec:
-  plugin:
-    type: Aether
-    version: {{ .Chart.AppVersion | quote }}
-  modules:
-  - name: aether-subscriber
-    organization: Open Networking Foundation
-    revision: 2020-10-22
-    file: aether-subscriber.yang
-  - name: apn-profile
-    organization: Open Networking Foundation
-    revision: 2021-03-04
-    file: apn-profile.yang
-  - name: up-profile
-    organization: Open Networking Foundation
-    revision: 2020-10-22
-    file: up-profile.yang
-  - name: qos-profile
-    organization: Open Networking Foundation
-    revision: 2020-10-22
-    file: qos-profile.yang
-  - name: access-profile
-    organization: Open Networking Foundation
-    revision: 2020-10-22
-    file: access-profile.yang
-  - name: enterprise
-    organization: Open Networking Foundation
-    revision: 2020-11-30
-    file: enterprise.yang
-  - name: connectivity-service
-    organization: Open Networking Foundation
-    revision: 2021-03-18
-    file: connectivity-service.yang
-  - name: security-profile
-    organization: Open Networking Foundation
-    revision: 2021-05-10
-    file: security-profile.yang
-  - name: service-group
-    organization: Open Networking Foundation
-    revision: 2021-03-04
-    file: service-group.yang
-  - name: service-policy
-    organization: Open Networking Foundation
-    revision: 2021-03-04
-    file: service-policy.yang
-  - name: service-rule
-    organization: Open Networking Foundation
-    revision: 2021-03-04
-    file: service-rule.yang
-  files:
-    {{- range $path, $_  := $.Files.Glob "files/yang/*.yang" }}
-    {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
-    {{- end }}
diff --git a/config-models/aether-2.2.x/values.yaml b/config-models/aether-2.2.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-2.2.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-3.x/Chart.yaml b/config-models/aether-3.x/Chart.yaml
deleted file mode 100644
index e5e434c..0000000
--- a/config-models/aether-3.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether-3
-version: 3.0.16
-kubeVersion: ">=1.18.0"
-appVersion: 3.0.0
-description: Aether config model
-keywords:
-  - onos
-  - sdn
-  - config
-home: https://onosproject.org
-maintainers:
-  - name: ONOS Support
-    email: support@opennetworking.org
diff --git a/config-models/aether-3.x/files/aether-3.0.0.tree b/config-models/aether-3.x/files/aether-3.0.0.tree
deleted file mode 100644
index f23f176..0000000
--- a/config-models/aether-3.x/files/aether-3.0.0.tree
+++ /dev/null
@@ -1,140 +0,0 @@
-module: ap-list
-  +--rw ap-list
-     +--rw ap-list* [id]
-        +--rw id               ap-list-id
-        +--rw access-points* [address]
-        |  +--rw address    inet:host
-        |  +--rw tac        at:tac
-        |  +--rw enable?    boolean
-        +--rw display-name?    string
-        +--rw description?     at:description
-        +--rw enterprise       -> /ent:enterprise/enterprise/id
-
-module: application
-  +--rw application
-     +--rw application* [id]
-        +--rw id              application-id
-        +--rw display-name?   string
-        +--rw description?    at:description
-        +--rw endpoint* [name]
-        |  +--rw name          string
-        |  +--rw address       ietf:host
-        |  +--rw port-start    ietf:port-number
-        |  +--rw port-end?     ietf:port-number
-        |  +--rw protocol?     at:protocol
-        +--rw enterprise      -> /ent:enterprise/enterprise/id
-
-module: connectivity-service
-  +--rw connectivity-service
-     +--rw connectivity-service* [id]
-        +--rw id                  connectivity-service-id
-        +--rw display-name?       string
-        +--rw description?        at:description
-        +--rw spgwc-endpoint?     inet:uri
-        +--rw hss-endpoint?       inet:uri
-        +--rw pcrf-endpoint?      inet:uri
-        +--rw core-5g-endpoint?   inet:uri
-
-module: device-group
-  +--rw device-group
-     +--rw device-group* [id]
-        +--rw id              device-group-id
-        +--rw description?    at:description
-        +--rw display-name?   string
-        +--rw imsis* [name]
-        |  +--rw name               string
-        |  +--rw imsi-range-from?   uint64
-        |  +--rw imsi-range-to?     uint64
-        +--rw ip-domain?      -> /ipd:ip-domain/ip-domain/id
-        +--rw site            -> /st:site/site/id
-
-module: enterprise
-  +--rw enterprise
-     +--rw enterprise* [id]
-        +--rw id                      enterprise-id
-        +--rw display-name?           string
-        +--rw description?            at:description
-        +--rw connectivity-service* [connectivity-service]
-           +--rw connectivity-service    -> /cs:connectivity-service/connectivity-service/id
-           +--rw enabled?                boolean
-
-module: ip-domain
-  +--rw ip-domain
-     +--rw ip-domain* [id]
-        +--rw id               ip-domain-id
-        +--rw display-name?    string
-        +--rw dnn?             at:dnn
-        +--rw dns-primary?     inet:ip-address
-        +--rw dns-secondary?   inet:ip-address
-        +--rw subnet           inet:ipv4-prefix
-        +--rw admin-status?    at:admin-status
-        +--rw mtu?             at:mtu
-        +--rw description?     at:description
-        +--rw enterprise       -> /ent:enterprise/enterprise/id
-
-module: site
-  +--rw site
-     +--rw site* [id]
-        +--rw id                 site-id
-        +--rw display-name?      string
-        +--rw enterprise         -> /ent:enterprise/enterprise/id
-        +--rw imsi-definition
-        |  +--rw mcc           at:mcc
-        |  +--rw mnc           at:mnc
-        |  +--rw enterprise    at:ent
-        |  +--rw format        string
-        +--rw description?       at:description
-
-module: template
-  +--rw template
-     +--rw template* [id]
-        +--rw id               template-id
-        +--rw display-name?    string
-        +--rw sst?             at:sst
-        +--rw sd?              at:sd
-        +--rw uplink?          uint32
-        +--rw downlink?        uint32
-        +--rw traffic-class?   -> /tc:traffic-class/traffic-class/id
-        +--rw description?     at:description
-
-module: traffic-class
-  +--rw traffic-class
-     +--rw traffic-class* [id]
-        +--rw id              traffic-class-id
-        +--rw display-name?   string
-        +--rw pelr?           at:pelr
-        +--rw pdb?            at:pdb
-        +--rw qci?            at:qci
-        +--rw description?    at:description
-
-module: upf
-  +--rw upf
-     +--rw upf* [id]
-        +--rw id              upf-id
-        +--rw address         inet:host
-        +--rw port            inet:port-number
-        +--rw display-name?   string
-        +--rw description?    at:description
-        +--rw enterprise      -> /ent:enterprise/enterprise/id
-
-module: vcs
-  +--rw vcs
-     +--rw vcs* [id]
-        +--rw id               vcs-id
-        +--rw display-name?    string
-        +--rw device-group* [device-group]
-        |  +--rw device-group    -> /dg:device-group/device-group/id
-        |  +--rw enable?         boolean
-        +--rw template?        -> /vt:template/template/id
-        +--rw application* [application]
-        |  +--rw application    -> /app:application/application/id
-        |  +--rw allow?         boolean
-        +--rw upf?             -> /upf:upf/upf/id
-        +--rw ap?              -> /apl:ap-list/ap-list/id
-        +--rw description?     at:description
-        +--rw enterprise       -> /ent:enterprise/enterprise/id
-        +--rw sst              at:sst
-        +--rw sd               at:sd
-        +--rw uplink?          uint32
-        +--rw downlink?        uint32
-        +--rw traffic-class    -> /tc:traffic-class/traffic-class/id
diff --git a/config-models/aether-3.x/files/yang/aether-types.yang b/config-models/aether-3.x/files/yang/aether-types.yang
deleted file mode 100755
index 86ef630..0000000
--- a/config-models/aether-3.x/files/yang/aether-types.yang
+++ /dev/null
@@ -1,123 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module aether-types {
-  namespace "http://opennetworking.org/aether/aether-types";
-  prefix at;
-
-  import ietf-inet-types { prefix inet; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "A set of base types for aether modeling.";
-
-  revision "2021-06-02" {
-    description "Aether Base Types";
-    reference "RFC 6087";
-  }
-
-  typedef mcc {
-      type string {
-        pattern '[0-9]{3}';
-      }
-    description "The typedef for mcc";
-  }
-
-  typedef mnc {
-      type string {
-        pattern '[0-9]{2,3}';
-      }
-    description "The typedef for mnc";
-  }
-
-  typedef tac {
-      type string {
-        length 4..8;
-        pattern '[0-9A-F\.]*';
-      }
-    description "The typedef for tac";
-  }
-
-  typedef ent {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typedef for ent";
-  }
-
-  typedef dnn {
-      type string {
-        length 1..32;
-      }
-    description "The typedef for dnn";
-  }
-
-  typedef sst {
-      type uint8 {
-        range 1..255;
-      }
-    description "The typedef for sst";
-  }
-
-  typedef sd {
-      type uint32 {
-        range 0..16777215;
-      }
-    description "The typedef for sd";
-  }
-
-  typedef qci {
-      type uint8 {
-        range 1..32;
-      }
-    description "The typedef for qci";
-  }
-
-  typedef pelr {
-      type int8 {
-        range 0..10;
-      }
-    description "The typedef for pelr";
-  }
-
-  typedef pdb {
-      type uint16 {
-        range 0..1000;
-      }
-    description "The typedef for pdb";
-  }
-
-  // "TCP" or "UDP"
-  typedef protocol {
-      type string {
-        length 3;
-        pattern "TCP|UDP";
-      }
-      default "TCP";
-    description "The typedef for protocol";
-  }
-
-  // "ENABLE" | "MAINTENTANCE" | "DISABLE"
-  typedef admin-status {
-      type string {
-        length 0..16;
-        pattern "ENABLE|MAINTENANCE|DISABLE";
-      }
-      default "ENABLE";
-    description "The typedef for admin-status";
-  }
-
-  typedef mtu {
-      type inet:port-number;
-      default 1492;
-    description "The typedef for mtu";
-  }
-
-  typedef description {
-    type string {
-      length 1..1024;
-    }
-    description "The typedef for description";
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/ap-list.yang b/config-models/aether-3.x/files/yang/ap-list.yang
deleted file mode 100755
index 49fc76a..0000000
--- a/config-models/aether-3.x/files/yang/ap-list.yang
+++ /dev/null
@@ -1,92 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module ap-list {
-  namespace "http://opennetworking.org/aether/ap-list";
-  prefix apl;
-
-  import ietf-inet-types { prefix inet; }
-  import aether-types { prefix at; }
-  import enterprise{ prefix ent; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether AP List is a named list of access points.";
-
-  revision "2021-06-02" {
-    description "An Aether Access Point List";
-    reference "RFC 6087";
-  }
-
-  typedef ap-list-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef ap-list-id";
-  }
-
-  container ap-list {
-    description "The top level container";
-
-    list ap-list {
-      key "id";
-      description
-        "A list of named ap-lists.";
-
-      leaf id {
-        type ap-list-id;
-        description "ID for this ap-list.";
-      }
-
-      list access-points {
-        key "address";
-        leaf address {
-          type inet:host;
-          description
-            "Address of access point";
-        }
-        leaf tac {
-          type at:tac;
-          mandatory true;
-          description
-              "Type Allocation Code";
-        }
-        leaf enable {
-          type boolean;
-          default true;
-          description
-            "Enable this access point";
-        }
-        description
-          "List of access point addresses";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this ap-list";
-      }
-
-      // Access point lists are always owned by an Enterprise, since they typically exist on the
-      // Enterprise's edge. An ApList is not owned by Site, to cover the case where a ApList may
-      // include access points that span multiple sites.
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this Access Point List";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/application.yang b/config-models/aether-3.x/files/yang/application.yang
deleted file mode 100755
index d62c957..0000000
--- a/config-models/aether-3.x/files/yang/application.yang
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module application {
-  namespace "http://opennetworking.org/enterprise/application";
-  prefix app;
-
-  import ietf-inet-types{ prefix ietf; }
-  import aether-types{ prefix at; }
-  import enterprise{ prefix ent; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Application is an application that UE devices may
-     connect to. Includes a set of endpoints where services are
-     provided.";
-
-  revision "2021-06-02" {
-    description "Aether Application.";
-    reference "RFC 6087";
-  }
-
-  typedef application-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for application-id";
-  }
-
-  container application {
-    description "The top level container";
-
-    list application {
-      key "id";
-      description
-        "List of applications";
-
-      leaf id {
-        type application-id;
-        description "ID for this application.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this application";
-      }
-
-      list endpoint {
-        key "name";
-        max-elements 1;
-        leaf name {
-          type string;
-          description
-              "Name of this endpoint";
-        }
-        leaf address {
-          type ietf:host;
-          mandatory true;
-          description
-              "Address of this endpoint. Either a hostname, and IP, or a subnet.";
-        }
-        leaf port-start {
-          type ietf:port-number;
-          mandatory true;
-          description
-              "First port in range";
-        }
-        leaf port-end {
-          type ietf:port-number;
-          description
-              "Last port in range";
-        }
-        leaf protocol {
-          type at:protocol;
-          description
-              "Name of this endpoint";
-        }
-        description "The list for endpoints";
-      }
-
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/connectivity-service.yang b/config-models/aether-3.x/files/yang/connectivity-service.yang
deleted file mode 100755
index 0d6e929..0000000
--- a/config-models/aether-3.x/files/yang/connectivity-service.yang
+++ /dev/null
@@ -1,77 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module connectivity-service {
-  namespace "http://opennetworking.org/aether/connectivity-service";
-  prefix cs;
-
-  import aether-types { prefix at; }
-  import ietf-inet-types { prefix inet; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Connectivity service is the linkage between the
-     ROC and a core that provides connectivity.";
-
-  revision "2021-06-02" {
-    description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
-    reference "RFC 6087";
-  }
-
-  typedef connectivity-service-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for connectivity-service-id";
-  }
-
-  container connectivity-service {
-    description "The top level container";
-
-    list connectivity-service {
-      key "id";
-      description
-        "List of connectivity services";
-
-      leaf id {
-        type connectivity-service-id;
-        description "ID for this connectivity service.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this connectivity service";
-      }
-
-      leaf spgwc-endpoint {
-        type inet:uri;
-        description "url of the spgwc service";
-      }
-
-      leaf hss-endpoint {
-        type inet:uri;
-        description "url of the hss service";
-      }
-
-      leaf pcrf-endpoint {
-        type inet:uri;
-        description "url of the pcrf service";
-      }
-
-      leaf core-5g-endpoint {
-        type inet:uri;
-        description "url of the 5g core";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/device-group.yang b/config-models/aether-3.x/files/yang/device-group.yang
deleted file mode 100755
index d6ae9a5..0000000
--- a/config-models/aether-3.x/files/yang/device-group.yang
+++ /dev/null
@@ -1,103 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module device-group {
-  namespace "http://opennetworking.org/aether/device-group";
-  prefix dg;
-
-  import aether-types { prefix at; }
-  import ip-domain{ prefix ipd; }
-  import site{ prefix st; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An aether device group represents a list of device IMSIS.
-     This list is expressed as a set of ranges,
-         [(from_imsi, to_imsi),
-          (from_imsi, to_imsi),
-          ...].
-     Each device group belongs to a site and has associated
-     with it an ip-profile that determines the IP address
-     and DNS settings that apply to devices within the
-     group";
-
-  revision "2021-06-02" {
-    description "An Aether Device Group";
-    reference "RFC 6087";
-  }
-
-  typedef device-group-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for device-group-id";
-  }
-
-  container device-group {
-    description "The top level container";
-
-    list device-group {
-      key "id";
-      description
-        "List of device groups";
-
-      leaf id {
-        type device-group-id;
-        description "ID for this device group.";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this device group";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      list imsis {
-        // TODO: imsi-range-from cannot be used as a list index
-        key "name";
-        leaf name {
-          type string;
-          description "The leaf for imsi name";
-        }
-        leaf imsi-range-from {
-          type uint64;
-	  description "The leaf for imsi-range-from";
-        }
-        leaf imsi-range-to {
-          type uint64;
-          description "The leaf for imsi-range-to";
-        }
-        description
-          "List of imsi ranges that comprise this group. It's acceptable for
-           a range to degenerate to being a singleton";
-      }
-
-      leaf ip-domain {
-        type leafref {
-          path "/ipd:ip-domain/ipd:ip-domain/ipd:id";
-        }
-        description
-          "Link to ip-domain settings that determine the pool of IP addresses,
-           as well as the domain resolver settings to use";
-      }
-
-      leaf site {
-        type leafref {
-          path "/st:site/st:site/st:id";
-        }
-        mandatory true;
-        description
-          "Link to site";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/enterprise.yang b/config-models/aether-3.x/files/yang/enterprise.yang
deleted file mode 100755
index 160e691..0000000
--- a/config-models/aether-3.x/files/yang/enterprise.yang
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module enterprise {
-  namespace "http://opennetworking.org/aether/enterprise";
-  prefix ent;
-
-  import aether-types { prefix at; }
-  import connectivity-service { prefix cs; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Enterprise is an administration entity that
-     has ownership of resrouces.";
-
-  revision "2021-06-02" {
-    description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
-    reference "RFC 6087";
-  }
-
-  typedef enterprise-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for enterprise-id";
-  }
-
-  container enterprise {
-    description "The top level container";
-
-    list enterprise {
-      key "id";
-      description
-        "List of enterprises";
-
-      leaf id {
-        type enterprise-id;
-        description "ID for this enterprise.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this enterprise";
-      }
-
-      list connectivity-service {
-        key "connectivity-service";
-        leaf connectivity-service {
-          type leafref {
-            path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }
-          description
-            "Link to connectivity services where configuration should be pushed for this enterprise's devices";
-        }
-        leaf enabled {
-          type boolean;
-          default true;
-          description
-            "Allow or disallow pushes to this connectivity service";
-        }
-        description "The list for connectivity-service";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/ietf-inet-types.yang b/config-models/aether-3.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-3.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
-  prefix "inet";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types for Internet addresses and related things.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - ip-address-no-zone
-      - ipv4-address-no-zone
-      - ipv6-address-no-zone";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of types related to protocol fields ***/
-
-  typedef ip-version {
-    type enumeration {
-      enum unknown {
-        value "0";
-        description
-         "An unknown or unspecified version of the Internet
-          protocol.";
-      }
-      enum ipv4 {
-        value "1";
-        description
-         "The IPv4 protocol as defined in RFC 791.";
-      }
-      enum ipv6 {
-        value "2";
-        description
-         "The IPv6 protocol as defined in RFC 2460.";
-      }
-    }
-    description
-     "This value represents the version of the IP protocol.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetVersion textual convention of the SMIv2.";
-    reference
-     "RFC  791: Internet Protocol
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  typedef dscp {
-    type uint8 {
-      range "0..63";
-    }
-    description
-     "The dscp type represents a Differentiated Services Code Point
-      that may be used for marking packets in a traffic stream.
-      In the value set and its semantics, this type is equivalent
-      to the Dscp textual convention of the SMIv2.";
-    reference
-     "RFC 3289: Management Information Base for the Differentiated
-                Services Architecture
-      RFC 2474: Definition of the Differentiated Services Field
-                (DS Field) in the IPv4 and IPv6 Headers
-      RFC 2780: IANA Allocation Guidelines For Values In
-                the Internet Protocol and Related Headers";
-  }
-
-  typedef ipv6-flow-label {
-    type uint32 {
-      range "0..1048575";
-    }
-    description
-     "The ipv6-flow-label type represents the flow identifier or Flow
-      Label in an IPv6 packet header that may be used to
-      discriminate traffic flows.
-
-      In the value set and its semantics, this type is equivalent
-      to the IPv6FlowLabel textual convention of the SMIv2.";
-    reference
-     "RFC 3595: Textual Conventions for IPv6 Flow Label
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
-  }
-
-  typedef port-number {
-    type uint16 {
-      range "0..65535";
-    }
-    description
-     "The port-number type represents a 16-bit port number of an
-      Internet transport-layer protocol such as UDP, TCP, DCCP, or
-      SCTP.  Port numbers are assigned by IANA.  A current list of
-      all assignments is available from <http://www.iana.org/>.
-
-      Note that the port number value zero is reserved by IANA.  In
-      situations where the value zero does not make sense, it can
-      be excluded by subtyping the port-number type.
-      In the value set and its semantics, this type is equivalent
-      to the InetPortNumber textual convention of the SMIv2.";
-    reference
-     "RFC  768: User Datagram Protocol
-      RFC  793: Transmission Control Protocol
-      RFC 4960: Stream Control Transmission Protocol
-      RFC 4340: Datagram Congestion Control Protocol (DCCP)
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  /*** collection of types related to autonomous systems ***/
-
-  typedef as-number {
-    type uint32;
-    description
-     "The as-number type represents autonomous system numbers
-      which identify an Autonomous System (AS).  An AS is a set
-      of routers under a single technical administration, using
-      an interior gateway protocol and common metrics to route
-      packets within the AS, and using an exterior gateway
-      protocol to route packets to other ASes.  IANA maintains
-      the AS number space and has delegated large parts to the
-      regional registries.
-
-      Autonomous system numbers were originally limited to 16
-      bits.  BGP extensions have enlarged the autonomous system
-      number space to 32 bits.  This type therefore uses an uint32
-      base type without a range restriction in order to support
-      a larger autonomous system number space.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetAutonomousSystemNumber textual convention of
-      the SMIv2.";
-    reference
-     "RFC 1930: Guidelines for creation, selection, and registration
-                of an Autonomous System (AS)
-      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
-      RFC 4001: Textual Conventions for Internet Network Addresses
-      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
-                Number Space";
-  }
-
-  /*** collection of types related to IP addresses and hostnames ***/
-
-  typedef ip-address {
-    type union {
-      type inet:ipv4-address;
-      type inet:ipv6-address;
-    }
-    description
-     "The ip-address type represents an IP address and is IP
-      version neutral.  The format of the textual representation
-      implies the IP version.  This type supports scoped addresses
-      by allowing zone identifiers in the address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-      + '(%[\p{N}\p{L}]+)?';
-    }
-    description
-      "The ipv4-address type represents an IPv4 address in
-       dotted-quad notation.  The IPv4 address may include a zone
-       index, separated by a % sign.
-
-       The zone index is used to disambiguate identical address
-       values.  For link-local addresses, the zone index will
-       typically be the interface index number or the name of an
-       interface.  If the zone index is not present, the default
-       zone of the device will be used.
-
-       The canonical format for the zone index is the numerical
-       format";
-  }
-
-  typedef ipv6-address {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(%[\p{N}\p{L}]+)?';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(%.+)?';
-    }
-    description
-     "The ipv6-address type represents an IPv6 address in full,
-      mixed, shortened, and shortened-mixed notation.  The IPv6
-      address may include a zone index, separated by a % sign.
-
-      The zone index is used to disambiguate identical address
-      values.  For link-local addresses, the zone index will
-      typically be the interface index number or the name of an
-      interface.  If the zone index is not present, the default
-      zone of the device will be used.
-
-      The canonical format of IPv6 addresses uses the textual
-      representation defined in Section 4 of RFC 5952.  The
-      canonical format for the zone index is the numerical
-      format as described in Section 11.2 of RFC 4007.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-address-no-zone {
-    type union {
-      type inet:ipv4-address-no-zone;
-      type inet:ipv6-address-no-zone;
-    }
-    description
-     "The ip-address-no-zone type represents an IP address and is
-      IP version neutral.  The format of the textual representation
-      implies the IP version.  This type does not support scoped
-      addresses since it does not allow zone identifiers in the
-      address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address-no-zone {
-    type inet:ipv4-address {
-      pattern '[0-9\.]*';
-    }
-    description
-      "An IPv4 address without a zone index.  This type, derived from
-       ipv4-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-  }
-
-  typedef ipv6-address-no-zone {
-    type inet:ipv6-address {
-      pattern '[0-9a-fA-F:\.]*';
-    }
-    description
-      "An IPv6 address without a zone index.  This type, derived from
-       ipv6-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-prefix {
-    type union {
-      type inet:ipv4-prefix;
-      type inet:ipv6-prefix;
-    }
-    description
-     "The ip-prefix type represents an IP prefix and is IP
-      version neutral.  The format of the textual representations
-      implies the IP version.";
-  }
-
-  typedef ipv4-prefix {
-    type string {
-      pattern
-         '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-       +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-       + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
-    }
-    description
-     "The ipv4-prefix type represents an IPv4 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 32.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The canonical format of an IPv4 prefix has all bits of
-      the IPv4 address set to zero that are not part of the
-      IPv4 prefix.";
-  }
-
-  typedef ipv6-prefix {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(/.+)';
-    }
-
-    description
-     "The ipv6-prefix type represents an IPv6 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 128.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The IPv6 address should have all bits that do not belong
-      to the prefix set to zero.
-
-      The canonical format of an IPv6 prefix has all bits of
-      the IPv6 address set to zero that are not part of the
-      IPv6 prefix.  Furthermore, the IPv6 address is represented
-      as defined in Section 4 of RFC 5952.";
-    reference
-     "RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  /*** collection of domain name and URI types ***/
-
-  typedef domain-name {
-    type string {
-      length "1..253";
-      pattern
-        '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
-      + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
-      + '|\.';
-    }
-    description
-     "The domain-name type represents a DNS domain name.  The
-      name SHOULD be fully qualified whenever possible.
-
-      Internet domain names are only loosely specified.  Section
-      3.5 of RFC 1034 recommends a syntax (modified in Section
-      2.1 of RFC 1123).  The pattern above is intended to allow
-      for current practice in domain name use, and some possible
-      future expansion.  It is designed to hold various types of
-      domain names, including names used for A or AAAA records
-      (host names) and other records, such as SRV records.  Note
-      that Internet host names have a stricter syntax (described
-      in RFC 952) than the DNS recommendations in RFCs 1034 and
-      1123, and that systems that want to store host names in
-      schema nodes using the domain-name type are recommended to
-      adhere to this stricter standard to ensure interoperability.
-
-      The encoding of DNS names in the DNS protocol is limited
-      to 255 characters.  Since the encoding consists of labels
-      prefixed by a length bytes and there is a trailing NULL
-      byte, only 253 characters can appear in the textual dotted
-      notation.
-
-      The description clause of schema nodes using the domain-name
-      type MUST describe when and how these names are resolved to
-      IP addresses.  Note that the resolution of a domain-name value
-      may require to query multiple DNS records (e.g., A for IPv4
-      and AAAA for IPv6).  The order of the resolution process and
-      which DNS record takes precedence can either be defined
-      explicitly or may depend on the configuration of the
-      resolver.
-
-      Domain-name values use the US-ASCII encoding.  Their canonical
-      format uses lowercase US-ASCII characters.  Internationalized
-      domain names MUST be A-labels as per RFC 5890.";
-    reference
-     "RFC  952: DoD Internet Host Table Specification
-      RFC 1034: Domain Names - Concepts and Facilities
-      RFC 1123: Requirements for Internet Hosts -- Application
-                and Support
-      RFC 2782: A DNS RR for specifying the location of services
-                (DNS SRV)
-      RFC 5890: Internationalized Domain Names in Applications
-                (IDNA): Definitions and Document Framework";
-  }
-
-  typedef host {
-    type union {
-      type inet:ip-address;
-      type inet:domain-name;
-    }
-    description
-     "The host type represents either an IP address or a DNS
-      domain name.";
-  }
-
-  typedef uri {
-    type string;
-    description
-     "The uri type represents a Uniform Resource Identifier
-      (URI) as defined by STD 66.
-
-      Objects using the uri type MUST be in US-ASCII encoding,
-      and MUST be normalized as described by RFC 3986 Sections
-      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
-      percent-encoding is removed, and all case-insensitive
-      characters are set to lowercase except for hexadecimal
-      digits, which are normalized to uppercase as described in
-      Section 6.2.2.1.
-
-      The purpose of this normalization is to help provide
-      unique URIs.  Note that this normalization is not
-      sufficient to provide uniqueness.  Two URIs that are
-      textually distinct after this normalization may still be
-      equivalent.
-
-      Objects using the uri type may restrict the schemes that
-      they permit.  For example, 'data:' and 'urn:' schemes
-      might not be appropriate.
-
-      A zero-length URI is not a valid URI.  This can be used to
-      express 'URI absent' where required.
-
-      In the value set and its semantics, this type is equivalent
-      to the Uri SMIv2 textual convention defined in RFC 5017.";
-    reference
-     "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
-      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
-                Group: Uniform Resource Identifiers (URIs), URLs,
-                and Uniform Resource Names (URNs): Clarifications
-                and Recommendations
-      RFC 5017: MIB Textual Conventions for Uniform Resource
-                Identifiers (URIs)";
-  }
-
-}
diff --git a/config-models/aether-3.x/files/yang/ietf-yang-types.yang b/config-models/aether-3.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-3.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
-  prefix "yang";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - yang-identifier
-      - hex-string
-      - uuid
-      - dotted-quad";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of counter and gauge types ***/
-
-  typedef counter32 {
-    type uint32;
-    description
-     "The counter32 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter32 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter32 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter32.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter32 {
-    type yang:counter32;
-    default "0";
-    description
-     "The zero-based-counter32 type represents a counter32
-      that has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter32 textual convention of the SMIv2.";
-    reference
-      "RFC 4502: Remote Network Monitoring Management Information
-                 Base Version 2";
-  }
-
-  typedef counter64 {
-    type uint64;
-    description
-     "The counter64 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter64 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter64 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter64.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter64 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter64 {
-    type yang:counter64;
-    default "0";
-    description
-     "The zero-based-counter64 type represents a counter64 that
-      has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter64 textual convention of the SMIv2.";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  typedef gauge32 {
-    type uint32;
-    description
-     "The gauge32 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^32-1 (4294967295 decimal), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge32 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge32 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the Gauge32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef gauge64 {
-    type uint64;
-    description
-     "The gauge64 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^64-1 (18446744073709551615), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge64 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge64 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the CounterBasedGauge64 SMIv2 textual convention defined
-      in RFC 2856";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  /*** collection of identifier-related types ***/
-
-  typedef object-identifier {
-    type string {
-      pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
-            + '(\.(0|([1-9]\d*)))*';
-    }
-    description
-     "The object-identifier type represents administratively
-      assigned names in a registration-hierarchical-name tree.
-
-      Values of this type are denoted as a sequence of numerical
-      non-negative sub-identifier values.  Each sub-identifier
-      value MUST NOT exceed 2^32-1 (4294967295).  Sub-identifiers
-      are separated by single dots and without any intermediate
-      whitespace.
-
-      The ASN.1 standard restricts the value space of the first
-      sub-identifier to 0, 1, or 2.  Furthermore, the value space
-      of the second sub-identifier is restricted to the range
-      0 to 39 if the first sub-identifier is 0 or 1.  Finally,
-      the ASN.1 standard requires that an object identifier
-      has always at least two sub-identifiers.  The pattern
-      captures these restrictions.
-
-      Although the number of sub-identifiers is not limited,
-      module designers should realize that there may be
-      implementations that stick with the SMIv2 limit of 128
-      sub-identifiers.
-
-      This type is a superset of the SMIv2 OBJECT IDENTIFIER type
-      since it is not restricted to 128 sub-identifiers.  Hence,
-      this type SHOULD NOT be used to represent the SMIv2 OBJECT
-      IDENTIFIER type; the object-identifier-128 type SHOULD be
-      used instead.";
-    reference
-     "ISO9834-1: Information technology -- Open Systems
-      Interconnection -- Procedures for the operation of OSI
-      Registration Authorities: General procedures and top
-      arcs of the ASN.1 Object Identifier tree";
-  }
-
-  typedef object-identifier-128 {
-    type object-identifier {
-      pattern '\d*(\.\d*){1,127}';
-    }
-    description
-     "This type represents object-identifiers restricted to 128
-      sub-identifiers.
-
-      In the value set and its semantics, this type is equivalent
-      to the OBJECT IDENTIFIER type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef yang-identifier {
-    type string {
-      length "1..max";
-      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
-      pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
-    }
-    description
-      "A YANG identifier string as defined by the 'identifier'
-       rule in Section 12 of RFC 6020.  An identifier must
-       start with an alphabetic character or an underscore
-       followed by an arbitrary sequence of alphabetic or
-       numeric characters, underscores, hyphens, or dots.
-
-       A YANG identifier MUST NOT start with any possible
-       combination of the lowercase or uppercase character
-       sequence 'xml'.";
-    reference
-      "RFC 6020: YANG - A Data Modeling Language for the Network
-                 Configuration Protocol (NETCONF)";
-  }
-
-  /*** collection of types related to date and time***/
-
-  typedef date-and-time {
-    type string {
-      pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
-            + '(Z|[\+\-]\d{2}:\d{2})';
-    }
-    description
-     "The date-and-time type is a profile of the ISO 8601
-      standard for representation of dates and times using the
-      Gregorian calendar.  The profile is defined by the
-      date-time production in Section 5.6 of RFC 3339.
-
-      The date-and-time type is compatible with the dateTime XML
-      schema type with the following notable exceptions:
-
-      (a) The date-and-time type does not allow negative years.
-
-      (b) The date-and-time time-offset -00:00 indicates an unknown
-          time zone (see RFC 3339) while -00:00 and +00:00 and Z
-          all represent the same time zone in dateTime.
-
-      (c) The canonical format (see below) of data-and-time values
-          differs from the canonical format used by the dateTime XML
-          schema type, which requires all times to be in UTC using
-          the time-offset 'Z'.
-
-      This type is not equivalent to the DateAndTime textual
-      convention of the SMIv2 since RFC 3339 uses a different
-      separator between full-date and full-time and provides
-      higher resolution of time-secfrac.
-
-      The canonical format for date-and-time values with a known time
-      zone uses a numeric time zone offset that is calculated using
-      the device's configured known offset to UTC time.  A change of
-      the device's offset to UTC time will cause date-and-time values
-      to change accordingly.  Such changes might happen periodically
-      in case a server follows automatically daylight saving time
-      (DST) time zone offset changes.  The canonical format for
-      date-and-time values with an unknown time zone (usually
-      referring to the notion of local time) uses the time-offset
-      -00:00.";
-    reference
-     "RFC 3339: Date and Time on the Internet: Timestamps
-      RFC 2579: Textual Conventions for SMIv2
-      XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
-  }
-
-  typedef timeticks {
-    type uint32;
-    description
-     "The timeticks type represents a non-negative integer that
-      represents the time, modulo 2^32 (4294967296 decimal), in
-      hundredths of a second between two epochs.  When a schema
-      node is defined that uses this type, the description of
-      the schema node identifies both of the reference epochs.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeTicks type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef timestamp {
-    type yang:timeticks;
-    description
-     "The timestamp type represents the value of an associated
-      timeticks schema node at which a specific occurrence
-      happened.  The specific occurrence must be defined in the
-      description of any schema node defined using this type.  When
-      the specific occurrence occurred prior to the last time the
-      associated timeticks attribute was zero, then the timestamp
-      value is zero.  Note that this requires all timestamp values
-      to be reset to zero when the value of the associated timeticks
-      attribute reaches 497+ days and wraps around to zero.
-
-      The associated timeticks schema node must be specified
-      in the description of any schema node using this type.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeStamp textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of generic address types ***/
-
-  typedef phys-address {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-
-    description
-     "Represents media- or physical-level addresses represented
-      as a sequence octets, each octet represented by two hexadecimal
-      numbers.  Octets are separated by colons.  The canonical
-      representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the PhysAddress textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  typedef mac-address {
-    type string {
-      pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
-    }
-    description
-     "The mac-address type represents an IEEE 802 MAC address.
-      The canonical representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the MacAddress textual convention of the SMIv2.";
-    reference
-     "IEEE 802: IEEE Standard for Local and Metropolitan Area
-                Networks: Overview and Architecture
-      RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of XML-specific types ***/
-
-  typedef xpath1.0 {
-    type string;
-    description
-     "This type represents an XPATH 1.0 expression.
-
-      When a schema node is defined that uses this type, the
-      description of the schema node MUST specify the XPath
-      context in which the XPath expression is evaluated.";
-    reference
-     "XPATH: XML Path Language (XPath) Version 1.0";
-  }
-
-  /*** collection of string types ***/
-
-  typedef hex-string {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-    description
-     "A hexadecimal string with octets represented as hex digits
-      separated by colons.  The canonical representation uses
-      lowercase characters.";
-  }
-
-  typedef uuid {
-    type string {
-      pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
-            + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
-    }
-    description
-     "A Universally Unique IDentifier in the string representation
-      defined in RFC 4122.  The canonical representation uses
-      lowercase characters.
-
-      The following is an example of a UUID in string representation:
-      f81d4fae-7dec-11d0-a765-00a0c91e6bf6
-      ";
-    reference
-     "RFC 4122: A Universally Unique IDentifier (UUID) URN
-                Namespace";
-  }
-
-  typedef dotted-quad {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
-    }
-    description
-      "An unsigned 32-bit number expressed in the dotted-quad
-       notation, i.e., four octets written as decimal numbers
-       and separated with the '.' (full stop) character.";
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/ip-domain.yang b/config-models/aether-3.x/files/yang/ip-domain.yang
deleted file mode 100755
index ee920b1..0000000
--- a/config-models/aether-3.x/files/yang/ip-domain.yang
+++ /dev/null
@@ -1,103 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module ip-domain {
-  namespace "http://opennetworking.org/aether/ip-domain";
-  prefix ipd;
-
-  import ietf-inet-types { prefix inet; }
-  import aether-types { prefix at; }
-  import enterprise{ prefix ent; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether IP-Domain. This is a list of available subnets
-     that may be assigned to UEs, as well as DNS servers and other
-     metadata";
-
-  revision "2021-06-02" {
-    description "An Aether IP and Domain Specification";
-    reference "RFC 6087";
-  }
-
-  typedef ip-domain-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for ip-domain-id";
-  }
-
-  container ip-domain {
-    description "The top level container";
-
-    list ip-domain {
-      key "id";
-      description
-        "List of ip domains";
-
-      leaf id {
-        type ip-domain-id;
-        description "ID for this ip domain.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf dnn {
-        type at:dnn;
-        description "DNN/APN";
-      }
-
-      leaf dns-primary {
-        type inet:ip-address;
-        description "primary dns server name";
-      }
-
-      leaf dns-secondary {
-        type inet:ip-address;
-        description "secondary dns server name";
-      }
-
-      // Note: Cannot use a subnet as a list key. Dropped support from a
-      // list of subnets to a single subnet. Revisit in the future.
-      leaf subnet {
-        type inet:ipv4-prefix;
-        mandatory true;
-        description "subnet to allocate ip addresses from";
-      }
-
-      leaf admin-status {
-        type at:admin-status;
-        description "administrative status";
-      }
-
-      leaf mtu {
-        type at:mtu;
-        description "maximum transmission unit";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this ip domain";
-      }
-
-      // Ip-Domain is always owned by an Enterprise, because it contains
-      // IP addresses relative to that Enterprise.
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this IP-Domain";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/site.yang b/config-models/aether-3.x/files/yang/site.yang
deleted file mode 100755
index a8653f0..0000000
--- a/config-models/aether-3.x/files/yang/site.yang
+++ /dev/null
@@ -1,102 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module site {
-  namespace "http://opennetworking.org/aether/site";
-  prefix st;
-
-  import aether-types{ prefix at; }
-  import enterprise{ prefix ent; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether site is a location where resources are deployed.";
-
-  revision "2021-06-02" {
-    description "An Aether Site.";
-    reference "RFC 6087";
-  }
-
-  typedef site-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for site-id";
-  }
-
-  container site {
-    description "The top level container";
-
-    list site {
-      key "id";
-      description
-        "List of site";
-
-      leaf id {
-        type site-id;
-        description "ID for this site.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this site";
-      }
-
-      container imsi-definition {
-        leaf mcc {
-          type at:mcc;
-	  mandatory true;
-          description "mobile country code";
-        }
-        leaf mnc {
-          type at:mnc;
-	  mandatory true;
-          description "mobile network code";
-        }
-        leaf enterprise {
-          type at:ent;
-	  mandatory true;
-          description "enterprise-specific identifier";
-        }
-        leaf format {
-          type string {
-            length 15;
-          }
-          mandatory true;
-          description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
-          // Format specifiers:
-          //   C = MCC
-          //   N = MNC
-          //   E = Enterprise
-          //   0 = Forced Zero
-          //   S = Subscriber ID
-          // default is
-          //   3 digit MCC
-          //   3 digit MNC
-          //   3 digit enterprise ID
-          //   5 digit subscriber ID
-        }
-        description "The container for imsi-definition";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this site";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/template.yang b/config-models/aether-3.x/files/yang/template.yang
deleted file mode 100755
index 6f9d291..0000000
--- a/config-models/aether-3.x/files/yang/template.yang
+++ /dev/null
@@ -1,86 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module template {
-  namespace "http://opennetworking.org/aether/template";
-  prefix tp;
-
-  import aether-types{ prefix at; }
-  import traffic-class{ prefix tc; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "The aether vcs-template holds common parameters used
-     by a virtual connectivity service. Templates are used to
-     populate a VCS.";
-
-  revision "2021-06-02" {
-    description "An Aether Virtual Cellular Service Template";
-    reference "RFC 6087";
-  }
-
-  typedef template-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for template-id";
-  }
-
-  container template {
-    description "The top level container";
-
-    list template {
-      key "id";
-      description
-        "List of vcs templates";
-
-      leaf id {
-        type template-id;
-        description "ID for this vcs template.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf sst {
-        type at:sst;
-        description "Slice/Service type";
-      }
-
-      leaf sd {
-        type at:sd;
-        description "Slice differentiator";
-      }
-
-      leaf uplink {
-        type uint32;
-        description "Uplink data rate in mbps";
-      }
-
-      leaf downlink {
-        type uint32;
-        description "Downlink data rate in mbps";
-      }
-
-      leaf traffic-class {
-        type leafref {
-          path "/tc:traffic-class/tc:traffic-class/tc:id";
-        }
-        description
-          "Link to traffic class";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this vcs template";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/traffic-class.yang b/config-models/aether-3.x/files/yang/traffic-class.yang
deleted file mode 100755
index 88a9495..0000000
--- a/config-models/aether-3.x/files/yang/traffic-class.yang
+++ /dev/null
@@ -1,71 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module traffic-class {
-  namespace "http://opennetworking.org/aether/traffic-class";
-  prefix tp;
-
-  import aether-types{ prefix at; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "The aether traffic class associates qos constants
-     with a named class of service";
-
-  revision "2021-06-02" {
-    description "An Aether Traffic Class";
-    reference "RFC 6087";
-  }
-
-  typedef traffic-class-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for traffic-class-id";
-  }
-
-  container traffic-class {
-    description "The top level container";
-
-    list traffic-class {
-      key "id";
-      description
-        "List of traffic class";
-
-      leaf id {
-        type traffic-class-id;
-        description "ID for this traffic class.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf pelr {
-        type at:pelr;
-        description "PELR exponent";
-      }
-
-      leaf pdb {
-        type at:pdb;
-        description "PDB";
-      }
-
-      leaf qci {
-        type at:qci;
-        description "QCI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this traffic class";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/upf.yang b/config-models/aether-3.x/files/yang/upf.yang
deleted file mode 100755
index 433c23b..0000000
--- a/config-models/aether-3.x/files/yang/upf.yang
+++ /dev/null
@@ -1,82 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module upf {
-  namespace "http://opennetworking.org/aether/upf";
-  prefix upf;
-
-  import aether-types { prefix at; }
-  import ietf-inet-types { prefix inet; }
-  import enterprise{ prefix ent; }
-  import ietf-yang-types{ prefix yg; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "A Aether UPF List is a named User Plane Function.";
-
-  revision "2021-06-02" {
-    description "An Aether User Plane Function";
-    reference "RFC 6087";
-  }
-
-  typedef upf-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for upf-id";
-  }
-
-  container upf {
-    description "The top level container";
-
-    list upf {
-      key "id";
-      description
-        "A list of named upfs.";
-
-      leaf id {
-        type upf-id;
-        description "ID for this upf.";
-      }
-
-      leaf address {
-        type inet:host;
-        mandatory true;
-        description
-          "Address of UPF";
-      }
-
-      leaf port {
-        type inet:port-number;
-        mandatory true;
-        description
-            "Port for UPF";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this UPF";
-      }
-
-      // UPFs are always owned by an Enterprise, since they typically exist on the
-      // Enterprise's edge. TODO: Consider whether they should be owned by a Site
-      // instead of Enterprise.
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this Access Point List";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-3.x/files/yang/vcs.yang b/config-models/aether-3.x/files/yang/vcs.yang
deleted file mode 100755
index 5e8c5f7..0000000
--- a/config-models/aether-3.x/files/yang/vcs.yang
+++ /dev/null
@@ -1,172 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module vcs {
-  namespace "http://opennetworking.org/aether/vcs";
-  prefix sl;
-
-  import template{ prefix vt; }
-  import upf { prefix upf; }
-  import ap-list{ prefix apl; }
-  import application{ prefix app; }
-  import aether-types{ prefix at; }
-  import device-group{ prefix dg; }
-  import traffic-class{ prefix tc; }
-  import ietf-yang-types{ prefix yg; }
-  import enterprise{ prefix ent; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Virtual Cellular Service (VCS) is
-     used to connect UE devices with applications";
-
-  revision "2021-06-02" {
-    description "An Aether Virtual Cellular Service";
-    reference "RFC 6087";
-  }
-
-  typedef vcs-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for vcs-id";
-  }
-
-  container vcs {
-    description "The top level container";
-
-    list vcs {
-      key "id";
-      description
-        "List of virtual cellular services";
-
-      leaf id {
-        type vcs-id;
-        description "ID for this vcs.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      list device-group {
-        key "device-group";
-        leaf device-group {
-          type leafref {
-            path "/dg:device-group/dg:device-group/dg:id";
-          }
-          description
-            "Link to device group";
-        }
-        leaf enable {
-          type boolean;
-          default true;
-          description
-            "Enable this device group";
-        }
-        description
-          "A list of device groups. Groups will only participate in
-           the VCS if the enable field is set to True";
-      }
-
-      leaf template {
-        type leafref {
-          path "/vt:template/vt:template/vt:id";
-        }
-        description
-          "Link to user vcs template that was used to initialize
-           this VCS";
-      }
-
-      list application {
-        key "application";
-        leaf application {
-          type leafref {
-            path "/app:application/app:application/app:id";
-          }
-          mandatory true;
-          description
-            "Link to application";
-        }
-        leaf allow {
-          type boolean;
-          default true;
-          description
-            "Allow or deny this application";
-        }
-        description
-          "An ordered list of applications to allow and deny. The deny rules
-           will be executed first, followed by the allow rules. The first rule
-           to match is returned. An implicit DENY ALL lies at the end.";
-      }
-
-      leaf upf {
-        type leafref {
-          path "/upf:upf/upf:upf/upf:id";
-        }
-        description
-          "Link to user plane that implements this vcf";
-      }
-
-      leaf ap {
-        type leafref {
-          path "/apl:ap-list/apl:ap-list/apl:id";
-        }
-        description
-          "Link to access-point list";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this vcs";
-      }
-
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this VCS";
-      }
-
-      // the following are populated from the template
-      leaf sst {
-        type at:sst;
-        mandatory true;
-        description "Slice/Service type. Immutable.";
-      }
-
-      leaf sd {
-        type at:sd;
-        mandatory true;
-        description "Slice differentiator. Immutable.";
-      }
-
-      leaf uplink {
-        type uint32;
-        description "Uplink data rate in mbps";
-      }
-
-      leaf downlink {
-        type uint32;
-        description "Downlink data rate in mbps";
-      }
-
-      leaf traffic-class {
-        type leafref {
-          path "/tc:traffic-class/tc:traffic-class/tc:id";
-        }
-        mandatory true;
-        description
-          "Link to traffic class";
-      }
-      // end of items populated from the template
-    }
-  }
-}
diff --git a/config-models/aether-3.x/templates/_helpers.tpl b/config-models/aether-3.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-3.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-3.x/templates/model.yaml b/config-models/aether-3.x/templates/model.yaml
deleted file mode 100644
index 86db976..0000000
--- a/config-models/aether-3.x/templates/model.yaml
+++ /dev/null
@@ -1,70 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
-  name: {{ template "aether.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "aether.labels" . | nindent 4 }}
-spec:
-  plugin:
-    type: Aether
-    version: {{ .Chart.AppVersion | quote }}
-  modules:
-  - name: connectivity-service
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: connectivity-service.yang
-  - name: enterprise
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: enterprise.yang
-# new 5G models
-  - name: aether-types
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: aether-types.yang
-  - name: ap-list
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: ap-list.yang
-  - name: application
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: application.yang
-  - name: device-group
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: device-group.yang
-  - name: ip-domain
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: ip-domain.yang
-  - name: site
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: site.yang
-  - name: upf-list
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: upf.yang
-  - name: vcs
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: vcs.yang
-  - name: template
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: template.yang
-  - name: traffic-class
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: traffic-class.yang    
-  files:
-    {{- range $path, $_  := $.Files.Glob "files/yang/*.yang" }}
-    {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
-    {{- end }}
diff --git a/config-models/aether-3.x/values.yaml b/config-models/aether-3.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-3.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/aether-4.x/CHANGELOG.md b/config-models/aether-4.x/CHANGELOG.md
deleted file mode 100644
index c8d58ec..0000000
--- a/config-models/aether-4.x/CHANGELOG.md
+++ /dev/null
@@ -1,92 +0,0 @@
-<!--
-SPDX-FileCopyrightText: 2021 Open Networking Foundation
-
-SPDX-License-Identifier: Apache-2.0
--->
-
-Changes on 11/1/2021
-====================
-Application.Endpoint:
-  * add `display-name` and rename `name` to `id`
-
-Device-Group.Imsi:
-  * add `display-name` and rename `name` to `id`
-
-Site:
-  * small-cell: add `display-name` and rename `name` to `id`
-  * edge-device: rename `name` to `id`
-
-
-Changes on 10/19/2021
-=====================
-
-Device-Group:
-  * Device.MBR and Device.Traffic-Class set to mandatory
-
-VCS:
-  * Add Allow-Internet boolean
-  * Restricted application filter priority to 0-200.
-  * Remove link to template
-
-Template:
-  * Add Allow-Internet boolean
-  * Remove Traffic-Class and Device.MBR
-
-Changes on 10/21/2021
-=====================
-Connectivity-Service
-  * Add acc-prometheus-url
-
-Changes on 10/13/2021
-=====================
-Application
-  * Add Traffic-Class to Application
-  * Add Site to UPF
-  * Add Device.Mbr.<Uplink,Downlink> to DeviceGroup
-
-Differences from Aether-3.0.0
-=============================
-
-VCS and Template:
-  * Containerized device MBR Uplink and Download to device.mbr.uplink and device.mbr.downlink
-  * Added slice.mbr.uplink and slice.mbr.downlink
-  * Remove link to AP-List
-  * All bitrates are now uint64 and have units "bps"
-  * Renamed the application section to "filter"
-  * Added priority to application filters
-
-Site:
-  * Added link to AP-List
-  * Now includes a list of access points
-  * Small-cell (formerly access-point) list includes a name for each AP
-
-Application:
-  * Added mbr.uplink and mbr.downlink
-  * Moved address outside of the endpoint list
-
-Traffic-Class:
-  * Removed pelr and pdb
-  * Added arp
-
-AP-List
-  * Removed; contents added to slice
-
-UPF:
-  * Added config-endpoint
-
-Models prefixed with onf- throughout.
-
-Application Filtering
-=====================
-
-Application filtering is part of this release. A brief description of Application
-Filtering is below.
-
-* Each VCS contains a filter
-* The filter is a list of applications. Each application within the filter can
-  be set to Allow or Deny and can be given a priority.
-* The filter is executed in priority order. The first application to match a packet will
-  have its resulting action (Allow or Deny) executed for that packet.
-* Each application contains a single address and a set of endpoints.
-* Each endpoint is a port-range together with a maximum bitrate.
-
diff --git a/config-models/aether-4.x/Chart.yaml b/config-models/aether-4.x/Chart.yaml
deleted file mode 100644
index e7cf3ad..0000000
--- a/config-models/aether-4.x/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-aether-4
-version: 4.0.18
-kubeVersion: ">=1.18.0"
-appVersion: 4.0.0
-description: Aether config model
-keywords:
-  - onos
-  - sdn
-  - config
-home: https://onosproject.org
-maintainers:
-  - name: ONOS Support
-    email: support@opennetworking.org
diff --git a/config-models/aether-4.x/files/aether-4.0.0.tree b/config-models/aether-4.x/files/aether-4.0.0.tree
deleted file mode 100644
index 24f7a1b..0000000
--- a/config-models/aether-4.x/files/aether-4.0.0.tree
+++ /dev/null
@@ -1,161 +0,0 @@
-module: onf-application
-  +--rw application
-     +--rw application* [id]
-        +--rw id              application-id
-        +--rw display-name?   string
-        +--rw description?    at:description
-        +--rw address         ietf:host
-        +--rw endpoint* [endpoint-id]
-        |  +--rw endpoint-id      yg:yang-identifier
-        |  +--rw port-start?      ietf:port-number
-        |  +--rw port-end?        ietf:port-number
-        |  +--rw protocol?        at:protocol
-        |  +--rw mbr
-        |  |  +--rw uplink?     at:bitrate
-        |  |  +--rw downlink?   at:bitrate
-        |  +--rw traffic-class?   -> /tc:traffic-class/traffic-class/id
-        |  +--rw display-name?    string
-        +--rw enterprise      -> /ent:enterprise/enterprise/id
-
-module: onf-connectivity-service
-  +--rw connectivity-service
-     +--rw connectivity-service* [id]
-        +--rw id                    connectivity-service-id
-        +--rw display-name?         string
-        +--rw description?          at:description
-        +--rw core-5g-endpoint?     inet:uri
-        +--rw acc-prometheus-url?   inet:uri
-
-module: onf-device-group
-  +--rw device-group
-     +--rw device-group* [id]
-        +--rw id              device-group-id
-        +--rw description?    at:description
-        +--rw display-name?   string
-        +--rw imsis* [imsi-id]
-        |  +--rw imsi-id            yg:yang-identifier
-        |  +--rw imsi-range-from?   uint64
-        |  +--rw imsi-range-to?     uint64
-        |  +--rw display-name?      string
-        +--rw ip-domain?      -> /ipd:ip-domain/ip-domain/id
-        +--rw device
-        |  +--rw mbr
-        |  |  +--rw uplink      at:bitrate
-        |  |  +--rw downlink    at:bitrate
-        |  +--rw traffic-class    -> /tc:traffic-class/traffic-class/id
-        +--rw site            -> /st:site/site/id
-
-module: onf-enterprise
-  +--rw enterprise
-     +--rw enterprise* [id]
-        +--rw id                      enterprise-id
-        +--rw display-name?           string
-        +--rw description?            at:description
-        +--rw connectivity-service* [connectivity-service]
-           +--rw connectivity-service    -> /cs:connectivity-service/connectivity-service/id
-           +--rw enabled?                boolean
-
-module: onf-ip-domain
-  +--rw ip-domain
-     +--rw ip-domain* [id]
-        +--rw id               ip-domain-id
-        +--rw display-name?    string
-        +--rw dnn              at:dnn
-        +--rw dns-primary?     inet:ip-address
-        +--rw dns-secondary?   inet:ip-address
-        +--rw subnet           inet:ipv4-prefix
-        +--rw admin-status?    at:admin-status
-        +--rw mtu?             at:mtu
-        +--rw description?     at:description
-        +--rw enterprise       -> /ent:enterprise/enterprise/id
-
-module: onf-site
-  +--rw site
-     +--rw site* [id]
-        +--rw id                 site-id
-        +--rw display-name?      string
-        +--rw small-cell* [small-cell-id]
-        |  +--rw small-cell-id    yg:yang-identifier
-        |  +--rw address?         inet:host
-        |  +--rw tac              at:tac
-        |  +--rw enable?          boolean
-        |  +--rw display-name?    string
-        +--rw monitoring
-        |  +--rw edge-cluster-prometheus-url?      inet:uri
-        |  +--rw edge-monitoring-prometheus-url?   inet:uri
-        |  +--rw edge-device* [edge-device-id]
-        |     +--rw edge-device-id    yg:yang-identifier
-        |     +--rw display-name?     string
-        |     +--rw description?      at:description
-        +--rw enterprise         -> /ent:enterprise/enterprise/id
-        +--rw imsi-definition
-        |  +--rw mcc           at:mcc
-        |  +--rw mnc           at:mnc
-        |  +--rw enterprise    at:ent
-        |  +--rw format        string
-        +--rw description?       at:description
-
-module: onf-template
-  +--rw template
-     +--rw template* [id]
-        +--rw id                  template-id
-        +--rw display-name?       string
-        +--rw sst?                at:sst
-        +--rw sd?                 at:sd
-        +--rw slice
-        |  +--rw mbr
-        |     +--rw uplink?                at:bitrate
-        |     +--rw downlink?              at:bitrate
-        |     +--rw uplink-burst-size?     at:burst
-        |     +--rw downlink-burst-size?   at:burst
-        +--rw default-behavior    at:behavior
-        +--rw description?        at:description
-
-module: onf-traffic-class
-  +--rw traffic-class
-     +--rw traffic-class* [id]
-        +--rw id              traffic-class-id
-        +--rw display-name?   string
-        +--rw arp?            at:arp
-        +--rw qci?            at:qci
-        +--rw pelr?           at:pelr
-        +--rw pdb?            at:pdb
-        +--rw description?    at:description
-
-module: onf-upf
-  +--rw upf
-     +--rw upf* [id]
-        +--rw id                 upf-id
-        +--rw address            inet:host
-        +--rw port               inet:port-number
-        +--rw config-endpoint?   inet:uri
-        +--rw display-name?      string
-        +--rw description?       at:description
-        +--rw enterprise         -> /ent:enterprise/enterprise/id
-        +--rw site               -> /st:site/site/id
-
-module: onf-vcs
-  +--rw vcs
-     +--rw vcs* [id]
-        +--rw id                  vcs-id
-        +--rw display-name?       string
-        +--rw device-group* [device-group]
-        |  +--rw device-group    -> /dg:device-group/device-group/id
-        |  +--rw enable?         boolean
-        +--rw default-behavior    at:behavior
-        +--rw filter* [application]
-        |  +--rw application    -> /app:application/application/id
-        |  +--rw priority?      at:priority
-        |  +--rw allow?         boolean
-        +--rw upf?                -> /upf:upf/upf/id
-        +--rw description?        at:description
-        +--rw enterprise          -> /ent:enterprise/enterprise/id
-        +--rw site                -> /st:site/site/id
-        +--rw sst                 at:sst
-        +--rw sd                  at:sd
-        +--rw slice
-           +--rw mbr
-              +--rw uplink?                at:bitrate
-              +--rw downlink?              at:bitrate
-              +--rw uplink-burst-size?     at:burst
-              +--rw downlink-burst-size?   at:burst
diff --git a/config-models/aether-4.x/files/yang/ietf-inet-types.yang b/config-models/aether-4.x/files/yang/ietf-inet-types.yang
deleted file mode 100644
index fa57f75..0000000
--- a/config-models/aether-4.x/files/yang/ietf-inet-types.yang
+++ /dev/null
@@ -1,458 +0,0 @@
-module ietf-inet-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types";
-  prefix "inet";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types for Internet addresses and related things.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - ip-address-no-zone
-      - ipv4-address-no-zone
-      - ipv6-address-no-zone";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of types related to protocol fields ***/
-
-  typedef ip-version {
-    type enumeration {
-      enum unknown {
-        value "0";
-        description
-         "An unknown or unspecified version of the Internet
-          protocol.";
-      }
-      enum ipv4 {
-        value "1";
-        description
-         "The IPv4 protocol as defined in RFC 791.";
-      }
-      enum ipv6 {
-        value "2";
-        description
-         "The IPv6 protocol as defined in RFC 2460.";
-      }
-    }
-    description
-     "This value represents the version of the IP protocol.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetVersion textual convention of the SMIv2.";
-    reference
-     "RFC  791: Internet Protocol
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  typedef dscp {
-    type uint8 {
-      range "0..63";
-    }
-    description
-     "The dscp type represents a Differentiated Services Code Point
-      that may be used for marking packets in a traffic stream.
-      In the value set and its semantics, this type is equivalent
-      to the Dscp textual convention of the SMIv2.";
-    reference
-     "RFC 3289: Management Information Base for the Differentiated
-                Services Architecture
-      RFC 2474: Definition of the Differentiated Services Field
-                (DS Field) in the IPv4 and IPv6 Headers
-      RFC 2780: IANA Allocation Guidelines For Values In
-                the Internet Protocol and Related Headers";
-  }
-
-  typedef ipv6-flow-label {
-    type uint32 {
-      range "0..1048575";
-    }
-    description
-     "The ipv6-flow-label type represents the flow identifier or Flow
-      Label in an IPv6 packet header that may be used to
-      discriminate traffic flows.
-
-      In the value set and its semantics, this type is equivalent
-      to the IPv6FlowLabel textual convention of the SMIv2.";
-    reference
-     "RFC 3595: Textual Conventions for IPv6 Flow Label
-      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification";
-  }
-
-  typedef port-number {
-    type uint16 {
-      range "0..65535";
-    }
-    description
-     "The port-number type represents a 16-bit port number of an
-      Internet transport-layer protocol such as UDP, TCP, DCCP, or
-      SCTP.  Port numbers are assigned by IANA.  A current list of
-      all assignments is available from <http://www.iana.org/>.
-
-      Note that the port number value zero is reserved by IANA.  In
-      situations where the value zero does not make sense, it can
-      be excluded by subtyping the port-number type.
-      In the value set and its semantics, this type is equivalent
-      to the InetPortNumber textual convention of the SMIv2.";
-    reference
-     "RFC  768: User Datagram Protocol
-      RFC  793: Transmission Control Protocol
-      RFC 4960: Stream Control Transmission Protocol
-      RFC 4340: Datagram Congestion Control Protocol (DCCP)
-      RFC 4001: Textual Conventions for Internet Network Addresses";
-  }
-
-  /*** collection of types related to autonomous systems ***/
-
-  typedef as-number {
-    type uint32;
-    description
-     "The as-number type represents autonomous system numbers
-      which identify an Autonomous System (AS).  An AS is a set
-      of routers under a single technical administration, using
-      an interior gateway protocol and common metrics to route
-      packets within the AS, and using an exterior gateway
-      protocol to route packets to other ASes.  IANA maintains
-      the AS number space and has delegated large parts to the
-      regional registries.
-
-      Autonomous system numbers were originally limited to 16
-      bits.  BGP extensions have enlarged the autonomous system
-      number space to 32 bits.  This type therefore uses an uint32
-      base type without a range restriction in order to support
-      a larger autonomous system number space.
-
-      In the value set and its semantics, this type is equivalent
-      to the InetAutonomousSystemNumber textual convention of
-      the SMIv2.";
-    reference
-     "RFC 1930: Guidelines for creation, selection, and registration
-                of an Autonomous System (AS)
-      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
-      RFC 4001: Textual Conventions for Internet Network Addresses
-      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
-                Number Space";
-  }
-
-  /*** collection of types related to IP addresses and hostnames ***/
-
-  typedef ip-address {
-    type union {
-      type inet:ipv4-address;
-      type inet:ipv6-address;
-    }
-    description
-     "The ip-address type represents an IP address and is IP
-      version neutral.  The format of the textual representation
-      implies the IP version.  This type supports scoped addresses
-      by allowing zone identifiers in the address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-      + '(%[\p{N}\p{L}]+)?';
-    }
-    description
-      "The ipv4-address type represents an IPv4 address in
-       dotted-quad notation.  The IPv4 address may include a zone
-       index, separated by a % sign.
-
-       The zone index is used to disambiguate identical address
-       values.  For link-local addresses, the zone index will
-       typically be the interface index number or the name of an
-       interface.  If the zone index is not present, the default
-       zone of the device will be used.
-
-       The canonical format for the zone index is the numerical
-       format";
-  }
-
-  typedef ipv6-address {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(%[\p{N}\p{L}]+)?';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(%.+)?';
-    }
-    description
-     "The ipv6-address type represents an IPv6 address in full,
-      mixed, shortened, and shortened-mixed notation.  The IPv6
-      address may include a zone index, separated by a % sign.
-
-      The zone index is used to disambiguate identical address
-      values.  For link-local addresses, the zone index will
-      typically be the interface index number or the name of an
-      interface.  If the zone index is not present, the default
-      zone of the device will be used.
-
-      The canonical format of IPv6 addresses uses the textual
-      representation defined in Section 4 of RFC 5952.  The
-      canonical format for the zone index is the numerical
-      format as described in Section 11.2 of RFC 4007.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-address-no-zone {
-    type union {
-      type inet:ipv4-address-no-zone;
-      type inet:ipv6-address-no-zone;
-    }
-    description
-     "The ip-address-no-zone type represents an IP address and is
-      IP version neutral.  The format of the textual representation
-      implies the IP version.  This type does not support scoped
-      addresses since it does not allow zone identifiers in the
-      address format.";
-    reference
-     "RFC 4007: IPv6 Scoped Address Architecture";
-  }
-
-  typedef ipv4-address-no-zone {
-    type inet:ipv4-address {
-      pattern '[0-9\.]*';
-    }
-    description
-      "An IPv4 address without a zone index.  This type, derived from
-       ipv4-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-  }
-
-  typedef ipv6-address-no-zone {
-    type inet:ipv6-address {
-      pattern '[0-9a-fA-F:\.]*';
-    }
-    description
-      "An IPv6 address without a zone index.  This type, derived from
-       ipv6-address, may be used in situations where the zone is
-       known from the context and hence no zone index is needed.";
-    reference
-     "RFC 4291: IP Version 6 Addressing Architecture
-      RFC 4007: IPv6 Scoped Address Architecture
-      RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  typedef ip-prefix {
-    type union {
-      type inet:ipv4-prefix;
-      type inet:ipv6-prefix;
-    }
-    description
-     "The ip-prefix type represents an IP prefix and is IP
-      version neutral.  The format of the textual representations
-      implies the IP version.";
-  }
-
-  typedef ipv4-prefix {
-    type string {
-      pattern
-         '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-       +  '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'
-       + '/(([0-9])|([1-2][0-9])|(3[0-2]))';
-    }
-    description
-     "The ipv4-prefix type represents an IPv4 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 32.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The canonical format of an IPv4 prefix has all bits of
-      the IPv4 address set to zero that are not part of the
-      IPv4 prefix.";
-  }
-
-  typedef ipv6-prefix {
-    type string {
-      pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}'
-            + '((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|'
-            + '(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}'
-            + '(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'
-            + '(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))';
-      pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|'
-            + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'
-            + '(/.+)';
-    }
-
-    description
-     "The ipv6-prefix type represents an IPv6 address prefix.
-      The prefix length is given by the number following the
-      slash character and must be less than or equal to 128.
-
-      A prefix length value of n corresponds to an IP address
-      mask that has n contiguous 1-bits from the most
-      significant bit (MSB) and all other bits set to 0.
-
-      The IPv6 address should have all bits that do not belong
-      to the prefix set to zero.
-
-      The canonical format of an IPv6 prefix has all bits of
-      the IPv6 address set to zero that are not part of the
-      IPv6 prefix.  Furthermore, the IPv6 address is represented
-      as defined in Section 4 of RFC 5952.";
-    reference
-     "RFC 5952: A Recommendation for IPv6 Address Text
-                Representation";
-  }
-
-  /*** collection of domain name and URI types ***/
-
-  typedef domain-name {
-    type string {
-      length "1..253";
-      pattern
-        '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
-      + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
-      + '|\.';
-    }
-    description
-     "The domain-name type represents a DNS domain name.  The
-      name SHOULD be fully qualified whenever possible.
-
-      Internet domain names are only loosely specified.  Section
-      3.5 of RFC 1034 recommends a syntax (modified in Section
-      2.1 of RFC 1123).  The pattern above is intended to allow
-      for current practice in domain name use, and some possible
-      future expansion.  It is designed to hold various types of
-      domain names, including names used for A or AAAA records
-      (host names) and other records, such as SRV records.  Note
-      that Internet host names have a stricter syntax (described
-      in RFC 952) than the DNS recommendations in RFCs 1034 and
-      1123, and that systems that want to store host names in
-      schema nodes using the domain-name type are recommended to
-      adhere to this stricter standard to ensure interoperability.
-
-      The encoding of DNS names in the DNS protocol is limited
-      to 255 characters.  Since the encoding consists of labels
-      prefixed by a length bytes and there is a trailing NULL
-      byte, only 253 characters can appear in the textual dotted
-      notation.
-
-      The description clause of schema nodes using the domain-name
-      type MUST describe when and how these names are resolved to
-      IP addresses.  Note that the resolution of a domain-name value
-      may require to query multiple DNS records (e.g., A for IPv4
-      and AAAA for IPv6).  The order of the resolution process and
-      which DNS record takes precedence can either be defined
-      explicitly or may depend on the configuration of the
-      resolver.
-
-      Domain-name values use the US-ASCII encoding.  Their canonical
-      format uses lowercase US-ASCII characters.  Internationalized
-      domain names MUST be A-labels as per RFC 5890.";
-    reference
-     "RFC  952: DoD Internet Host Table Specification
-      RFC 1034: Domain Names - Concepts and Facilities
-      RFC 1123: Requirements for Internet Hosts -- Application
-                and Support
-      RFC 2782: A DNS RR for specifying the location of services
-                (DNS SRV)
-      RFC 5890: Internationalized Domain Names in Applications
-                (IDNA): Definitions and Document Framework";
-  }
-
-  typedef host {
-    type union {
-      type inet:ip-address;
-      type inet:domain-name;
-    }
-    description
-     "The host type represents either an IP address or a DNS
-      domain name.";
-  }
-
-  typedef uri {
-    type string;
-    description
-     "The uri type represents a Uniform Resource Identifier
-      (URI) as defined by STD 66.
-
-      Objects using the uri type MUST be in US-ASCII encoding,
-      and MUST be normalized as described by RFC 3986 Sections
-      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
-      percent-encoding is removed, and all case-insensitive
-      characters are set to lowercase except for hexadecimal
-      digits, which are normalized to uppercase as described in
-      Section 6.2.2.1.
-
-      The purpose of this normalization is to help provide
-      unique URIs.  Note that this normalization is not
-      sufficient to provide uniqueness.  Two URIs that are
-      textually distinct after this normalization may still be
-      equivalent.
-
-      Objects using the uri type may restrict the schemes that
-      they permit.  For example, 'data:' and 'urn:' schemes
-      might not be appropriate.
-
-      A zero-length URI is not a valid URI.  This can be used to
-      express 'URI absent' where required.
-
-      In the value set and its semantics, this type is equivalent
-      to the Uri SMIv2 textual convention defined in RFC 5017.";
-    reference
-     "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
-      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
-                Group: Uniform Resource Identifiers (URIs), URLs,
-                and Uniform Resource Names (URNs): Clarifications
-                and Recommendations
-      RFC 5017: MIB Textual Conventions for Uniform Resource
-                Identifiers (URIs)";
-  }
-
-}
diff --git a/config-models/aether-4.x/files/yang/ietf-yang-types.yang b/config-models/aether-4.x/files/yang/ietf-yang-types.yang
deleted file mode 100644
index ee58fa3..0000000
--- a/config-models/aether-4.x/files/yang/ietf-yang-types.yang
+++ /dev/null
@@ -1,474 +0,0 @@
-module ietf-yang-types {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types";
-  prefix "yang";
-
-  organization
-   "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-  contact
-   "WG Web:   <http://tools.ietf.org/wg/netmod/>
-    WG List:  <mailto:netmod@ietf.org>
-
-    WG Chair: David Kessens
-              <mailto:david.kessens@nsn.com>
-
-    WG Chair: Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>
-
-    Editor:   Juergen Schoenwaelder
-              <mailto:j.schoenwaelder@jacobs-university.de>";
-
-  description
-   "This module contains a collection of generally useful derived
-    YANG data types.
-
-    Copyright (c) 2013 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 6991; see
-    the RFC itself for full legal notices.";
-
-  revision 2013-07-15 {
-    description
-     "This revision adds the following new data types:
-      - yang-identifier
-      - hex-string
-      - uuid
-      - dotted-quad";
-    reference
-     "RFC 6991: Common YANG Data Types";
-  }
-
-  revision 2010-09-24 {
-    description
-     "Initial revision.";
-    reference
-     "RFC 6021: Common YANG Data Types";
-  }
-
-  /*** collection of counter and gauge types ***/
-
-  typedef counter32 {
-    type uint32;
-    description
-     "The counter32 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter32 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter32 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter32.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter32 {
-    type yang:counter32;
-    default "0";
-    description
-     "The zero-based-counter32 type represents a counter32
-      that has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^32-1 (4294967295 decimal), when it
-      wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter32 textual convention of the SMIv2.";
-    reference
-      "RFC 4502: Remote Network Monitoring Management Information
-                 Base Version 2";
-  }
-
-  typedef counter64 {
-    type uint64;
-    description
-     "The counter64 type represents a non-negative integer
-      that monotonically increases until it reaches a
-      maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Counters have no defined 'initial' value, and thus, a
-      single value of a counter has (in general) no information
-      content.  Discontinuities in the monotonically increasing
-      value normally occur at re-initialization of the
-      management system, and at other times as specified in the
-      description of a schema node using this type.  If such
-      other times can occur, for example, the creation of
-      a schema node of type counter64 at times other than
-      re-initialization, then a corresponding schema node
-      should be defined, with an appropriate type, to indicate
-      the last discontinuity.
-
-      The counter64 type should not be used for configuration
-      schema nodes.  A default statement SHOULD NOT be used in
-      combination with the type counter64.
-
-      In the value set and its semantics, this type is equivalent
-      to the Counter64 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef zero-based-counter64 {
-    type yang:counter64;
-    default "0";
-    description
-     "The zero-based-counter64 type represents a counter64 that
-      has the defined 'initial' value zero.
-
-      A schema node of this type will be set to zero (0) on creation
-      and will thereafter increase monotonically until it reaches
-      a maximum value of 2^64-1 (18446744073709551615 decimal),
-      when it wraps around and starts increasing again from zero.
-
-      Provided that an application discovers a new schema node
-      of this type within the minimum time to wrap, it can use the
-      'initial' value as a delta.  It is important for a management
-      station to be aware of this minimum time and the actual time
-      between polls, and to discard data if the actual time is too
-      long or there is no defined minimum time.
-
-      In the value set and its semantics, this type is equivalent
-      to the ZeroBasedCounter64 textual convention of the SMIv2.";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  typedef gauge32 {
-    type uint32;
-    description
-     "The gauge32 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^32-1 (4294967295 decimal), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge32 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge32 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the Gauge32 type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef gauge64 {
-    type uint64;
-    description
-     "The gauge64 type represents a non-negative integer, which
-      may increase or decrease, but shall never exceed a maximum
-      value, nor fall below a minimum value.  The maximum value
-      cannot be greater than 2^64-1 (18446744073709551615), and
-      the minimum value cannot be smaller than 0.  The value of
-      a gauge64 has its maximum value whenever the information
-      being modeled is greater than or equal to its maximum
-      value, and has its minimum value whenever the information
-      being modeled is smaller than or equal to its minimum value.
-      If the information being modeled subsequently decreases
-      below (increases above) the maximum (minimum) value, the
-      gauge64 also decreases (increases).
-
-      In the value set and its semantics, this type is equivalent
-      to the CounterBasedGauge64 SMIv2 textual convention defined
-      in RFC 2856";
-    reference
-     "RFC 2856: Textual Conventions for Additional High Capacity
-                Data Types";
-  }
-
-  /*** collection of identifier-related types ***/
-
-  typedef object-identifier {
-    type string {
-      pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))'
-            + '(\.(0|([1-9]\d*)))*';
-    }
-    description
-     "The object-identifier type represents administratively
-      assigned names in a registration-hierarchical-name tree.
-
-      Values of this type are denoted as a sequence of numerical
-      non-negative sub-identifier values.  Each sub-identifier
-      value MUST NOT exceed 2^32-1 (4294967295).  Sub-identifiers
-      are separated by single dots and without any intermediate
-      whitespace.
-
-      The ASN.1 standard restricts the value space of the first
-      sub-identifier to 0, 1, or 2.  Furthermore, the value space
-      of the second sub-identifier is restricted to the range
-      0 to 39 if the first sub-identifier is 0 or 1.  Finally,
-      the ASN.1 standard requires that an object identifier
-      has always at least two sub-identifiers.  The pattern
-      captures these restrictions.
-
-      Although the number of sub-identifiers is not limited,
-      module designers should realize that there may be
-      implementations that stick with the SMIv2 limit of 128
-      sub-identifiers.
-
-      This type is a superset of the SMIv2 OBJECT IDENTIFIER type
-      since it is not restricted to 128 sub-identifiers.  Hence,
-      this type SHOULD NOT be used to represent the SMIv2 OBJECT
-      IDENTIFIER type; the object-identifier-128 type SHOULD be
-      used instead.";
-    reference
-     "ISO9834-1: Information technology -- Open Systems
-      Interconnection -- Procedures for the operation of OSI
-      Registration Authorities: General procedures and top
-      arcs of the ASN.1 Object Identifier tree";
-  }
-
-  typedef object-identifier-128 {
-    type object-identifier {
-      pattern '\d*(\.\d*){1,127}';
-    }
-    description
-     "This type represents object-identifiers restricted to 128
-      sub-identifiers.
-
-      In the value set and its semantics, this type is equivalent
-      to the OBJECT IDENTIFIER type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef yang-identifier {
-    type string {
-      length "1..max";
-      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
-      pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
-    }
-    description
-      "A YANG identifier string as defined by the 'identifier'
-       rule in Section 12 of RFC 6020.  An identifier must
-       start with an alphabetic character or an underscore
-       followed by an arbitrary sequence of alphabetic or
-       numeric characters, underscores, hyphens, or dots.
-
-       A YANG identifier MUST NOT start with any possible
-       combination of the lowercase or uppercase character
-       sequence 'xml'.";
-    reference
-      "RFC 6020: YANG - A Data Modeling Language for the Network
-                 Configuration Protocol (NETCONF)";
-  }
-
-  /*** collection of types related to date and time***/
-
-  typedef date-and-time {
-    type string {
-      pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?'
-            + '(Z|[\+\-]\d{2}:\d{2})';
-    }
-    description
-     "The date-and-time type is a profile of the ISO 8601
-      standard for representation of dates and times using the
-      Gregorian calendar.  The profile is defined by the
-      date-time production in Section 5.6 of RFC 3339.
-
-      The date-and-time type is compatible with the dateTime XML
-      schema type with the following notable exceptions:
-
-      (a) The date-and-time type does not allow negative years.
-
-      (b) The date-and-time time-offset -00:00 indicates an unknown
-          time zone (see RFC 3339) while -00:00 and +00:00 and Z
-          all represent the same time zone in dateTime.
-
-      (c) The canonical format (see below) of data-and-time values
-          differs from the canonical format used by the dateTime XML
-          schema type, which requires all times to be in UTC using
-          the time-offset 'Z'.
-
-      This type is not equivalent to the DateAndTime textual
-      convention of the SMIv2 since RFC 3339 uses a different
-      separator between full-date and full-time and provides
-      higher resolution of time-secfrac.
-
-      The canonical format for date-and-time values with a known time
-      zone uses a numeric time zone offset that is calculated using
-      the device's configured known offset to UTC time.  A change of
-      the device's offset to UTC time will cause date-and-time values
-      to change accordingly.  Such changes might happen periodically
-      in case a server follows automatically daylight saving time
-      (DST) time zone offset changes.  The canonical format for
-      date-and-time values with an unknown time zone (usually
-      referring to the notion of local time) uses the time-offset
-      -00:00.";
-    reference
-     "RFC 3339: Date and Time on the Internet: Timestamps
-      RFC 2579: Textual Conventions for SMIv2
-      XSD-TYPES: XML Schema Part 2: Datatypes Second Edition";
-  }
-
-  typedef timeticks {
-    type uint32;
-    description
-     "The timeticks type represents a non-negative integer that
-      represents the time, modulo 2^32 (4294967296 decimal), in
-      hundredths of a second between two epochs.  When a schema
-      node is defined that uses this type, the description of
-      the schema node identifies both of the reference epochs.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeTicks type of the SMIv2.";
-    reference
-     "RFC 2578: Structure of Management Information Version 2
-                (SMIv2)";
-  }
-
-  typedef timestamp {
-    type yang:timeticks;
-    description
-     "The timestamp type represents the value of an associated
-      timeticks schema node at which a specific occurrence
-      happened.  The specific occurrence must be defined in the
-      description of any schema node defined using this type.  When
-      the specific occurrence occurred prior to the last time the
-      associated timeticks attribute was zero, then the timestamp
-      value is zero.  Note that this requires all timestamp values
-      to be reset to zero when the value of the associated timeticks
-      attribute reaches 497+ days and wraps around to zero.
-
-      The associated timeticks schema node must be specified
-      in the description of any schema node using this type.
-
-      In the value set and its semantics, this type is equivalent
-      to the TimeStamp textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of generic address types ***/
-
-  typedef phys-address {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-
-    description
-     "Represents media- or physical-level addresses represented
-      as a sequence octets, each octet represented by two hexadecimal
-      numbers.  Octets are separated by colons.  The canonical
-      representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the PhysAddress textual convention of the SMIv2.";
-    reference
-     "RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  typedef mac-address {
-    type string {
-      pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}';
-    }
-    description
-     "The mac-address type represents an IEEE 802 MAC address.
-      The canonical representation uses lowercase characters.
-
-      In the value set and its semantics, this type is equivalent
-      to the MacAddress textual convention of the SMIv2.";
-    reference
-     "IEEE 802: IEEE Standard for Local and Metropolitan Area
-                Networks: Overview and Architecture
-      RFC 2579: Textual Conventions for SMIv2";
-  }
-
-  /*** collection of XML-specific types ***/
-
-  typedef xpath1.0 {
-    type string;
-    description
-     "This type represents an XPATH 1.0 expression.
-
-      When a schema node is defined that uses this type, the
-      description of the schema node MUST specify the XPath
-      context in which the XPath expression is evaluated.";
-    reference
-     "XPATH: XML Path Language (XPath) Version 1.0";
-  }
-
-  /*** collection of string types ***/
-
-  typedef hex-string {
-    type string {
-      pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?';
-    }
-    description
-     "A hexadecimal string with octets represented as hex digits
-      separated by colons.  The canonical representation uses
-      lowercase characters.";
-  }
-
-  typedef uuid {
-    type string {
-      pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'
-            + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';
-    }
-    description
-     "A Universally Unique IDentifier in the string representation
-      defined in RFC 4122.  The canonical representation uses
-      lowercase characters.
-
-      The following is an example of a UUID in string representation:
-      f81d4fae-7dec-11d0-a765-00a0c91e6bf6
-      ";
-    reference
-     "RFC 4122: A Universally Unique IDentifier (UUID) URN
-                Namespace";
-  }
-
-  typedef dotted-quad {
-    type string {
-      pattern
-        '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
-      + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
-    }
-    description
-      "An unsigned 32-bit number expressed in the dotted-quad
-       notation, i.e., four octets written as decimal numbers
-       and separated with the '.' (full stop) character.";
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-aether-types.yang b/config-models/aether-4.x/files/yang/onf-aether-types.yang
deleted file mode 100755
index 9d9c892..0000000
--- a/config-models/aether-4.x/files/yang/onf-aether-types.yang
+++ /dev/null
@@ -1,159 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-aether-types {
-  namespace "http://opennetworking.org/aether/aether-types";
-  prefix at;
-
-  import ietf-inet-types { prefix inet; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "A set of base types for aether modeling.";
-
-  revision "2021-09-10" {
-    description "Aether Base Types";
-    reference "RFC 6087";
-  }
-
-  typedef bitrate {
-      type uint64 {
-      }
-    description "The typedef for bitrate";
-  }
-
-  typedef burst {
-      type uint32 {
-      }
-      default 625000;
-    description "The typedef for burst";
-  }
-
-  typedef mcc {
-      type string {
-        pattern '[0-9]{3}';
-      }
-    description "The typedef for mcc";
-  }
-
-  typedef mnc {
-      type string {
-        pattern '[0-9]{2,3}';
-      }
-    description "The typedef for mnc";
-  }
-
-  typedef tac {
-      type string {
-        length 4..8;
-        pattern '[0-9A-F\.]*';
-      }
-    description "The typedef for tac";
-  }
-
-  typedef ent {
-      type uint32 {
-        range 0..999;
-      }
-    description "The typedef for ent";
-  }
-
-  typedef dnn {
-      type string {
-        length 1..32;
-      }
-    description "The typedef for dnn";
-  }
-
-  typedef sst {
-      type uint8 {
-        range 1..255;
-      }
-    description "The typedef for sst";
-  }
-
-  typedef sd {
-      type uint32 {
-        range 0..16777215;
-      }
-    description "The typedef for sd";
-  }
-
-  typedef qci {
-      type uint8 {
-        range 1..32;
-      }
-    description "The typedef for qci";
-  }
-
-  typedef arp {
-      type uint8 {
-        range 1..15;
-      }
-    description "The typedef for arp";
-  }
-
-  typedef pelr {
-      type int8 {
-        range 0..10;
-      }
-    description "The typedef for pelr";
-  }
-
-  typedef pdb {
-      type uint16 {
-        range 0..1000;
-      }
-    description "The typedef for pdb";
-  }
-
-  typedef priority {
-    type uint8 {
-      // priorities 201-255 are reserved for system use
-      range 0..200;
-    }
-    description "The typedef for priority";
-  }
-
-  // "TCP" or "UDP"
-  typedef protocol {
-      type string {
-        length 3;
-        pattern "TCP|UDP";
-      }
-      default "TCP";
-    description "The typedef for protocol";
-  }
-
-  // "ENABLE" | "MAINTENTANCE" | "DISABLE"
-  typedef admin-status {
-      type string {
-        length 0..16;
-        pattern "ENABLE|MAINTENANCE|DISABLE";
-      }
-      default "ENABLE";
-    description "The typedef for admin-status";
-  }
-
-  typedef behavior {
-      type string {
-        length 0..20;
-        pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
-      }
-    description "The typedef for behavior";
-  }
-
-  typedef mtu {
-      type inet:port-number;
-      default 1492;
-    description "The typedef for mtu";
-  }
-
-  typedef description {
-    type string {
-      length 1..1024;
-    }
-    description "The typedef for description";
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-application.yang b/config-models/aether-4.x/files/yang/onf-application.yang
deleted file mode 100755
index e774944..0000000
--- a/config-models/aether-4.x/files/yang/onf-application.yang
+++ /dev/null
@@ -1,128 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-application {
-  namespace "http://opennetworking.org/enterprise/application";
-  prefix app;
-
-  import ietf-inet-types{ prefix ietf; }
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types{ prefix at; }
-  import onf-enterprise{ prefix ent; }
-  import onf-traffic-class{ prefix tc; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Application is an application that devices may
-     connect to. Includes a set of endpoints where services are
-     provided.";
-
-  revision "2021-09-10" {
-    description "Aether Application.";
-    reference "RFC 6087";
-  }
-
-  typedef application-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for application-id";
-  }
-
-  container application {
-    description "The top level container";
-
-    list application {
-      key "id";
-      description
-        "List of applications";
-
-      leaf id {
-        type application-id;
-        description "ID for this application.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this application";
-      }
-
-      leaf address {
-        type ietf:host;
-        mandatory true;
-        description
-            "Address of this application. Either a hostname, an IP, or a subnet.";
-      }
-
-      list endpoint {
-        key "endpoint-id";
-        leaf endpoint-id {
-          type yg:yang-identifier;
-          description
-              "Id of this endpoint";
-        }
-        leaf port-start {
-          type ietf:port-number;
-          description
-              "First port in range";
-        }
-        leaf port-end {
-          type ietf:port-number;
-          description
-              "Last port in range";
-        }
-        leaf protocol {
-          type at:protocol;
-          description
-              "Protocol of this endpoint";
-        }
-        container mbr {
-          description "Maximum bitrate";
-          leaf uplink {
-            type at:bitrate;
-            units bps;
-            description "Per-Device per-Application MBR uplink data rate in bps";
-          }
-
-          leaf downlink {
-            type at:bitrate;
-            units bps;
-            description "Per-Device per application MBR downlink data rate in bps";
-          }
-        }
-        leaf traffic-class {
-          type leafref {
-            path "/tc:traffic-class/tc:traffic-class/tc:id";
-          }
-          description
-            "Link to traffic class";
-        }
-        leaf display-name {
-          type string {
-              length 1..80;
-          }
-          description "display name to use in GUI or CLI";
-        }
-        description "list for endpoint";
-      }
-
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-connectivity-service.yang b/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
deleted file mode 100755
index 009fc6c..0000000
--- a/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
+++ /dev/null
@@ -1,68 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-connectivity-service {
-  namespace "http://opennetworking.org/aether/connectivity-service";
-  prefix cs;
-
-  import ietf-inet-types { prefix inet; }
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types { prefix at; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Connectivity service is the linkage between the
-     ROC and a core that provides connectivity.";
-
-  revision "2021-10-21" {
-    description "An Aether Connectivity Service. Specifies the endpoints where the sdcore-adapter should push configuration to. A single connectivity service may be attached to multiple Enterprises.";
-    reference "RFC 6087";
-  }
-
-  typedef connectivity-service-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-   description "The typedef for connectivity-service-id";
-  }
-
-  container connectivity-service {
-    description "The top level container";
-
-    list connectivity-service {
-      key "id";
-      description
-        "List of connectivity services";
-
-      leaf id {
-        type connectivity-service-id;
-        description "ID for this connectivity service.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this connectivity service";
-      }
-
-      leaf core-5g-endpoint {
-        type inet:uri;
-        description "url of the 5g core";
-      }
-
-      leaf acc-prometheus-url {
-          type inet:uri;
-          description
-            "URL of ACC prometheus";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-device-group.yang b/config-models/aether-4.x/files/yang/onf-device-group.yang
deleted file mode 100755
index 0aac881..0000000
--- a/config-models/aether-4.x/files/yang/onf-device-group.yang
+++ /dev/null
@@ -1,141 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-device-group {
-  namespace "http://opennetworking.org/aether/device-group";
-  prefix dg;
-
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types { prefix at; }
-  import onf-ip-domain{ prefix ipd; }
-  import onf-site{ prefix st; }
-  import onf-traffic-class{ prefix tc; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An aether device group represents a list of device IMSIS.
-     This list is expressed as a set of ranges,
-         [(from_imsi, to_imsi),
-          (from_imsi, to_imsi),
-          ...].
-     Each device group belongs to a site and has associated
-     with it an ip-profile that determines the IP address
-     and DNS settings that apply to devices within the
-     group";
-
-  revision "2021-06-02" {
-    description "An Aether Device Group";
-    reference "RFC 6087";
-  }
-
-  typedef device-group-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for device-group-id";
-  }
-
-  container device-group {
-    description "The top level container";
-
-    list device-group {
-      key "id";
-      description
-        "List of device groups";
-
-      leaf id {
-        type device-group-id;
-        description "ID for this device group.";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this device group";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      list imsis {
-        // TODO: imsi-range-from cannot be used as a list index
-        key "imsi-id";
-        leaf imsi-id {
-          type yg:yang-identifier;
-          description
-              "Id of this imsi-range";
-        }
-        leaf imsi-range-from {
-          type uint64;
-          description
-              "value of imsi-range-from";
-        }
-        leaf imsi-range-to {
-          type uint64;
-          description
-              "value of imsi-range-to";
-        }
-        leaf display-name {
-          type string {
-              length 1..80;
-          }
-          description "display name to use in GUI or CLI";
-        }
-        description
-          "List of imsi ranges that comprise this group. It's acceptable for
-           a range to degenerate to being a singleton";
-      }
-
-      leaf ip-domain {
-        type leafref {
-          path "/ipd:ip-domain/ipd:ip-domain/ipd:id";
-        }
-        description
-          "Link to ip-domain settings that determine the pool of IP addresses,
-           as well as the domain resolver settings to use";
-      }
-
-      container device {
-        description "Per-device QOS Settings";
-        container mbr {
-          description "Maximum bitrate";
-          leaf uplink {
-            type at:bitrate;
-            units bps;
-            mandatory true;
-            description "Per-device MBR uplink data rate in bps";
-          }
-
-          leaf downlink {
-            type at:bitrate;
-            units bps;
-            mandatory true;
-            description "Per-device MBR downlink data rate in bps";
-          }
-        }
-        leaf traffic-class {
-          type leafref {
-            path "/tc:traffic-class/tc:traffic-class/tc:id";
-          }
-          mandatory true;
-          description
-            "Link to traffic class";
-        }
-      }
-
-      leaf site {
-        type leafref {
-          path "/st:site/st:site/st:id";
-        }
-        mandatory true;
-        description
-          "Link to site";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-enterprise.yang b/config-models/aether-4.x/files/yang/onf-enterprise.yang
deleted file mode 100755
index 906d8ac..0000000
--- a/config-models/aether-4.x/files/yang/onf-enterprise.yang
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-enterprise {
-  namespace "http://opennetworking.org/aether/enterprise";
-  prefix ent;
-
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types { prefix at; }
-  import onf-connectivity-service { prefix cs; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Enterprise is an administration entity that
-     has ownership of resrouces.";
-
-  revision "2021-06-02" {
-    description "An Aether Enterprise. Used to distinguish ownership of devices and other resources as well as a domain of configuration.";
-    reference "RFC 6087";
-  }
-
-  typedef enterprise-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-   description "The typedef for enterprise-id";
-  }
-
-  container enterprise {
-    description "The top level container";
-
-    list enterprise {
-      key "id";
-      description
-        "List of enterprises";
-
-      leaf id {
-        type enterprise-id;
-        description "ID for this enterprise.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this enterprise";
-      }
-
-      list connectivity-service {
-        key "connectivity-service";
-        leaf connectivity-service {
-          type leafref {
-            path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }
-          description
-            "Link to connectivity services where configuration should be pushed for this enterprise's devices";
-        }
-        leaf enabled {
-          type boolean;
-          default true;
-          description
-            "Allow or disallow pushes to this connectivity service";
-        }
-        description "The list for connectivity-service";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-ip-domain.yang b/config-models/aether-4.x/files/yang/onf-ip-domain.yang
deleted file mode 100755
index 629256a..0000000
--- a/config-models/aether-4.x/files/yang/onf-ip-domain.yang
+++ /dev/null
@@ -1,104 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-ip-domain {
-  namespace "http://opennetworking.org/aether/ip-domain";
-  prefix ipd;
-
-  import ietf-inet-types { prefix inet; }
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types { prefix at; }
-  import onf-enterprise{ prefix ent; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether IP-Domain. This is a list of available subnets
-     that may be assigned to UEs, as well as DNS servers and other
-     metadata";
-
-  revision "2021-06-02" {
-    description "An Aether IP and Domain Specification";
-    reference "RFC 6087";
-  }
-
-  typedef ip-domain-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for ip-domain-id";
-  }
-
-  container ip-domain {
-    description "The top level container";
-
-    list ip-domain {
-      key "id";
-      description
-        "List of ip domains";
-
-      leaf id {
-        type ip-domain-id;
-        description "ID for this ip domain.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf dnn {
-        type at:dnn;
-        mandatory true;
-        description "DNN/APN";
-      }
-
-      leaf dns-primary {
-        type inet:ip-address;
-        description "primary dns server name";
-      }
-
-      leaf dns-secondary {
-        type inet:ip-address;
-        description "secondary dns server name";
-      }
-
-      // Note: Cannot use a subnet as a list key. Dropped support from a
-      // list of subnets to a single subnet. Revisit in the future.
-      leaf subnet {
-        type inet:ipv4-prefix;
-        mandatory true;
-        description "subnet to allocate ip addresses from";
-      }
-
-      leaf admin-status {
-        type at:admin-status;
-        description "administrative status";
-      }
-
-      leaf mtu {
-        type at:mtu;
-        description "maximum transmission unit";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this ip domain";
-      }
-
-      // Ip-Domain is always owned by an Enterprise, because it contains
-      // IP addresses relative to that Enterprise.
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this IP-Domain";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-site.yang b/config-models/aether-4.x/files/yang/onf-site.yang
deleted file mode 100755
index 1695a35..0000000
--- a/config-models/aether-4.x/files/yang/onf-site.yang
+++ /dev/null
@@ -1,172 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-site {
-  namespace "http://opennetworking.org/aether/site";
-  prefix st;
-
-  import ietf-inet-types { prefix inet; }
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types{ prefix at; }
-  import onf-enterprise{ prefix ent; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether site is a location where resources are deployed.";
-
-  revision "2021-09-10" {
-    description "An Aether Site.";
-    reference "RFC 6087";
-  }
-
-  typedef site-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for site-id";
-  }
-
-  container site {
-    description "The top level container";
-
-    list site {
-      key "id";
-      description
-        "List of site";
-
-      leaf id {
-        type site-id;
-        description "ID for this site.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      list small-cell {
-        key "small-cell-id";
-        leaf small-cell-id {
-          type yg:yang-identifier;
-          description
-            "Id of small cell";
-        }
-        leaf address {
-          type inet:host;
-          description
-            "Address of small cell";
-        }
-        leaf tac {
-          type at:tac;
-          mandatory true;
-          description
-              "Type Allocation Code";
-        }
-        leaf enable {
-          type boolean;
-          default true;
-          description
-            "Enable this small cell";
-        }
-        leaf display-name {
-          type string {
-              length 1..80;
-          }
-          description "display name to use in GUI or CLI";
-        }
-        description
-          "List of small cell addresses";
-      }
-
-      container monitoring {
-        leaf edge-cluster-prometheus-url {
-          type inet:uri;
-          description
-            "URL of edge cluster prometheus";
-        }
-        leaf edge-monitoring-prometheus-url {
-          type inet:uri;
-          description
-            "URL of monitoring prometheus";
-        }
-        list edge-device {
-          key "edge-device-id";
-          leaf edge-device-id {
-            type yg:yang-identifier;
-            description
-              "Id of edge monitoring device";
-          }
-          leaf display-name {
-            type string {
-                length 1..80;
-            }
-            description "display name to use in GUI or CLI";
-          }
-          leaf description {
-            type at:description;
-            description "description of this site";
-          }
-          description
-            "List of edge monitoring devices";
-        }
-        description
-            "container for monitoring";
-      }
-
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this site";
-      }
-
-      container imsi-definition {
-        leaf mcc {
-          type at:mcc;
-          mandatory true;
-          description "mobile country code";
-        }
-        leaf mnc {
-          type at:mnc;
-          mandatory true;
-          description "mobile network code";
-        }
-        leaf enterprise {
-          type at:ent;
-          mandatory true;
-          description "enterprise-specific identifier";
-        }
-        leaf format {
-          type string {
-            length 15;
-          }
-          mandatory true;
-          description "IMSI format specifier, describes how fields are packed into an IMSI. Must be exactly 15 characters long. For example, CCCNNNEEESSSSSS.";
-          // Format specifiers:
-          //   C = MCC
-          //   N = MNC
-          //   E = Enterprise
-          //   0 = Forced Zero
-          //   S = Subscriber ID
-          // default is
-          //   3 digit MCC
-          //   3 digit MNC
-          //   3 digit enterprise ID
-          //   5 digit subscriber ID
-        }
-        description "container for imsi-defination";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this site";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-template.yang b/config-models/aether-4.x/files/yang/onf-template.yang
deleted file mode 100755
index e6af73e..0000000
--- a/config-models/aether-4.x/files/yang/onf-template.yang
+++ /dev/null
@@ -1,104 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-template {
-  namespace "http://opennetworking.org/aether/template";
-  prefix tp;
-
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types{ prefix at; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "The aether vcs-template holds common parameters used
-     by a virtual connectivity service. Templates are used to
-     populate a VCS.";
-
-  revision "2021-09-10" {
-    description "An Aether Virtual Cellular Service Template";
-    reference "RFC 6087";
-  }
-
-  typedef template-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for template-id";
-  }
-
-  container template {
-    description "The top level container";
-
-    list template {
-      key "id";
-      description
-        "List of vcs templates";
-
-      leaf id {
-        type template-id;
-        description "ID for this vcs template.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf sst {
-        type at:sst;
-        description "Slice/Service type";
-      }
-
-      leaf sd {
-        type at:sd;
-        description "Slice differentiator";
-      }
-
-      container slice {
-        description "Per-Slice QOS Settings";
-        container mbr {
-          description "Maximum bitrate";
-          leaf uplink {
-            type at:bitrate;
-            units bps;
-            description "Per-Slice MBR uplink data rate in bps";
-          }
-
-          leaf downlink {
-            type at:bitrate;
-            units bps;
-            description "Per-Slice MBR downlink data rate in bps";
-          }
-
-          leaf uplink-burst-size {
-            type at:burst;
-            units bytes;
-            description "Per-Slice Uplink burst size";
-          }
-
-          leaf downlink-burst-size {
-            type at:burst;
-            units bytes;
-            description "Per-Slice Downlink burst size";
-          }
-        }
-      }
-
-      leaf default-behavior {
-        type at:behavior;
-        mandatory true;
-        description
-          "Default behavior if no filter rules match";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this vcs template";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-traffic-class.yang b/config-models/aether-4.x/files/yang/onf-traffic-class.yang
deleted file mode 100755
index 2d9f135..0000000
--- a/config-models/aether-4.x/files/yang/onf-traffic-class.yang
+++ /dev/null
@@ -1,76 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-traffic-class {
-  namespace "http://opennetworking.org/aether/traffic-class";
-  prefix tp;
-
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types{ prefix at; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "The aether traffic class associates qos constants
-     with a named class of service";
-
-  revision "2021-09-10" {
-    description "An Aether Traffic Class";
-    reference "RFC 6087";
-  }
-
-  typedef traffic-class-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for traffic-class-id";
-  }
-
-  container traffic-class {
-    description "The top level container";
-
-    list traffic-class {
-      key "id";
-      description
-        "List of traffic class";
-
-      leaf id {
-        type traffic-class-id;
-        description "ID for this traffic class.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf arp {
-        type at:arp;
-        description "Allocation and Retention Priority. 1 is the highest. 15 is the lowest.";
-      }
-
-      leaf qci {
-        type at:qci;
-        description "QOS Class Identifier";
-      }
-
-      leaf pelr {
-        type at:pelr;
-        description "PELR exponent";
-      }
-
-      leaf pdb {
-        type at:pdb;
-        description "PDB";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this traffic class";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-upf.yang b/config-models/aether-4.x/files/yang/onf-upf.yang
deleted file mode 100755
index 4274acb..0000000
--- a/config-models/aether-4.x/files/yang/onf-upf.yang
+++ /dev/null
@@ -1,98 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-upf {
-  namespace "http://opennetworking.org/aether/upf";
-  prefix upf;
-
-  import ietf-inet-types { prefix inet; }
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types { prefix at; }
-  import onf-enterprise{ prefix ent; }
-  import onf-site{ prefix st; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description "A Aether UPF List is a named User Plane Function.";
-
-  revision "2021-09-16" {
-    description "An Aether User Plane Function";
-    reference "RFC 6087";
-  }
-
-  typedef upf-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-   description "The typedef for upf-id";
-  }
-
-  container upf {
-    description "The top level container";
-
-    list upf {
-      key "id";
-      description
-        "A list of named upfs.";
-
-      leaf id {
-        type upf-id;
-        description "ID for this upf.";
-      }
-
-      leaf address {
-        type inet:host;
-        mandatory true;
-        description
-          "Address of UPF";
-      }
-
-      leaf port {
-        type inet:port-number;
-        mandatory true;
-        description
-            "Port for UPF";
-      }
-
-      leaf config-endpoint {
-        type inet:uri;
-        description "url for configuring the UPF";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this UPF";
-      }
-
-      // UPFs are always owned by an Enterprise, since they typically exist on the
-      // Enterprise's edge.
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this Access Point List";
-      }
-
-      // UPFs always reside at a site, as the exist on physical infrastructure. GUI
-      // will ensure that the tuple (DG, VCS, UPF) all exist on the same site.
-      leaf site {
-        type leafref {
-          path "/st:site/st:site/st:id";
-        }
-        mandatory true;
-        description
-          "Link to site";
-      }
-    }
-  }
-}
diff --git a/config-models/aether-4.x/files/yang/onf-vcs.yang b/config-models/aether-4.x/files/yang/onf-vcs.yang
deleted file mode 100755
index 89b8304..0000000
--- a/config-models/aether-4.x/files/yang/onf-vcs.yang
+++ /dev/null
@@ -1,187 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-module onf-vcs {
-  namespace "http://opennetworking.org/aether/vcs";
-  prefix sl;
-
-  import ietf-yang-types{ prefix yg; }
-  import onf-aether-types{ prefix at; }
-  import onf-application{ prefix app; }
-  import onf-device-group{ prefix dg; }
-  import onf-enterprise{ prefix ent; }
-  import onf-upf { prefix upf; }
-  import onf-site{ prefix st; }
-
-  organization "Open Networking Foundation.";
-  contact "Scott Baker";
-  description
-    "An Aether Virtual Cellular Service (VCS) is
-     used to connect devices with applications";
-
-  revision "2021-09-10" {
-    description "An Aether Virtual Cellular Service";
-    reference "RFC 6087";
-  }
-
-  typedef vcs-id {
-        type yg:yang-identifier {
-            length 1..32;
-        }
-    description "The typedef for vcs-id";
-  }
-
-  container vcs {
-    description "The top level container";
-
-    list vcs {
-      key "id";
-      description
-        "List of virtual cellular services";
-
-      leaf id {
-        type vcs-id;
-        description "ID for this vcs.";
-      }
-
-      leaf display-name {
-        type string {
-            length 1..80;
-        }
-        description "display name to use in GUI or CLI";
-      }
-
-      list device-group {
-        key "device-group";
-        leaf device-group {
-          type leafref {
-            path "/dg:device-group/dg:device-group/dg:id";
-          }
-          description
-            "Link to device group";
-        }
-        leaf enable {
-          type boolean;
-          default true;
-          description
-            "Enable this device group";
-        }
-        description
-          "A list of device groups. Groups will only participate in
-           the VCS if the enable field is set to True";
-      }
-
-      leaf default-behavior {
-        type at:behavior;
-        mandatory true;
-        description
-          "Default behavior if no filter rules match";
-      }
-
-      list filter {
-        key "application";
-        leaf application {
-          type leafref {
-            path "/app:application/app:application/app:id";
-          }
-          mandatory true;
-          description
-            "Link to application";
-        }
-        leaf priority {
-          type at:priority;
-          default 0;
-          description
-            "Priority of this application";
-        }
-        leaf allow {
-          type boolean;
-          default true;
-          description
-            "Allow or deny this application";
-        }
-        description
-          "A list of applications to allow and/or deny. Rules are executed in
-           priority order. The first rule to match will determine the fate
-           of the packet.";
-      }
-
-      leaf upf {
-        type leafref {
-          path "/upf:upf/upf:upf/upf:id";
-        }
-        description
-          "Link to user plane that implements this vcf";
-      }
-
-      leaf description {
-        type at:description;
-        description "description of this vcs";
-      }
-
-      leaf enterprise {
-        type leafref {
-          path "/ent:enterprise/ent:enterprise/ent:id";
-        }
-        mandatory true;
-        description
-          "Link to enterprise that owns this VCS";
-      }
-
-      leaf site {
-        type leafref {
-          path "/st:site/st:site/st:id";
-        }
-	mandatory true;
-        description
-          "Link to site where this VCS is deployed";
-      }
-
-      // the following are populated from the template
-      leaf sst {
-        type at:sst;
-        mandatory true;
-        description "Slice/Service type. Immutable.";
-      }
-
-      leaf sd {
-        type at:sd;
-        mandatory true;
-        description "Slice differentiator. Immutable.";
-      }
-
-      container slice {
-        description "Per-Slice QOS Settings";
-        container mbr {
-          description "Maximum bitrate";
-          leaf uplink {
-            type at:bitrate;
-            units bps;
-            description "Per-Slice MBR uplink data rate in bps";
-          }
-
-          leaf downlink {
-            type at:bitrate;
-            units bps;
-            description "Per-Slice MBR downlink data rate in bps";
-          }
-
-          leaf uplink-burst-size {
-            type at:burst;
-            units bytes;
-            description "Per-Slice Uplink burst size";
-          }
-
-          leaf downlink-burst-size {
-            type at:burst;
-            units bytes;
-            description "Per-Slice Downlink burst size";
-          }
-        }
-      }
-
-      // end of items populated from the template
-    }
-  }
-}
diff --git a/config-models/aether-4.x/templates/_helpers.tpl b/config-models/aether-4.x/templates/_helpers.tpl
deleted file mode 100644
index bb84c33..0000000
--- a/config-models/aether-4.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-SPDX-License-Identifier: Apache-2.0
-
-Expand the name of the chart.
-*/}}
-{{- define "aether.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "aether.fullname" -}}
-{{- if contains "config-model-aether" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-aether" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "aether.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "aether.labels" -}}
-helm.sh/chart: {{ include "aether.chart" . }}
-{{ include "aether.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "aether.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "aether.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/aether-4.x/templates/model.yaml b/config-models/aether-4.x/templates/model.yaml
deleted file mode 100644
index 0369022..0000000
--- a/config-models/aether-4.x/templates/model.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
-  name: {{ template "aether.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "aether.labels" . | nindent 4 }}
-spec:
-  plugin:
-    type: Aether
-    version: {{ .Chart.AppVersion | quote }}
-  modules:
-  - name: connectivity-service
-    organization: Open Networking Foundation
-    revision: 2021-10-21
-    file: onf-connectivity-service.yang
-  - name: enterprise
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: onf-enterprise.yang
-  - name: aether-types
-    organization: Open Networking Foundation
-    revision: 2021-09-10
-    file: onf-aether-types.yang
-  - name: application
-    organization: Open Networking Foundation
-    revision: 2021-09-10
-    file: onf-application.yang
-  - name: device-group
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: onf-device-group.yang
-  - name: ip-domain
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: onf-ip-domain.yang
-  - name: site
-    organization: Open Networking Foundation
-    revision: 2021-09-10
-    file: onf-site.yang
-  - name: upf-list
-    organization: Open Networking Foundation
-    revision: 2021-09-16
-    file: onf-upf.yang
-  - name: vcs
-    organization: Open Networking Foundation
-    revision: 2021-09-10
-    file: onf-vcs.yang
-  - name: template
-    organization: Open Networking Foundation
-    revision: 2021-09-10
-    file: onf-template.yang
-  - name: traffic-class
-    organization: Open Networking Foundation
-    revision: 2021-06-02
-    file: onf-traffic-class.yang    
-  files:
-    {{- range $path, $_  := $.Files.Glob "files/yang/*.yang" }}
-    {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
-    {{- end }}
diff --git a/config-models/aether-4.x/values.yaml b/config-models/aether-4.x/values.yaml
deleted file mode 100644
index aec2bd5..0000000
--- a/config-models/aether-4.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
diff --git a/config-models/plproxy-1.x/Chart.yaml b/config-models/plproxy-1.x/Chart.yaml
deleted file mode 100755
index 3effdd4..0000000
--- a/config-models/plproxy-1.x/Chart.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: v2
-name: config-model-plproxy
-version: 1.0.2
-kubeVersion: ">=1.18.0"
-appVersion: 1.0.0
-description: Prom label proxy config model
-keywords:
-  - plproxy
-  - config
-home: https://onosproject.org
-maintainers:
-  - name: ONOS Support
-    email: support@opennetworking.org
diff --git a/config-models/plproxy-1.x/files/plproxy-1.0.0.tree b/config-models/plproxy-1.x/files/plproxy-1.0.0.tree
deleted file mode 100755
index 9b0fbaa..0000000
--- a/config-models/plproxy-1.x/files/plproxy-1.0.0.tree
+++ /dev/null
@@ -1,7 +0,0 @@
-module: prom-label-proxy
-  +--rw user-groups
-     +--rw user-group* [name]
-        +--rw name     string
-        +--rw label* [name]
-           +--rw name     string
-           +--rw value    string
diff --git a/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang b/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
deleted file mode 100755
index 4bfa3a7..0000000
--- a/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
+++ /dev/null
@@ -1,33 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation

-//

-// SPDX-License-Identifier: Apache-2.0

-

-module prom-label-proxy {

-  namespace "http://opennetworking.org/promlabelproxy/config/";

-  prefix plp;

-

-  organization "Open Networking Foundation.";

-  contact "Amit Wankhede";

-  description "A Aether groups and prom label configuration";

-

-  revision "2021-09-24" {

-    description "Prom label proxy user configuration";

-    reference "RFC 6087";

-  }

-

-  container user-groups {

-    description "The top level container";

-    list user-group {

-		key "name";

-		description "A list of user groups";

-		leaf name { type  string;description "name of user group";}

-		list label {

-			   key "name";

-			   description "A list of labels";

-			   leaf name { type  string;mandatory true;description "name of label";}

-			   leaf value { type  string;mandatory true;description "value of label";}

-		}

-	}

- }

-

-}

diff --git a/config-models/plproxy-1.x/templates/_helpers.tpl b/config-models/plproxy-1.x/templates/_helpers.tpl
deleted file mode 100755
index 4b28369..0000000
--- a/config-models/plproxy-1.x/templates/_helpers.tpl
+++ /dev/null
@@ -1,53 +0,0 @@
-// SPDX-FileCopyrightText: 2021 Open Networking Foundation
-//
-// SPDX-License-Identifier: Apache-2.0
-
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "plproxy.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "plproxy.fullname" -}}
-{{- if contains "config-model-plproxy" .Release.Name -}}
-{{- printf "%s-%s" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-config-model-plproxy" .Release.Name .Chart.AppVersion | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "plproxy.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Common labels
-*/}}
-{{- define "plproxy.labels" -}}
-helm.sh/chart: {{ include "plproxy.chart" . }}
-{{ include "plproxy.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end -}}
-
-{{/*
-Selector labels
-*/}}
-{{- define "plproxy.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "plproxy.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
-}
diff --git a/config-models/plproxy-1.x/templates/model.yaml b/config-models/plproxy-1.x/templates/model.yaml
deleted file mode 100755
index b467cb8..0000000
--- a/config-models/plproxy-1.x/templates/model.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: config.onosproject.org/v1beta1
-kind: Model
-metadata:
-  name: {{ template "plproxy.fullname" . }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "plproxy.labels" . | nindent 4 }}
-spec:
-  plugin:
-    type: PLProxy
-    version: {{ .Chart.AppVersion | quote }}
-  modules:
-  - name: plproxy-service
-    organization: Open Networking Foundation
-    revision: 2021-09-24
-    file: prom-label-proxy.yang
-  files:
-    {{- range $path, $_  := $.Files.Glob "files/yang/*.yang" }}
-    {{ base $path }}: |
-{{ $.Files.Get $path | indent 6 }}
-    {{- end }}
diff --git a/config-models/plproxy-1.x/values.yaml b/config-models/plproxy-1.x/values.yaml
deleted file mode 100755
index aec2bd5..0000000
--- a/config-models/plproxy-1.x/values.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
-#
-# SPDX-License-Identifier: Apache-2.0