ric-plt/a1.git
4 years agoAdd Prometheus metrics and query endpoint 81/3881/5
Lott, Christopher (cl778h) [Wed, 27 May 2020 19:56:20 +0000 (15:56 -0400)]
Add Prometheus metrics and query endpoint

Extend controller with counters to measure activity
Add /a1-p/metrics endpoint to expose measures in Prometheus format
Document new environment variable prometheus_multiproc_dir

Issue-ID: RIC-353
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I44bc5346b627b27ba5b344187223dd0323b32a2c

4 years agoExtend user guide with southbound API details 72/3872/2
Lott, Christopher (cl778h) [Wed, 27 May 2020 13:45:49 +0000 (09:45 -0400)]
Extend user guide with southbound API details

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I66b9603eb70ad41841a06e43e4d48a70dcb9768f

4 years agoRelease A1 at version 2.1.9 55/3855/2
Lott, Christopher (cl778h) [Tue, 26 May 2020 19:43:13 +0000 (15:43 -0400)]
Release A1 at version 2.1.9

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: If4018d40dc954c66c7e780406f002a9376c3b28b

4 years agoExtend send-message methods to log message state 56/3856/1 2.1.9
Lott, Christopher (cl778h) [Tue, 26 May 2020 20:13:43 +0000 (16:13 -0400)]
Extend send-message methods to log message state

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I77b2fe8abeda75faa8e949ba759a9e1f16d0f3b5

4 years agoRepair send-message methods for free and retry 52/3852/4
Lott, Christopher (cl778h) [Tue, 26 May 2020 17:31:48 +0000 (13:31 -0400)]
Repair send-message methods for free and retry

* Fix _send_msg method to free allocated RMR message buffers
* Adjust send-message methods to retry only on RMR_ERR_RETRY
* Use constants from ricxappframe.rmr instead of hardcoded strings
* Upgrade RMR to version 4.0.5
* Upgrade tavern to version 1.2.2
* Bump version to 2.1.9

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I9a68727a24c27b2df2a03a14d7570308e3f19d7a

4 years agoAdd bumpversion config for bumping versions 72/3572/1
Lott, Christopher (cl778h) [Mon, 4 May 2020 13:39:20 +0000 (09:39 -0400)]
Add bumpversion config for bumping versions

Document how to bump A1 Mediator version, and automate it with the
bumpversion utility.  Have missed a file too many times recently,
this automation should reduce the number of mistakes I commit.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I2cc0e88e109253a1adfbe793238f2d2c7485df18

4 years agoRelease A1 at version 2.1.8 54/3554/1
Lott, Christopher (cl778h) [Thu, 30 Apr 2020 17:56:59 +0000 (13:56 -0400)]
Release A1 at version 2.1.8

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: Ic323853a1e84bdbe6f6838d7aaf5dc5f73d1ad7b

4 years agoBump A1 version to 2.1.8 in prep for release 53/3553/1
Lott, Christopher (cl778h) [Thu, 30 Apr 2020 17:58:38 +0000 (13:58 -0400)]
Bump A1 version to 2.1.8 in prep for release

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I461281074618a580b45c9358cabe722a602cdd12

4 years agoUpgrade integration tests to Tavern v1.0.0 51/3551/3 2.1.8
Lott, Christopher (cl778h) [Thu, 30 Apr 2020 15:54:59 +0000 (11:54 -0400)]
Upgrade integration tests to Tavern v1.0.0

Change all response checks from 'body' to 'json'
and add matchers for response body entries.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I0f8eabbd2d01d645ca1c6dae4d20db5bb233370a

4 years agoRevise custom exceptions to require a message 43/3543/2
Lott, Christopher (cl778h) [Thu, 30 Apr 2020 13:38:35 +0000 (09:38 -0400)]
Revise custom exceptions to require a message

Reduce code redundancy in controller exception handling.
Raise exception on ID mismatch in create policy type request.
Add test of ID mismatch case.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I2c020f41d65b7ddadd71185fafb16cf2c4557a88

4 years agoAdd USE_FAKE_SDL to mock the data storage layer 37/3537/1
Lott, Christopher (cl778h) [Wed, 29 Apr 2020 20:50:06 +0000 (16:50 -0400)]
Add USE_FAKE_SDL to mock the data storage layer

This new environment variable in the Dockerfile exposes existing
functionality in the data module. Default is False, the current behavior.
Set to True to work with A1 Mediator standalone.

Issue-ID: RIC-351
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I7efbe325e3c9536181c95eec63662d7a98a29ff4

4 years agoExtend Dockerfile and improve documentation 36/3536/4
Lott, Christopher (cl778h) [Wed, 29 Apr 2020 19:23:28 +0000 (15:23 -0400)]
Extend Dockerfile and improve documentation

Bump version to 2.1.8.
No functional changes to A1 behavior.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I4486b5bec68017a3c94f13c7d1a53977a0ef9940

4 years agoMerge "Release A1 mediator at 2.1.7 using RMR 4.0.2"
Scott Daniels [Tue, 28 Apr 2020 16:40:34 +0000 (16:40 +0000)]
Merge "Release A1 mediator at 2.1.7 using RMR 4.0.2"

4 years agoBump container tag version string to 2.1.7 11/3511/1
Lott, Christopher (cl778h) [Tue, 28 Apr 2020 15:17:03 +0000 (11:17 -0400)]
Bump container tag version string to 2.1.7

Also remove spaces in PDF file names

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I9b0d9cd6a4610036dba5c5cb2cc8a99a11422ed9

4 years agoRelease A1 mediator at 2.1.7 using RMR 4.0.2 08/3508/1
Lott, Christopher (cl778h) [Tue, 28 Apr 2020 14:58:39 +0000 (10:58 -0400)]
Release A1 mediator at 2.1.7 using RMR 4.0.2

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: Ic1972370d698d9bf1baa3bb36f1e3748b513d72b

4 years agoUpgrade A1 to use RMR library version 4.0.2 93/3493/4 2.1.7
Lott, Christopher (cl778h) [Mon, 27 Apr 2020 21:25:05 +0000 (17:25 -0400)]
Upgrade A1 to use RMR library version 4.0.2

This picks up a fix to dynamic route-table distribution features.
Drop mention of ricmanifest from the installation guide.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I7e91b9bd4e7ee1eb8a2efb5056218c4d9c31dc3f

4 years agoRepair A1 integration tests 54/3454/7
Lott, Christopher (cl778h) [Fri, 24 Apr 2020 15:52:42 +0000 (11:52 -0400)]
Repair A1 integration tests

Correct COPY command in Dockerfiles to get all files for RMR, not just one.
Pin the version of tavern to 0.34.0, because the latest (1.0.0) changed
the required format of the test-spec file and rejects this one.
Add delay before test AC policy status get to increase chance of success.
Adjust tox ini file for shell-script path and to be a bit more verbose.
Bump version in the a1 chart to 2.1.7.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I96dc018aa80e6bfcbf9c28068129e6cca1611d15

4 years agoExtend exception handler to report details 88/3488/3
Lott, Christopher (cl778h) [Mon, 27 Apr 2020 14:45:47 +0000 (10:45 -0400)]
Extend exception handler to report details

On failed requests, log and return details in the HTTP error response.
Extend documentation to pull in the OpenAPI specification document.
On store, overwrite ID in body with ID from path to ensure consistency.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I630360bcf90c80b84392c6afb1e59347fccd13ef

4 years agoUpgrade xapp-frame-go module in integration tests 90/3390/2
Lott, Christopher (cl778h) [Wed, 22 Apr 2020 14:54:20 +0000 (10:54 -0400)]
Upgrade xapp-frame-go module in integration tests

Use xapp-frame-go module version 0.4.8 which drops dependency on nng.
Change base builder to stop using deprecated alpine3-go image.
Drop prefix "/go" from dockerfile copy commands.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I9df1dce576b083674290857f1c23d9b3a25ab5c6

4 years agoUpgrade to RMR library version 3.8.0 84/3384/5
Lott, Christopher (cl778h) [Wed, 22 Apr 2020 13:05:32 +0000 (09:05 -0400)]
Upgrade to RMR library version 3.8.0

Pull shared object file from new Alpine3 bldr image in release registry
Bump version to 2.1.7

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I3076b7ab941e0ee6728d4350456c29c931c75088

4 years agoReport python dependencies for CLM analysis 07/2907/10
Lott, Christopher (cl778h) [Sun, 22 Mar 2020 11:29:16 +0000 (07:29 -0400)]
Report python dependencies for CLM analysis

Define new environment 'clm' with command 'pip freeze' to report code
and test dependencies with version strings as installed by tox for
CLM analysis.

Issue-ID: INT-24
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I93ae9a819d98f41bcc0c87a693690f54843b2019

4 years agoAdd missing Alpine packages to build gevent wheel 16/3316/1
Lott, Christopher (cl778h) [Sat, 18 Apr 2020 12:40:00 +0000 (08:40 -0400)]
Add missing Alpine packages to build gevent wheel

Recent change in Gevent version 1.5.0 requires Alpine packages
file, make, libffi-dev to build the wheel.  Repair the broken
build by adding these packages to the Dockerfile. Also see
https://github.com/gevent/gevent/issues/1555

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I5ec970f6f0b5594be5ac9f1abd693df098df749c

4 years agoRelease 216 95/3195/1
Tommy Carpenter [Tue, 7 Apr 2020 14:39:44 +0000 (10:39 -0400)]
Release 216

Issue-ID: RIC-228
Change-Id: Ief0ac73e5c5d09bcd9475f59028e58f8a54180ff
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoMove to ricxappframe rmr, rmr3.6.3 92/3192/2 2.1.6
Tommy Carpenter [Tue, 7 Apr 2020 12:36:42 +0000 (08:36 -0400)]
Move to ricxappframe rmr, rmr3.6.3

Issue-ID: RIC-228
Change-Id: I879d93e111d04e8a382fa0428e3d8b652e57f3a4
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoSmall doc update 29/2929/1
Tommy Carpenter [Mon, 23 Mar 2020 19:00:32 +0000 (15:00 -0400)]
Small doc update

Change-Id: I07469a6f5d257a2143ee9b836902a384c80923d3
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoRelease 2.1.5 03/2903/1
Tommy Carpenter [Fri, 20 Mar 2020 17:20:07 +0000 (13:20 -0400)]
Release 2.1.5

Issue-ID: RIC-156
Change-Id: I2d8292017121f016a6275d9dd3c6de8c9376a780
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoUpdates: 98/2898/4 2.1.5
Tommy Carpenter [Fri, 20 Mar 2020 14:02:46 +0000 (10:02 -0400)]
Updates:

    * Switch to python3.8
    * Switch to SI95 from NNG (rmr v3 vs rmr v1)
    * The switch to SI95 led to a rabbit hole in which we eventually discovered that rmr_send may sometimes block for an arbitrary period of time. Because of this issue, a1's sends are now threaded. Please see the longer comment about this in a1rmr.
    * Bump version of py xapp frame (SDL used only) in A1
    * Bump version of go xapp frame (0.0.24 -> 0.4.2) in integration tests
    * Add some additional logging in A1

Issue-ID: RIC-156
Change-Id: I8ed5356bea60a3ccea6fa2d03981ad634b98bab1
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoMinor fix: use 1.13.1 in Unit test contaiuner. 09/2709/2
Tommy Carpenter [Mon, 9 Mar 2020 13:29:13 +0000 (09:29 -0400)]
Minor fix: use 1.13.1 in Unit test contaiuner.

Change-Id: I8e2265f9eb35fa7d1e746cdc270f1abe3f4f8c77
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoRemove SDLWrapper now that it's in xapp frame. 97/2697/1 2.1.4
Tommy Carpenter [Fri, 6 Mar 2020 14:41:57 +0000 (09:41 -0500)]
Remove SDLWrapper now that it's in xapp frame.

Issue-ID: RIC-228
Change-Id: I1f65d1b5a0029eb544d43c2c9294ef19c07d45d9
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoDrop junit option in pytest and remove pom.xml 90/2690/1
Lott, Christopher (cl778h) [Thu, 5 Mar 2020 15:26:09 +0000 (10:26 -0500)]
Drop junit option in pytest and remove pom.xml

These are not needed by the new tox-sonarqube analysis job, the config
is now in the JJB configuration.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I2a87d0cc3bd9adbd7690b8c35797020bde9a78ef

4 years agoMostly integration test work: 54/2454/16
Tommy Carpenter [Fri, 7 Feb 2020 19:06:20 +0000 (14:06 -0500)]
Mostly integration test work:

    * Switches A1's three test receivers (integration tests) over to golang; this was mostly done to learn the go xapp framework and they are identical in functionality.
    * Upgrades the version of rmr in A1 and all integration receivers to 1.13.*
    * Uses a much fancier Docker build to reduce the size of a1's image. The python:3.7-alpine image itself is 98MB and A1 is now only ~116MB, so we're done optimizing A1's container size.

Issue-ID: RICAPP-61
Change-Id: Ic2004a5b457c55c730575aa8326e61b01e8546da
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoUpdate dep script; no version/code changes 30/2430/1
Tommy Carpenter [Thu, 6 Feb 2020 15:53:22 +0000 (10:53 -0500)]
Update dep script; no version/code changes

(a1 does not even currently use this script, yet. this is mostly
 documentation right now)

Change-Id: Ibe4daef77398bd0ebd3dbf3a44849026df931f05
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoRelease 2.1.2 70/2370/1
Tommy Carpenter [Wed, 29 Jan 2020 15:56:07 +0000 (10:56 -0500)]
Release 2.1.2

Change-Id: I068f85a04727f7998dc4409c4c8f4b01cc4dafa9
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoAdd sdl healthcheck to a1's healthcheck 10/2310/2 2.1.2
Tommy Carpenter [Wed, 22 Jan 2020 18:53:34 +0000 (13:53 -0500)]
Add sdl healthcheck to a1's healthcheck

Change-Id: If70e723c32ff7040f8eec71f0bd8bdf078aa5383
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoChange sonar property to reflect new sonar maven plugin 69/2269/2
Tommy Carpenter [Mon, 20 Jan 2020 15:15:36 +0000 (10:15 -0500)]
Change sonar property to reflect new sonar maven plugin

Change-Id: I3e73d2b858d89db71c026dd288b1c8e029e5a081
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoMerge "Cleanups only (no code changes)"
Chris Lott [Thu, 16 Jan 2020 16:38:06 +0000 (16:38 +0000)]
Merge "Cleanups only (no code changes)"

4 years agoCleanups only (no code changes) 56/2256/1
Tommy Carpenter [Thu, 16 Jan 2020 16:23:02 +0000 (11:23 -0500)]
Cleanups only (no code changes)

Documentation/comment/whitespace changes
Also updates the helm commands in the int tests to helm v3

Change-Id: I54bfd44a8e2a4bd1f79e300c32b18b8a0abfc635
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoRelease 2.1.1 24/2224/1
Tommy Carpenter [Tue, 14 Jan 2020 15:35:15 +0000 (10:35 -0500)]
Release 2.1.1

Change-Id: I7c84572bdbccab25f8e234fd12185203328a9451
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoUpgrade to SDL 2.0.2 00/2200/3 2.1.1
Tommy Carpenter [Mon, 13 Jan 2020 14:51:27 +0000 (09:51 -0500)]
Upgrade to SDL 2.0.2

* Upgrades from sdl 1.0.0 to 2.0.2
* Delete a1test_helpers because SDL 2.0.2 provides the mockup we need
* Remove general catch all from A1

Change-Id: Ic130c524d110830c7f0ef3716991ae4a8ff87f5a
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoA1 v2.1.0 43/2143/10 2.1.0
Tommy Carpenter [Thu, 2 Jan 2020 19:38:21 +0000 (14:38 -0500)]
A1 v2.1.0

* Represents a resillent version of 2.0.0 that uses Redis for persistence
* Now relies on SDL and dbaas; SDL is the python interface library to dbaas
* Adds a 503 http code to nearly all http methods, as A1 now depends on an upstream system
* Integration tests have a copy of a dbaas helm chart, however the goal is to simplify that deployment per RIC-45
* Unit tests have a mockup of SDL, however again the goal is to simplify as SDL grows per RIC-44

Change-Id: I703a60788c98dc81218dbe5275fb3899635ec26d
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoAdd one point to release notes 21/2021/1
Tommy Carpenter [Fri, 13 Dec 2019 14:11:11 +0000 (09:11 -0500)]
Add one point to release notes

Change-Id: I32f8efd9d7be8a6266b1ee732cc9a7c8cd2bfa4d
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoAdd spec differences to documentation. 14/2014/4
Tommy Carpenter [Thu, 12 Dec 2019 14:47:05 +0000 (09:47 -0500)]
Add spec differences to documentation.

Change-Id: I74407119d390991e26bfefc030b1c7591a64d7bb
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoRelease 2.0.0 87/1987/2
Tommy Carpenter [Tue, 10 Dec 2019 14:25:50 +0000 (09:25 -0500)]
Release 2.0.0

Signed-off-by: Tommy Carpenter <tc677g@att.com>
Change-Id: If5771db62ef494b4e0d360e75f2b928b46eb6c3d

4 years agoA1 2.0.0: 07/1907/13 2.0.0
Tommy Carpenter [Mon, 2 Dec 2019 16:02:01 +0000 (11:02 -0500)]
A1 2.0.0:

    * Implements new logic around when instances are deleted. See flowcharts in docs/. Basically timeouts now trigger to actually delete instances from a1s database, and these timeouts are configurable.
    * Eliminates the barrier to deleting an instance when no xapp evdr replied (via timeouts)
    * Add two new ENV variables that control timeouts
    * Make unit tests more modular so new workflows can be tested easily
    * Fixes the API for ../status to return a richer structure. This is an (albeit tiny) API change.
    * Clean up unused items in the integration tests helm chart
    * Removed "RMR_RCV_RETRY_INTERVAL" leftovers since this isn't used anymore
    * Uses the standard RIC logging library
    * Switch the backend routing scheme to using subscription id with constant message types, per request.
    * Given the above, policy type ids can be any valid 32bit greater than 0
    * Decouple the API between northbound and A1 from A1 with xapps. This is now two seperate OpenAPI files
    * Update example for AC Xapp
    * Updgrade rmr and rmr-python to utilize new features; lots of cleanups because of that

Change-Id: Ie7812607244cbcc484fe14c60fe27371e7e65082
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoMerge "Merge branch 'development'"
Tommy Carpenter [Mon, 2 Dec 2019 14:48:41 +0000 (14:48 +0000)]
Merge "Merge branch 'development'"

4 years agoMerge branch 'development' 01/1901/1
Tommy Carpenter [Mon, 2 Dec 2019 14:34:25 +0000 (09:34 -0500)]
Merge branch 'development'

Signed-off-by: Tommy Carpenter <tc677g@att.com>
Change-Id: I44938167f438f84337cd078d57588bd90ff2d9a3

4 years agoAdd release file for ric-plt-a1:1.0.4 62/1862/2
wrider [Fri, 29 Nov 2019 04:52:20 +0000 (23:52 -0500)]
Add release file for ric-plt-a1:1.0.4

Change-Id: I569a7ea5b974bf4dee91804061b14e831a64cefe
Signed-off-by: wrider <lji@research.att.com>
4 years agoAlign unit and int tests w.r.t. AC xapp 38/1738/1
Tommy Carpenter [Fri, 22 Nov 2019 14:40:58 +0000 (09:40 -0500)]
Align unit and int tests w.r.t. AC xapp

Change-Id: Ia31b9db61410cbf1b3391fd9752d7939dba1a3a5
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoUpdate AC, break out xapp contract from a1 api spec 37/1737/4
Tommy Carpenter [Fri, 22 Nov 2019 14:15:35 +0000 (09:15 -0500)]
Update AC, break out xapp contract from a1 api spec

Change-Id: I931e421a2524e4ac923aef48858151c9f273ec3d
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoUse subid and const mts for routing, open id range 24/1724/1
Tommy Carpenter [Thu, 21 Nov 2019 15:49:56 +0000 (10:49 -0500)]
Use subid and const mts for routing, open id range

Issue-ID: RICPLT-2630
Change-Id: I59c02ed3b2a510a5d5ca2ff799668bb5e197a7e9
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoUse the RIC logging lib 06/1706/1
Tommy Carpenter [Thu, 14 Nov 2019 20:54:49 +0000 (15:54 -0500)]
Use the RIC logging lib

Signed-off-by: Tommy Carpenter <tc677g@att.com>
Change-Id: Ia28c7d929907a8782327ad45c797790ba89e7bbf

4 years agoImplement Delete timeouts 05/1705/1
Tommy Carpenter [Wed, 6 Nov 2019 14:24:16 +0000 (09:24 -0500)]
Implement Delete timeouts

* Implements new logic around when instances are deleted. See flowcharts in docs/. Basically timeouts now trigger to actually delete instances from a1s database, and these timeouts are configurable.
* Eliminates the barrier to deleting an instance when no xapp evdr replied (via timeouts)
* Add two new ENV variables that control timeouts
* Make unit tests more modular so new workflows can be tested easily
* Changes the API for ../status to return a richer structure
* Clean up unused items in the integration tests helm chart
* Removed "RMR_RCV_RETRY_INTERVAL" leftovers since this isn't used
anymore

Issue-ID: RICPLT-2619
Signed-off-by: Tommy Carpenter <tc677g@att.com>
Change-Id: I5b2f9cc3a6e8da7fe636a4cde085a5e1a3770f62

4 years agoFix changelog links and titles 77/1677/1 Amber
Tommy Carpenter [Tue, 19 Nov 2019 20:04:47 +0000 (15:04 -0500)]
Fix changelog links and titles

Change-Id: Ic7412edad6e441062af7ea1afe3adf672454519d
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoUpdate doc styling only. 73/1673/2
Tommy Carpenter [Tue, 19 Nov 2019 18:13:40 +0000 (13:13 -0500)]
Update doc styling only.

Change-Id: Idcf19369a9a0bbd270b97e5080d95d2551fb9a2a
Signed-off-by: Tommy Carpenter <tc677g@att.com>
4 years agoAdd some documentation only. 64/1664/3
Tommy Carpenter [Tue, 19 Nov 2019 14:35:23 +0000 (09:35 -0500)]
Add some documentation only.

Change-Id: I375509c42b79028ec828b8062f1ebaff8fb3451a
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoAutomation adds INFO.yaml 25/1425/2
Aric Gardner [Fri, 8 Nov 2019 15:57:42 +0000 (15:57 +0000)]
Automation adds INFO.yaml

Change-Id: I13742539445eb66cb152c2faf3261e98fd9643d2
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
5 years agoFollow docs instructions. 78/1378/2
Tommy Carpenter [Wed, 6 Nov 2019 12:27:16 +0000 (07:27 -0500)]
Follow docs instructions.

Change-Id: If54c641be966dc01798a9815d9f82d184ada8452
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoThreading pt3: 20/1220/5 1.0.4
Tommy Carpenter [Thu, 24 Oct 2019 14:13:54 +0000 (10:13 -0400)]
Threading pt3:

* 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

Change-Id: I7106f8f35e94ba1c638d782609974bf4d4ba7c22
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoThreading pt 2 (of 3, likely) 93/1193/5 1.0.3
Tommy Carpenter [Mon, 21 Oct 2019 20:07:31 +0000 (16:07 -0400)]
Threading pt 2 (of 3, likely)

* 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.

Change-Id: Ia7c4f29c9fd4de4287f17ec0d88c6129a06a5a87
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoThreading pt 1 77/1177/5 1.0.2
Tommy Carpenter [Thu, 17 Oct 2019 17:35:59 +0000 (13:35 -0400)]
Threading pt 1

* 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

Change-Id: I29ca7843ffe7497c84891920f8aee332ac676591
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoTowards Resiliency. 48/1148/4 1.0.1
Tommy Carpenter [Mon, 14 Oct 2019 20:18:21 +0000 (16:18 -0400)]
Towards Resiliency.

- Moves the "database" access calls to mimic 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.

Change-Id: I596d06bcf85b6e9d5184d478802da574058c69f9
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoFinal A1 V1.0.0 Release (but 1.1.0 to come) 79/1079/6 1.0.0
Tommy Carpenter [Mon, 7 Oct 2019 15:15:45 +0000 (11:15 -0400)]
Final A1 V1.0.0 Release (but 1.1.0 to come)

- Represents v1.0.0 of the A1 API for O-RAN-SC Release A

Change-Id: I6bd25244ad122fc290e2a2db226bcdf679ff6e46
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoTowards a1 1.0.0: rmr improvements 56/1056/2
Tommy Carpenter [Wed, 2 Oct 2019 15:15:04 +0000 (11:15 -0400)]
Towards a1 1.0.0: rmr improvements

    * 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)

Change-Id: I0f9cf7943071d6d58aef9c8c8bd86affe9b9223a
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoTowards a1 1.0.0; DELETE, no vector: 21/1021/7
Tommy Carpenter [Thu, 26 Sep 2019 15:14:16 +0000 (11:14 -0400)]
Towards a1 1.0.0; DELETE, no vector:

* 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
* Add rmr-version.yaml for CICD jobs

Change-Id: I7290652784b2d6d297dd9e78af3051eba209651c
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoTowards a1 1.0.0; implement missing GETs 95/995/3
Tommy Carpenter [Mon, 23 Sep 2019 13:48:23 +0000 (09:48 -0400)]
Towards a1 1.0.0; implement missing GETs

- Implement GET all policy type ids
- Implement GET all policy instance ids for a policy type
- fix a tiny bug in integration test receiver

Change-Id: I3d60415096a7d8df3392abdcdd100ef47b80ab51
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoUpgrade to rmr which required two changes 89/989/6
Tommy Carpenter [Fri, 20 Sep 2019 14:09:01 +0000 (10:09 -0400)]
Upgrade to rmr which required two changes

    * 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 that causes the sourceid to be set to a1s service name, which was not needed prior
    * improve integration tests overall

Change-Id: I155994b6f512485a5a73fc31923a46d182aeda87
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoFix code coverage in LF 82/982/2
Tommy Carpenter [Thu, 19 Sep 2019 16:27:07 +0000 (12:27 -0400)]
Fix code coverage in LF

This is NOT needed locally, however it also works locally.
This now matches one of my ONAP repos in LF.

Change-Id: I07189f307506e6ec13ec39d7740c0e62862722d8
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoTowards A1 v1.0.0 72/972/6
Tommy Carpenter [Wed, 18 Sep 2019 14:45:50 +0000 (10:45 -0400)]
Towards A1 v1.0.0

- 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

Change-Id: I8facd9fd9d388a9087ba856bf781397397ac2ad3
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoAdd sonar pom and tox hooks. 70/970/1
Tommy Carpenter [Wed, 18 Sep 2019 12:46:55 +0000 (08:46 -0400)]
Add sonar pom and tox hooks.

Rebase sonar (+/951) onto v11.

Change-Id: I21feed13a1007d5e1556afb9eac340f4ea43b0f2
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoTowards release 1.0.0 (for O-RAN A) 55/955/7
Tommy Carpenter [Thu, 12 Sep 2019 20:24:10 +0000 (16:24 -0400)]
Towards release 1.0.0 (for O-RAN A)

- Implement the Release A spec in 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

Change-Id: I62de4c7b9b06fbdc309c4c07213b76400036c95e
Signed-off-by: Tommy Carpenter <tc677g@att.com>
5 years agoPrint a terminal coverage report when running tests 04/804/1 r2-temp 0.10.3
Tommy Carpenter [Mon, 26 Aug 2019 14:12:44 +0000 (10:12 -0400)]
Print a terminal coverage report when running tests

Change-Id: I4b5a86c9a89e890b40766013ef366494e8caba83
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoInclude content type in a1 api. Not a change, no version bumps. 81/781/3
Tommy Carpenter [Fri, 23 Aug 2019 00:09:14 +0000 (20:09 -0400)]
Include content type in a1 api. Not a change, no version bumps.

Change-Id: Id570585e2b86160ce443f95db0c0e45d4cdd0097
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoUpgrade to Python RMR ver 0.10.8 61/761/1
Lott, Christopher (cl778h) [Tue, 20 Aug 2019 19:22:45 +0000 (15:22 -0400)]
Upgrade to Python RMR ver 0.10.8

Repair integration tests

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I150598860a575b0c4f816d4179f80e7389967ff3

5 years agoUpdate to later rmr-python 11/711/1 0.10.2
Tommy Carpenter [Wed, 14 Aug 2019 16:51:51 +0000 (12:51 -0400)]
Update to later rmr-python

Change-Id: Id495ae41a780e0c19e71cffea569e896ed6ac865
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoGreatly reduce the size of A1 docker from 1.25GB to 278MB 72/672/1
Tommy Carpenter [Wed, 7 Aug 2019 15:38:44 +0000 (11:38 -0400)]
Greatly reduce the size of A1 docker from 1.25GB to 278MB

Change-Id: I9850d20dc56f4cddfcb5643066ef5eba484148ec
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoRename urls per requirements. 02/602/1
Tommy Carpenter [Wed, 31 Jul 2019 13:38:28 +0000 (09:38 -0400)]
Rename urls per requirements.

Change-Id: Iad5fd80d7d2b0234d61c15c3adbae83e7b62e8b9
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoImplement GET and /healthcheck 39/539/3
Tommy Carpenter [Thu, 18 Jul 2019 20:21:21 +0000 (20:21 +0000)]
Implement GET and /healthcheck

Change-Id: Ia2804306f91e5d877dd51af21ac02d94622a4089
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoFix missing 400 impl, update test manifest 18/518/1
Tommy Carpenter [Tue, 16 Jul 2019 15:25:52 +0000 (11:25 -0400)]
Fix missing 400 impl, update test manifest

Issue-ID: RICPLT-1638
Change-Id: Iff6de7b64a0dd94c6653eff5312ec84c1cf2bced
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoMake an appuser in Dockerfile, dont run as root 09/409/1
Tommy Carpenter [Mon, 24 Jun 2019 18:27:35 +0000 (14:27 -0400)]
Make an appuser in Dockerfile, dont run as root

Change-Id: I0a7493a45a4ab050cda25e9f8e1cb7299d9b2bc3
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoUse "builder image" more appropriately 99/399/1
Tommy Carpenter [Fri, 21 Jun 2019 14:15:15 +0000 (10:15 -0400)]
Use "builder image" more appropriately

Change-Id: I6a9c00fd63a1a87ddf42daa36793c114ebe13a04
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoInstall RMR from deb at version 1.0.36 83/383/2
Lott, Christopher (cl778h) [Wed, 19 Jun 2019 12:29:43 +0000 (08:29 -0400)]
Install RMR from deb at version 1.0.36

No functional change from deb 1.0.34

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I3a1dfb7256123d18b939cd0f202cd5b347132c6a

5 years agoUse base Docker image with NNG v1.1.1 73/373/9
Lott, Christopher (cl778h) [Tue, 18 Jun 2019 10:50:13 +0000 (06:50 -0400)]
Use base Docker image with NNG v1.1.1

Install RMr via deb packge from Package Cloud
in all three Dockerfiles
Bump version to 0.8.3.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: Iaf8cbd3fb5529d765cf6e9e1c947c4fb2005cd4c

5 years agoMake developer guide docs better RE int testing 75/375/1
Tommy Carpenter [Tue, 18 Jun 2019 13:58:55 +0000 (09:58 -0400)]
Make developer guide docs better RE int testing

Change-Id: Ia74118fcbb30bfb415b2684674a5e1902e7c20d4
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoNo need for two charts for test receivers 24/324/2
Tommy Carpenter [Wed, 12 Jun 2019 13:25:48 +0000 (09:25 -0400)]
No need for two charts for test receivers

Change-Id: Ieb8c7acf57948e3a7bdecbc0fa59bedc20fa0348
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoMerge "Move integration tests to k8s"
Tommy Carpenter [Tue, 11 Jun 2019 17:26:48 +0000 (17:26 +0000)]
Merge "Move integration tests to k8s"

5 years agoMove integration tests to k8s 98/298/2
Tommy Carpenter [Tue, 11 Jun 2019 13:10:23 +0000 (09:10 -0400)]
Move integration tests to k8s

Change-Id: Ia78a484e9f9eea4ace1ef6fa0d8075b872b8f83b
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoAdd readme and metadata, no functional change 75/275/5
Lott, Christopher (cl778h) [Fri, 7 Jun 2019 12:57:58 +0000 (08:57 -0400)]
Add readme and metadata, no functional change

Added top-level README with text from wiki.
Added git attributes file.

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I4d5c0fc782d60cba0340a90ae27b4eec0733fade

5 years agoAdd some comments, rmr serv, remove template cruft 82/282/1
Tommy Carpenter [Mon, 10 Jun 2019 13:42:49 +0000 (09:42 -0400)]
Add some comments, rmr serv, remove template cruft

Change-Id: Ia6e80f4c33163a266f6e1b7ba581475aa07132d8
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoAdd helm chart, may need rmr edits 71/271/9
Tommy Carpenter [Tue, 4 Jun 2019 14:20:30 +0000 (10:20 -0400)]
Add helm chart, may need rmr edits

Change-Id: Id1822239494dfa40c35a62b2414652a2a927e5d8
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoFix container tag 62/262/1
Tommy Carpenter [Wed, 5 Jun 2019 16:42:52 +0000 (12:42 -0400)]
Fix container tag

Change-Id: I2dbc78ad5d11d045bb7548c88df535bb3a32a867
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoUpdate rmr due to k8 bug 61/261/1
Tommy Carpenter [Wed, 5 Jun 2019 16:26:07 +0000 (12:26 -0400)]
Update rmr due to k8 bug

Change-Id: I5dbe6525de4b1e811606b16096b7d88859bbd6fb
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoAdd container tag file for Jenkins build job 36/236/1
Lott, Christopher (cl778h) [Sat, 1 Jun 2019 10:56:18 +0000 (06:56 -0400)]
Add container tag file for Jenkins build job

Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I89500fa1e5c3c8e9ba3163dc178d9e5c918933ac

5 years agoRun tox in docker build 30/230/1
Tommy Carpenter [Fri, 31 May 2019 14:40:40 +0000 (10:40 -0400)]
Run tox in docker build

Change-Id: I63185e963df2ec19edeebe8d7236bdf2fbc027c9
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoUpdate lic headers, doc titles 19/219/1
Tommy Carpenter [Thu, 30 May 2019 19:06:37 +0000 (15:06 -0400)]
Update lic headers, doc titles

Change-Id: I2818abacc7cf85e12325135c9349a799ae14840f
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoInitial commit of A1 17/217/1
Tommy Carpenter [Thu, 30 May 2019 18:33:21 +0000 (14:33 -0400)]
Initial commit of A1

Change-Id: I370944339d0240d5dea4d124a9c9c03ae246020d
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
5 years agoInitial empty repository
Andrew Grimberg [Thu, 21 Mar 2019 23:55:40 +0000 (23:55 +0000)]
Initial empty repository