X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2Frelease-notes.rst;h=4049f40933d7354ae94c4b9c7d7eb91e79430e97;hb=4249398baf8e9607f4e2a88d214410affc818666;hp=a1bc0aeae27cc87a9d1d09d13bac399b923670e0;hpb=301bb33a79e5e2cb5b05695b07e07c239a08d099;p=ric-plt%2Fa1.git diff --git a/docs/release-notes.rst b/docs/release-notes.rst index a1bc0ae..4049f40 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -1,28 +1,203 @@ -.. ================================================================================== -.. 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 `__ -and this project adheres to `Semantic -Versioning `__. +and this project adheres to `Semantic Versioning `__. + +.. 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 +------------------- + +:: + + * Implement the GET on policies + * Add a new endpoint for healthcheck. NOTE, it has been decided by oran architecture documents that this policy interface should be named a1-p in all URLS. In a future release the existing URLs will be renamed (existing URLs were not changed in this release). + + +[0.8.4] - 7/16/2019 +------------------- + +:: + + * Fix the 400, which was in the API, but wasn't actually implemented + * Update the test fixture manifests to reflect the latest adm control, paves way for next feature coming which is a policy GET + + + +[0.8.3] - 6/18/2019 +------------------- + +:: + + * Use base Docker with NNG version 1.1.1 + + + +[0.8.2] - 6/5/2019 +------------------- + +:: + + * Upgrade RMR due to a bug that was preventing rmr from init in kubernetes + + [0.8.1] - 5/31/2019 -------------------