Follow docs instructions.
[ric-plt/a1.git] / docs / release-notes.rst
index cb50672..4049f40 100644 (file)
-.. ==================================================================================
-..       Copyright (c) 2019 Nokia
-..       Copyright (c) 2018-2019 AT&T Intellectual Property.
-..
-..   Licensed under the Apache License, Version 2.0 (the "License");
-..   you may not use this file except in compliance with the License.
-..   You may obtain a copy of the License at
-..
-..          http://www.apache.org/licenses/LICENSE-2.0
-..
-..   Unless required by applicable law or agreed to in writing, software
-..   distributed under the License is distributed on an "AS IS" BASIS,
-..   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-..   See the License for the specific language governing permissions and
-..   limitations under the License.
-.. ==================================================================================
-
-A1 Mediator Release Notes
-=========================
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Release Notes
+===============
 
 All notable changes to this project will be documented in this file.
 
 The format is based on `Keep a Changelog <http://keepachangelog.com/>`__
-and this project adheres to `Semantic
-Versioning <http://semver.org/>`__.
+and this project adheres to `Semantic Versioning <http://semver.org/>`__.
+
+.. contents::
+   :depth: 3
+   :local:
+
+
+[1.x.x] - TBD
+
+::
+
+    * Represents a resillent version of 1.0.0 that uses Redis for persistence
+
+[1.0.4]
+
+::
+
+    * Only external change here is to healthcheck the rmr thread as part of a1s healthcheck. k8s will now respin a1 if that is failing.
+    * Refactors (simplifies) how we wait for rmr initialization; it is now called as part of __init__
+    * Refactors (simplifies) how the thread is actually launched; it is now internal to the object and also a part of __init__
+    * Cleans up unit testing; a1rmr now exposes a replace_rcv_func; useful for unit testing, harmless if not called otherwise
+    * Upgrades to rmr-python 1.0.0 for simpler message allocation
+
+[1.0.3] - 10/22/2019
+
+::
+
+    * Move database cleanup (e.g., deleting instances based on statuses) into the polling loop
+    * Rework how unit testing works with the polling loop; prior, exceptions were being thrown silently from the thread but not printed. The polling thread has now been paramaterized with override functions for the purposes of testing
+    * Make type cleanup more efficient since we know exactly what instances were touched, and it's inefficient to iterate over all instances if they were not
+    * Bump rmr-python version, and bump rmr version
+    * Still an item left to do in this work; refactor the thread slightly to tie in a healthcheck with a1s healthcheck. We need k8s to restart a1 if that thread dies too.
+
+[1.0.2] - 10/17/2019
+
+::
+
+    * a1 now has a seperate, continuous polling thread
+      this will enable operations like database cleanup (based on ACKs) and external notifications in real time,
+      rather than when the API is invoked
+    * all rmr send and receive operations are now in this thread
+    * introduces a thread safe job queue between the two threads
+    * Not done yet: database cleanups in the thread
+    * Bump rmr python version
+    * Clean up some logging
+
+[1.0.1] - 10/15/2019
+
+::
+
+    * Moves the "database" access calls to mimick the SDL API, in preparation for moving to SDL
+    * Does not yet actually use SDL or Redis, but the transition to those will be much shorter after this change.
+
+
+[1.0.0] - 10/7/2019
+
+::
+
+    * Represents v1.0.0 of the A1 API for O-RAN-SC Release A
+    * Finished here:
+      - Implement type DELETE
+      - Clean up where policy instance cleanups happen
+
+
+[0.14.1] - 10/2/2019
+::
+
+    * Upgrade rmr to 1.9.0
+    * Upgrade rmr-python to 0.13.2
+    * Use the new helpers module in rmr-python for the rec all functionality
+    * Switch rmr mode to a multithreaded mode that continuously reads from rmr and populates an internal queue of messages with a deterministic queue size (2048) which is better behavior for A1
+    * Fix a memory leak (python obj is garbage collected but not the underlying C memory allocation)
+
+
+
+[0.14.0] - 10/1/2019
+::
+
+    * Implement instance delete
+    * Moves away from the status vector and now aggregates statuses
+    * Pop through a1s mailbox "3x as often"; on all 3 kinds of instance GET since all such calls want the latest information
+    * Misc cleanups in controller (closures ftw)
+    * Add rmr-version.yaml for CICD jobs
+
+[0.13.0] - 9/25/2019
+::
+
+    * Implement GET all policy type ids
+    * Implement GET all policy instance ids for a policy type
+    * fix a tiny bug in integration test receiver
+
+
+[0.12.1] - 9/20/2019
+::
+
+    * switch to rmr 1.8.1 to pick up a non blocking variant of rmr that deals with bad routing tables (no hanging connections / blocking calls)
+    * improve test receiver to behave with this setup
+    * add integration test for this case
+    * this also switches past 1.5.x, which included another change that altered the behavior of rts; deal with this with a change to a1s helmchart (env: `RMR_SRC_ID`) that causes the sourceid to be set to a1s service name, which was not needed prior
+    * improve integration tests overall
+
+
+[0.12.0] - 9/19/2019
+::
+
+    * Implement type PUT
+    * Implement type GET
+    * Remove RIC manifest
+    * Read type GET to get schema for instance PUT
+    * Remove Utils (no longer needed)
+    * lots more tests (unit and integration)
+
+[0.11.0] - 9/17/2019
+
+::
+
+    * This is on the road to release 1.0.0. It is not meant to be tested (E2E) as it's own release
+    * Implement the Release A spec in the openapi.yaml
+    * Rework A1 to follow that spec
+    * Remove rmr_mapping now that we use policyid as the mtype to send and a well known mtype for the ACKs
+    * Add the delay receiver test to the tavern integration tests
+    * Remove unneeded ENV variables from helm charts
+    * Switch away from builder images to avoid quicksand; upgrade rmr at our own pace
+
+
+[0.10.3] - 8/20/2019
+
+::
+
+    * Update to later rmr-python
+    * Add docs about upgrading rmr
+    * remove bombarder since tavern runs apache bench
+
+
+[0.10.2] - 8/14/2019
+
+::
+
+    * Update to later rmr-python
+
+[0.10.1] - 8/9/2019
+
+::
+
+    * Greatly reduce the size of A1 docker from 1.25GB to ~278MB.
+    * Add a seperate dockerfile for unit testing
+
+
+[0.10.0] - 7/30/2019
+
+::
+
+   * Rename all /ric/ URLs to be consistent with requirements of /a1-p/
+
 
 [0.9.0] - 7/22/2019
 -------------------