Tag the docs for 1.5.2 release and branch

- Revert 1.6 ROC changes back to commit 91d90de49

Change-Id: I6d26a27120bbe1beebd56404368cc161965c2057
diff --git a/VERSION b/VERSION
index 03fb120..4cda8f1 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.5.0-rc1
+1.5.2
diff --git a/developer/roc-api.rst b/developer/roc-api.rst
index 2ba3605..2708450 100644
--- a/developer/roc-api.rst
+++ b/developer/roc-api.rst
@@ -15,7 +15,7 @@
 .. note:: Opening this in a browser will display a HTML view of the API (powered by *ReDoc*).
 
     To access the raw YAML format use
-    ``curl -H "Accept: application/yaml" http://localhost:8183/aether-roc-api/aether-4.0.0-openapi3.yaml``
+    ``curl -H "Accept: application/yaml" http://localhost:8183/aether-roc-api/aether-3.0.0-openapi3.yaml``
     This YAML format can be imported in to various different tools e.g. |postman_link|
 
 Background
@@ -33,10 +33,10 @@
 
 Endpoints are named based on the type of object. Some examples:
 
-* `GET http://roc/aether/v4.0.0/connectivity-service-v3/enterprise/`. Get a list of enterprises.
-* `GET http://roc/aether/v4.0.0/connectivity-service-v3/enterprise/Starbucks`. Get the Starbucks enterprise.
-* `POST http://roc/aether/v4.0.0/connectivity-service-v3/enterprise`. Create a new enterprise.
-* `PATCH http://roc/aether/v4.0.0/connectivity-service-v3/site/Starbucks-NewYork`. Update the Starbucks New York site.
+* `GET http://roc/aether/v3.0.0/connectivity-service-v3/enterprise/`. Get a list of enterprises.
+* `GET http://roc/aether/v3.0.0/connectivity-service-v3/enterprise/Starbucks`. Get the Starbucks enterprise.
+* `POST http://roc/aether/v3.0.0/connectivity-service-v3/enterprise`. Create a new enterprise.
+* `PATCH http://roc/aether/v3.0.0/connectivity-service-v3/site/Starbucks-NewYork`. Update the Starbucks New York site.
 
 This document is a high-level description of the objects that can be interacted with. For a
 low-level description, see the specification (:ref:`developer/roc-api:Access` section above).
@@ -48,10 +48,6 @@
 the scope of a particular type of object. For example, a site may be named `foo` and a device-group
 may also be named `foo`, and the two names do not conflict because they are different object types.
 
-In addition to the `id`, most identifiable objects also include a `display-name`. The `display-name`
-may be changed at any time by the user without affecting behavior. In contrast, the `id` is immutable,
-and the only way to change an `id` is to delete the object and make a new one.
-
 Some objects contain references to other objects. For example, many objects contain references to
 the `Enterprise` object, which allows them to be associated with a particular enterprise. References
 are constructed using the `id` field of the referenced object. It is an error to attempt to create
@@ -103,24 +99,6 @@
      `CCCNNNEEESSSSSS` will construct IMSIs using a 3-digit MCC, 3-digit MNC, 3-digit ENT, and a
      6-digit subscriber.
 
-* `small-cell` A list of 5G gNodeB or Access Point or Radios. Each small cell has the following:
-
-    * `small-cell-id`. Identifier for the small cell. Serves the same purpose as other `id` fields.
-    * `address`. Hostname of the small cell.
-    * `tac`. Type Allocation Code.
-    * `enable`. If set to `true`, the small cell is enabled. Otherwise, it is disabled.
-
-* `monitoring` Configuration of how the monitoring framework of the site can be connected:
-
-    * `edge-cluster-prometheus-url` the URL of the site's Edge cluster Prometheus service
-    * `edge-monitoring-prometheus-url` the URL of the site's Edge monitoring Prometheus service
-    * `edge-device` a list of monitoring devices that verify end-to-end connectivity
-
-        * `edge-device-id` the identifier of the edge monitoring device. Serves the same purpose as other `id` fields.
-        * `display-name` the user-friendly name for the edge device. It is recommended that the short hostname
-          be used for the `display-name` as a convention.
-        * `description` an optional description
-
 Device-Group
 ~~~~~~~~~~~~
 
@@ -130,25 +108,15 @@
 * `imsis`. A list of IMSI ranges. Each range has the following
   fields:
 
-   * `imsi-id`. Identifier of the IMSI. Serves the same purpose as other `id` fields.
+   * `name`. Name of the range. Used as a key.
    * `imsi-range-from`. First subscriber in the range.
    * `imsi-range-to`. Last subscriber in the range. Can be omitted if the range only contains one
-     IMSI. It is recommended to not use this feature, and to represent all IMSIs as singletons. This
-     field will be deprecated in the future.
+     IMSI.
 * `ip-domain`. Reference to an `IP-Domain` object that describes the IP and DNS settings for UEs
   within this group.
 * `site`. Reference to the site where this `Device-Group` may be used. Indirectly identifies the
   `Enterprise` as `Site` contains a reference to `Enterprise`.
 
-* `device`. Per-device related QoS settings:
-
-   * `mbr`. The maximum bitrate in bits per second that the application will be limited to:
-
-      * `uplink` the `mbr` from device to slice
-      * `downlink` the `mbr` from slice to device
-
-   * `traffic-class`. The traffic class to be used for devices in this group.
-
 Virtual Cellular Service
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -158,23 +126,17 @@
 * `device-group`. A list of `Device-Group` objects that can participate in this `VCS`. Each
   entry in the list contains both the reference to the `Device-Group` as well as an `enable`
   field which may be used to temporarily remove access to the group.
-* `default-behavior`. May be set to either `ALLOW-ALL`, `DENY-ALL`, or `ALLOW-PUBLIC`. This is
-  the rule to use if no other rule in the filter matches. `ALLOW-PUBLIC` is a special alias
-  that denies all private networks and then allows everything else.
-* `filter`. A list of `Application` objects that are either allowed or denied for this
+* `application`. A list of `Application` objects that are either allowed or denied for this
   `VCS`. Each entry in the list contains both a reference to the `Application` as well as an
-  `allow` field which can be set to `true` to allow the application or `false` to deny it. It
-  also has a `priority` field which can be used to order the applications when considering the
-  enforcing of their `allow` or `deny` conditions.
+  `allow` field which can be set to `true` to allow the application or `false` to deny it.
+* `template`. Reference to the `Template` that was used to initialize this `VCS`.
 * `upf`. Reference to the User Plane Function (`UPF`) that should be used to process packets
   for this `VCS`. It's permitted for multiple `VCS` to share a single `UPF`.
+* `ap`. Reference to an Access Point List (`AP-List`) that lists the access points for this
+  `VCS`.
 * `enterprise`. Reference to the `Enterprise` that owns this `VCS`.
-* `site`. Reference to the `Site` where this `VCS` is deployed. Aether maintains the restriction
-  that the `Site` of the `UPF` and `Device-Group` must match the `Site` of the `VCS`.
-* `SST`, `SD`. Slice identifiers. These are assigned by Aether Operations.
-* `slice.mbr.uplink`, `slice.mbr.downlink`. Slice-total Uplink and downlink maximum bit rates in bps.
-* `slice.mbr.uplink-burst-size`, `slice.mbr.downlink-burst-size`. Maximum burst sizes in bytes for
-   the maximum bit rates.
+* `SST`, `SD`, `uplink`, `downlink`, `traffic-class`. Parameters that were initialized using the
+  `template`. They are described in the section for the `Template` model.
 
 Application
 ~~~~~~~~~~~
@@ -182,34 +144,39 @@
 `Application` specifies an application and the endpoints for the application. Applications are
 the termination point for traffic from the UPF. Contains the following fields:
 
-* `address`. The DNS name or IP address of the endpoint.
-* `endpoint`. A list of endpoints. Each has the following fields:
+* `endpoint`. A list of endpoints. Each has the following
+  fields:
 
-    * `name`. Name of the endpoint. Used as a key.
-    * `port-start`. Starting port number.
-    * `port-end`. Ending port number.
-    * `protocol`. `TCP|UDP`, specifies the protocol for the endpoint.
-    * `mbr`. The maximum bitrate in bits per second that UEs sending traffic to the application endpoint
-      will be limited to:
-
-        * `uplink` the `mbr` from device to application
-        * `downlink` the `mbr` from application to device
-
-    * `traffic-class`. Traffic class to be used when UEs send traffic to this Application endpoint.
-
+   * `name`. Name of the endpoint. Used as a key.
+   * `address`. The DNS name or IP address of the endpoint.
+   * `port-start`. Starting port number.
+   * `port-end`. Ending port number.
+   * `protocol`. `TCP|UDP`, specifies the protocol for the endpoint.
 * `enterprise`. Link to an `Enterprise` object that owns this application. May be left empty
   to indicate a global application that may be used by multiple enterprises.
 
 Supporting Aether Objects
 -------------------------
 
+AP-List
+~~~~~~~
+
+`AP-List` specifies a list of access points (radios). It has the following fields:
+
+* `access-points`. A list of access points. Each access point has the following:
+
+    * `address`. Hostname of the access point.
+    * `tac`. Type Allocation Code.
+    * `enable`. If set to `true`, the access point is enabled. Otherwise, it is disabled.
+
+* `enterprise`. The `Enterprise` that owns these access points.
+
 Connectivity-Service
 ~~~~~~~~~~~~~~~~~~~~
 
 `Connectivity-Service` specifies the URL of an SD-Core control plane.
 
 * `core-5g-endpoint`. Endpoint of a `config4g` or `config5g` core.
-* `acc-prometheus-url`. Prometheus endpoint where metrics may be queried regarding this connectivity service.
 
 IP-Domain
 ~~~~~~~~~
@@ -230,22 +197,15 @@
 `Template` contains connectivity settings that are pre-configured by Aether Operations.
 Templates are used to initialize `VCS` objects. `Template` has the following fields:
 
-* `default-behavior`. May be set to either `ALLOW-ALL`, `DENY-ALL`, or `ALLOW-PUBLIC`. This is
-  the rule to use if no other rule in the VCS's application filter matches. `ALLOW-PUBLIC` is
-  a special alias that denies all private networks and then allows everything else.
 * `sst`, `sd`. Slice identifiers.
 * `uplink`, `downlink`. Guaranteed uplink and downlink bandwidth.
 * `traffic-class`. Link to a `Traffic-Class` object that describes the type of traffic.
-* `slice.mbr.uplink`, `slice.mbr.downlink`. Slice-total Uplink and downlink maximum bit rates in bps.
-* `slice.mbr.uplink-burst-size`, `slice.mbr.downlink-burst-size`. Maximum burst sizes in bytes for
-  the maximum bit rates.
 
 Traffic-Class
 ~~~~~~~~~~~~~
 
 Specifies the class of traffic. Contains the following:
 
-* `arp`. Allocation and Retention Priority.
 * `qci`. QoS class identifier.
 * `pelr`. Packet error loss rate.
 * `pdb`. Packet delay budget.
@@ -253,14 +213,11 @@
 UPF
 ~~~
 
-Specifies the UPF that should forward packets. A UPF can only be used by one VCS at a time.
-Has the following fields:
+Specifies the UPF that should forward packets. Has the following fields:
 
 * `address`. Hostname or IP address of UPF.
 * `port`. Port number of UPF.
 * `enterprise`. Enterprise that owns this UPF.
-* `site`. The Site that this UPF is located at.
-* `config-endpoint` URL for configuring the UPF
 
 .. |postman_link| raw:: html
 
diff --git a/developer/roc.rst b/developer/roc.rst
index 69855d4..42ce0f8 100644
--- a/developer/roc.rst
+++ b/developer/roc.rst
@@ -35,11 +35,11 @@
    # install atomix
    export ATOMIX_CONTROLLER_VERSION=0.6.8
    helm -n kube-system install atomix-controller atomix/atomix-controller --version $ATOMIX_CONTROLLER_VERSION
-   export ATOMIX_RAFT_VERSION=0.1.14
+   export ATOMIX_RAFT_VERSION=0.1.9
    helm -n kube-system install atomix-raft-storage atomix/atomix-raft-storage --version $ATOMIX_RAFT_VERSION
 
    # install the onos operator
-   ONOS_OPERATOR_VERSION=0.4.12
+   ONOS_OPERATOR_VERSION=0.4.10
    helm install -n kube-system onos-operator onosproject/onos-operator --version $ONOS_OPERATOR_VERSION
 
 .. note:: The ROC is sensitive to the versions of Atomix and onos-operator installed. The values
@@ -57,14 +57,10 @@
      - 0.6.7
      - 0.1.8
      - 0.4.8
-   * - 1.3.0-1.3.10
+   * - 1.3.0-
      - 0.6.8
      - 0.1.9
      - 0.4.10
-   * - 1.3.11-,1.4.0-
-     - 0.6.8
-     - 0.1.14
-     - 0.4.12
 
 Verify that these services were installed properly.
 You should see pods for *atomix-controller*, *atomix-raft-storage-controller*,
@@ -127,7 +123,7 @@
    git clone https://github.com/onosproject/aether-roc-api.git
 
    # execute the mega-patch (it will post via CURL to localhost:8181)
-   bash ~/path/to/aether-roc-api/examples/MEGA_Patch_40.curl
+   bash ~/path/to/aether-roc-api/examples/MEGA_Patch.curl
 
 
 You may wish to customize the mega patch.
@@ -137,10 +133,10 @@
 
 You could configure it to push to a live aether-in-a-box core by doing something like this::
 
-   sed -i 's^http://aether-roc-umbrella-sdcore-test-dummy/v1/config/5g^http://webui.omec.svc.cluster.local:9089/config^g' MEGA_Patch_40.curl
+   sed -i 's^http://aether-roc-umbrella-sdcore-test-dummy/v1/config/5g^http://webui.omec.svc.cluster.local:9089/config^g' MEGA_Patch.curl
 
    #apply the patch
-   ./MEGA_Patch_40.curl
+   ./MEGA_Patch.curl
 
 (Note that if your Aether-in-a-Box was installed on a different machine that port-forwarding may be necessary)
 
@@ -167,9 +163,9 @@
 
    # fix stuck finalizers in operator CRDs
 
-   kubectl -n micro-onos patch entities connectivity-service-v3 --type json --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]'
+   kubectl -n micro-onos patch entities connectivity-service-v2 --type json --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]'
 
-   kubectl -n micro-onos patch entities connectivity-service-v4 --type json --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]'
+   kubectl -n micro-onos patch entities connectivity-service-v3 --type json --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]'
 
    kubectl -n micro-onos patch kind aether --type json --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]'